ArOde : 拡張現実感を利用したロボットシミュレータの開発
林 政 毅†

岡本 秀 輔†

山田 雄 大†ロボット開発において，ロボットのシミュレートは重要な要素のひとつであるが，従来のロボットシミュレータでは，ユーザは実際にロボットを動かしたい現実の環境が目の前にあるような場合でも，全ての情報を仮想空間内で再構築しなければならない．また，シミュレーションした結果を 3D グラ
フィックス等で表示する場合，現実環境との関連性がわかりづらいといった問題がある．そこで本論
文では，拡張現実感を利用したロボットシミュレータ「ArOde」を提案する．ArOde では，ユーザはＰＣと web カメラ，幾つかのマーカを利用するだけで，現実環境下で実際にロボットを配置しているかのようにシミュレートを行うことができ，現実環境下での仮想ロボットの動きを見る事ができる．

Development of robot simulator with Augmented Reality
Masaki Hayashi,† Shusuke Okamoto† and Katutomo Yamada†Computer simulation is one of important factors for robot development. In case of using
some traditional simulator, we have to construct a virtual environment for the simulation,even if we can use a real one where we want to let our robot move about. Furthermore, it isdiﬃcult to present the relationship between virtual and real environment. In this papper, wepropose a robot simulator with augumented reality, which is named ArOde. It uses PC, web
camera and some markers. Then it can simulate movement of a virtual robot as if it moves
about a real environment which is captured by web camera.

1. は じ め に
1.1 背景ミュレーションを行うための，ロボットシミュレータの研究も盛んに行われている1)2) ．

1.2 目

的

近年，AIBO をはじめとするペット型ロボットや，従来のロボットシミュレータでは，シミュレーショ

お掃除ロボット，施設案内ロボット等の登場と発展にン環境の構築やロボットの動作を，すべて仮想空間のより，ロボットがより身近なものとなってきている．

中で行っている．このようなロボットシミュレータでまた，様々なロボット制御開発環境が研究され，ロボッは，すでにある別の実機と連携するロボットのシミュト自体のハードの価格も安くなってきた．このことかレーションを行う場合や，実際にロボットを動かしたら，ロボットへの関心も高まり，ロボット開発をしたい現実の環境が目の前にあるような場合でも，一度全いと考える人が増加している．ての情報を仮想空間内で再構築しなければならない．

ロボット開発において，ロボットの動きをシミュレーつまり，現実の環境をそのままシミュレーションに使ションする事は，重要な要素のひとつである．ロボッ

うことは出来ず，その前に 1 段階作業をはさまなくてトシミュレーションが行えることで，ロボットが手元はならない．また，シミュレーションした結果を 3Dに無くてもロボットプログラミングを学習することがグラフィックス等で表示する場合，現実環境との関連でき，ハードを傷つけることなく動作テストが行える．

性がわかりづらいといった問題がある．

さらに最近では，最初にロボットの設計をすべて決め

そこで，本研究では，拡張現実感を利用したロボッるのではなく，シミュレーションによって設計パラメートシミュレータの開発を行う．本シミュレータでは，拡タの詳細を決定するモデルベースデザインという開発

張現実感を利用して，現実の環境の中に仮想のロボッ方法も注目されており，ロボットシミュレーションのトや物体を擬似的に配置し，さらに現実のものと仮想重要性も増している．そうしたことから，ロボットシのものを同列に扱えるようにする事で，両者の差をほとんど意識せずに，両者を混ぜてロボットシミュレー† 成蹊大学理工学部
Faculty of Science and Technology, Seikei Universityションを行う事ができるようにする．そうする事で，先に述べた再構築の煩わしさを解消し，直感的でわか情報処理学会 インタラクション 2011

図 1 マーカ型視覚 AR
Fig. 1 AR of Visual and Marker type

りやすく，現実にあるものをそのままシミュレーションに組み込め，現実下でどのように仮想ロボットが動くかを見ることのできるロボットシミュレータを開発する事が，本研究の目的である．

図 2 ArOde のスクリーンショット
Fig. 2 Screenshot of ArOde

2. 拡張現実感
張現実感 (Augmented Reality 以降 AR) とは，現実の環境から知覚に与えられる情報に，コンピュータれる．図 2 に，実行中の本シミュレータのスクリーンショットを示す．

が作り出した情報を重ね合わせ，拡張された現実感を本シミュレータでは，物理計算エンジンに Open Dy-与える技術の事である．AR も近年，カメラや CPU

