現象

こちらの記事を参考にさせていただきながら、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
Subscribed topicsの中に/cmd_velが入っていればok
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

さらに、上記コマンドを別々のターミナルで実行し、操作することでSLAMも無事に動作させることができました。

RViz上でのSLAMも成功

Related Posts

VMWare FusionでUbuntu 18.04のディスク容量を上げる方法
VMWare FusionでUbuntu 18.04のディスク容量を上げる方法
概要 VMWare FusionでUbuntu 18.04の仮想ディスクを起動する際に、ハードディスクの容量を上げる方法について解説します。 手順 1. 仮想ディスクの電源をOFFにする 2. 設定ボタンを押して設定画面を開いた後に、...
Read More
rospyでImageデータを取得してOpenCVの配列として扱う
rospyでImageデータを取得してOpenCVの配列として扱う
概要 PythonでROS開発をする際、sensor_msgs/Image型のトピックを受信して色々な処理をかけたいときには、OpenCVの配列に変換した上で処理を行うと便利です。CvBridgeというsensor_msgs/Imag...
Read More
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
ネイティブアプリでROS通信をする際はFlutterとroslibがおすすめ
概要 ROSを起動させているロボットに対して、スマートデバイスからROSで通信を行いたい時があるときは、Flutterを用いたネイティブアプリで実装するのがおすすめです。 https://rb-station.com/blogs/ar...
Read More