まずは、システムの紹介。前回紹介の通り、Realsenseカメラを車体上部に搭載、迷路の壁の検出に使用している。
システム全体としては、カメラの画像をJetson Nanoで習得し、モーター制御ボードと通信し車輪を駆動する構成となる。また、HMIとやカメラのデータからの地図情報の取得、走行ナビゲーションは別のPCで実行している。(車体に画面やキーボードを乗せるのはイマイチなので、、、)
車体全景
システム概要
紹介はこれくらいにして、実際の走行動画。まずはナビゲーションに必要な地図情報の取得。下記の動画の通り、カメラで撮影した壁の情報を2次元の点群に変換し、手動で走行しながら認識できた障害物(壁)を黒塗りのドット絵で保存する。
地図が作成できたらそれをもとに自動走行。下記の動画の通り、作成した地図に対し目標とする地点と車体の向きを指定すると、そこへ至るルートを計算されロボットが自律的に走行する。走行中は、認識できた壁情報と地図情報の整合性をチェックし自身の位置をほせいする。
以上、ここ数年のオープンソースライブラリのマイクロマウス活用事例の紹介。マイクロマウスだと、幾何的に壁の配置が決まっているし、赤外線センサ4つ程度で十分走れてしまうのだが、こんなやり方もありますよと。