コンテンツにスキップ

基本のPub-Sub (Turtlesim)#


turtlesimとは、カメのキャラクターを使用したROSのGUIチュートリアルプログラムです。

turtlesimに登場するカメは各ROSのディストリビューションのキャラクターです。

ros-tutorialsより

このカメはgeometry_msgs/msg/Twist(カメの速度を送信するメッセージ)を受信し、turtlesim/msg/Pose(カメの位置を送信するメッセージ)とturtlesim::msg::Color(カラーセンサ)を送信することができます。


互換性#

最も基本のチュートリアルパッケージに含まれており、ほとんどのROSのディストリビューションで使用できます。

Distro チェック
Galactic
Humble
OS ターゲット チェック
Ubuntu22.04 Intel Core-i5 Laptop
Ubuntu22.04 RaspberryPi4


turtlesimの起動#

以下のコマンドを実行して、turtlesimを起動します。

source /opt/ros/humble/setup.bash
ros2 run turtlesim turtlesim_node

カメが出現します。カメの種類は毎回ランダムです。

まずはTurtleを1秒だけ動かしましょう。

「ros2 topic pub」コマンドでturtlesimに対してコマンドを送ることができます。

ros2 topic pub --once /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.0}}"

--onceを使うことで1回のみ送ることができます。

プログラムモジュールに対してメッセージを送りたい場合はros2 topic pubを使用しましょう。

次に、以下のコマンドを入力してこのカメを操縦してみます。

source /opt/ros/humble/setup.bash
ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/turtle1/cmd_vel

キーボードを押すことでカメを操縦することができます。

このプログラムでは、押されたキーを元にカメに/turtle1/cmd_vel(Twist)を送信します。

「Ctrl+c」を押してプログラムを終了します。