namics Engine(以降 ODE)6) を，AR の利用の為に，等のハードウェアの高性能化に伴い，様々な研究が盛

マーカー型 AR のミドルウェアである ARToolKit3)

んに行われている3)4)5) ．実装例としては，主に人間を利用している．の視覚から得られる情報の拡張があげられる．具体的

3.2 仮想ロボットには，図 1 のように，カメラによって得られた画像にシミュレートする仮想ロボットとして，レゴ社の対して，リアルタイムに，コンピュータグラフィック

Mindstorms NXT(以降 NXT)7) で構成されたロボッスによって描かれた仮想物体を重ねて表示する事によトを対象としている．NXT とは，プログラムが組みり，あたかも本当にその仮想物体がそこに存在するか込めるブロックや，センサー，モータ，レゴブロック，のように見せるといったアプリケーション等がある．

ギアや車軸，タイヤといったレゴの部品を組み合わせ，視覚の拡張としての AR の実現手段としては，どのロボット制御用プログラムを組み込む事で，様々なロ様に現実空間と仮想空間の位置合わせを行うかというボットを構築できるレゴの部品群のことである．セン

点で，主に，位置合わせにＧＰＳや地磁気センサーやサには様々なものがあるが，その内本シミュレータで加速度センサー等を利用する位置情報型，あらかじめシミュレートできるセンサとその機能を以下に示す．

登録しておいた画像やバーコードのような白黒パター• タッチセンサ

ンを利用して位置合わせをするマーカー型，画像の特前方に付いているボタンが押されているかどうかを判

徴点のトラッキングを利用して位置合わせをするマー定する事ができる．

カーレス型の３つに分類される．

3. 設

計

3.1 本シミュレータの概要
本シミュレータでは，Web カメラを使い得られた画像に，物理演算によって動く仮想ロボットを重ねて表示する．その際に，あらかじめ配置したマーカやマイク，カメラ画像の色情報などから，現実環境の物体，• ライトセンサ目の前にある物体の色の輝度を計ることができる．又，自分に向けられている光の強さを計ることもできる．

• 超音波センサ
前方にある物体までの距離を計る事ができる．

• サウンドセンサ
音がなっているかどうかを判定する事ができる．

3.3 利用するマーカ

物体の色，明るさ，音を認識し，シミュレーションに

本シミュレータでは，様々なマーカを利用すること反映させる．そうすることで，あたかも現実のロボッで現実環境と仮想空間の対応付けを行ったり，シミュトを現実環境内で動かしているかのような結果が得ら

レート中の仮想ロボットやシミュレーション環境とイ

ArOde : 拡張現実感を利用したロボットシミュレータの開発

ンタラクションすることが出来る．本シミュレートで利用するマーカとその機能を以下に示す．

• 基準マーカ
現実環境と仮想空間の対応付けを行うためのマーカ．
このマーカはシミュレートの実行中常にカメラ画像の中に必ず含まれていなければならいマーカで，このマーカの中心が現実環境と仮想空間のそれぞれの原点になる．また，基準マーカーとの相対的なカメラの場所，姿勢の推定を行う．こうすることで，基準マーカーを中心に，現実環境下のカメラと同じ場所，姿勢から見た，仮想空間の画像を取得でき，現実環境と仮想空間の対応付けができる．

• ロボット配置マーカ
現実環境に擬似的に仮想ロボットを配置する際に利用するマーカ．このマーカの位置と向きでロボットの初期配置を決定する．

図 3 シミュレーションの流れ
Fig. 3 Flow of simulation• 環境認識用マーカ
現実環境の物体の認識を行うためのマーカ．1 つの面に対して 1 枚必要になる．詳しくは現実環境の認識のロボットプログラミングを行うことが出来る．この時，節を参照．

状態遷移図は，ロボット設計エディタで決められたロ• 光源認識用マーカ

ボットの基本的な動作を組み合わせて作っていくこと光源の位置，方向の認識を行うためのマーカ．詳しくが出来る．こうして出来上がったロボット制御用コー

は現実環境の認識の節を参考．

ドは，一旦 XML ファイルとして保存され，その後，• ロボット移動マーカ

トランスレーターによって NXT 用の Java コードにシミュレート中のロボットを強制的に移動させる際に変換され，コンパイルされロボットに送られるように利用するマーカ．このマーカを利用することで，倒なっている．

れてしまったロボットを元にもどしたりすることが出

本シミュレータでは，NXT 用 Java コードに変換される前の XML ファイルを読込み，仮想ロボットの来る．

