プラットフォームが支えるロボット開発(4/5 ページ)
ロボット工学が、大きな将来性が期待できる分野として脚光を浴びている。この流れを受け、その開発を支援するさまざまなプラットフォームやツールが提供されるようになってきた。本稿では、そうした製品のいくつかを取り上げてその概要を紹介する。
MINDSTORMS NXT
LEGO社の「MINDSTORMS NXT(以下、NXT)」は、同社が1998年に発売した「Robotics Invention System」に始まるロボットプラットフォームの最新版であり、2006年8月に発売された。数多くの内蔵リソース、サードパーティ製リソース、NI社の「LabVIEW Toolkit for LEGO」などプロフェッショナルレベルの開発ツールがこのプラットフォームをサポートする。そのおびただしい数のサポート製品が、NXTに対する「ただのおもちゃだろう」という印象を覆す(図3)。実際、同プラットフォームはセンサーやモーションコンポーネントに対する複数の物理的構成を迅速に作成するのに適した機械的な柔軟性を備えたものになっている。なお、NXTはコントローラとして、32ビットのプロセッサ「ARM7」を搭載している。
NXTの基本システムは、3つのサーボモーターに加え、以下のようなものをサポートしている。
- 正確な制御のための回転センサー
- 動き検出のための超音波センサー
- 音声パターンとトーン認識をサポートする音声センサー
- 色と光強度を検出するセンサー
- タッチセンサー
- USB 2.0およびBluetoothのインターフェース
これにより、サードパーティによるリソースの開発と統合をサポートする。
NXTのウェブサイトを見ると、オープンソースのファームウエア、ソフトウエア、ハードウエア開発キット、Bluetooth開発キットなどが豊富に用意されていることがわかる。リリース時には、基本システムの希望小売価格は249.99米ドルであった。
LabVIEW
2006年のNXTの発売と同時期に、グラフィカル開発環境であるLabVIEWがNXTの開発ツールとして使用できるようになった(先述したRobotics StudioもNXTに対応している)。LabVIEWは、開発者が行ったロボットシステム向けの設計を隠蔽/保護するための堅牢なメカニズムを提供する。NXTで用いる機能をLabVIEWによって開発するには、LabVIEW 7.1、同8.0、同8.20のいずれかが必要である。なお、NXTのネイティブソフトウエアブロックの作成には、LabVIEW 7.1が必要となる。
LabVIEWはコンパイラを内蔵し、リアルタイムでのデータ取得と機器制御をサポートする。制御アプリケーションやテストアプリケーションを作成するためのグラフィカルなプレゼンテーションツールなども含まれている。データ構造、ループ構造、イベント処理、オブジェクト指向プログラミングなどの汎用プログラミング環境の機能や、シーケンシャルなテキストの列ではなく、ノード間のデータフローでコードの実行順序を決定するデータフロープログラミングモデルをサポートする。これにより、マルチタスク/マルチスレッド対応のコンポーネントを用いたブロック図を作成することができる。並列処理用の適切なハードウエアが存在する場合には、それらを用いて複数の処理を並列に実行することが可能である。
LabVIEWの機能は、ソフトウエアの最適化、データの管理/視覚化、FPGAなどのさまざまなハードウエアへの展開を目的とするアドオンソフトにより拡張することができる。そのほかのアドオンソフトとしては、信号処理、解析、テスト、画像取得、産業制御などを対象としたものがある。数多くのサードパーティ製アドオンソフトの中には、米The MathWorks社の「Simulink」のようなサードパーティ製ツールとのインターフェースを備え、設計をモデル化してシミュレーションすることを可能にするものもある。
Copyright © ITmedia, Inc. All Rights Reserved.