図1 Microsoft社のロボット向け開発実行環境「Robotics Developer Studio」で、Kinectをセンサとして利用できるようにした。画面は米iRobot社のロボット「Create」の上にKinectを搭載してシミュレーションした様子(画面:Microsoft社)。
図1 Microsoft社のロボット向け開発実行環境「Robotics Developer Studio」で、Kinectをセンサとして利用できるようにした。画面は米iRobot社のロボット「Create」の上にKinectを搭載してシミュレーションした様子(画面:Microsoft社)。
[画像のクリックで拡大表示]

 米Microsoft社は、累計で1000万台以上の出荷を記録して大ヒットとなったジェスチャー入力コントローラ「Kinect」を、今度はロボット分野に振り向ける。2011年7月、同社のロボット向けソフトウエア開発環境および実行環境である「Robotics Developer Studio (RDS) 2008 R3」において、Kinectを距離画像センサとして利用できるようにした。研究開発など非商用で、無償で利用できる。2011年秋にはKinectの応用について、より実践的な機能をRDSに盛り込む計画で、今後、Kinectをロボット研究に用いる動きが活発化しそうだ。

 Kinectは安価な距離画像センサとして利用できる点がソフトウエア開発者などに支持され、2010年11月の発売直後からパソコン向けなど当初のゲーム以外で利用するアプリケーションが次々と出現した。

 これを受けて、Microsoft社はKinectをパソコンで利用するためのSDK「Kinect for Windows SDK Beta(Kinect SDK)」を2011年6月に投入したばかり。間髪を入れず、今度はセンサ応用の塊とも言えるロボット分野に適用した。「民生用ロボットの市場を花開かせ、ロボット技術を民主化することが我々の願いであり、最優先で取り組んでいるテーマだ」(同社 Microsoft Robotics, General ManagerのStathis Papaefstathiou氏)。

シミュレータ上での利用も可能

 今回、Microsoft社が発表したのは、具体的には「Kinect Services for RDS」と呼ぶライブラリである。同ライブラリはKinect SDK上に構築されており、これを用いるとRDSの実行環境からKinectが出力する距離画像にアクセスできるようになる。
 RDSは、並行型の実行環境である「Concurrency and Coordination Runtime (CCR)」を備えており、このCCRの上に分散サービス「Decentralized Software Services (DSS)」が実装されている。一般にロボットは多数のアクチュエータやセンサを搭載しているため、並行分散型の実行モデルが適している。今回のKinect Services for RDSも、分散サービスの一つとしてCCR/DSS上で実行される注1)

注1) Kinect Services for RDSやCCR/DSSはWindows 7などで動作するため、ロボットはパソコンから遠隔制御する形で利用する。ロボットとパソコンはシリアル通信や無線LAN、Bluetoothなどで通信する。

 RDSは、米NVIDIA社の物理演算ライブラリ「PhysX」を利用したシミュレータも備えている。このため、実際のロボットや外部環境を用意しなくても、仮想空間上でKinectを搭載したロボットの動作やアルゴリズムを検証可能である(図1)。