LEGO社の「MINDSTORMS NXT(以下、NXT)」は、同社が1998年に発売した「Robotics Invention System」に始まるロボットプラットフォームの最新版であり、2006年8月に発売された。数多くの内蔵リソース、サードパーティ製リソース、NI社の「LabVIEW Toolkit for LEGO」などプロフェッショナルレベルの開発ツールがこのプラットフォームをサポートする。そのおびただしい数のサポート製品が、NXTに対する「ただのおもちゃだろう」という印象を覆す(図3)。実際、同プラットフォームはセンサーやモーションコンポーネントに対する複数の物理的構成を迅速に作成するのに適した機械的な柔軟性を備えたものになっている。なお、NXTはコントローラとして、32ビットのプロセッサ「ARM7」を搭載している。
NXTの基本システムは、3つのサーボモーターに加え、以下のようなものをサポートしている。
これにより、サードパーティによるリソースの開発と統合をサポートする。
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.