VS-RC003への自動復帰システム仕込み①


ロボットに通信断絶トラブル等からの自動復帰を仕込みます。
OneShotの関くんやゼノさんに伺ったテクニックをちょっとだけアレンジしたまとめ記事です。
(先週一度アップしたんですが、上書き消去してしまったため、書き直しました。)




自動復帰は下記の2つの機能を持ちます。競技での使用が前提です。

① 常時サーボオン状態に設定にすることで、不慮のCPUリセットからもサーボオン状態になれる。
② 倒れた時に、通信断絶状態でも起き上がることができる。


通信断絶トラブル自体の解決はできないのですが、一定の条件化で通信トラブルによる競技終了を回避できます。
特にロボワンの試合で有効です。相手の攻撃がヒットした直後のダウン中は、立ち上がるまでタイムがとれない(カウントダウン終了までに立てなければKOとなる)ため、ダウンと同時に通信断絶した場合には、通常はそのまま負けが確定してしまいます。
しかしロボットが起き上がりまでを自己判断で行うことができれば、立ち上がった後にタイムを宣言し、ピットで通信回復を行う事ができるというわけです。




基本となる考え方と構造です。
VS-RC003はSELECT+STARTのボダンを押下することで、変数v[251]の内容が0と1で切り替わり、この変数の内容に応じて、全サーボのオンオフが反映される仕組みになっています。
この変数v[251]の制御方法をいじることで、通信状況によらず自動復帰できるようにします。


【基本設定】
・各モーションのアイドリング割り込みを基本的にすべて有効にする。
・使用できる変数を一つ準備する。(今回の例ではV[69]を使用しています。)


【モーションの内容】

<アイドリングモーション>
[START]
01: V[69]=0 #自力復帰タイマー用カウンタ
02: V[69]+=1 #自力復帰タイマー用カウンタに+1
03: v[69]>300 yes→<起き上がりモーション実行>→[END]
04: v[251]=1 #全サーボ電源強制ON
05: 02に戻る #アイドリングモーション中はカウントアップでループ。各モーションはボタン入力割り込みにより実行。

※<起き上がりモーション>はアイドリングモーションのプログラム内に書くか、
 変数だけ設定してENDし、変数参照でモーション実行するようにする。

<脱力モーション>
基本姿勢のプログラムスライダーのボタンをすべてアンチェックし、
脱力解除のボタン(任意に設定)が押下されるまでループする設定にする。


【ボタンの設定】
START+SELECTボタンでの脱力が無効になりますので、代替手段を用意します。
脱力を有効にする一番手っ取り早い方法は、脱力用のボタンを別途設定し、
前述のモーションに入るようにしておくことかと思います。




基本はこれだけでOKです。
試合中に通信不良に陥りギブアップ!という後継は時折見かけますが、自動復帰を仕込んでおけば活路を見出せます。
まだ1ダウン目であれば、復帰からのタイム宣言で合計2ダウン。
2ダウン目の通信不良であっても、ポイントで同点以上かつ試合終了間際であれば、時間切れのポイントリードによる勝利もしくは延長戦での仕切り直しに持ち込むめる可能性を残せます。

ちなみにゼムネスでは自動復帰判定後、立ち状態・転倒姿勢の裏表を自動判別するモーションを再生するようにしているので、立った状態で10秒放置しても暴れずに首をちょっと振る程度になっています。
このように、各自カスタマイズすると便利度がアップすると思います。
上手く調整すれば、SELECT+STARTの機能を変更せずにそのまま使い続けることもできると思います。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

VS-RC003のキャンセル設定


VS-RC003に「キャンセル設定」という項目があります。
例えばAボタンで発動するモーションプログラムの実行中に、Bボタンの入力があった際、
Bボタンの入力を無視してAボタン用モーションを続けるか、
現在実行中のAボタン用モーションを無視していきなりBボタンのモーションをはじめるか、
などを決める項目です。が、用語がいまいち分かりずらいです。
ゼノ先生に聞いたのでまとめてみます。




【受け入れキャンセル】
この設定を有効にしたモーションは、他のすべてのモーション実行割り込みを「絶対に受け入れる」。

言い換えれば、モーションの実行権を必ず奪われてしまう一番立場の弱いモーションです。
たとえば、コンビニのバイトで棚に商品補充をしているとき、どんなお客が来てもレジに立たれた時点でレジ打ちをすることになりますが、この時の商品補充が「受け入れキャンセル」に該当します。たぶん。

【割り込みキャンセル】
この設定を有効にしたモーションは、他のどんなモーションにも「絶対に割り込むことができる」。

割り込まれる側のキャンセル設定を無視して割り込み実行することができる最強命令です。
オーナー会社の社員であれば社長命令が「割り込みキャンセル」に該当します。たぶん。

