WORKS 開発事例
【TRON1】NavigationとMID360で障害物回避してみた!オドメトリ課題の解決方法【ROS2/自律移動】
クフウシヤにアルバイトで来ている学生さんが、LimX Dynamics社の二足歩行ロボット「TRON1」にMID-360を取り付けて障害物回避に挑戦しました!
自律移動の仕組み
TRON1の自律移動は、大きく3つの要素で成り立っています。
■ 地図生成(SLAM):LiDARで周囲をスキャンし、環境の地図を作成する
■ 自己位置推定:作成した地図上で「自分が今どこにいるか」を把握する
■ ナビゲーション(Nav2):目標地点までの経路を計画し、障害物を避けながら移動する
今回使用したセンサーは Livox MID360。
レーザーを360度に照射して周囲の形状を3Dで把握する、TRON1の「目」にあたるセンサーです。
開発の流れ
① 地図生成の確認
まずMID360で3D SLAMを試み、地図の作成まで確認できました。
ただこの時点では、TRON1からのオドメトリが出力されない問題が発生しました。
脚車輪型のため常に微妙に動いており、値が安定しないことが原因ではないかと思われます。
そこで 、MID360のIMUからオドメトリを取得する方式に切り替えたところ、自己位置推定ができるようになりました。
② Nav2の初起動
Local Costmapが生成されない問題が発生しましたが、設定yamlを参考記事をもとに再構築して解決し、Nav2の初起動に成功しました。
実際に障害物回避を試してみると、スタックしたり回転を繰り返したりする現象が発生しましたが、TRON1の最小速度パラメータとNav2の最小速度を合わせることで、この問題も改善しました。
③ 障害物回避・自律移動に成功!
改善を重ねた結果、TRON1が障害物を認識しながら目標地点へ自律移動することに成功しました!
さらに精度向上のため、自己位置推定のアルゴリズムをAMCLから emcl2 に切り替え、コストマップ範囲と最大速度も調整しました。
これにより向きのずれが改善し、より安定したナビゲーションを実現しました。
まとめと今後の展望
自律移動の実現には、地図生成・自己位置推定・ナビゲーションの3つをしっかり連携させることが重要でした。
TRON1のような脚車輪型ロボット特有のオドメトリ問題など、実機開発ならではの難しさもありましたが、一つひとつ乗り越えることができました。
今後は自己位置推定の精度向上を中心に、より複雑な環境でも安定して動けるTRON1を目指します。
クフウシヤでの開発を一緒に体験してみませんか?
クフウシヤでは、アルバイトやインターンを随時歓迎しています!
ロボットやフィジカルAIに興味がある学生エンジニアの方、まずは見学からでもお気軽にご連絡ください。
関連記事
WORKS 関連事例
CONTACT お問い合わせ
弊社へのお問い合わせは下記のページより承ります。
ご質問やご依頼など、お気軽にご連絡ください。

