IoT縛りの勉強会! IoTLT vol.88 @YouTube + #NT金沢 https://iotlt.connpass.com/event/248577/
ROS再入門-はじめてのSLAM-KMiura(@k_miura_io)
View Slide
自己紹介• 三浦 耕生(こうき)• 自動運転のスタートアップのエンジニア@k_miura_io koki.miura05
以前のIoT LTにて• Raspberry PiにLidarセンサーを付けてみた• これを使って地図作ってみたいhttps://bit.ly/3O8uXPA
おさらい• ロボットの自律走行において位置情報を推定するための情報が必要• その手がかりとして地図を用意する必要がある→SLAM
SLAMって何?• Simultaneous Localization and Mappingの略• 位置推定と地図作成を同時に行う仕組み• 自動運転やロボットの自律移動において重要になる技術• Lidarセンサーが主役
候補になるパッケージ• Gmapping• Cartographer• Hector Slam
候補になるパッケージ• Gmapping → ✗odomデータが必須(Scan Matcher使えば良いけどRaspberry Piでのセットアップが面倒)• Cartographer → ✗odomなくてもそこそこ精度高そうだけど環境構築が面倒• Hector Slam → ○odomなくても使えるし環境構築も楽
軽く動かしてみた• 適当に調べたサンプルを使って地図作成をしてみたらひどい出来• パラメータを調整したりIMUを実装したほうがいいかもしれん…
原因原因1:TF(ROSにおいてロボットの3次元座標を管理する仕組み)の設定が正しくない原因2:急激な旋回で位置推定が狂った(急な旋回や早い移動に弱い)
原因1の解消• ロボットの座標系をLidarセンサーから更新されるようにHector SLAMのサンプルを修正• Lidarから得られたbase_link情報から軌跡が残るようになって移動に合わせて地図が更新されるようになった
原因2の解消• モーターがPWM制御でゆっくり動かせなかったので低電力のモーターに交換• Switch Scienceのギアードモーターが高いけど良かった(昨日用意したw)
いい感じに改善された
結果• かなり動きがなめらかになって地図もそこそこの精度で軌跡が描画された• 地図も割ときれいに更新されたBefore After
所感• SLAMは調べているとあまり情報が少なくてまともに動かせるようになるまでに時間がかかった(ROS自体日本語の知見が圧倒的に少ない)• TFの理解も必要できれいな地図を作成するのは簡単じゃなさそう• IoTLTブースで実機展示中!
BLOGhttps://supernove.hatenadiary.jp/entry/2022/06/19/103456
Protopediahttps://protopedia.net/prototype/3044
END