RSNPを活用したロボットサービスコンテスト 2014

RSNPシミュレーション環境とその応用
SIGVerseを利用した移動ロボットのシミュレーション環境の構築
林 昌純

中川 幸子 成田 雅彦（産業技術大学院大学）

1.はじめに
SIGVerse[1]を利用した移動ロボットのシミュレーション環境を作成する．
RSNPロボットのシミュレーション環境の利用法について検討した場合，RSNPロボット要素技術の統合検証を容易にし，統合基盤としての汎用的なロボットサービス分野へのアプローチが考えられる．

さらに，シミュレーション環境で開発したロボットアプリを実環境へ適用し，プロトタイピングを容易化し，開発を効率化する等が考えられる．

2.作成したSIGVerseを利用した移動ロボットのシミュレーション環境について(概要)
RSNPロボットにシミュレータ機能を追加したRSNPシミュレーション環境を，試作[3]をもとにして，必要な修正を行い構築する．
移動ロボットが前進や後退といった移動動作をすることをシミュレートする為に，RSNPロボットからRSNPシミュレーション環境に対して，RSNPプロファイルであるMotion_profileを利用することをサポートする．

3.作成したSIGVerseを利用した移動ロボットのシミュレーション環境について(詳細)移動ロボットをブラウザ(リモートコントローラ)から次の5つのMotion_profileのオペレーションの指示を行い，RSNPシミュレーション環境内の移動ロボットを操作する．
実装した5つのMotion_profileのオペレーション：①forward(前進)，②backward(後退)，③right(右カーブ)，④left(左カーブ)，⑤stop(停止)

1RSNP Contest 2014

図 1-1 作成したSIGVerseを利用した移動ロボットのシミュレーション環境の構成

RSNPを活用したロボットサービスコンテスト 2014
3.作成したSIGVerseを利用した移動ロボットのシミュレーション環境について(詳細)③シミュレータ(SIGVerse)のビューア(SIGViewer)の実行

自分のPC側
①ロボットサービスの実行
言語：Tomcat v7.0(Eclipse)
Service Sample

⑤

①

③
共用
メモリ

④

⑤ロボットアプリの実行
言語：Java(Eclipse)④シミュレータ(SIGVerse)のRobot
Sample2
サービスプロバイダの実行⓪リモート
言語：C++(VC++2010)
コントローラ(ブラウザ)

soft側(成田PBLのサーバ)②シミュレータ(SIGVerse)のコントローラの実行言語：C++(VB上のUbuntu12.04より)※○囲み内の数字は実行する順番を表す②
図 1-2 移動ロボットのシミュレータの全体像

図 1-3 移動ロボットのシミュレータでの指示の流れ

移動ロボットから出されたMotion_profileのオペレーションの指示は，共用メモリ(NamedPipe)を経由して，移動ロボットのシミュレーション環境に届く．
シミュレーション環境内では，車体の両サイドに車輪が2つついている移動ロボットがスタンバイしていて，シミュレーション環境内の移動ロボットを操作する為には，左の車輪の角速度と右の車輪の角速度の値が必要になるが，移動ロボットのMotion_profile_impl.javaのソース内で，各オペレーション(forward，backward，right，left，stop)の指示に必要な左右の車輪の角速度の値を指定しているので，シミュレーション環境内での移動ロボットの操作を実現できる．
尚，RSNPの仕様上は，Motion_profileのオペレーションのうち，forward，backward，right，leftの4つは移動量(m)やカーブの半径(m)や回転角(度)といった値を持つが，今回の実装ではシミュレーション環境内の移動ロボットはそのような値を持たせていない．

2RSNP Contest 2014

RSNPを活用したロボットサービスコンテスト 2014
3-1.今回用いたシミュレータについて①今回用いたシミュレータはSIGVerse(社会的知能発生学シミュレータ) [4]・SIGVerseは，世界ファイルやコントローラ，ビューアなどから構成される．
・世界ファイルとは，SIGVerseに登場するキャラクターやSIGVerse世界の環境を設定することができるファイル．
・SIGVerseではC++で書かれたコントローラをSIGVerseエンティティにアタッチすることで自律的に行動することができる．
・SIGVerseでは，さまざまな情報をサービスとしてコントローラに提供する．
ビューアからコントローラにデータを送ったり，コントローラからシミュレータ内のロボットに指示を与える．

②RSNPロボットのシミュレーション環境の利用法
・RSNPロボット要素技術の統合検証
・ロボットサービス分野への適用
・プロトタイピングの容易化
・開発を効率化③ RSNPロボットのシミュレーション環境への期待
・RSNPのようなクラウドベースのものに対するシミュレータは少ない
・SIGVerseはRoboCup[5]などで使われつつあり、シミュレータとしてこれから注目されることが考えられる

3RSNP Contest 2014

SIGVerse
ServerController
行動
エージェント視点の画像データ
ViewerRSNPを活用したロボットサービスコンテスト 2014
3-2.プロモーションビデオについての各画面の説明

図 2 ⓪リモートコントローラ(ブラウザ)

図 3 ①ロボットサービスの実行

図 6 ④シミュレータ(SIGVerse)のサービスプロバイダの実行

図 7 ⑤ロボットアプリの実行

図 4 ②シミュレータ(SIGVerse)のコントローラの実行

図 8 ロボットアプリの実行後のリモートコントローラ(ブラウザ)

図 5 ③シミュレータ(SIGVerse)のビューア(SIGViewer)の実行

図 9 ロボットアプリの実行後のビューア(SIGViewer)

4.今後の課題
今回はMotion_profileのサポートのみで移動する機能だけであるが，さらに機能を拡張する為に，Multimedia_profileのサポートも近日中に行えるように取り組みたい．
参考文献 [1] 稲邑哲也: “社会的知能研究のためのシミュレーションプラットフォーム”，日本ロボット学会誌vol.31，no.3，pp.240-243，2013
参考文献 [2] 大澤秀也, 朝倉健介, 小原範子, 佐藤健, 藤田尚宏, 成田雅彦: “RSNP を利用したリアルタイム音声通信の実現”, 第31回日本ロボット学会学術講演会, 3R2-02, 2013
参考文献 [3] 中川幸子, 土屋陽介, 加藤由花, 稲邑哲也, 成田雅彦: “RSNPシミュレーション環境の試作”, 第32回日本ロボット学会学術講演会, 2014（発表予定）
参考文献 [4] SIGVerse Tutorial サービスプロバイダの使用方法
http://www.sigverse.org/wiki/jp/?%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80%E3%81%AE%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95

4

参考文献 [5] @HomeSimulation2014

RSNP Contest 2014

https://sites.google.com/site/robocuphomejapan/home/simulation