概要
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が、、、
どうやら~/turtle/src/turtlebot3/turtlebot3_slam/config/turtlebot3_lds_2d.lua
のファイルでは標準でIMU使用設定になっているそうです。
シュミレーション上のIMU実装方法がわからないのと(ggrks)2DCartographerの場合IMUなし可なので、以下のようにIMUなしに設定
無事実行できました。
マッピング実行動画
マッピングして得たマップを使ってnavigationしてみた
(goal指定のプログラム)46行目がbase_link座標系だったせいで、自律移動中に暴走し始めた。
map座標系にしたところ解決。あとで勉強します。
②3Dバージョンを導入
まずやらないと、いけないことはIMUの導入。
ROS講座45 車輪ロボットを作る6(IMUのシミュレーション) - Qiita
IMUの取り付け方法が書いてある。なるほど、、、。
そもそもturtlebot3はOpenCRという基板上で実装されてたはず、、、。
ならばIMUトピックあるんじゃ、、、。あった、、、、。
publishされてるー。