Spybotics (Hack編)


はじめに

普通にLEGO Spyboticsで遊びたい人は、Spybotics (よい子編)に移動しましょう。ここは、普通ではない遊び方をしたい人のページです。

まだ未完成なので、この先内容を変更追加します。間違いを発見したり、「こんなことを調べてほしい」など要望があれば、ご連絡ください。


Inside 本体

CPUは基板にワイヤーボンディングされ、エポキシコートしてあります。全体としてとてもコンパクトにまとまっているぶん、左上のFuseがとても大きく感じますね。マイクロFuseにしなかったのは、Hackerな皆さんへのサービスかもしれません B-)

左端に赤外線受信モジュールが2個あります。これで、リモコンがある方角をセンスできるようにしているようです。

カプラーとリンクする受光素子/LEDが見えます。いずれも可視光です。

PCとは、38kHzの変調はなく、Base bandで通信してます。このため、光センサー/光線出力と兼用になってます。

駆動部です。扁平型のコアレスモーターから2段減速して出力軸につながってます。


Inside リモコン

ワンチップ構成です。チップの詳細は不明でLEGO独自の印刷がしてあります。


Inside カプラー

Base Band通信の為、非常にシンプルな作りになっています。

変調がないので、外乱光には抵抗力がなく密着させることで、エラーを防止してます。


Programing

NQC 2.5.a1は、Spyboticsをサポートしていて、RDS同等に独自のプログラムを作成しSpyboticsをProgramingすることができます。

OUT_A

右モータ

OUT_B 左モータ
OUT_C LED
SENSOR_1 タッチセンサ
SENSOR_2 ライトセンサ

Midi2Lsc, MidiStormsの対応

MIDI FileをMindStormsで演奏可能な、プログラムに変換するコンバーター、Midi2Lsc, MidiStormsが出力したfileはSpyboticsでも、実行可能か一応確認しました。

もちろん、実行可能です。SpyboticsのPlayTone(freq,timeは、ffreqとして、定数だけでなく変数を与えることができます。これ自体は、Midi2Lsc, MidiStormsの拡張につながりませんが、下記、Line Traceで行ったように、インジケーターとして使用することができます。


Line Trace

NQC Progrmの例として、Line Traceを行ってみました。

メカ担当、daichiX。Programing担当macの合作です。

Long Nose

センサーと投光部から光ファイバーを伸ばしてラインを捕らえます。

ロボット名: Long Nose (^^)

はじめは、もうちょっと高速に移動させたのですが、投光部のちらつきや、その他外乱であまり安定動作しなかったので、2段減速にして速度を落としました。

GigaMash G60に入っていた部品だけで、組み立ててあります。

NQC Programは、ここに置きます。Spyboticsには、RCXのようなLCD表示機がありません。このため、「白」、「黒」のセンサー値を読みとり閾値を設定するのが困難です。このため、走行前に「白」、「黒」の値を読み取らせ、自動的に閾値を設定するようにしました。この場合でも、値そのものを表示できないので、センサーが正しく値を読んでいるか確認できません。読み取った明るさを音の高さにして、スピーカーから発することで、この問題を解決しました。

動画をMPEG-4(1564kB)、Real Vedio(433kB)で作りました。ただし、Programが古いバージョンで撮影したため、LEDがちらついてます。現バージョンはちらつきません。

Short Nose

Lnog Noseは、「基本セット縛り」だったので、この制限を解除し、もっと高速なライントレースに挑戦しました。

動画はここに置きます。

NQCのトラブル

あまりはっきりとしたエラーではないのですが、このライントレースのプログラムを実行中、モーターが逆転するというエラーが起こりました。プログラム自体が動作しなくなるのではなく、光センサーの値によりモーターが正しくOn/Offするのですが、回転方向がプログラムしたのとは逆になってしまうのです。

電池を抜いたり、プログラムを再度ダウンロードすると、正常に戻ります。今のところ原因は不明です。

なお、ほかのMindStormsシリーズ、CyberMasterは電池を抜くとプログラムが消えますが、Spyboticsは消えません。おそらくFlash ROMに書き込む仕組みになっているのでしょう。そうなると、電池を抜いたことで、プログラムが正常復帰したのが、ますます謎なのですが...


リモコンの送信データ

Spyboticsには、標準でリモコンが付属します。本体といったいどのような信号で通信しているのでしょうか?赤外線データーを傍受してみました。

Spyboticsのリモコンは、76kHzで変調された、4800bpsの信号を送信していることがわかりました。

上図は、参考の為、専用リモコンの送信波形を、Spyboticsリモコンと同じスケールで示したものです。

また、 MINDSTORMS SDK 2.5、USB IR Towerは、4800bps, 76kHzの信号を送信できる事がわかりました。このモードに切り替えるAPIが明らかになれば、SpyboticsをPCからUSB IR Tower経由で制御できるようになるでしょう。

# 追記 : 熟読したら、MINDSTORMS SDK 2.5には、上記の事を行うのに十分なリソースが含まれていました。これについては、LTreme76, JoyBricxのページに詳細を記します。


MANASとSpyboticsのリモコン

MINDSTORMS Japan 掲示板にて、zenzenさんが、#8539MANASのコントローラーで、Spyboticsを制御でき1〜3のリモコンコードも対応していることを発表されました。

早速追試を行ったところ、互換性があります。

つまり、MANASのリモコンを1にセットした場合、Spyboticsのリモコンで、チャンネル1にセットした、Spyboticsを制御可能です。チャンネル2,3についても同様です。

また、チャンネル1にセットした、Spyboticsのリモコン--具体的には、リモコンのスイッチを中央の錠マークに合わせ、ボタン1を押したのち、鍵マークを押した状態--で、チャンネル1またはALLにセットしたMANASを制御できます。こちらもチャンネル2,3についても同様です。


ToDo


Spybotics (よい子編)へ戻る

MindStormsの洞窟に戻る


Copyright 2002

Google