« 「SBRCB3BT」がアールティロボットショップから販売 | トップページ | 「週刊 ロビ」 全国版が地方版に追いつく時はいつ? »

多脚ロボット KMR-M6 (近藤科学) :(21)無線コントロール with SBDBT5V

Kmrm6_sbdbt_ps3rcb4

●はじめに

今回も前回に引き続き、KMR-M6に限った話ではなく、HTH4およびRCB-4HVを使ってるKHR-3HVなどに共通な話ではないかと思います。

RCB-4HVの場合の無線コントロールに関しては、KONDOさんの取り扱いとしては、「無線ユニット」のページを見る限りは

といった方法があるのでしょうかね??とはいっても、KRC-2ADが生産終了になってKRC-4GPへシフトだそうです。

さて、今回は、このブログでも何度も何度も登場していますSBDBTシリーズSBDBT5Vを使ってKMR-M6KHR-3HVなどを無線コントロールする方法を紹介したいと思います。

なお、ここで書かれていることを参考にする場合は、自己責任でということでお願い致します。

●SBDBT

ランニングエレクトロニクスさんの、

で使えるかと思いますが、5Vに変換しないといけないので、5V版の方がいいかと思います。

●コントローラ

今回はSBDBTのPS3系ゲームパッド用のファームを使います。つまりそれで対応できるコントローラーならOKで、

などが使えます。

詳細は「SBDBTのPSコントローラ用ファーム更新!凄いですよ!いろいろなゲームパッドで無線・有線による操作が可能になりました」のページ、または、SBDBTのマニュアルをご覧下さい。

●配線

SBDBT5Vを使って、RCB-4HVのCOMポートの3本を図のように配線します。「(20)無線でモーション作成」で紹介した図と同じです。つまり異なっているのはファームであって、同じ配線でOKです

Rcb4hvsbdbt5v

●ボタンの設定

HTH4の「モーション一覧」ウインドウで、モーションをダブルクリックすると「ButtonConfiguretionDialog」が表示され、そこで、それぞれのモーションに対応するボタンを選定することができます。

  1. 「モーション一覧」のボタンを設定したいモーションをダブルクリック
    Parallels_desktopscreensnapz029
  2. モーションに対応させるボタンをクリック
    • スタートボタンは右の上と下のボタン:ボタンデータ=3
    • セレクトボタンは右の左と右のボタン:ボタンデータ=12
    • アナログは0に設定できないので、最小値1に設定
    Parallels_desktopscreensnapz030
  3. 「OK」をクリックしてダイアログを閉じる
  4. 1〜3を繰り返して、それぞれのモーションに対するボタンの設定を行う。
  5. 「モーション一覧」のボタンデータ登録ボタンをクリックしてRCB-4HVにボタンデータを書込みます。
    Parallels_desktopscreensnapz031

●ファーム

[追記]現在こちらでRCB-4HV用のHEXファイルがダウンロードできます

最後にファームです。RCB-4HV対応のPS3系コントローラ用のファームは2013/1/27の時点で、まだ公開されていません。近日中には公開になるかと思いますが、RCB-4HV対応させる為には、簡単に言うと、以下の点においてコードの書換えが必要になります。

  • UART1の通信速度が115200bps(対応してる
  • パリティがEVEN(対応が必要
  • 電文が微妙に異なっている(対応が必要

これまでのHSWB-4F用とRCB-4HV用とマクロ定義で簡単に切り替えられるように作ってありますので、公開されたものを使う限りは、難しくはないかと思います。

  • パリティのEVEN対応
    • UART1.c/UART.hをsppのファームと同じに書き換える
    • が、しかし、この再に、ps3のファームに元々あるunsigned UART1GetBufferSpace();は残しておく必要がある
    • TXBUFSIZは、RCB-4HV用の電文は13バイトなので、2のべき乗で網羅する16とする
      #define TXBUFSIZ 16
  • RCB-4HV用の電文
    • 1バイト目が0x80でしたが、RCB-4HVでは、0x0D 00 02 50 03 00となる
    • 2バイト目(つまり7バイト目)は同じ
    • 3バイト目(つまり8バイト目)は同じ
    • 4-7バイト目(つまり9-12バイト目)は
      • アナログ左xy右xyの順が、左yx右yxの順になる
      • アナログ上0-下127が、上127-下1である
    • 8バイト目(つまり13バイト目)はチェックサム。最上位ビットは無視しない

といった点が書き換える必要があることの大まかなところです。

●おわりに

現時点(2013/1/27)では対応ファームがまだ公開になっていないので、コードを書かなくてはいけなくて面倒かと思いますが、兎に角、SBDBTでRCB-4HVの無線コントロールできるものが作れました

KONDOさんの取り扱いの製品を使う場合「KRC-4GP(8400円)+Logicool F710(約3500円)+KRI-3 (2625円)」の代わりとして使うとすると、

  • SBDBT5V(3980円)+F710(約3500円)+ケーブル(数百円程度)
    ※ファームの書換えにはPickit3が必要で、Pickit3は秋月で3900円程度します。

と、14500-8000=6500円(もしPickit3を持ってない場合で2600円)ほど節約になる感じでしょうかね

さて、今回は以上ということで、次回は、SBDBT5Vを2つ使って「無線モーション作成」と「無線コントロール」を(切替えなしで)出来るようにする方法を紹介したいと思います

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

|

« 「SBRCB3BT」がアールティロボットショップから販売 | トップページ | 「週刊 ロビ」 全国版が地方版に追いつく時はいつ? »

無線(SBDBT)」カテゴリの記事

KMR-M6 (多脚ロボット)」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 多脚ロボット KMR-M6 (近藤科学) :(21)無線コントロール with SBDBT5V:

« 「SBRCB3BT」がアールティロボットショップから販売 | トップページ | 「週刊 ロビ」 全国版が地方版に追いつく時はいつ? »