Lego Mindstorms NXT
Lego Mindstorms NXTは、2006年7月末に発売されたプログラム可能なロボットや他の機械、または対話システムを組むためのレゴ社の商品セットであるMINDSTORMSの改良型。
キットはサーボモーター3個、タッチセンサー2個、光センサー1個、サウンドセンサー1個、超音波センサー1個とNXT「知能」ブロックを1個、7本の接続ケーブルとUSBインタフェースケーブルを含む577個の部品で構成される。知能ブロックは異なる振る舞いを可能にするマインドストームの"脳"である。キットには同様にNXTに作成したプログラムをダウンロード可能なグラフィカルプログラミング環境のNXT-Gを含む。ソフトウェアは同様にAlpha-Rex (人型ロボット)、Tri-Bot (自動車)、ロボアーム T-56 (ロボットアーム)と Spike (サソリ)の4形態のロボットに対応した命令を備える。
モーターは回転センサーが予め組み込まれたステッピングモーターで、従来のマインドストーム用モーターよりはるかに高性能である。しかしセンサー、モーターともに接続の方式が今までのようにブロックに線が埋め込まれているのではなく、ブロックの形を完全になくした専用のジャックとなった。機能が向上した分、従来のセンサー、モーターの複数同時接続はできなくなった。
NXTの知能ブロックは48MHzで動作する32ビットのARM7マイクロプロセッサーと4MHzで動作する8ビットのAtmel AVRマイクロプロセッサを持っている。ブロックは入力ポートを4個、出力ポートを3個、64×100ピクセルLCDマトリックスディスプレイを1個、USB 2.0ポートとBluetoothワイヤレス接続を持っている。ARM7プロセッサは256KiBのフラッシュメモリと64KiBのRAMへのアクセスを持つ一方で、第二のプロセッサは(別個の)4KiBのフラッシュと512バイトのRAMへのアクセスしかもたない。接続はデジタルで、センサーと使用できるモーターポートを拡張するマルチパックを加える事が出来る。I/Oソケットで使われるコネクタはRCXで使われていたものとデザインが異なり、RJ12コネクタに似たポートを使っている。ブロックには8kHzD/Aのラウドスピーカーが組み込まれている。ブロックはAAタイプのバッテリーを6つ使用する。アルカリ電池が推奨されているが、充電式電池でも動作する。旧型となってしまったRISシリーズに比べテクニック系の部品が大部分を占め、今までなかった新しいブロックの組み合わせや楽しみが増えた。
レゴマインドストームNXTセットは小売り版と教育用の2つのバージョンで出荷されている。教育用セットのNXTブロックは充電式電池と充電器を同梱している。しかし、このキットはプログラミングソフトを含んでおらず、別売りになっている。なお、個人用、教室用、サイト用でソフトウェアのライセンスが異なる。
教育用の商品は Lego Mindstorms for Schools と呼ばれており、タフツ大学で開発され ナショナルインスツルメンツのLabVIEWをエンジンとして使っているGUIベースのプログラミングソフトであるが同梱されていた。現状では、教育用NXTはROBOLABまたはNXTソフトウェアのどちらかを選択して、別途購入する方式をとっている。教育用とは別に、同梱されているセンサーやブロックが異なる玩具用NXTがあるが、こちらはNXTソフトウェアが同梱されている。
いくつかの開発者キットが利用可能で、NXTに対応している。
Software Developer Kit (SDK) -ホストUSBドライバの情報や実行可能なファイル形式、バイトコードのリファレンスを含んでいる。
Hardware Developer Kit (HDK) -文書とNXTブロックとセンサーの概要を含んでいる。
Bluetooth Developer Kit (BDK) -Bluetooth通信に使われているプロトコルの文書
2006年5月1日レゴは2006年8月までにNXT知能ブロックファームウェアがオープンソースとしてリリースされると公表したが、12月初頭まで利用できなかった。ファームウェアのソースはthe Hardware Developer's Kit、Software Developer's Kit、Bluetooth Developer's Kitと一緒にレゴのウェブサイトで見つけられる。
32ビットARM7 主マイクロプロセッサ @48MHZ
256KB フラッシュメモリ
64KB RAM
8ビットAtmel AVR マイクロコントローラ @4MHZ
4KB フラッシュメモリ
512Bytes RAM
64×100 ピクセル 液晶ドットマトリクスディスプレイ
ユーザーはNational Instruments社開発のLabVIEWを使った新しいソフトウェアを用いてプログラムを作成
USB 2.0ポートを一つ搭載
Bluetoothによって、NXTに無線でプログラムを転送ないしロボットの遠隔操作をする方法を提供(携帯電話やPDAでも可能)
4 input ports, 6-wire cable digital platform (One port includes a IEC 61158 Fieldbus Type
4/EN 50 170 () compliant expansion port for future use)
519個のレゴ・テクニックの部品(及びVisorakのpincersを含むバイオニクルの部品)
回転検出センサが組み込まれており、正確な制御の為のフィードバックがある3つのサーボモータ
光の強弱を感知する光センサ(教育用セットに同梱)
光の強弱と、色を識別できる色センサー(玩具用セットに同梱。色はセンサーの目の前のもののみ判別可能)
タッチセンサ(プレス/リリース/衝突の感知)
別売りの方向を感知するコンパスセンサ(Hitechnic社製)
別売りの色彩を感知するカラーセンサ(Hitechnic社製)
別売りの赤外線センサー、加速度センサー、ジャイロセンサー(Hitechnic社製)等
2009年6月29日にver2.0発表、8月1日発売開始。パーツ数が619に増え、(センサーとモーターを含む)2個のタッチセンサーと1個の超音波センサーと新型の色センサーが導入された。NXT 2.0 は浮動小数点演算を使用するが、初期の型では整数演算を使用した。キットの値段はおよそUS$280だった。
2010年11月に、ソフトウェアがNXT 2.1にバージョンアップされた。
言語: 独自のフローチャート風の言語
言語: Ada
言語: C/C++
言語: C/C++, Objective C, Fortran, Java, Ada among others
言語: C/C++, ASM
言語: LabVIEW
コメント: A toolkit for LabVIEW permitting development of custom native blocks for use in the Mindstorms NXT software.
言語: Anything that can compile to .NET, works best with C#
コメント: コンパイラ無し。バイトコードをマシンの命令に変換する。
言語: Java
言語: C/C++
コメント: GCC用のライブラリ
言語: Visual Basic, Visual C++
コメント: Can be combined with an RCX control library such as spirit.ocx from the MindStorms SDK to make use of the Lego Cam
言語: NQC, a C-like language
コメント: 非オフィシャルの言語の中では、もっともよく使われている。
言語: Visual Basic, Visual C++, MindScript, LASM
コメント: You don't need VB to use the VB features as MS Office comes with a cut down version of VB for making macros
言語: A custom language which can be programmed directly on the RCX
言語: Forth
言語: A kind of Visual Basic/spirit.ocx-based language
コメント: Designed for robots which are in contact with the workstation at all times
言語: C
コメント: A library for use with GCC and comes with GCC for Windows.
言語: RCX Code, a custom flowchart-based language
言語: A flowchart language based on LabVIEW
コメント: This is the programming environment offered to schools who use MindStorms, supports the Lego Cam
言語: Squeak
言語: Tcl
言語: LOGO
言語: Java
言語: occam
言語: RCX Code
コメント: Lego Cam と一緒に使うオフィシャルのプログラミング言語
言語: Lisp
言語: Prolog
コメント: Uses an NQC program to interpret commands send from the pc running the Prolog code
言語: PBrickDev, a flowchart based language.
コメント: Has more fuctionality than the RIS language, such as datalogs and subroutines/multithreading.