BEIKE blog

備忘録です

Turtlebot3_rosパッケージに3DCartographerを実装していく[シュミレーション]

概要

3DCartographerを使ってみたいのですが、具体的な実装方法を調べても見つからないのでまとめていきます。

動作環境&筆者のPCスペック(実際に動かした)

環境

  • Ubuntu18.04.4 LTS(実機)
  • ros:merodic

予定


①2Dバージョンを導入
②3Dバージョンを導入

雑。。。。。


補足

やり方だけではなく、体験したことも記述していきます。

やり方・体験談

①2Dバージョンを導入

まずcartographer使ってみたいのですが、Turtlebot3のe-manualを見ると使用する際に以下のlaunchを立ち上げれば 使用可能みたいなことが書いていましたが

roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=cartographer

実行したところ以下のようなerrorが、、、 f:id:beike:20200525191335p:plain

どうやら~/turtle/src/turtlebot3/turtlebot3_slam/config/turtlebot3_lds_2d.luaのファイルでは標準でIMU使用設定になっているそうです。

シュミレーション上のIMU実装方法がわからないのと(ggrks)2DCartographerの場合IMUなし可なので、以下のようにIMUなしに設定 f:id:beike:20200525192622p:plain

無事実行できました。

f:id:beike:20200525193145p:plain

マッピング実行動画

youtu.be

マッピングして得たマップを使ってnavigationしてみた

youtu.be

(goal指定のプログラム)46行目がbase_link座標系だったせいで、自律移動中に暴走し始めた。

map座標系にしたところ解決。あとで勉強します。

f:id:beike:20200525212535p:plain

②3Dバージョンを導入

まずやらないと、いけないことはIMUの導入。

ROS講座45 車輪ロボットを作る6(IMUのシミュレーション) - Qiita

IMUの取り付け方法が書いてある。なるほど、、、。

そもそもturtlebot3はOpenCRという基板上で実装されてたはず、、、。

ならばIMUトピックあるんじゃ、、、。あった、、、、。

publishされてるー。

f:id:beike:20200525230005p:plain