ロボゼロの両手を動かしてみる
2011年11月23日


 デアゴスティーニの週刊ロボゼロの41号で待望の制御ボードが配布されました。
 しかし電源となるバッテリーの配布はまだ先で動かす事はできません。別の電源で動かす事はできると思いますが、電圧を間違えるとマイコンを壊しかねないのでちゃんとした電源が配布されるまでお預けとします。
 前回のプレステ3で鉄道模型で書いたようにサーボIDを変える事によって複数のサーボが制御できる事が分かりました。
 上半身だけのロボゼロで遊んでみるでやった旗上げはゲームリード線を分岐するだけで両手バージョンになるので今回はその方法をご紹介します。
 なお今までの記事と重複する部分があります。

 まずサーボをPCのCOMポートにつなげるためにFT232RL(SWITCH SCIENCE)というものを使用しています。
 ボードといってもLSIがひとつ載っているだけなので1,500円位です。



 FT232RL(変換ボード)とRS306MD(サーボ)は3本のジャンパー線で接続します。  ジャンパー線は変換ボードと同じ所で購入できます。
 FT232RLの出力は6PのコネクタですがこのうちのGND,5V,TXD(GNDと5Vの間はひとつ空きます)を使います。今回購入したボードは5Vの所に3V3とプリントされていましたがこれは5Vの誤りだという事です。
 RS306MDの入力は3Pのコネクタですが黒いリード線をGNDと真ん中の赤いリード線を5Vに端の赤いリード線をTXD(写真では黄色のジャンパー線)と接続します。



 FT232RLとPCはデジカメ接続などで使う標準のUSBケーブル(ミニB5Pin)で接続できます
 Windows7で行ったのですがボードのドライバーはPCに接続すると自動的にインストールされるようです。

 今回はサーボを2台制御するのでサーボ側を分岐さたものを作ります。





 次に動作テストを行う訳ですが、動作テストに関しては前回の記事を参考にしてください。

 この時点ではサーボIDは同じなので2台同時に動いてしまいます。

 サーボIDを分けるのは前回の記事を参考にしてRS30xPacketUtilというソフトを使うか今回のプログラムで変更する事ができます。

 プログラムを使用するにあたってはCOMポートを設定しておいてください。
 COMポートはコントロールパネルのデバイスマネージャで確認できます。





 プログラムの本体のサーボIDの変更ボタンを押すとサーボID設定ダイアログが表示されます。
 今回の左手のサーボIDは2を使用しますので表示された画面のままOKボタンを押してください。
 なおこの時接続しておくサーボは左手のサーボだけですので注意してください。

 このサーボを元の状態に戻す時はOKボタンの代わりに工場出荷時に戻すボタンを押してください。
 この時注意しなければいけないのは現在のIDを2に変更しておかなければいけない点です。
 既に2に変更されるサーボに対しては1のままだとサーボIDが違うので無視されてしまいます。



 音声認識を使って言葉でロボゼロを動かします。
 Windows7にはMicrosoft 音声認識エンジン 8.0が標準搭載されているようです。
 ちなみにWindows XPでは音声認識はオプション機能でMicrosoft Speech SDK 5.1というのをインストールしなければいけませんがこのJapanese Recognizer v5.1という認識エンジン、はっきり言ってこれは使い物にならないくらいの認識率でした。

 音声認識はコントロールパネルの音声認識で行います。  マイクをPCに接続してマイクのセットアップを行います。



 セットアップではチューニングを行うため意味不明の文章を読み上げなければいけません。(誰かいると恥ずかしいですが)
 これで音声認識はできると思います。
 試しにWordやモメ帳を開いておいて音声認識の開始(コントロールパネル音声認識)すると喋った言葉がタイプされていくはずです。
 しかし認識率はいまいちで、長い文章を正しくは認識してくれませんが今回は単語を認識するだけなので少しくらい精度が悪くても大丈夫です。



 ロボゼロの右手に黒旗(アシェト、パイレーツオブカリビアンの創刊号付属)を持たせます。
 左手に白旗(コピー用紙で作成)を持たせます。
 右と左の肩(一番上)のサーボに分岐したリード線を接続します。
 プログラムを起動してマイクに向かって喋ると音声認識で文字に変換して画面に表示します。

 ロボゼロのサーボをPCに接続しておくと喋った命令に従って動作してくれます。
 なお画面のスライダーをマウスで操作すると喋らなくても旗を上下します。(サーボの動作チェック用)

 「黒(右)上げて」と命令すると右手を上げてくれるはずです。
 なかなかちゃんと「黒」と認識してくれないので似たような言葉でも反応するようにしました。
 黒だと苦労や空路もOKとします。



 「旗」や「両手」と言うと両方の旗を動かします。
 なお最後に「ない」を付けるとその動作は行いません。
 「終了」でプログラムが終了します。



 実際にロボゼロに命令して動かした動画です。(命令している音声は後から処理しています)

     

 音声認識のトレーニングを行わなかったので時々言う事を聞いてくれませんでした。少し位言う事を聞いてくれない方がロボットらしなくていいかも知れません。


 前回のプレステ3で鉄道模型と同様にプレイステーション3のコントローラーでも操作できます。
 コントローラーの左右のジョイステックで両手が上下します。  コントローラーの設定方法は前回の記事を参考にしてください。

     

 今回作成したプログラムは下記のURLにアップしておきますので興味のある方はダウンロードして使ってみてください。

  rcon.zip

 認識語彙のチューニング方法等は添付のReadMe.txtに書かれています。
 ただしロボゼロの改造が伴うのであくまでも自己責任という事でお願いします。

目次に戻る