

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
rosrunとは?
ROS はロボットの動作を組み合わせるための統合プラットフォームです。ROS には複数のコマンドがありますが rosrun はその中でも特に使い勝手の良いツールです。
rosrun は特定のパッケージに入っている実行ファイルを、長いパスを覚えずに起動することを可能にします。これにより初心者でも「このノードを起動したい」というときにすぐ実行できます。
基本の使い方
基本の書き方は次の通りです。rosrun の後にパッケージ名と実行ファイル名を続けます。例として turtlesim パッケージのノードを起動してみましょう。
まずは ROS マスターを起動しておくと安定します。別の端末で次のようにします。
roscore を起動し、別の端末で rosrun を実行します。実行例は次のとおりです。
rosrun turtlesim turtlesim_node を実行するとウィンドウが開き、カメが画面に描画されます。
実行の前提と環境
ROSマスター である roscore が動作していることが大前提です。 rosrun 自体はロボットを動かすための入口に過ぎず、実体はノードそのものです。
環境設定としては、通常 setup.bash の読み込みが必要です。例えば noetic の場合は setup.bash を読み込み、環境変数を設定します。こうしておくとコマンドが正しく動作します。
パッケージ内の実行ファイルを探すコツ
実行ファイルの場所はパッケージのディレクトリにあり、bin ディレクトリなどに格納されていることが多いです。実行ファイル名がわからない場合は、パッケージ内を探すとよいでしょう。パッケージの名称と実行ファイル名を組み合わせるだけで、多くのノードを起動できます。
実践的な例と注意点
実例として turtlesim を使ったデモがあります。 rosrun を使えばすぐにノードを起動でき、別のノードと通信してデータをやり取りする練習になります。ただし注意点もあります。例えば roscore を起動していないとノード同士の連携が取れず、接続エラーが出ます。
実用的な表
| 状況 | 推奨コマンド |
|---|---|
| ROSマスター未動作 | まず roscore を起動する |
| 特定パッケージのノード起動 | rosrun パッケージ名 実行ファイル名 |
| ノードの終了 | Ctrl+C |
まとめ
このように rosrun は ROS 環境でノードを手早く起動する基本ツールです。慣れてくると、さまざまなパッケージのノードを組み合わせて自分のロボットアプリを試作できます。
rosrunの同意語
- rosrun
- ROSのノードを単一で実行するためのコマンド。指定したパッケージ内のノードを1つ起動します。
- ROSノード起動コマンド
- ROS環境でノードを起動するためのコマンド。rosrunと同様にノードを起動する操作を指します。
- ノード実行コマンド
- ROS内のノードを実行することを意味する一般的な表現です。
- 単一ノード起動コマンド
- 1つのノードを起動する作業を表す表現です。
- ROSコマンドラインツール
- ROSを操作するためのコマンドラインツール全般を指します。
- ROSノード起動手段
- ノードを起動するための具体的な方法や手段を表す語です。
- ROSノード実行表現
- ノードを実行する行為を指す言い換え表現です。
- ROS CLIでのノード起動
- ROSのコマンドラインインターフェース(CLI)を用いてノードを起動する操作の言い換えです。
rosrunの対義語・反対語
- 停止
- ROSノードの実行を停止させること。rosrunで起動したノードを終了させる意味合いの対義語として使われます。
- 終了
- 実行中のノードやプロセスを完全に終わらせること。ノードを“終える”動作として、rosrunの反対のイメージです。
- 中止
- 実行を継続せず、途中で止めること。ノードの実行を途中で取りやめるニュアンスがあります。
- キル
- 強制的に終了させる行為。例えば kill コマンドや rosnode kill でノードを強制終了させるときの表現です。
- ノード停止
- 特定のROSノードを停止させる行為。単一ノードの実行を終わらせる際の自然な対義語として使えます。
- 複数ノード起動
- roslaunch のように複数のノードを同時に起動する方法は、単一ノードを rosrun で実行することの対比として考えられます。
rosrunの共起語
- roscore
- ROSのコア機能を提供するマスター。ノード間の名前解決や通信の基盤となるパラメータサーバやサービスの管理を行います。
- roslaunch
- 複数のノードを同時に起動・設定するツール。launchファイルを使って起動順序やパラメータを定義します。
- rostopic
- トピックの情報を表示・操作するツール。トピック名・メッセージ型・発行状況を確認できます。
- rosparam
- パラメータサーバへ値を設定・取得するツール。ノードの設定値を外部から管理します。
- rospack
- ROSパッケージの情報を取得・検索するツール。パッケージの場所や依存関係を調べます。
- catkin
- ROSのビルドシステム。Catkinワークスペースの作成とビルドを行います。
- catkin_make
- Catkinを使ってワークスペースをビルドするコマンド(ROS1で一般的)。
- colcon
- ROS2で主に使われるビルドツール。複数のパッケージを同時にビルドします。
- パッケージ
- ROSの機能をまとめた単位。rosrunを使う時にはこの中のノード(実行ファイル)を指定します。
- ノード
- ROSの実行単位。実行可能ファイルとしてコンパイルされ、rosrunで起動します。
- 実行可能ファイル
- ノードとして動くプログラムファイル。rosrunでこのファイル名を指定して起動します。
- launchファイル
- 複数のノードを一括起動する設定ファイル。roslaunchが読み込み、起動条件を定義します。
- パラメータ
- ノードの設定値。パラメータサーバに格納され、動的に変更可能です。
- パラメータサーバ
- ROSの共有設定値を保持するデータベース。ノード間で参照されます。
- トピック
- ノード間のデータ通信路。発行者と購読者が同じトピック名でデータを交換します。
- メッセージ
- トピックを介してやり取りされるデータの型。
- ワークスペース
- ROSのビルド・実行の作業領域。src配下のパッケージをビルドします。
- 実行権限
- 実行ファイルとして動作するには実行権限が必要。chmod +x などで付与します。
rosrunの関連用語
- rosrun
- ROSのパッケージ内の実行ファイル(ノード)を1つ起動するコマンド。使用例: rosrun <パッケージ名> <ノード名> [引数]
- roslaunch
- 複数のノードを同時に起動・設定するツール。launchファイル(.launch)を用いて起動構成を定義する。
- roscore
- ROSのコア機能を提供するプロセス。マスター(通信の仲介)・パラメータサーバ・ログ機能を提供する。
- rosnode
- 現在動作しているノードの情報を表示・管理するコマンド。
- roscd
- ROSパッケージやディレクトリへ移動するショートカット機能。
- rostopic
- トピックの一覧表示、トピックのメッセージをエコー表示・公開・購読を行う。
- rospack
- ROSパッケージの場所や依存関係などの情報を取得するツール。
- rosparam
- パラメータサーバへの設定・取得・ロード・ダンプを行うコマンド。
- rosdep
- ROSパッケージの依存関係を解決し、必要なパッケージを自動的にインストールするツール。
- rosbuild
- ROS1時代の古いビルドシステム(Catkin以前の手法)。
- catkin
- ROS1の標準ビルドシステム。パッケージの依存解決とビルドを行う。
- catkin_make
- Catkinプロジェクトをビルドするコマンド。
- catkin_make_isolated
- Catkinの独立ビルドオプション。
- workspace
- 作業空間。作業用のディレクトリ構成で、パッケージのビルドと実行準備を行う。
- package
- ROSパッケージ。ノード・ライブラリ・launchファイルをまとめたディレクトリ。
- node
- ROSで実行されるプログラム(ノード)。通常C++/Pythonで実装。
- executable
- ノードとして起動される実行ファイル。
- launchファイル
- ノードの起動設定をXMLで記述したファイル(.launch)。
- namespace
- 名前空間。トピック名・サービス名などを階層的に区切る機能。
- parameter_server
- ノード間で共有される設定データベース。パラメータ名は/paramの形式で格納される。
- remap
- トピック名・サービス名を別名に置換する機能。
- ROS Master
- roscoreが提供する中心的なマスター機能。ノード間通信を仲介する。
- ROS_MASTER_URI
- ROS Masterの場所を指定する環境変数。
- ROS_IP
- 自分のIPアドレスを指定する環境変数。
- ROS_HOSTNAME
- 自分のホスト名を指定する環境変数。
- ROS_PACKAGE_PATH
- ROSパッケージの検索パスを指定する環境変数。
- ROS_ROOT
- ROSのインストールディレクトリのルート。
- ROS_LOG_DIR
- ノードのログファイルの出力先ディレクトリ。
- tf
- 座標変換(Transform)を管理するライブラリ。
- tf2
- tfの後継ライブラリ。座標変換の高速・安定性を改善。
- geometry_msgs
- 位置・姿勢・向きなどの幾何データの標準メッセージ型を提供するパッケージ。
- sensor_msgs
- センサーデータ用の標準メッセージ型を提供するパッケージ。
- std_msgs
- String・Int32・Boolなどの標準的なメッセージ型を提供するパッケージ。
- nav_msgs
- 地図・経路・ナビゲーション関連のメッセージを提供するパッケージ。
- rosmsg
- ROSメッセージの定義を表示・確認するコマンド。
- rossrv
- ROSサービスの定義を表示・確認するコマンド。
- rosbag
- ROSのメッセージを記録して再生するツール。
- rosparam load
- YAMLファイルをパラメータサーバへ読み込む操作。
- rosparam dump
- パラメータサーバの内容をYAMLとして出力する操作。
- roswtf
- ROS環境の設定ミスを診断するツール。
- rosconsole
- ROSのログ出力設定とレベル管理を行う機能。
- rqt
- ROSのGUIツール群。ノード間の関係可視化やデバッグに使う。
- rqt_graph
- ノード間のトピック・サービス関係を可視化するGUIツール。
- rqt_console
- ROSのログをGUIで表示・検索するツール。
- rospy
- PythonでROSノードを開発する際の公式クライアントライブラリ。
- roscpp
- C++でROSノードを開発する際の公式クライアントライブラリ。
- nodelets
- 同一プロセス内で複数ノードを動かしてオーバーヘッドを抑える機能(ROS1の一部)。
- package.xml
- Catkinパッケージのメタデータを記述するファイル。
- CMakeLists.txt
- Catkinパッケージのビルド設定を記述するファイル。
- launchタグ
- launchファイル内でノード・パラメータ・リマップを定義するXMLタグ(例:
, , , ). - ROS2
- ROSの次世代仕様。設計が大きく変わり、rosrunは廃止され、代替として 'ros2 run' や 'ros2 launch' などが使われる。



















