2022.12.03 Ogaki Mini Maker Faire https://www.iamas.ac.jp/ommf2022/maker/kmiura/
ROSで動くロボットを自作してみた話KMiura(@k_miura_io)
View Slide
自己紹介• 三浦 耕生(こうき)• 自動運転向け3次元地図の開発をするスタートアップのエンジニア@k_miura_io koki.miura05
ROSって何?
学生時代の話• 大学時代に授業でROSを知って触るようになった• 当時は日本語のドキュメントが少なくて挫折してた(先輩の知見がない)• 当時はC++でだましだましコーディング(中身はよく分かってない)
あれから6年
またROSやりたくなった• 最近なにかと話題になりつつある• ROSでロボット動かしたいけど結構高い…• どうせならRaspberry Piを使って動かしたい
というわけで作ってみた• Raspberry Piで実装してとにかくシンプルに低価格なロボットを作ってみた• Lidarセンサー、超音波センサー、カメラを実装• 目指すはROSがチョットデキル
軽く動作の仕組みロボットカー コントローラ(Pythonコード)scancmd_velノードトピック
ロボットを自律移動させたい• ロボットの自律走行において位置情報を推定するための情報が必要• その手がかりとして地図を用意する必要がある→SLAM
SLAMとは?• 位置推定と地図作成を同時に行う仕組み• 自動運転やロボットの自律移動で重要になる技術• Lidarセンサーがよく使われている
Lidarとは?• 離れた場所にある物体の形状や距離をレーザー光を使って測定するセンサー技術• 無数のレーザー光から生成される点群データから物の形、大きさ、距離感を取れる• 画像はYDLiDAR社製のLidarセンサーで360度の点群データを取れる(このロボットで使うセンサー)
実際に地図を作ってみた• ゆっくり少しずつ走行させることでそれなりの地図が作成される• Lidarだけだと精度にどうしても限界があるので、IMUなどのセンサーも組み合わせることでより高精度な地図ができる• ブースにて実際に地図が作成される様子収録したデモを展示中
データ収録の仕組み• Rosbagをつかうとロボットアプリケーションで行われたトピック通信の内容を収録することができる• データとして残すことで後から解析がやりやすくなる• 収録したデータからより精度の高い地図を作成するという手法もあるロボットカー コントローラ(Pythonコード)scancmd_velトピックrosbag
自律移動は…?• パラメータ調整などで手こずり思い通りの挙動ができず…• 急旋回とかが多くて結構地図が汚い• モーターエンコーダーで移動距離をとったりするのも検討中
代わりのデモ• 先日入手したパトライトとロボットをつなぎこむデモ• 目の前で障害物を検知したらアラートを鳴らすというシンプルなもの• ブースでぜひお試しを!
所感• ROSを使うことでハードウェアに依存しないロボットアプリケーションができる• リアルタイムの通信だけではなくその通信を再現するための仕組みも充実している• 自動運転も気合があれば実装できる• ブース遊びに来てね!(62番のブース)• 写真撮影、SNS投稿大歓迎!!
END