NXTway-GSをPS3のコントローラーで操縦 [LEGO]
昨日に続き2輪倒立振子ロボット(NXTway-GS)をいじった。
昨日は、ただ直立しただけで、
・リモコンによる前進・後退・回転の制御
・ログの抽出
ができていない。
いずれもBluetooth経由で行い、NXT GamePadというPC上のユーティリティを使う。
このユーティリティは、アナログ入力のあるゲームパッドを前提としているので、単純なスイッチだけのゲームパッドでは機能しない。手持ちので試したけどダメだった。そこでPLAYSTATION3のコントローラーを試してみた。うまく行った。前進、後退、右回転、左回転を倒立したまま制御できる。すばらしい。
注意点としては、
・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に添付のドキュメントを読むことにしよう。こちらはもっと時間がかかりそうだ。
2008-12-12 15:23
nice!(0)
コメント(3)
トラックバック(0)
参考になりますた。
by 以下名無しが感謝します (2009-07-21 14:25)
NXT GamePadの動作をどこまでやったらいいのでしょうか?
できたら、動かすプログラムを教えってください!
by お助け (2009-10-08 19:52)
NXT GamePadの動作をどこまでやったらいいのでしょうか?
できたら、動かすプログラムを教えってください!
by お助け (2009-10-08 19:53)