Google Cartographerのパラメータチューニングに関するIssuesまとめ
目次
はじめに
Google Cartographerのパラメータチューニングに関するIssuesをまとめました.
ちなみに公式ドキュメントにおけるチューニング・ガイドはこちらです.
cartographer_ros/tuning.rst at master · googlecartographer/cartographer_ros · GitHub
問題
主にIMU・オドメトリに関する問題
レーザーのURDFが正しくなかった.
IMUの性能が悪い.
対策:IMUを無効にして、代わりに相関スキャンマッチャーに切り替える.
TRAJECTORY_BUILDER_2D.use_imu_data = false TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
- オドメトリの性能が良いのに,SLAMに反映できていない.
対策:オドメトリをより信頼できるように以下のパラメータを調整する.
TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight = 70 TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight = 300
誤ったループ閉じ込みのせいで地図が歪む問題
対策:誤ったループ閉じ込みを行わないようにするためにもっと高い最小得点とHuberスケールに設定する.
POSE_GRAPH.optimization_problem.huber_scale = 1e2 --<--1e1 POSE_GRAPH.constraint_builder.min_score = 0.8 --<--0.5
レーザースキャナに関する問題
Cartographer worse than Gmapping · Issue #202 · googlecartographer/cartographer · GitHub
- レーザーの検出レンジが大きいのに,Cartographerが読み取るレーザーレンジがあっていない.
対策:Cartographerの設定のレーザーレンジを上げる.
TRAJECTORY_BUILDER_2D.laser_max_range = 50 --<--30
- レーザーの性能が悪い.
対策:サブマップの分解能を下げる.
TRAJECTORY_BUILDER_2D.submaps.resolution = 0.15 --<--0.05