プラットフォームが支えるロボット開発(5/5 ページ)
ロボット工学が、大きな将来性が期待できる分野として脚光を浴びている。この流れを受け、その開発を支援するさまざまなプラットフォームやツールが提供されるようになってきた。本稿では、そうした製品のいくつかを取り上げてその概要を紹介する。
その他のプラットフォーム
本稿の執筆後に見つけたプラットフォームの概要を簡単に紹介しておく。それは、米CoroWare社製の「CoroBot」である(図A)。CoroBotは4輪スキッドステアリング方式のプラットフォームに、カラーのカメラ、赤外線距離センサー、1.2GHz動作のプロセッサを搭載している。プロセッサはWindows XP、Xubuntu Linux、またはその両方に対応する。
拡張部品は、同製品のプラスチック製の上板に穴を開けてしっかりと固定することもできるし、面ファスナなどを使用して仮止めすることもできる。オープンな構造となっており、その多種多様なコンポーネントに容易にアクセス可能だが、使用場所は室内に限定される。重量は12ポンド(約5.4kg)で、最大許容積載重量は5ポンド(約2.3kg)である。
CoroBotには9つのモデルが用意されており、開発者向けに2799米ドルからという価格で提供されている。同プラットフォーム向けのソフトウエア開発は、Windows XPがプリインストールされたモデルではRobotics Studioで、Xubuntu LinuxがプリインストールされたモデルではPlayerで行うことができる。
オプションとして、グリッパセンサー付きの4DOF(degrees of freedom:自由度)のアームが提供されている。アーム付きモデルには、24個のサーボポートがあり、アームなしのモデルには30個のサーボポートがある。現時点ではCoroBot対応のC/C++ライブラリは存在しないが、CoroWare社はRobotics Studio用の拡張を検討中であるという。
音声のセンシングに役立つモジュール
ここでは、プラットフォームを利用した開発において、音声のセンシング機能を実現するのに役立つモジュールを紹介する。
・eZ430-RF2500――TI社
米Texas Instruments社(TI社)の開発ツール「eZ430-RF2500」は、ワイヤレス接続をサポートする2枚のUSBスティックサイズの開発ボードを備えている(図B)。それらボードのうち1枚は、ホストコンピュータとのUSB接続によって電力を得る。もう1枚は電池に接続して電力を得ることができる。
2枚のボードは、十分な処理能力を持つ16MHz/16ビットのマイクロコントローラ「MSP430F2274」を備えている。また、音声情報を取得するのに十分な10ビット、200キロサンプル/秒のA-Dコンバータを搭載している。
・C8051F064-EK――Silicon Lab社
米Silicon Laboratories社(Silicon Lab社)の評価キット「C8051F064-EK」は、25MIPS(1MIPSは100万命令/秒)/8ビットのマイクロコントローラ「C8051F064」と、1メガサンプル/秒の16ビットA-Dコンバータを2つ搭載している(図C)。これら2つのA-Dコンバータを用いれば、2方向からの音声を同時に取得することが可能である。また、2つのアナログ入力からの信号を処理するためのBNCとフロントエンド回路を搭載している。なお、電源はUSBを介してホストコンピュータから得ることができる。
・SPEEDY 33――NI社
NI社の「SPEEDY 33」は、TI社のDSP「TMS320VC33」をベースとするDSPボードである(図D)。互いに5インチ(約12.7cm)離れた2本のマイクを搭載している。
NI社のLabVIEWは、SPEEDY 33に対し、ほかのハードウエアコンポーネントに提供するのと同様のプログラミング機能を提供する。
ロボット開発言語――URBI
本稿の執筆後、筆者はフランスGostai社製の「URBI(universal real time behavior interface)」というロボット開発用言語を見つけた。ここでは、その概要を簡単に紹介しておく。
Gostai社は、スクリプトインターフェース言語であるURBIを、ソフトウエアモジュール用の普遍的なロボットプラットフォームであると位置付けている。URBIは、クライアント/サーバーアーキテクチャ上で動作し、ロボットなどの複雑なシステムの遠隔制御を可能にする。ロボットの制御、ソフトウエアコンポーネントのプラグインによる機能追加、対話型のロボットアプリケーション開発のためのメカニズムを提供し、さまざまなロボットシステムやOS、C++/Java/MATLABなどのプログラミング言語とともに利用できる。
URBIは、Gostai社のプロトタイピング手法をベースにしている。設計者は、URBIそのものでオブジェクトを定義するか、C++のクラスUObjectを直接カーネルに導入し、それをURBIのネイティブクラスとして利用することができる。また、クラスUObjectをカーネルに置くのではなく、URBIエンジンのIPアドレスをパラメータとする自律型リモートアプリケーションとして実行することも可能である。
Copyright © ITmedia, Inc. All Rights Reserved.