Ignition Gazebo……あらためGazeboのLTS版であるGazebo Fortressの操作をしてみます。
実際のところ
”-v 4”はエラーの表示レベル設定で多めに表示するようなオプションです。
$ ign gazebo -v 4 -r visualize_lidar.sdf
ROS2を立ち上げてない状態でも、IGNに由来するトピックが一通り出ている事がわかります
$ ign topic -l /clock /gazebo/resource_paths /gui/camera/pose /lidar /lidar/points /lidar2 /lidar2/points /model/vehicle_blue/odometry /model/vehicle_blue/tf /sensors/marker /stats /world/visualize_lidar_world/clock /world/visualize_lidar_world/dynamic_pose/info /world/visualize_lidar_world/pose/info /world/visualize_lidar_world/scene/deletion /world/visualize_lidar_world/scene/info /world/visualize_lidar_world/state /world/visualize_lidar_world/stats
$ sudo apt-get install ros-$ROS_DISTRO-ros-ign-bridge
ros-humble-actuator-msgs ros-humble-ros-gz-bridge
ros-humble-ros-gz-interfaces ros-humble-ros-ign-bridge
が入る模様
指令コマンド
先ほど導入したros_ign_bridgeを起動*1します。
構文は
$ ros2 run ros_ign_bridge parameter_bridge /TOPIC@ROS_MSG@IGN_MSG
なので、今回のように車輪型の場合は
$ ros2 run ros_ign_bridge parameter_bridge /model/vehicle_blue/cmd_vel@geometry_msgs/msg/[email protected]
別端末でtopicにコマンドをおくります
これは通常のROS2と同様
$ ros2 topic --once pub /model/vehicle_blue/cmd_vel geometry_msgs/Twist "linear: { x: 0.1 }"
すると、Ignition Gazeboの画面上で車がノロノロと動き出し……目の前にあった赤い箱をなぎ倒して前進していきます(楽しい
キーボード操作
伝統のキーボード操作にも、もちろん対応しています
ros2-desktopからignition Gazeboを入れていれば多分入っていますが、なければ以下のコマンドを
$ sudo apt-get install ros-$ROS_DISTRO-teleop-twist-keyboard
で、実行
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r /cmd_vel:=/model/vehicle_blue/cmd_vel
キーボードで楽しく操縦ができます(愉快
参考もと
Setting up a robot simulation (Ignition Gazebo) — ROS 2 Documentation: Foxy documentation
Gazebo
*1:[ros_ign_bridge] is deprecated! Redirecting to use [ros_gz_bridge] instead! とか出るので、パッケージとしては古いみたいです……