173(ひとなみ)にROS2が使えるようになりたい#1 ROS2チュートリアルを試す(2)


Turtlesimとrqt

前回ROS2を動かすベースを構築できました。
本日はチュートリアルの2項目目に挑戦しようと思います。
このページではROS2 DashingでTurtlesimとrqtを動かすチュートリアルのトライの流れを書いていきたいと思います。

 Turtlesimとは

ROSやROS2を勉強するためのシミュレーション環境です。
ROS2のメッセージを受けてウインドウ内の亀くんが泳ぎ回ります。

※公式HPの画像を抜粋

rqtとは

ROS2で提供されているGUIツールです。

※公式HPの画像を抜粋
まだ、使い始めたばかりで全容を掴みきれていませんが、ROS2ノード感を通信されているデータの中身を確認したり、ROS2ノードやトピックの接続関係を可視化してくれたりといろいろなことができそうです。
色々わかってきたらもう少し上手くまとめようと思います。

Turtlesimのインストール

現在自分が使っているディストリビューション(Dashing)用のTurtlesimをインストールします。

sudo apt update
sudo apt install ros-dashing-turtlesim

インストールが完了したら、正常にインストールできたか確認します。

ros2 pkg executables turtlesim

●実行結果

このようにTurtlesim ■■■■■■■ がいくつか表示されていればインストール完了です。
今回リストで表示されたものはTurtlesim用に準備された実行可能ファイルの一覧のようです。

実際に動かしてみる

turtlesim turtlesim_node

先程の亀のウインドウが出てくる

turtlesim draw_square

自動的に沢山の命令が配信されて亀が正方形(らしき)形に泳ぐ。

New goal [7.412097 5.494119, 1.534044]

と書かれているので、XY座乗と亀の頭向きが指示されているようです。
向きは数値を見た感じラジアン表記っぽいですね。

turtlesim turtle_teleop_key

こちらはユーザがキーボード操作をした結果を受けて亀が動き回る様です。

turtlesim mimic

この子は今の所謎です。立ち上げても何も出てこないので。何者か今度調べてみようと思います。

rqtのインストール

自分が使っているディストリビューションのrqtをインストールします。

sudo apt update
sudo apt install ros-dashing-rqt-*

インストールが完了したら起動してみましょう

rqt

起動するとこんな感じ。

rqtからサービスを配信してみる

チュートリアルに従いServiceの右側ドロップダウンリストから「/spawn」を選択肢左側の更新ボタン(回転矢印)をクリックします。
すると図のような画面になりました。

図中のパラメータ
X = 5.0
Y = 5.0
に書き換えてCallをクリックしてみると

真ん中付近に青い新顔亀が登場しました。

rqtを使うとROS2ノードに対して司令をることができることが確認できました。
「/spawn」以外にも「/set_pem」や「/teleport_absolute」など様々なコマンドがあるようです。それぞれのコマンドを使ってどんな振る舞いになるかも今後やってみたいですね。
※名前的には線の色や太さを変えたり、現在位置を強制移動したりする感じに見えますね。

次回はROS2のノードについてをやってみたいと思います。