AR を用いた
分散ロボットシステム構築フレームワークの開発
Development of Framework for Construction of Distributed Robotics System with Augmented Reality
5118E021-1 村田 祐樹 指導教員 尾形 哲也 教授MURATA Yuki Prof. OGATA Tetsuya
概要: 本研究では,分散ロボットシステムが持つ位置透過性の課題を解決するフレームワークの研究とその実装を行っ た.分散システムの構築を支援するソフトウェアやミドルウェアは多くある.これらは構成モジュールの物理的分散を隠蔽 し,単一のコンピュータシステムと見せる位置透過性を持つ.しかし,実世界で動作するロボットシステムでは,構成モジュ ールの実世界位置を考慮する必要がある.本研究では構成モジュールが実行されているホストコンピュータを認識し AR 技術を用いて構成モジュールを重畳表示することで,実世界位置を明示する.また重畳表示されたモジュールを AR 上で 接続することでシステム構築を行えるフレームワークとして提供することで,物理的未知環境でも任意の分散ロボットシス テムを構築できること.
キーワード:分散システム, 拡張現実, ロボットミドルウェア, グラフィックユーザーインターフェース
Keywords: Distributed Systems, Augmented Reality, Robotics Middleware, Graphical User Interface
1.諸言
分散システムの考え方が普及し広い場面で 実装されているが,これらは位置透過性を重視 し,単一のコンピュータシステムとして見せる ことを目指している.位置透過性は,分散シス テムを構成する複数のモジュールが物理的に 分散しそれがどこに位置するかを隠蔽する特 性である.これによりユーザーは分散システム を単一のコンピュータシステムとして扱うこ とが可能になり,アプリケーションへのアクセ ス性が向上する[1].しかしインターネット接 続デバイス(IoT)やロボット等の実世界で動作 するシステムでは,分散システム構成モジュー ルの実行ホストの位置について考慮が必要な 場合がある.例えば,ロボットやデバイスに或 る動作を行わせる場合,ロボットの移動範囲や 可動範囲を推定する為に,ロボットやデバイス の現在位置を正確に把握する必要がある.この ような場合,実行位置を明示しない事はシステ ムの構築・利用において大きな障害となりうる.
この課題を解決するために,分散システム構 成モジュールの実世界位置を明示すべきとい う議論がある[1].Suzuki らは IoT デバイスを
用いたスマートホーム向けシステム構築に,各 種センサーからの情報を Mixed Reality を用い てノードとしてセンサーに PC 重畳表示,ノー ドの接続によりシステムを構築することで,実 世界位置を考慮したシステム構築及び利用を 可能にした[2].しかし,ノードの表示位置は 既定であり,未知環境への適応や新デバイスの 追加にはモデルを作り直す必要がある.
本研究では,構成モジュールのホストコンピ ュータを動的に認識,実行中のモジュールを重 畳表示し,Augmented Reality(AR)上で接続す ることでシステム構築を行えるフレームワー クを実装し,物理的未知環境でも実行位置を考 慮したシステム構築ができる事を目指した.
2.提案手法
本フレームワークは AR グラス,サーバーPC,
ロボット/デバイス(分散システム構成モジュ ールの実行ホスト)で構成される(図 1).AR グ ラス はカメラによりロボット/デバイスを認 識し,サーバーPC からの情報を元にモジュー ル映像を現実空間に重畳表示する.AR グラス のカメラやコントローラでユーザーの操作を
2 認識し,その操作を元にサーバーPC がロボッ ト/デバイスを操作する.
図 1 提案システム全体図
2.1.AR マーカーを用いた実行マシン認識 分散ロボットシステム構成モジュールの実 行ホストの実世界位置を AR マーカーを用い て認識する.実行ホストに液晶付きデバイスを 接続,そのホストのIPアドレスに紐づいたAR マーカーを表示し,カメラで認識することで,
そのホストで実行中のモジュールを重畳表示 することができる.これにより,未知環境にお いても分散システム構成モジュールの実世界 位置を知ることができる.
図2 ARを用いたマシン認識 2.2.AR 上のモジュール接続
実行ホストに重畳表示されたモジュールを AR 上で接続することによりシステム構築を行 う.操作は操縦者のジェスチャによって行われ,
その操作を AR グラスのカメラで認識,サーバ ーPC に送信しサーバーPC 内のモジュール管理 ソフトウェアがその操作を実行する.これによ りユーザーはモジュールを追加することで望 む機能を持つシステムを構築できる.
3. 実装手法
AR グラスに Microsoft Hololens,表示する 映像は Unity を用いて実装した.システム構築 に は RT-Middleware を 用 い る . RT-Middleware[3]は,分散ロボットシステムの 構築を RT コンポーネント(RTC)と呼ばれるモ
ジュールの組み合わせで行うロボットミドル ウェアである.RTC は Active,Error などの状 態遷移,コンポーネント間のデータのやり取り を行うポート等の機能を持つ.この RTC の状態 管理と接続を操作することで,システムの構築 と動作を行う.ロボット/デバイスの PC 内で RTC を実行する.AR マーカーを表示する液晶デ バイスは M5STACK を用い,PC に接続後シリア ル通信プログラム(Python で実装)で PC の IP アドレスを取得,それに応じた AR マーカーを 自身の SD カードから表示する.本研究では1 6種類の AR マーカーを使用した為,ホストア ドレスが16種類であればマーカーを表示で きるが種類を増やす事で拡張できる.マーカー を認識した Hololens はマーカーにモジュール 映像を表示し,モジュールに対するユーザーの ジェスチャ操作をカメラで認識する.Hololens とサーバーPC は Websocket プロトコルで,モ ジュールの状態や操作を通信する.サーバーPC では RT-Middleware 実装ソフトの openRTM が動 作し,Hololens からの情報を元にロボット/デ バイスの操作を実行する.
4. 結言
本研究では分散システム構成モジュールの 実行ホストの実世界位置を認識,モジュールを 表示し,それらを組み合わせることで,物理的 未知環境でも任意の分散ロボットシステムを 構築できるフレームワークを開発した.実行ホ ストの位置を IP アドレスと紐づいた AR マーカ ーで認識することで,関連研究で課題だった未 知環境への適応力を持つ事ができた.
[1] Tanenbaum, Andrew S., and Maarten Van Steen. Distributed systems: principles and paradigms. Prentice-Hall, 2007.
[2]Ryohei Suzuki, et al. ReallifeEngine: A Mixed Reality-Based Visual Programming System for SmartHomes. In Proceedings of ICAT-EGVE 2019. pp.105-112, Tokyo, Japan, Sept. 11-13, 2019,
[3] Noriaki Ando et al. RT-Middleware:
Distributed Component Middleware for RT (Robot Technology). In IEEE/RSJ International Conference on Robots and Intelligent Systems, pp. 3555– 3560. IEEE, Aug 2005.