前の記事の続きですが、次はPSコントローラ(ゲームパッド)です。
結論を先に書いてしまうと、PSコントローラにもシフトキー相当のものはなく、あるのは各キーの重み付けです。

ROBONOVA-I(ROBOZAK)のテンプレートモーションでは、△○×□ SELECT STARTキーがシフトキーとして扱われてます。 MANOI PF01/AT01で参考にしようとしている KHR-2 HVは、L1 L2 R1 R2 をシフトキーとして扱っているのでこれをどちらかに統一する必要がありそうです。 (個人的には、L1 L2 R1 R2をシフトキーにする方が好みです。)

一方、RB2000は、(動作確認してないですが)、SELECT+△○×□でモードチェンジしてから、各キーは単体で動作するように割り当てられているようです。 例えば、2つ以上ののキーを押す場合、どちらかを先に検知してしまうと別のモーションが走ってしまう可能性があり(必ずシフトキーを先に押すようにすれば問題ないと思いますが)、この方式の方が間違いが少ないような気もします。

 

<過去記事>
 ・ロボットのUI(ユーザインタフェース)の問題
 ・ロボットのUIについて考える・・・KRC-1編(MANOI PF01/AT01)

 

■ PSコントローラ(ゲームパッド)
Img_4564ROBOZAK
RB2000
 
Ws000096gp

※SELECTとSTARTはメーカによって配置が異なります。

 

■各キーの値
bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 備考
32768 16348 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
ROBOZAK
※ソースより
L2 R2 L1 R1 × SELECT L3 R3 START アナログ値は読めない?
VS-RC003
(RB2000)
※実測値
L2 R2 L1 R1 × SELECT START L3/R3は読めない?
KRC-1       S4
R2
S3
R1
S2
L2
S1
L1

未使用

×

 
TEC-3     L3
R3
共通
S4
R2
S3
R1
S2
L2
S1
L1

未使用

×

 
値:12
SELECT
値:3
START
※ROBOZAKのプログラムソースの値とVS-RC003の実測値が一致していることから、PSコントローラを使用した場合のデフォル
ト値は、今回の結果の値と考えられます。
※期待に反してKRC-1とは別の値のようです。また、TEC-3は、KRC-1を忠実にエミュレートしているようです。(アナログ値は、PA1~4で取得0~127でニュートラルが64)

■サンプルプログラムを解析したもの(PSコントローラからの生のデータ取得)
基本的には、コントローラ(DUAL SHOCK2および互換機)の「読んだまんま」の値をコマンド"A"〜"D"にあわせて返しているだけです。

MR-C3024
 →PS Controller

PS Controller
  → MR-C3024

   

ETX ERX
■ キーパッド bit7 6 5 4 3 2 1 0
"A" 空読み?
"B" × R1 L1 R2 L2
(値) 20 10 60 50 8 6 7 5
"A" START R3 L3 SELECT
(値) 4 2 3 1 30 70 80 40

 

   

キーパッドの値はビットで検知した値を判断し、別の値に置き換えさらにそれを加算。

 

   

■ アナログスティック
しきい値
(mini.)
しきい値
(max.)
"C" R2(右) 左右 0~255 20 235
"D" R1(右) 前後 0~255 20 235
"E" L2(左) 左右 0~255 20 235
"F" L1(左) 前後 0~255 20 235
 
 
■ROBONOVA-I ※ワイヤレスコントローラ対応改造パーツ テンプレートから
 キー なし L1 L2 R1 R2
  0 8 2 4 1 8192 32768 4096 16348
なし 0 直立姿勢 挨拶 しゃがむ 右手で挨拶 左手で挨拶 気合を入れる 万歳 自己紹介2 自己紹介1  
× 512 直立姿勢 前進 後進 右横移動 左横移動 右後方旋回 右へ旋回(前方) 左後方旋回 左へ旋回(前方)  
256 直立姿勢 羽ばたき ダンス1 右足上げ(左片足立ち) 左足上げ(右片足立ち) 右ゴールキーパー 右シュート 左ゴールキーパー 左シュート  
1024 直立姿勢 前方攻撃
右攻撃 左攻撃 右後方攻撃(脚) 右先方攻撃 左後方攻撃(脚) 左前方攻撃  
2048 直立姿勢 喜ぶ 泣く いらいらする 驚く 悔しがる お礼 会話中動作 自己紹介3  
START 16 直立姿勢 前転 後転 右側転 左側転
右手にお辞儀
左手にお辞儀  
SELECT 128 直立姿勢 逆立ち 逆立ちから演技 (ダンス1) ダンス2 うつぶせ起き上がり うつぶせ 仰向け 仰向け起き上がり  
アナログR
               
(R3?)
(32?) 直立姿勢 HG 倒れこむ(後方) 右手握手 左手握手
 
アナログL
(L3?)
(64?)  直立姿勢 腕立て伏せ 片腕立て伏せ 右踵落とし 左踵落とし
右後方浴びせ蹴り 使用不可 左後方浴びせ蹴り  
 
■RB2000 ※ソフトウェアマニュアルから 
 
なし × L1 L2 R1 R2 備考
0 8 2 4 1 2048 512 1024 256 8192 32768 4096 16348
2176:
SELECT+△
(基本動作)
直立姿勢 前進 後退 右旋回 左旋回 前転 後転 おじぎ ジャンプ 側転左 仰向け起き上がり 側転右 うつ伏せ起き上がり
 
1152:
SELECT+○
(ドラム)
直立姿勢 タム大左手 ハイハット サイド スネア左 タム大右手 パス スネア右 トップ タム小左手 タム中左手 タム小右手 タム中右手
 
1536:
SELECT+×
(ダンス)
直立姿勢 前進 後退 右旋回 左旋回 決めポーズ ダンス3 ダンス2 ダンス1 シュート左 仰向け起き上がり シュート右 うつ伏せ起き上がり

 

■RobovieMaker2を使ったキーの値チェック
Ws000024※クリックすると大きくなります。

RobovieMaker(2)を使うとリアルタイムでキー入力値を読み取ることができます。

 

■RobovieMaker2でVS-RC003が受信したコードを読んでいる様子
 ※↑→↓→ △○×□ SELECT START L1 R1 L2 R2 アナログ左/右 の順で操作してます。

 

■二足歩行ロボットキットRB2000 基本動作
 ※モーションの動画が公開されていると何が正しいか確認できるのですごく助かりますね。

 

■二足歩行ロボットRB2000 楽器演奏

 

■二足歩行ロボットキット「RB2000」 格闘モーション
Related Posts Plugin for WordPress, Blogger...

4 Responses to “ロボットのUIについて考える・・・PSコントローラ編(ROBOZAK,RB2000)”

  1. ご無沙汰いたしておりました。
    お分かりになりますか~?
    avalonさんもロボットくん達も、お元気そうで何よりです。

  2. え~と、どなたでしたっけ?(汗)
    ヒントを!(笑)
    大女優と似たようなお名前の(笑)
    ホタルイカ関係の方ですか?
    ※読んでから公開するので大丈夫ですよ。

  3. お分かりいただけましたか…。(笑)
    忙しさが少し落ち着きましたので、また遊びに来させていただきます。
    よろしくお願いいたします。

  4. やっぱり、ホタルイカさんでしたか(笑)
    ご無沙汰してます。
    いつでも遊びに来て下さい。
    なかなかオープンな場所では書くことも制限されてしまいますが、某M●X●や某GR●●にはいますので、もし登録していれば、探してみて下さい。

© 2011 ロボットのいる生活。 Suffusion theme by Sayontan Sinha