プラスプラス開発者ブログ

岩手県盛岡市のシステム開発会社「株式会社プラスプラス」の開発者ブログです。

ROSのコマンド

こんにちは。プラスプラスの真山です。今朝寝違えたのか何かと戦っていたのか、背中がめちゃくちゃ痛いです。

今回はROSでよく使われるコマンドについて書きたいと思います。因みにコマンドを入力するときはTabキーを押すと自動的にコマンドを補間してくれる機能があるので、コマンドを全部覚えていなくても入力ができます。とても便利です。

ROSシェルコマンド

ROSのシェルコマンドはrosbashとも呼ばれるそうです。cdやlsといったbashシェルコマンドの前にrosがついただけです。

roscd [パッケージ名]

指定したROSパッケージのディレクトリに移動します。めちゃくちゃ使います。瞬間移動です。

rosls [パッケージ名]

ROSパッケージのファイルリストを表示します。

rosed [パッケージ名] [ファイル名]

指定したファイルを編集します。私はgedit を使うのであまり使いません。


ROS実行コマンド

実行コマンドは4種類です。

roscore

roscoreは接続状態を管理するマスタを起動します。これをしないと始まりません。

rosrun [パッケージ名] [ノード名]

指定したパッケージのノードを実行します。一つのターミナルで一つのノードを走らせます。

roslaunch [パッケージ名] [launchファイル名]

roslaunchは事前に設定しておけば複数のノードを一度に実行できるコマンドです。とっても便利!

rosclean [オプション]

ROSログファイルの検査と削除に使うコマンドです。


ROS情報コマンド

トピック、サービス、ノード、パラメータなどの情報を確認するときに使います。特にrostopic、rosservice、rosnode、rosparam、rosbagは頻繁に使います。


rosnodeコマンド

ノードの制御や情報取得します

rosnode list

roscoreでマスタに登録されている実行中のノードのリストを表示します。

rosnode ping [ノード名]

指定したノードとリモートコンピュータとの間で通信が可能かテストします。

rosnode info [ノード名]

指定したノードの情報を表示します。トピックの入出力情報も確認できるのでよく使います。

rosnode machine [PC名またはIP]

指定したPCや端末などで実行されているノードのリストを表示します。

rosnode kill [ノード名]

指定したノードを終了するコマンドです。(Ctrl + Cキー でも実行中止できるので私はあまりこのコマンドは使いません)

rosnode cleanup

接続情報が確認できないノードの登録情報を削除します。


rostopicコマンド

現在ネットワーク上で使用されているトピックの情報を得たり、トピックをパブリッシュしたりします。

rostopic list

roscoreに登録されている全てのトピックのリストを表示します。
$ rostopic list -vと入力するとパブリッシュ・サブスクライブされているトピックを分けてさらに各トピックのメッセージ型を表示します。

rostopic echo[トピック名]

指定したトピックのメッセージの内容をリアルタイムで表示します。

rostopic find [メッセージ型名]

指定したメッセージ型のメッセージを使用しているトピックを表示します。

rostopic type [トピック名]

指定したトピックのメッセージ型を表示します。

rostopic bw [トピック名]

指定したトピックのメッセージデータのバンド幅を表示します。

rostopic hz [トピック名]

指定したトピックのメッセージデータのパブリッシュ周期を表示します。

rostopic info [トピック名]

指定したトピックの情報を表示します。

rostopic pub [トピック名] [メッセージ型] [パラメータ]

指定したトピック、メッセージ型、送信したいパラメータ値を使って手動でパブリッシュします。


rosserviceコマンド

現在ネットワーク上で使用されているサービスの情報を得たり、サービスを要請したりするコマンドです。

rosservice list

roscoreに登録されたサービスのリストを表示します。

rosservice info [サービス名]

指定したサービスの情報を表示します。

rosservice type [サービス名]

指定したサービスのサービス型を表示します。

rosservice find [サービス型]

指定したサービス型を用いるサービスを表示します。

rosservice uri [サービス名]

指定したサービスのURIを表示します。

rosservice args [サービス名]

指定したサービスのパラメータを表示します。

rosservice call [サービス名] [パラメータ]

指定したサービス名とパラメータでサービス要請をします。


rosparamコマンド

登録されているパラメータを表示したり、パラメータを設定したりするコマンドです。

rosparam list

roscoreに登録されている全てのパラメータを表示します。

rosparam get [パラメータ名]

指定したパラメータの値を表示します。

rosparam set [パラメータ名]

指定したパラメータの値を設定します。

rosparam dump [ファイル名]

指定したファイルにパラメータを記録します。

rosparam load [ファイル名]

指定したファイルに記録されているパラメータ値を呼び出します。

rosparam delete [パラメータ]

指定したパラメータを削除します。


rosbagコマンド

ログ情報を記録、再生するために使用するコマンドです。

rosbag record [オプション] [トピック名]

指定したトピックのメッセージをbagファイルに記録します。

rosbag info [ファイル名]

指定したbagファイルの情報を確認します。

rosbag play [ファイル名]

指定したbagファイルを再生します。

rosbag compress [ファイル名]

指定したbagファイルを圧縮します。

rosbag decompress [ファイル名]

指定したbagファイルを解凍します。

rosbag filter [入力ファイル名] [出力ファイル名] [オプション]

指定した内容を除去した新しいbagファイルを生成します。

rosbag reindex [ファイル名]

指定したbagファイルのインデックスを再作成します。

rosbag check bag [ファイル名]

指定したbagファイルが現在のシステムで再生できるか確認します。

rosbag fix [入力ファイル名] [出力ファイル名] [オプション]

バージョンの違いによって再生できないbagファイルを再生できるように修正します。


ROS catkin コマンド

catkinビルドシステムを使用し、パッケージをビルドするときに使用します。

catkin_create_pkg [パッケージ名] [依存パッケージ1] [依存パッケージ2] ...

パッケージの自動生成をします。このコマンドによりCMakeList.txtやpackage.xmlファイルを含む空のパッケージが生成されます。

catkin_make

ユーザが作成したパッケージ、ダウンロードしたパッケージをビルドします。


ROS パッケージコマンド

パッケージの情報表示、関連パッケージのインストールなどを行います。

rospack [オプション] [パッケージ名]

指定したROSパッケージの位置、依存関係の表示、全パッケージのリストの表示をします。find、list、depends-on、depends、profileなどのオプションをつけて使用します。

rosinstall

追加パッケージのインストールを行います。

rosdep [オプション]

指定したパッケージが依存しているファイルの確認、インストールをするコマンドです。オプションとしてcheck、install、init、updateなどが使えます。


今回はROSで頻繁に使われるであろうコマンドを書いてみました。しかし全部覚えなくてもTabキーが解決してくれます。ガンガン押しましょう。 次回はROSの基本プログラミングを行いたいと思います。