Lego Mindstorms NXTは、2006年7月末に発売されたプログラム可能なロボットや他の機械、または対話システムを組むためのレゴ社の商品セットであるMINDSTORMSの改良型[1]。
概要
キットはサーボモーター3個、タッチセンサー2個、光センサー1個[注 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ベースのプログラミングソフトであるROBOLABが同梱されていた。現状では、教育用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と一緒にレゴのウェブサイトで見つけられる。
NXTのブロック
部品
- 519個のレゴ・テクニックの部品(及びVisorakのpincersを含むバイオニクルの部品)
- 回転検出センサが組み込まれており、正確な制御の為のフィードバックがある3つのサーボモータ
- 超音波距離センサと移動センサ
- 音のパタンとトーン認識を備えたサウンドセンサ
- 光の強弱を感知する光センサ(教育用セットに同梱)
- 光の強弱と、色を識別できる色センサー(玩具用セットに同梱。色はセンサーの目の前のもののみ判別可能)
- タッチセンサ(プレス/リリース/衝突の感知)
- 別売りの方向を感知するコンパスセンサ(Hitechnic社製)
- 別売りの色彩を感知するカラーセンサ(Hitechnic社製)[1]
- 別売りの赤外線センサー、加速度センサー、ジャイロセンサー(Hitechnic社製)等
レゴ マインドストームNXT 2.x
2009年6月29日にver2.0発表、8月1日発売開始[2]。パーツ数が619に増え、(センサーとモーターを含む)2個のタッチセンサーと1個の超音波センサーと新型の色センサーが導入された。NXT 2.0 は浮動小数点演算を使用するが、初期の型では整数演算を使用した[3]。キットの値段はおよそUS$280だった。
2010年11月に、ソフトウェアがNXT 2.1にバージョンアップされた。
プログラミング言語
- Actor-Lab
- 言語: 独自のフローチャート風の言語
- Ada Interface to MindStorms
- 言語: Ada
- brickOS
- 言語: C/C++[2]
- GCC
- 言語: C/C++, Objective C, Fortran, Java, Ada among others
- GNU Toolchain for h8300
- 言語: C/C++, ASM
- LabVIEW Toolkit for NXT
- 言語: LabVIEW
- コメント: A toolkit for LabVIEW permitting development of custom native blocks for use in the Mindstorms NXT software.
- Lego.NET
- 言語: Anything that can compile to .NET, works best with C#[3]
- コメント: コンパイラ無し。バイトコードをマシンの命令に変換する。
- leJOS
- 言語: Java
- librcx
- 言語: C/C++
- コメント: GCC用のライブラリ
- Logitech SDK
- 言語: 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
- 言語: NQC, a C-like language
- コメント: 非オフィシャルの言語の中では、もっともよく使われている。
- Official MindStorms SDK
- 言語: 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
- OnScreen
- 言語: A custom language which can be programmed directly on the RCX
- pbForth
- 言語: Forth
- PRO-BOT
- 言語: A kind of Visual Basic/spirit.ocx-based language
- コメント: Designed for robots which are in contact with the workstation at all times
- QuiteC
- 言語: C
- コメント: A library for use with GCC and comes with GCC for Windows.
- RCX Code
- 言語: RCX Code, a custom flowchart-based language
- ROBOLAB
- 言語: A flowchart language based on LabVIEW
- コメント: This is the programming environment offered to schools who use MindStorms, supports the Lego Cam
- SqLego
- 言語: Squeak[4]
- TclRCX
- 言語: Tcl
- Terrapin Logo
- 言語: LOGO
- TinyVM
- 言語: Java
- The Transterpreter
- 言語: occam
- Vision Command
- 言語: RCX Code
- コメント: Lego Cam と一緒に使うオフィシャルのプログラミング言語
- XS
- 言語: Lisp
- LegoLog
- 言語: Prolog
- コメント: Uses an NQC program to interpret commands send from the pc running the Prolog code
- PBrickDev
- 言語: PBrickDev, a flowchart based language.
- コメント: Has more fuctionality than the RIS language, such as datalogs and subroutines/multithreading.
参考文献
- Bagnall, Brian. Maximum LEGO® NXT: Building Robots with Java Brains Variant Press. 2007. ISBN 0-9738649-1-5
- Bagnall, Brian. Core LEGO® Mindstorms Prentice-Hall PTR. 2002. ISBN 0-13-009364-5
- Baum, Dave. Definitive Guide to LEGO® MINDSTORMS, 2nd ed. Apress. 2002. ISBN 1-59059-063-5.
- Erwin, Benjamin. Creative Projects with LEGO® Mindstorms (book and CD-ROM). Addison-Wesley. 2001. ISBN 0-201-70895-7.
- Ferrari et al. Building Robots With LEGO® Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress. 2001. ISBN 1-928994-67-9.
- Gindling, J., A. Ioannidou, J. Loh, O. Lokkebo, and A. Repenning., "LEGOsheets: A Rule-Based Programming, Simulation and Manipulation Environment for the LEGO Programmable Brick," Proceeding of Visual Languages, Darmstadt, Germany, IEEE Computer Society Press, 1995, pp. 172–179.
- Breña Moral, Juan Antonio. Develop LeJOS programs Step by Step, "http://www.juanantonio.info/lejos-ebook/
- LEGO MINDSTORMS NXTオレンジブック ISBN 9784839921866
- LEGO MINDSTORMS NXTグレーブック ISBN 9784839923013
- Joe NagataのLEGO MINDSTORMS NXT歩行ロボット製作入門 ISBN 9784274205668
- 入門LEGO MINDSTORMS NXT ISBN 9784797338256
- 実践ロボットプログラミング ISBN 9784764903784
- LabVIEWで学ぶ〈最新〉LEGO Mindstorms NXT入門 ISBN 9784774146553
- 知的LEGO Mindstorms NXTプログラミング入門 電子工作Hi‐Techシリーズ ISBN 9784789818957
- 「Kinect」×「Mindstorms NXT」「ロボット」プログラミング I/O BOOKS ISBN 9784777517602
脚注
関連項目
外部リンク
マインドストーム NXTの公式サイト:
様々なリソースとポータル:
プログラミング言語とOS:
サードパーティの拡張デバイス:
チュートリアル:
日本における技術サポート:
マインドストーム NXT のリンク:
脚注
注釈
- ^ 現在、グレースケールの読み取りに基づく色の識別能力を備えている。