rosrunとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
rosrunとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢: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' などが使われる。

rosrunのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
16440viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2834viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1174viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1168viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
1041viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
1009viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
1006viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
977viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
869viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
864viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
808viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
807viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
777viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
733viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
708viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
669viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
610viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
607viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
598viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
540viws

新着記事

インターネット・コンピュータの関連記事