ちなみに「他のどんなモーションにも絶対に割り込まれない」鉄壁の命令というの設定はたぶんありません。
受け入れキャンセルも割り込みキャンセルも言葉面はそういう設定にも見えてしまいますが、違います!




「キャンセル」という言葉が混乱を招くため、なかなかわかるようなわからないような言葉ですが、
アイドリングモーションには、「受け入れキャンセル」を有効に、
緊急時の全サーボオフののモーションには「割り込みキャンセル」を有効にする。
と具体例で考えれば、概念自体はごく普通のことです。




ちなみに、全サーボオフにはあらかじめSTART+SELECTが割り当てられていて、他のすべてに優先します。
また、アイドリングモーションのキャンセル設定も、専用の項目が設けられていたりします・・・・




【アイドリング割り込みキャンセル】
先に実行中のモーションがアイドリングモーションだった場合にのみ、割り込みを行う。

「割り込みキャンセル(有効)」の制限版といったところでしょうか。
たとえばパンチのモーションでアイドリング割り込み(有効)とすると、
キック中はパンチボタンは無効、アイドリングモーションの時のみパンチを出すようになります。




これらのキャンセル設定を利用して、ちょっと役立つ仕込みを行うことができます。
次回はROBO-ONEでも有効な「緊急時自動回復モーション」を設定してみます。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

VS-RC003用PHR-USBケーブル


VS-RC003のUSBソケットが本格的に壊れてきたのですが、
秋葉原まで専用ケーブルを買いに行く時間がないので、再度自作しました。

実はかなり前に1度自作しているのですが、その時は接触不良がありうまくいきませんでした。




今回はUSBケーブル自体は細く軽量なものを使いつつ、PHRコネクタとの接続部分には太い線を使うことで、市販品のような強度を目指してみました。




th_CIMG8655.jpg

ピンアサインは写真の通りで合っていると思います。
ちなみに写真のUSBオスのピンの接点金具は、カメラ側に向いている状態です。言い換えれば周囲を覆っている金具の継ぎ目が机側になるような状態の時のピンアサインを示しています。(※自作される際は、念のため各自お調べください。)




再作成したPHR-USBケーブルは無事に動いています。
が、ケーブル自体が壊れた時を想定して、市販品の変換ケーブルも持ち歩いておきたいところです。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

摩擦変化への足裏応急処置


韓国大会のリングは思ったより摩擦が高く、現地で調整が必要になりました。
ロボワンの公式リングも最近はステッカーでほぼ前面が覆われているので、摩擦度は同じくらいかもしれません。
ライト級はこの微妙な摩擦の差が動作に大きく影響してくるので注意が必要です。




th_CIMG8303.jpg

大会当日のゼムネスの足裏です。
リングの床面が摩擦を持っていたので、足裏にScotchメンディングテープを張り摩擦を調整しました。
歩行バランスの乱れは滑りによって自然に補正してもらえるので、グリップ足とはいえ、適度なスリップが欲しくなるものです。
サイドステップ時のグリップはそのまま必要になるので、足の内側のエッジを立てて使う辺のグリップはそのまま残してあります。




韓国大会でのタイニーウェーブのほとんどがアルミそのままでしたし、姫路大会(コルクマット)での活動を前提として作られているというロボゼロの足裏もアルミそのままです。
ということで、試行錯誤を一周して、アルミそのままというのも万能性、安定性はかなり高いかもしれません。

安定性度が高い分、アルミそのままではスピードが出にくかったり、踏ん張りが利かなかったりするので、その辺りが楽しい悩みどころです。




当日のリング状態に合わせて、たとえば足裏をグリップタイプ、スリックタイプの最低2種類準備しておくのがよいと思いますが、今回の記事のように、メンディングテープで応急処置してしまうのも手かと思います。
ちなみにメンディングテープですべり過ぎる場合には、セロハンテープにすると少しだけグリップが出ますし、
もう少しグリップが欲しい時は薄手のビニールテープとすれば、3〜4段階の微妙な調整も可能です^^

テーマ : 自然科学
ジャンル : 学問・文化・芸術

VS-RC003小ネタ集in韓国


今回のコネタ集は我ながらなかなか充実しています。
韓国大会の宿泊先で同室になったゼノ先生にいろいろ教わりました。




th_CIMG8283.jpg

VS-RC003にUSBケーブルを接続する対基板コネクタがパターンごとはがれてグラグラになりました。基板に乗せる形で半田漬けされているのであまり強度がないのですが、ケーブルを挿したままハードなモーションを作成したりすると、強度に対してかなり無理な力がかかります。
接触不良になり安定した通信が困難になりました。もうすぐポロリととれてしまいそうです。
USBコネクタの右側に白いジャックがありますが、実はここもUSB入出力になっています。


th_CIMG8285.jpg

