Last Update : 2008/May/14

Main


RoboShellControl
(WiiRemconTest)
ロボットの外部制御方法
概要
原理
使い方
ダウンロード
今後
謝辞
<<戻る

    自律型ではないロボットの場合は制御は外部から行う必要がある。ラジコンの流れを汲むロボットの場合はプロポで行うことが多いが、ゲーム機のコントローラを使ったり、PCとそのゲーム用のコントローラを使う場合も多い。昨今ではPCやゲーム機の進化に合わせてコントローラも進化してきた。ゲーム機のコントローラの中には、PCでも利用できるものがある。RoboShellControlはそれらのコントローラを統一的に扱うコンセプトである。最近発売になった任天堂のWiiはそのコントローラのユニークさから各方面で注目を浴びている。今回はこのコントローラを使うためのサンプルソフト WiiRemconTest を紹介する。


  • ロボットの外部制御方法

    2足歩行を初めとした多くのロボットでは開発・調整・制御にPCからのシリアルインターフェイスを用いている。開発や調整の初期では有線で接続して信頼性・安定度を高めている。制御では有線を用いることもあるが、よりロボットの活動範囲を広げるために無線で行うことが多い。無線での接続形態は、独自規格やBluetooth、WiFiなどを用いている。いずれにしてもシリアルでコマンドを送れば、ロボットは制御できることになる。


  • 概要

    任天堂の最新据え置き型ゲーム機 Wii のコントローラの各種情報をPCで読み取り、その読み取り情報に対応して登録してある制御文字列をシリアルからロボットに送出する。


  • 原理

    PCで取り扱う入力デバイスは HID(Human Interface Device) として統一的に扱うことが出来る。Wiiのコントローラも例外ではなく、PC からは Bluetooth を用いた HID として認識される。先達の解析結果により、制御方法はほぼ解明されているのでそれらを元に今回の実装を行った。


  • 使い方

    1. Bluetooth を使用できるようにする

      マニュアルなどを参照して予め、BT が利用できるようにしておく。各環境に依存するので詳細は割愛する。

    2. Wiiコントローラの検索(Bluetooth デバイスの検索)

      検索画面から Wiiコントローラを検索する。

    3. Wiiコントローラの接続(Bluetooth デバイスの接続)

      Wii リモコンが見つかったら接続する。

      〜ここまでのプロセスは他のアプリケーションと同様〜

    4. WiiRemconTest の起動

      予めダウンロードして解凍しておいた WiiRemconTest を起動する。ロボットとの接続に使用する Com ポートをセッティングする。

    5. WiiRemconTest 動作確認

      手に持って少し動かすと、アナログ値が変化するのがわかる。変化していないようだったら WiiRemconTest は動作していないので再起動する。

    6. ロボットとの接続

      普段接続している形態(有線、無線-WiFi, BT, プロプラ、その他)で接続する。

    7. Make と Break

      デジタルスイッチのステータスとして、Make/Break がある、

      • Make

        Make はスイッチを押した瞬間を言う。

      • Break

        Break はスイッチが放された瞬間を言う。

      エッジでの取り扱いになるので、スイッチが押され続けている状態などは各機体が保持することになる。

    8. コマンド文字列の定義

      ロボットを制御させるコマンドをそれぞれのボタンにマッピングする。

    9. フィードバック制御

      Wii リモコンには、LED、振動機能が装備されている。これらを個別に制御することが出来る。


  • ダウンロード


  • 今後

    1. フレームワークの強化

      後に述べるジェスチャー機能の実装や拡張機能を実装できるようにする。

    2. 拡張機能の実装

      ヌンチャクコントローラやクラシックコントローラも使えるようにする。

    3. ジェスチャー機能の実装

      Wii リモコンと言えば多彩なジェスチャーをダイレクトにゲーム機に伝えるのがウリである。このジェスチャーは登録されているものではなくて、加速度センサーから取り込んだデータを一定時間、解析した後に決定される。つまり、個別の動きを予め分析しそれをリアルタイムで判断することによって、動き付けられるものである。幸い、この分野に関しても解析が進みつつあるのでこれらの結果を取り込みながら今後は実装していく。


  • 謝辞


頁の先頭
織田裕一へメール


Copyright (C) 1998 - 2007 TeamKNOx