SSブログ

NXTway-GSをPS3のコントローラーで操縦 [LEGO]

昨日に続き2輪倒立振子ロボット(NXTway-GS)をいじった。
昨日は、ただ直立しただけで、
 ・リモコンによる前進・後退・回転の制御
 ・ログの抽出
ができていない。
いずれもBluetooth経由で行い、NXT GamePadというPC上のユーティリティを使う。

このユーティリティは、アナログ入力のあるゲームパッドを前提としているので、単純なスイッチだけのゲームパッドでは機能しない。手持ちので試したけどダメだった。そこでPLAYSTATION3のコントローラーを試してみた。うまく行った。前進、後退、右回転、左回転を倒立したまま制御できる。すばらしい。
lego27.jpg

注意点としては、
・PLAYSTATION3のコントローラーSIXAXISをUSBで接続する
・接続しただけでPC側はアナログゲームパッドと認識するが、
 コントローラー側の初期化が必要らしい
・そのためにusb_hid_initというソフトを接続後一回だけ実行する
・さらにこのソフトを実行するためにはLibUsbが必要
 (nxtOSEKのためにインストール済み)

usb_hid_init以外の方法もあるらしい。ここのサイトにはお世話になった。

コントローラーが動いたらログ抽出の方もあっさりできた。
こつとしては、
・NXT GamePadによるBluetooth接続は、nxtOSEKを起動してから行う
 (NXTファーム上で接続しても、nxtOSEKを起動すると切れてしまう)

といった所だろうか。

それにしても、NXTでここまでできるとは大したものだ。このロボットと倒立制御のAPIは、2009年からのETロボコンにも採用されるそうだ。NXTの登場時に、搭載しているCPU(32ビットのARMプロセッサ)はオーバースペックだという記事もあった。しかし、倒立してさらにライントレースのスピードを競い合うのなら、十分なCPUパワーが必要だ。RCXと同様、NXTも教材として10年は持ちそうな気もする。

とりあえず動かすことに2日もかかってしまった。これからはNXTway-GSに添付のドキュメントを読むことにしよう。こちらはもっと時間がかかりそうだ。


nice!(0)  コメント(3)  トラックバック(0) 

nice! 0

コメント 3

以下名無しが感謝します

参考になりますた。

by 以下名無しが感謝します (2009-07-21 14:25) 

お助け

NXT GamePadの動作をどこまでやったらいいのでしょうか?

できたら、動かすプログラムを教えってください!
by お助け (2009-10-08 19:52) 

お助け

NXT GamePadの動作をどこまでやったらいいのでしょうか?
できたら、動かすプログラムを教えってください!
by お助け (2009-10-08 19:53) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。