ゼノさんによるとこのUSBコネクタの剥離はかなりメジャーなVS-RC003あるあるネタだそうです。
隣の白いコネクタに接続するためのUSB中継機がちゃんと売っているので、それを1つ持ち歩くと良いそうです。
以前自作したものは線が細くてすぐダメになったのですが、製品版は上部でよい感じです^^
テルルがよくぶら下げているのもこれでったんですね〜




th_CIMG8294.jpg

現場ではVS-C3が4機ぐらいありましたが、VS-C3同士の混線を防止するために全機で再ペアリングを行いました。
下記はペアリングのアドレス重複の可能性を払拭するための作業です。

【みんなで再ペアリング手順】

①現場にあるVS-C3系使用機体をすべて集めて、車座に並ぶ。
②ロボット&コントローラーの電源をすべて切り、自分のコントローラーを右隣の人に渡す。
③1台ずつ順番に電源をONし、自分のロボットと他人のコントローラーのペアリングをする。
 ペアリングを終了したロボットとコントローラーの電源はONのままにしておく。
 また、前の人がペアリング終了するまで、次の人は電源はOFFのまま待つ。
④すべてのペアリングが完了したら、
 ロボット&コントローラーの電源をすべて切り、各自自分のコントローラーに持ち替える。
⑤1台ずつ電源を入れ、自分のロボットと自分のコントローラーを同様の手順で再ペアリングしていく。

これで通信不良が起こるようなら、約10m半径内のどこかに新たなるVS-C3使いが潜んでいるか、
もしくは他の無線機器等による電波障害であるということになります。




実は韓国大会のロボットはほとんどがクラス1のBlutooth無線を使っていたようです。
クラス1は有効範囲約100メートル級の出力(100mW)で、最大です。クラス2は10メートル(2.5mW)、クラス1が1メートル(1mW)となります。
VS-C3はスペックによると通信距離約10mとなっているのでおそらくクラス2と同等です。
また、2.4Ghzとは書いてありますがBluetooth準拠ともZigBeeとも書いていないので、独自規格かもしれず、とすると干渉を受け、電波が弱ければ負けてしまうことになると思います。
また、同じクラス1でも、上限の100mWに対し日本の電波法で定められている電波強度の上限はBluetoothの場合でおよそ50mW程度までとなっているそうです。


過去に電波の周波数帯についてまとめた記事があります。


また、下記の記事なども参考になりました。
周波数ホッピング機能、AFH機能、クラス別の電波強度などの説明が分かりやすいです。
http://www.musenka.com/info/bluetooth/




Robovie-makerのモーション作成時に、サーボ箇所のチェックをはずすとサーボ毎に脱力のオンオフが設定できるという話。
かなり大事なことなのに見落としていました。




VS-RC003にジャイロやアナログ入出力ボードなどのIXBUS拡張基板を複数接続する際、CN7に機器を数珠つなぎにつなぐ。
CN6にIXBUS機器は接続できません。CN6はコントローラー(もしくはシリアル接続)専用です。
必死につなごうとして認識せず、悶絶してました・・・




待機モーションに「一定時間放置で自動起き上がり」という仕組みを仕組んでおくと、いざという時よい。
たとえばROBO-ONEではダウン後のタイムはとれないですが、起き上がり後のタイムはとれるため!
最初のダウンを奪われた後に通信不良が起きた際に、自動起き上がりがあればタイムで2ダウン目をとられますがもう1チャンス試合を続けられます。




また、待機モーション等で変数251に1を代入すると、いつでも全サーボをONにすることができます。
(SELECT+STARTは1度押すごとに変数251の1,0が代入される仕組みです。)
前述の自動復帰と組み合わせることでいい感じになります。
たとえば何かの都合でCPUリセット&通信不能となった場合でも、復帰が可能になります。
※デフォルトでSELECT+STARTに割り当てられている全脱力については安全上、またROBO-ONEルール上も必要ですので、別途設定する必要があります。

テーマ : 自然科学
ジャンル : 学問・文化・芸術

プロフィール

二名川(ニナガワ)

Author:二名川(ニナガワ)
ホビーロボットをレトロゲームが発展したものと捉えて楽しく遊び倒します。
子供が夢を見ている時間帯に稼働します。

宣伝:電子出版しました。
「コンソロイド ガイドブック」
46107_CONSOLOID_GUID_FACE_200.jpg





■作成中の機体
汎用ヒト型決戦遊具 ~RX計画~
RX-7.5 ゼロタンク
RRf-0.6 ゼニィ
RXM-7.9 ゼムネス
RX-7.5R 量産型ゼロタンク
RX-7.5Fp ファミタンク仮設1号
RX-7.7 ゼロキャノン
RX-7.8 ゼログレイ
SMS-0.1 ゼロライナー
以下続く

ブログ内検索
最近の記事
最近のコメント
カテゴリ
月別アーカイブ
リンク