3.4 シミュレーションの流れ制御用クラスを作成して，仮想ロボットを制御してい本シミュレータでの，ロボットシミュレーションのる．こうする事で，仮想ロボットの制御と実機の制御流れを図 3 に示す．この流れの中で，カメラ画像かに同じファイルが使えるので，シミュレーションの結らの現実環境の物体の認識を行っている部分が，本シ果を簡単に実機製作に反映させることが出来る．

ミュレータで最も重要な部分である．この認識を行う

図 4 に本シミュレータと Lego プログラミング環

ことで，現実のものと仮想のものを同列に扱うことが境の連携の概要を示す.rcXML(RobotControlXML)

でき，これが，本シミュレータの最大の特徴である．

は ロ ボット の 制 御 法 を 表 し て い る XML ファイ

3.4.1 仮想ロボットの読込みと制御

ル ，rbbXML(RobotBasicBehaviorXML) は ロ ボッ

本シミュレータは，当研究室で開発されている Legoト の 構 成 と rcXML を 作 る た め の ロ ボット の 1

プログラミング環境と連携することで，仮想ロボット

つ 1 つ の 基 本 的 な 動 作 を 表 す XML ファイ ル ，の読込みを行う．具体的には，ロボットの設計は山田ridXML(RobotImageDataXML) はロボットの 3D

雄大氏のロボット設計エディタで，シミュレートしたいデータを表す XML ファイルである．

ロボットの制御プログラムは竹原陽道氏の islayJava8)

3.4.2 現実環境の認識というエディタで，それぞれ作成したものを読み込む

現実環境の認識は，本シミュレータで最も重要な部ことが出来る．ロボット設計エディタでは，ロボット分である．この認識によって，ユーザは現実のものとの構成と，ロボットの基本的な振る舞いを決めること仮想のものを同列に扱うことができる．認識はシミュが出来る．islayJava では，NXT で作られたロボットレートの実行中リアルタイムで行っているので，シミュに対して状態遷移図を用いることで，グラフィカルにレート中の現実環境の変化を仮想ロボットの動きに反情報処理学会 インタラクション 2011

図 4 Lego プログラミング環境との連携概要
Fig. 4 Schematic of cooperation with environment of Lego-programming

映させることが可能である．以下に本シミュレータがどのように現実環境の認識を行っているかを示す．

• 物体

4. ま と め
拡張現実感を利用したロボットシミュレータ「Ar-物体の位置や形，色の認識は，物体認識用マーカといOde」について述べた．今後は，アンケート調査と実機う名前のマーカを利用し，面単位で行う．以下に１つとの動作比較実験を行い，より実機に近いシミュレーの面を認識するまでの手順を示す．

トの実現を目指すと共に，例えば物体の材質等認識で(1)認識させたい面に物体認識用マーカを貼る．

(2)

物体認識用マーカをマウスで右クリックし選択する．

(3)面の各頂点をそれぞれ左クリックで選択する．

面を認識することで仮想ロボットはその面に対して，ぶつかったり登ったりすることが可能となる．また，ライトセンサのシミュレート時に現実環境の色を反映させることも可能となる．

• 明るさ
光源認識用マーカという名前のマーカを利用し認識を行う．光源に光源認識用マーカを貼り付けることで，光源の位置と向いてる方向を認識する．ここでいう光源とは全方向に光を発するものではなく，懐中電灯のような一方向に光を発するものを想定している．光源自体の ON，OFF や光の強さは光源の発光部分の明るさから判定する．つまり，発光部分がカメラ画像に入っている必要がある．

• 音
Web カメラに内蔵されたマイク，又はＰＣに接続されいるマイクから自動で環境音を取得し，シミュレーションに反映さている．

きる現実環境の追加について検討していく．

参 考文献

1) Go Simulation!: http://techno-road.com/products/gosimulation.html.
2) Simbad: http://simbad.sourceforge.net/.
3) 歴本純一，小林亜令，山崎順一，金村星日，大石岳史，角田哲也，罅 五郎，松崎和賢，濱野智史，橋本 直，武部健一：AR のすべて，日経 BP
社 (2009).
4) ARToolKit: http://www.hitl.washington.edu/artoolkit/.
5) Parallel Tracking and Mapping for Small
AR Workspaces: http://www.robots.ox.ac.uk/gk/PTAM/.
6) Open Dynamics Engine: http://www.ode.
org/.
7) mindstorms: http://mindstorms.lego.com/enus/Default.aspx.
8) 竹原陽道：ロボット制御プログラミング環境の設計と実装，修士論文，成蹊大学大学院，工学科研究科 (2009).