-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
地図の作成 #95
Comments
時間のずれを最小限にするようなパラメータが無いかを確認したが,それらしきものが見つからなかった. LiDARの動きを見ているとちょうど5deg程度ずれている気がするので,上記の仮説はあっているかもしれない. とりあえずの対処になるが,角速度の最大値を下げればこのずれは少なくなるので,scale_angular: 0.9->0.3にして走行させてみた. ぶれは少なくなったと感じるが,まだピッタリと一致する程度になっていない. 上記と同様にgmappingで地図を作成した. なお,上記の地図を生成するにあたり,pointcloud_to_laserscanのパラメータを0~1mに変更した. orne-box/orne_box_bringup/launch/includes/rfans16.launch Lines 36 to 37 in 512d69b
-0.2~0.2mとしていたが,0.2mでは水平に対して±1degの方向にレーザを出しているrfans16の場合, 0.2 / tan(radians(1)) = 11.46m となる.つまり実質的に11.46mしか検出しないLiDARになっていた.これを0~1mにすることで, 1.0 / tan(radians(1)) = 57.29m となり,やや遠くの障害物を検出できる. |
IMUのキャリブレーションを行って,上記を再度行った.
スタートとゴールはほぼ同じ位置にしたが,位置は10m程度,角度は数度ズレている.
pointcloud_to_laserscanの値を3mにしたせいか,レーザが近くの障害物を検出せずに,そのさきのものを検出するようになった.
以下を参考にしながらcartographerで地図を描いた |
上記の地図の生成法を以下に示した. https://github.com/open-rdc/cartographer_ros ワーニングが出ていたり,パラメータの最適化を行っていないなど問題はあると思いますが,安定して地図を描けています. |
以下でマップファイルを生成
3次元マップ
ダウンサンプリング
|
build_map_bag_box.launch
で各種パラメータをデフォルトの値にしてgmapping
を実行https://github.com/open-rdc/orne-box/blob/noetic-devel/orne_box_navigation_executor/launch/build_map_bag_box.launch
わりと良い地図を書くこともあるが,始点と終点が繋がらない地図になる.
ジャイロオドメトリのみで作成した点群の方がずれが少ない.
#94 (comment)
その要因であるが,ジャイロオドメトリとLiDARの時間的なずれによる影響が大きいと考える.
以下に,ジャイロオドメトリに従い,LiDARを表示した動画を示す.
LiDARは固定された壁を検出しているため,本来は揺れることなく一定であることが望まれるが,動画のように揺れている.
この揺れを補正するように自己位置を変更すると,歪の大きな地図になると考える.
対策としては,以下が考えられる.
1)ジャイロオドメトリとLiDARを統合するときの時間的なずれを最小限にする.
2)LiDARの検出距離を伸ばす.
意図的でははないが,おそらく現在は10m程度しか検出していなさそうである.
ただし,動画にあるように地面を壁と検出しているところがあるので,距離を伸ばすためにはその対策が必要である.
あと,今回判明したこととして,上記の時間のずれを取り切れない場合は,
・地図用のデータを取得しているときはできるだけ急旋回しないようにすることが必要である.
The text was updated successfully, but these errors were encountered: