LoginSignup
18
12

More than 1 year has passed since last update.

2DレーザーのみでGoogle Cartographer rosを動かして地図を作る(デプスカメラでも可)

Last updated at Posted at 2018-12-08

二次元のCartographer_rosをレーザのみで動かし、地図を作りました。

Cartographer_rosはgoogleが公開しているオープンソースのSLAMパッケージのrosラッパーです。

レーザー用のSLAMでループクロージャーができてるパッケージは貴重で、有名なgmappingは明示的にループが閉じないので屋外などの大規模環境で地図がずれるって人は使ってみたらよいと思います。
2DではIMU・オドメトリが不要なのもポイント高いです。ただし、3DはIMUが必須です。
ちなみにdepthimage_to_laserscanを使えば,デプスカメラでもできます.

ビルド時の注意

チュートリ通りに既存のcatkin_wsでビルドするとビルドできなかった時の対処が非常に面倒くさいので,google_wsと言った名前のcartographer専用のワークスペースを作ったほうがよいと思います.

編集したところ 

1.レーザースキャンの型の設定

デフォルトではMultiEchoLaserScan型を読み込む設定なので、使用機器にあったLaserScan型に変更しました。ちなみにPointCloud2型も設定かえれば読み込めます。

cartographer_ros/cartographer_ros/configuration_files/backpack_2d.lua

options = {
・・・
num_laser_scans = 1,-- <--default:0
num_multi_echo_laser_scans = 0,-- <--default:1
num_subdivisions_per_laser_scan = 10,
num_point_clouds = 0,--<--if pc2 is used,set 1
・・・
}

2.IMUの設定

デフォルトではimuの入力が必要だったので、imuの設定を切りました。

cartographer/configuration_files/trajectory_builder_2d.lua

TRAJECTORY_BUILDER_2D = {
use_imu_data = false,-- <--default:true
・・・

}

launch起動時の注意

パラメータを設定したら、またビルドしないとパラメータが反映されないので注意して下さい.

実行

scanデータをpubishするノードとcartographerのbackpack_2d.launchを立ち上げ

できた地図

20181206032203.png
map_serverのmap_saverで地図をpgm形式で保存もできます。

結果

簡単に地図ができる!

 

 

18
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
12