Linuxにおける一般的なコマンド
- cd
構文:cd <ディレクトリパス>
機能:作業ディレクトリを変更します。引数が指定されない場合、ユーザーのホームディレクトリに戻ります。 - pwd
構文:pwd
機能:現在の作業ディレクトリの絶対パスを表示します。 - mkdir
構文:mkdir [オプション] <ディレクトリ名>
機能:ディレクトリまたはフォルダを作成します。 - ls
構文:ls [オプション] [ディレクトリ名]
機能:ディレクトリまたはフォルダ内のファイル一覧を表示します。 - gedit
構文:gedit <ファイル名>
機能:geditエディタでファイルを開き編集します。ファイルが存在しない場合は新規作成されます。 - mv
構文:mv [オプション] <ソースファイルまたはディレクトリ> <宛先ファイルまたはディレクトリ>
機能:ファイルまたはディレクトリの名前を変更するか、別のディレクトリに移動します。 - cp
構文:cp [オプション] <ソースファイル名またはディレクトリ名> <目的ファイル名またはディレクトリ名>
機能:ファイルまたはディレクトリをコピーします。複数のソースファイルを目的ディレクトリにコピーすることも可能です。 - rm
構文:rm [オプション] <ファイル名またはディレクトリ名…>
機能:ディレクトリ内の1つ以上のファイルまたはディレクトリを削除します。リンクファイルの場合、リンクのみが削除され、元のファイルは保持されます。 - sudo
構文:sudo [オプション] [コマンド]
機能:システム管理者の権限でコマンドを実行します。
ROS2におけるコマンドライン
すべての操作はros2という総合的なコマンドに統合されています。このコマンドの最初のパラメータは異なる操作の目的を示します。たとえばnodeはノードに関連する操作、topicはトピックに関連する操作などです。具体的な動作は後続のパラメータによって決定されます。
例1
- ノードの実行
ROS2で特定のノードを実行するには、ros2 runコマンドを使用します。例えば、テューリングシミュレーションノードとキーボード制御ノードを起動します。
$ ros2 run turtlesim turtlesim_node
$ ros2 run turtlesim turtle_teleop_key
- ノード情報の確認
$ ros2 node list
特定のノードについて詳しく知りたい場合は、infoサブコマンドを追加します。
$ ros2 node info /turtlesim
- トピック情報の確認
現在のトピック一覧を表示します。
$ ros2 topic list
特定のトピックのメッセージデータを確認するには、echoサブコマンドを使用します。
$ ros2 topic echo /turtle1/pose
特定のトピックの詳細情報を表示します。
$ ros2 topic info /turtle1/pose
- トピックメッセージの送信
乌龟を動かすために、直接コマンドラインからトピックメッセージを送信できます。
トピックを発行し、-rate 1は1秒ごとにメッセージを送信します。turtle1/cmd_velは速度制御のインターフェース、geometry_msgs/msg/Twistはデータ形式です。
$ ros2 topic pub --rate 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"
- サービスリクエストの送信
もう一つの烏龟を追加します。
$ ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: ''}"
- アクション目標の送信
烏龟が特定の角度に回転するようにしたい場合、シミュレーターに提供されているアクション機能を使用できます。
$ ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "theta: 3"
- コントロールコマンドの記録
システムの動作中のデータを記録し、後で再現したい場合があります。ROS2のrosbag機能はデータの記録と再生に非常に役立ちます。
$ ros2 bag record /turtle1/cmd_vel
$ ros2 bag play rosbag2_2022_04_11-17_35_40/rosbag2_2022_04_11-17_35_40_0.db3