複数の移動ロボットによる 協調的な行動: 情報共有に基づく お片づけロボットのシステム開発 H21101M 可知大資 2012/02/07
目的 先行研究において仮想空間上で提案された片づけロボットを現実空間において実現すること
Housekeeping With Multiple Autonomous Robots もっと具体的に書く(図をいれる、どのような空間なのかの説明、何を片付けるのかー空間を片付ける、というのはわかりにくくないか?) どこが新しいのか
Housekeeping With Multiple Autonomous Robots Akerら(2011)の提案した仮想空間上での常識推論に基づく片づけロボットシステム ロボットは事前に与えられた情報を用いて、部屋を片付ける(部屋に散在するモノを所定の位置に運ぶ) 1台では片付けることのできないモノを発見した場合、複数台で片付ける ロボットは同一のアルゴリズムで動く
本研究の片づけロボット 先行研究では考慮されていなかった不確実性とロボットが協調するための動作について検討 ただし、物をつかんだり複数のロボットで一つのものを運んだりする、という機能は実現できていない 共同研究者との協調作業:ハードウェアとソフトウェアそれぞれを分担
先行研究と本研究の違い 先行研究 本研究 片づけ機能 ○ マップ情報の共有 複数台での片づけ 同一のアルゴリズムで動く センサを搭載 × 不確実性を考慮 この問題を解決できるようにする この問題を解決すると、ロボットは現実空間において行動することができる
不確実性とは ロボットの移動おける誤差 ロボットは自身に搭載されたセンサの情報を元に自己の位置を推定する(デッドレコニング)
不確実性を減少させるために ランドマークなどの外部の情報を取得し、カルマンフィルタなどの手法を用いて処理することにより自己の位置を推定する
不確実性を減少させると… ロボットが片付け対象まで行くことができるようになる マップの更新の精度が上がる 実世界での片づけ機能の実現
ロボットシステム コントロールセンター ハードウェア ソフトウェア シミュレータ ロボット コントロールプログラム
ロボットシステム 研究をハードウェアとソフトウェアの2つの両面において行う ハードウェアではロボットの製作と、ロボットとコントロールセンターとの通信について検討 ソフトウェアではコントロールセンターの動作アルゴリズム、およびロボット単体のコントロールプログラム(行動計画、移動、通信)の検討をシミュレータを用いて行う
コントロールセンターとは ロボットに対して以下の情報を提供 ロボットから送られるマップ情報の統合・再分配 どの部屋を片付けるか 片付けるべきモノや障害物の位置 片付ける部屋それぞれのマップ情報 ロボットから送られるマップ情報の統合・再分配 ロボットの作成したスケジューリングの調整 単体では片付けることのできないものを発見したときなどに調整を行う
シミュレータ ロボットに実装するコントロールプログラム(行動計画、移動、通信)の作成、検証 ロボットを実際に動かすのではなく、シミュレータ上で動作させることによって、時間の節約、およびロボットの故障などの問題の回避
ロボットに必要な機能 ランドマークや片付けるべき物体、他のロボットを認識するための画像処理機能 移動のためのサーボ制御機能 障害物検知のためのセンサ制御機能 コントロールセンターとの通信機能 これらの機能を使って、片付けの順番をスケジュールし移動経路を生成する機能
実装① ランドマークや片付けるべき物体、他のロボットを認識するための画像処理機能 移動のためのサーボ制御機能 Webカメラとソフトウェアライブラリ:ARToolKitを用いて実装 移動のためのサーボ制御機能 Arduinoモジュールを用いて実装 障害物検知のためのセンサ制御機能
実装② コントロールセンターとの通信機能 スケジューリング機能 PandaBoardの通信機能を用いて実装 共同研究者の作成したコントロールプログラムを実装
コントロールプログラム コントロールセンターから片付けるべき物体などの情報が送られる その情報を元にタスク列および行動列を生成 タスク:1タスクとは1つのモノを片づけること モノによってタスクの順番が設定される 行動列:タスクを遂行するための動作(移動、把持、運搬、通信など)のリスト
コントロールプログラム 本研究ではコントロールプログラムからの命令を遂行できるロボットの作成を行った システム全体の中では自律ロボットとなる
完成したロボット
ロボット仕様 基本性能 本体サイズ 速度:15.6cm/s 有効最大検知距離:100cm 有効最少検知距離:7cm 有効検知範囲:前方30~150° 本体サイズ 縦23cm 横22.6cm(車輪含む) 高さ16.5cm(Webカメラ含む)
搭載されているセンサ 障害物検知:超音波センサ 近接物検知:赤外線センサ 方位測定:デジタルコンパスモジュール 前方の障害物の検知に使用 超音波センサの検知から漏れた障害物の検知 方位測定:デジタルコンパスモジュール ロボットの旋回に使用
搭載したモジュール① サーボ・センサ制御モジュール ② Webカメラ(ARToolKit) Arduino:AVRマイコン入出力ポートを備えた基板 Arduinoは接続された各種センサと車輪などを駆動させるためのサーボを制御 ② Webカメラ(ARToolKit) ランドマーク・片付けるべき物体・他のロボットを発見するために使われる
搭載したモジュール② ③統括用モジュール PandaBoard:低消費電力・低コストのシングルボードコンピュータ 本研究ではubuntu11.10をインストールし、 ①②の制御プログラムとスケジューリングシステムを実装
Arduino+コントロールプログラム コントロールプログラムが生成した行動列を遂行するため、ロボットに対してセンサの情報を要求する
コントロールプログラムの要求 センサ情報の要求 前進・後進 旋回 超音波センサ、赤外線センサ、デジタルコンパスの値の取得 前方もしくは後方へcm単位での走行 旋回 指定した角度分の旋回
ロボットからの応答 センサの情報 走行→停止 旋回 それぞれのセンサで定められているプロトコルによりデータを返す センサにより停止した場合でも、走行した距離を返す 旋回 旋回した角度を返す
ARToolKit 拡張現実感アプリケーションなどに使われ、カメラでマーカーを認識することによって、リアルタイムで現実世界と仮想上の物体を同時にコンピュータ上に重ねて描画するもの 本研究ではカメラとマー カーの距離を算出する 機能を使用
ARToolKit 検出されたマーカーの情報からカメラに対するマーカーの3軸情報を計算する この機能を使ってロボット(カメラ)からマーカーまでの距離を算出する 距離情報やIDを用いて自己位置推定や、物体判別を行う
作成したマーカー ロボット・マーカー ランドマーク・マーカー 目標物・マーカー
マーカー別の機能 ロボット・マーカー 目標物・マーカー ランドマーク・マーカー 他のロボットの認識 協調的に片付ける場合に使用 片付けるべき物体の認識 どこに片付ける物体なのかなどの判別に使用 ランドマーク・マーカー 自己位置推定における位置情報の取得に使用
PandaBoard ロボットの行動のプランニング Arduinoの制御 Webカメラの制御 コントロールプグラムの実装 Arudinoからの情報を読み取りコントロールプログラムへ送る Webカメラの制御 マーカーとの距離情報をコントロールプログラムへ送る
実験 ロボットが移動する際の誤差の調査 ARToolKitを用いた位置推定精度の調査
このラインからどれだけズレたかで左右の誤差の判定 実験①(前進・後進のテスト) このラインからどれだけズレたかで左右の誤差の判定 このラインより右に出たらプラス 左に出たらマイナスと記録する 走行距離計測用の目盛 スタートライン ロボット
実験②(右・左旋回のテスト) 正確な旋回角度を計測するために今回はデジタルコンパスモジュールを使用。ロボットとPCを接続しその数値を読み取ることとした ロボットを旋回させてその旋回角度の計測 ロボット
実験①結果 走行の標準偏差 左右のずれの標準偏差 0.070710678 平均距離 平均ずれ 4.555555556 0.066666667 0.141421356 9.99 0.11 15.21 0.2 20.29 0.14 0.424264069 30.59 0.19
実験②結果 右旋回の標準偏差 左旋回の標準偏差 0.875595036 1.059349905 平均距離 平均移動 7.9 8.3 1.229272594 15.7 15.2 1.595131482 0.737864787 18.9 19.1 2.057506582 0.942809042 29.7 29 1.370320319 1.269295518 43.9 43.5 2.319003617 1.197219 88.6 88.9
実験 カメラの認識できる範囲内にマーカーを置き、算出された距離がどれくらいになるのかを調べる
実験フィールド
実験③ 赤い点にランドマークを設置する 設置したマーカーとカメラとの誤差を計測する
実験結果③
実験結果③ IOR1 Right IOR1 Center 方位(度) 方位の偏差値 86.72927 0.006659797 89.93871 0.006923566 -88.522 0.000832864 -87.5331 0.001562976 方位(度) 方位の偏差値 86.5176667 0.004276913 89.74124407 0.004161337 -88.57816194 0.005759588 -87.43017002 0.010659093
実験結果④
実験結果④ L_North L_East 方位(度) 方位の偏差値 74.04512371 1.544806625 78.30310114 2.286545541 -89.05098681 0.036812456 69.55509655 0.766207056 -43.86630711 75.84735361 -87.39750034 0.693665214 -54.00348851 56.28231822 -85.93633533 1.08002232 方位(度) 方位の偏差値 66.47136874 0.264055836 84.09867695 1.517481423 -58.72073302 60.87221928 -15.98227367 81.50183566 82.82293063 1.550715515 -74.6908869 38.38085007 76.98749428 38.81850092 -16.06929847 84.54439531
ランドマークなしでの動作
ランドマークなしでの動作 ランドマークなしで行動すると、動画の様にずれた場所に到着する
ランドマークがあると
ランドマークがあると 指定された場所まで精度良く移動できる 予定
結論 コントロールプログラムからの行動列をこなすことのできるロボットが作成できた ロボットの移動の精度は高いが、行動が重なるごとに誤差は増えて行ってしまう それらの不確実性をランドマークで補正することができることが言える
課題 カメラからランドマークの座標データを取得する場合は精度は良いが、ランドマークからカメラの座標データを取得する場合の誤差がひどい この問題を解決する必要がある
課題 マップ共有について 現状ではマップを生成して共有するという部分ができていないので、マップ生成と共有ができるようにする必要がある
展望 アームの搭載 2台が物をつかんで走行する場合の問題点の検討 物体をつかんで片付けられるようにする 2台で障害物のある空間を移動するためのロボットの検討
既製品ではダメな理由 既製品を使用した場合、センサの搭載や増設が難しい ルンバで作成した場合、アームなどの増設はロボットの上部にしかつけることができない しかし、自作ロボットである場合、大きさの変更・アームの取り付け位置の変更などが比較的容易である