現象
- ROS MelodicでTurtlebot3をGazeboで動かしてついでにSLAMする https://qiita.com/protocol1964/items/1e63aebddd7d5bfd0d1b
こちらの記事を参考にさせていただきながら、turtlebot3のシミュレーション上でのSLAMを試そうとしていました。・・が、Gazeboを立ち上げteleop経由で操作をしようとしたところ、Gazebo上のロボットが動かない現象に悩まされました。
rostopic list -v
Gazeboを立ち上げ中に上記コマンドでtopicを調べたところ、/cmd_velのtopicが発行されていませんでした。
Spec
- Jetson Nano / Ubuntu 18.04
- ROS melodic
gazebo_ros_pkgsをインストールしていなかった
結論、gazebo_ros_pkgsをインストールをしていなかったというイージーミスでした。
sudo apt-get install ros-melodic-desktop-full
でrosをインストールしたときに付属しているGazeboは本体のみなので、下記コマンドでrosとの繋ぎこみ用の付属パッケージをインストールする必要がありました。
sudo apt install ros-melodic-gazebo-ros-pkgs
インストールをすると、無事にSubscribed topicsの中に/cmd_velが追加されました。
roslaunch turtlebot3_gazebo turtlebot3_world.launch
rostopic list -v
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
さらに、上記コマンドを別々のターミナルで実行し、操作することでSLAMも無事に動作させることができました。