● レゴ マインドストームNXT登場
10月14日、ロボットファンならびにレゴファン注目の次世代マインドストーム「レゴ マインドストームNXT」が発売された。
マインドストームとは、レゴブロックで作られたロボットをパソコンからダウンロードしたプログラムで動かすことができる、レゴ社のロボット開発環境だ。モーターやセンサー、コンピューターユニットがすべてレゴブロックの形になっており、レゴブロックを組み立てるのと同じ感覚で好きな形のロボットを作ることができる。
また、ブロックの形をした命令をポチポチと組み合わせるだけでプログラムを作成できる開発環境も付属しており、小学生から大人まで楽しめるセットになっている。
玩具としてはもちろんロボットプログラミングの教材として広く活用されており、筆者も関わっている「ETロボコン」をはじめ、世界各地でロボットコンテストも開催されている。'98年に登場して以来世界中のユーザーの手によって解析が進められ、C/C++やJavaでプログラミングしたり、オリジナルの電子機器を取り付けたりすることもできる。
レゴ マインドストーム NTXはそんなマインドストームの最新シリーズだ。次世代機となり大幅にパワーアップしたマインドストームNXT、どんな内容で何ができるのかを簡単にご紹介しよう。
● パッケージと中身
マインドストーム NXTには玩具用パッケージと教育用パッケージの2種類があり、パーツ構成やターゲットに違いがある。玩具用はレゴブロックを扱っている玩具店や量販店などで購入可能だ。実売38,000円前後で、コンピューターブロック「NXT」やセンサー、モーターを含む577個のパーツと4種類のロボットが作れる組み立て説明書、開発環境の「NXTソフトウェア」が付属している。パッケージにもなっている二足歩行ロボット「アルファレックス」を組みたいならこちらがオススメだ。
一方、教育用は教育機関向けのパッケージで、日本の正規代理店である株式会社アフレルなどで購入可能だ。同じくNXTなどを含む431個のパーツが入っている基本セットが39,900円、672個のパーツが入っている拡張セットが8,610円でそれぞれ販売されている。
ただし、教育用セットには開発環境は付属しないので、別途「NXTソフトウェア」か「ROBOLAB ver.2.9」を購入する必要がある。値段的にはこちらのほうが高くなるが、タッチセンサーが1つ多かったり、リチャージャブルバッテリや変換ケーブル、仕分けトレイ、教育に適したパーツ構成など、色々利点もある。
|
|
【写真1】玩具用のパッケージ。表に書かれているセンサーの説明が間違っているのはご愛嬌
|
【写真2】こちらは教育用のパッケージ。しっかりしたケースの中にパーツが仕分けできるトレイも入っていて結構便利
|
|
|
【写真3】Bluetoothに関する注意書き。Intel Macを使っている場合、現時点ではNXTとBluetooth通信できない(Rosettaのせいらしい)
|
【写真4】玩具用の中身を広げたところ。577個のパーツとケーブル類、説明書、CD-ROM、テスト用コースが入っている(トレイは教育用のもので玩具用には付属しない
|
● コンピューターブロック「NXT」とセンサー、モーター
マインドストームの要となるブロックが、コンピューターブロックである「NXT」だ。NXTには4つのセンサーと3つのモーターを接続可能で、フラッシュメモリにダウンロードされたプログラムによって自律行動をすることができる。
CPUに32bitのARM7と8bitのAVRを搭載し、USBまたはBluetoothで外部のPCや他のNXTと通信することができる。従来のマインドストームで使われていたコンピューターブロック「RCX」が、8bitのH8を搭載し赤外線による通信をしていたのに比べると、かなりモダンな仕様になったといえる。また、ユーザーインターフェイスとしては液晶画面と4つの操作ボタン、スピーカーを搭載している。このUIを使ってNXT単体で簡単なプログラムを作ることもできる。
|
|
【写真5】次世代コンピューターブロック「NXT」と、それに接続可能なセンサーやモーター
|
【写真6】従来のマインドストームで使われていたコンピューターブロック「RCX」と並べたところ。NXTになって一回り大きくなった
|
|
|
【写真7】NXTのユーザーインターフェイス。100×64ドットの液晶画面と4つのボタンで操作する(プログラム中でも入出力として利用可能)
|
【写真8】NXTに搭載されたプログラミング画面。5ステップまでの簡単なプログラムを組むことができる
|
センサーはタッチセンサー、光センサー、音センサー、超音波センサーの4つが付属している。モーターに内蔵された回転センサーもセンサーとして活用できるため、最大で7つのセンサーを利用できることになる。
モーターはこれまではON/OFFとパワーの設定しかできなかったが、マインドストームNXTでは角度指定による回転ができるようになり、大きさと引き換えに、より制御しやすくなった。また、教育用に付属する変換ケーブルを使うと、従来のモーターやセンサーを接続することもできる。
|
|
【写真9】NXTに接続されたセンサーとモーター。RJ12のようなコネクタを持つ6芯ケーブルで接続される
|
【写真10】教育用にだけ入っている変換ケーブル。新しいコネクターを以前のブロック型のコネクターに変換してくれる
|
● 動く機械を組めるレゴブロック
レゴブロックというとポッチがついた四角いブロックを想像する方がほとんどだろう。しかし、実はレゴブロックには、かなり昔から歯車やシャフトなどの「動く機械」を組むためのパーツが存在している。また、それらを支えるために穴の空いたブロックも多数存在する。
マインドストームNXTにはポッチがついたブロックはほとんど入ってなく、Technic系パーツと呼ばれる機械を組むためのパーツでロボットを組むようになっている。
|
|
【写真11】骨格の基本となるビームやアームと呼ばれるパーツ。板状のパーツはない
|
【写真12】コネクター系のパーツ。同じような形をしていても、接続部の摩擦が大きいものと小さいものがあったりする
|
【写真13】のように、ギアはかなり多くの種類が付属しているため、複雑な機構を組んだり、速度やパワーを機械的に色々試すのにはもってこいだ。写真には載せていないが、プーリーも付属している。また、シャフトもご覧のように各サイズがそろっているので、状況に応じて長さを使い分けることができる。ちなみに長さの単位はポッチだ。
|
|
【写真13】玩具用に入っているギアとシャフト。ギアとしては、8、12、16、20、24、36、40枚歯とウォームギア、十字形ギア、ターンテーブルが付属する
|
【写真14】厚みのあるギアや十字型ギアはこのように直角に噛み合わせることもできる
|
● 開発環境
玩具版には標準で「NXTソフトウェア」という統合開発環境が付属している。NXT用のプログラムを作るのはもちろんのこと、NXTにファームウェアをダウンロードしたり、NXTの各種管理をしたり、オンラインドキュメントを見たり、PC上で行なうことのすべてを面倒みてくれる。NXTソフトウェアはWindowsとMacに対応しており、作ったプログラムやデータは双方で共有することができる。
|
|
【画面1】NXTソフトウェアの画面。ブロックを組み合わせてプログラムを作ることができる
|
【画面2】右側のウィンドウにある「ロボセンター」で、4種類のロボットの組み方とそれらを動かすプログラムを学ぶことができる
|
NXTソフトウェアでは、ブロックの形をしたプログラミングブロックを組み合わせていくことで、簡単なものから複雑なものまでかなり多様なプログラムを組むことができる。分岐やループ、変数、各種演算、マルチスレッドなど、基本的なプログラム要素はほぼ使うことができる。配列がないのがちょっと残念だ。プログラムの実例はこのあと紹介する
● クイックスタート
玩具版のパッケージを開けると「START HERE!」と書かれた小さい箱が入っていて、まずはそこに入っているパーツだけを使ってクイックスタートできるようになっている。このクイックスタートでブロックの基本的な組み方を学べるので、Technic系に慣れていない方ははじめにやってみることをオススメする。
では、このクイックスタートで二輪駆動ロボット「トライボット」を組み立てて、ちょっと遊んでみよう。まずは、組み立て説明書に従ってロボットを作っていく。各ページで必要なパーツとそれがどう組込まれるかが図のみで説明されているので、間違い探しの要領でどんどん組んでいこう。レゴブロックを組むのに慣れていれば15分くらいでできると思うが、せっかくなので童心に帰って楽しみながら組もう。
|
|
【写真15】玩具用パッケージを開けたところ。大量のレゴブロックが箱と袋に小分けされている
|
【写真16】START HERE!の中身。クイックスタートで使う分だけのレゴブロックが入っている
|
|
|
【写真17】トライボットを組み立てているところ。従来のレゴブロックを組むのとほとんど変わらない
|
【写真18】トライボット完成! モーターのケーブルを挿し間違えないように注意(Aが真ん中、BCが左右)
|
|
【動画1】トライボットでDemoプログラムを動かしているところ。こういう動きをすればOK
|
動作確認として、クイックスタートの説明書の最後に書いてある「Demo」を実行してみよう。ロボットが音を出しながら前進したり旋回したりするはずだ。もしちゃんと動かない場合は、おそらくケーブルの挿し方が間違っているので、もう一回見直してみよう。
● オリジナルプログラムにチャレンジ
さて、既存のプログラムを動かしてもあまり面白くないので、ここでオリジナルの動きにチャレンジしてみよう。といっても、いきなり動きをプログラミングするのも大変なので、ここでは人間がロボットに動きを教える「教示」機能を使ってみることにする。プログラミングブロックの一つである「記憶/再生ブロック」というのを使うと、教示機能を簡単に実現できる。ここではそれを使って「"Good morning"としゃべってから10秒間教示を受け、"Good Job"としゃべってからその動きを再生する」というプログラムを組んでみる。ロボットに言葉を発生させるのには「音ブロック」を使えばよい。
プログラムが【画面3】【画面4】のようになればOKだ。これをNXTにダウンロードして実行すると、【動画2】のように動いてくれるはずだ。このように、ロボットプログラミングがとても簡単にできるのがNXTソフトウェアの特徴である。他のプログラミングブロックも片っ端から試してみよう。
|
|
【画面3】ロボットに動きを覚えさせる「教示」がこんな簡単なプログラムで実現できる
|
【画面4】教示プログラムの各プログラミングブロックの設定
|
|
【動画2】教示プログラムを動かしているところ。ちょっとぎこちないが教示した動きを再現しているのがわかる
|
● トライボットを拡張する
マインドストームはハードウェアがレゴブロックでできているため、ハードウェアの変更や拡張も簡単にできる。これは普通のロボットキットにはない特徴だ。アタッチメントのような形で、目的に応じてパーツを取り替えたりすることもできる。自分好みのロボットになるように、ソフトウェアだけでなくハードウェアもどんどん改造しよう。
ここではさきほど作ったトライボットのハードウェアを機能拡張して、目の前にあるボールを掴めるようにしてみよう。といっても自分で一から作るのは大変なので、今回は付属のオンラインドキュメントに沿って作っていくことにする。NXTソフトウェアの「ロボセンター」で「ビークル>トライボット」を開き、上から順番に機能を追加していけばOKだ。
|
|
【画面5】オンラインドキュメントによるトライボットの組み立て図
|
【写真19】トライボットを拡張し、発見したボールに近寄って掴めるようにしたもの。このようにソフトウェアだけでなくハードウェアも好きなように拡張・改造できるのがマインドストームの強み
|
ハードウェアができたら、今度はソフトウェアだ。今回は「超音波センサーがボールを発見すると、タッチセンサーで触れるまで近づいて掴み、反転して黒い線まで移動した後にボールを離す」というプログラムを作ることにする。
プログラムの詳細な説明は省くので、各自【画面6】を参考にプログラミングしてみてほしい。「待機ブロック」と「移動ブロック」しか使っていないので、そんなに難しくないはずだ。うまく動けば【動画3】のような動きをするようになる。
|
|
【画面6】ボールを掴むプログラム。待機ブロックと移動ブロックのみでできている
|
【動画3】ボールを掴むプログラムを動かしているところ
|
● こんなに遊べるマインドストームNXT
以上、レゴ マインドストームNXTとはどういうものか、何ができるか、を駆け足で説明した。レゴブロックのセットとしては4万円前後となかなか高価なセットではあるが、ロボットキットとしてはかなりお手頃ではないだろうか。
ただ、すでに二足歩行ロボット「アルファレックス」を組んでみた方は実感していると思うが、NXT単体ではモーターが3つしかコントロールできないのがちょっと残念だ。それでも、公式に公開されている仕様書などを見てもらえればわかると思うが、プラットフォームとしてはかなり遊べる素材であることは間違いない。他にレゴブロックを持っていれば、どんどん拡張できるのも魅力である。
この連載では、アルファレックスの解説/改造にはじまり、海外サードパーティの拡張パーツやNXTを複数台使った多数のモーターの制御、NXTを2台使ったマスター・スレーブ型のロボットアームなど、マインドストームNXTをより高機能に遊ぶためのネタを取り上げていきたいと思う。次回はアルファレックスをもっと遊び倒すネタをお届けする予定だ。
■URL
レゴジャパン
http://www.legoeducation.jp/
マインドストーム
http://mindstorms.lego.com/
レゴ マインドストーム NXT 体験ブログ
http://nxt.typepad.jp/lego_mindstorms_nxt/
協力:株式会社アフレル
http://www.afrel.co.jp/
2006/11/24 00:18
- ページの先頭へ-
|