現象

こちらの記事を参考にさせていただきながら、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

ArduinoのpulseInで割り込み処理ができるようにする
ArduinoのpulseInで割り込み処理ができるようにする
概要 超音波センサーHC-SR04等を用いてArduinoで距離計測を行いたいときに、Trigピンで超音波を発生させた後にEchoピンで、超音波が反射されてくるまでの時間を計測することで距離を計測できます。その際、pulseInという...
Read More
Arduino IDEのインストール方法と使い方
Arduino IDEのインストール方法と使い方
概要 Arduinoは入出力ポートを備えたマイコンボードで、ソースコードを書くことで、さまざまなハードウェアを制御することができます。 ソースコードを開発・ボードに書き込むためには開発環境であるArduino IDEのインストールが必...
Read More
WindowsでArduino Uno互換ボードに書き込む時にシリアルポートが選択できない時の対処法
WindowsでArduino Uno互換ボードに書き込む時にシリアルポートが選択できない時の対処法
概要 Arduino Uno R3の互換ボードを用いる時、WindowsでArduino IDEを開き、シリアルポートを繋げようとした際にグレーアウトされてしまって選択することができない場合があるので、解決方法について解説をします。 ...
Read More