移動ロボット用フレームワークの開発

概要

移動ロボットを,実空間上で自律的に動作させるための分散システムを設計し,インターフェースを定義しました.
本研究では,移動空間を平面マップ作成および,マップ上の自己位置推定・軌道計画・軌道追従を要件として定義し,二つのシステムを設計・提案しました.
提案したシステムはプラットフォームにできるだけ依存しないようにSysMLで記述し,これをロボット用のミドルウェアであるRTミドルウェアにマッピングし,その実装であるOpenRTM-aistで実装し,動作確認を行いました.
開発したRTミドルウェアのコンポーネントは公開しており,ロボット学会のロボット工学セミナーなどで再利用を行っております.
また,これを評価するために,動力学シミュレータの「V-REP」のRTミドルウェア対応を行い,これも公開いたしました.

アプローチ

これまで,自律的に移動を行うロボットの開発はさかんに行われていましたが,これをプラットフォームに依存しない抽象的な形で提案・検討を行った例はみられませんでした.
そこで,既存のフレームワークやライブラリを参考にしながら,プラットフォームにできるだけ依存しない形で分散型システムを設計し,それをロボット用ミドルウェアを使って実装し,公開いたしました.

バージョン

  • ver. 1.1 最初のバージョンとして公開しました.
  • ver. 2.0a 要件に,緊急停止,マップの分割配信,マップのロードからの再構築,自己位置推定時のヒントの送信,誘拐状態からのリセット,MCLにおけるパーティクルの状態取得,MCLにおけるパーティクルのリセット,MCLにおけるリサンプリングの外部トリガーを追加しました

要件

本システムが想定する系を表すコンテキスト図を下図に示します.ユーザーはコンピュータに接続された,もしくはコンピュータに表示されるユーザインターフェースを用いてロボットに指示を出します.ロボットは壁に覆われている・もしくは分割されているフラットな床の上を移動し,レーザーレンジセンサで壁を識別して動作します.レーザーレンジセンサに検出できない障害物は考慮せず,また壁以外の認識も行いません.レーザーレンジセンサに映るものはすべて壁です.

本研究では,移動ロボットを用いたシステムに必要な二つのユースケースとして,未知な領域の地図作成と,地図を用いたナビゲーションの二つに絞りました.

地図作成では,ロボットが移動中にレーザーレンジセンサを使い,自己位置推定を行いながら自律的にマップを作成するSLAMの機能を実現することとし,ナビゲーションでは,マップとレーザーレンジセンサの入力をマッチングしながらの自己位置推定,現在位置とゴール位置をユーザから受け取ってマップ上の障害物を避けられる経路を計画する経路計画機能,そして経路に追従する機能を定義することとしました.

提案システム

地図作成機能

自己位置推定・経路生成・経路追従

インターフェース

地図作成・ナビゲーション共通

地図作成

ナビゲーション

デモ