VS-RC003でミキシング


チロル大会当日の明け方にVS-RC003でのミキシング設定方法を忘れてしまい時間切れになってしまいました。
ので、来年の自分のためにもやりかたをまとめておきます。




hensu.png
(図1)

上記(図1)はジャイロの取説より一部抜粋したものです。ミキシングの計算式は取説の通りで、それ以上でも以下でもないのですが・・・コントローラーなどから変数を入力して使う時にはコツがいりますたぶん。
基本的なところはジャイロの説明書のp11〜に詳しいのでそれを読めば大丈夫かと思います。




canon.png

th_CIMG8835.jpg

たとえば、ゼムキャノンのようにCN3の1番サーボを腰のヨー軸に設定していたとして、そのヨー軸を上半身に装備したキャノンの左右旋回砲台として使う場合。
狙いをつけるためにコントローラーからの入力量(アナログ入力値や入力時間)に応じた旋回をさせたくなると思います。
私の場合はコントローラーがファミコン方式ですので十時キーを押下している時間だけ、腰をひねるようにしています。

入力に応じて変数を増減していき、それをサーボ位置に増減させていけばよいだけですが、具体的にはどうするかという話。




①まず、ユーザー変数[v65]に、ヨー軸のサーボ位置に対して増減させる分の値を入力するとします。

その設定をするには、(図1)のVa1で参照する変数番号を65にセットします。(上下の小さい矢印ボタンを押します)
その隣のVb1に何を入れるかですが、ここには特に設定したい数値がなくとも、何かを入れなくてはなりません。
Vb1の値は自動的に積算されてしまうので、0が代入された変数番号を設定したりすると、結果が0となり何も反映されなくなります。
そこで、今回のようにミキシングに加える変数が1つしかない場合には、Vb1には1が入り積算されるようにします。
計算式の分母が256ですので、256を代入した変数をあらかじめ準備しセットすればVb1を1にできます。
たとえば変数v[68]に256を設定する場合には、モーションプログラム上でその代入を行い、Va2には変数番号68をセットするようにします。
大事なのはここだけです。
あとは、kでゲインを設定すればできあがりです。Va1,Vb1で増減させた値を、何倍してサーボの位置に反映させるかというのがゲインです。




②次に、コントローラでの数値の操作のプログラムをします。

こちらは、モーションプログラムの中でボタン入力に応じての変数の増減を設定していくだけです。
たとえば十時キーの左右を押す時間に応じて、変数v[65]が増減するようなループを組めばOKです。
これで、左右に旋回可能な砲塔が完成します。




同様に、同様に上下を押す時間に応じて変数v[66]が増減するようにし、腰ピッチ軸サーボに反映させるように設定すれば、
上下左右に自由にターゲティングできるようになります。
少し手を加えるだけで、最初はゆっくり微調整移動、ちょっと長押しを続けると高速移動、と変化する設定も可能です。




コントローラーによる入力のミキシングは、いろいろな場面で重宝します。
ヒト型レスキューコンテストでは、ゼムネスの足の膝、足首、腰のピッチ軸に同量ずつ増減させることで、上半身の高さを自由に操作できるようにし、瓦礫撤去作業に利用しました。
また、加速度センサの数値を利用して、自動的に上半身のバランスをとるということも可能です。
モーション設定内で増減量のリセットを行わなければ、増減量はどのモーション時にも反映されつづけますので、坂道を移動する時などに腰ピッチを使って重心を変化させておくとか、格闘相手の背丈に合わせてパンチの高さを調整するということも可能ではあります。
ベストな歩行姿勢を実測するために、転ぶたびに上体の傾きを加減していく・・・ということも可能だと思います。




ちなみに変数一覧はこちらです。

ミキシングは技術としてはごく基本的なものですが、入れるだけでホビロボの器用度、融通度が劇的にアップしますので、試したことのない方はぜひ導入してみてください。
スポンサーサイト

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

トレインスコープ


th_P1120060.jpg

鉄道模型マニアには有名であろうトレインスコープです。
小型のカメラの映像をアナログ無線で飛ばしてくれます。
ロボサバ時代にはチャンネル数も少なかったようなのですが、今では数チャンネルあり、使い勝手も向上しているようです。

写真の左側が受信機で、右側の電池とつながっているのがカメラ&本体。
かなり小さいので、1kg級にも簡単に搭載することができます。
電源は1.2v。バッテリはコネクタ式なので、自作することでなんとでもなります。
とにかく超軽量で反応がほぼリアルタイムなのでよいです。おすすめです。

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

居合いスラッシュ


去年ここのブログでロボット拳法をはじめますとこっそり宣言したのですが、少しずつ導入しています。

格闘専用機やKHR、TinyWaveといった中〜重量級の強豪並み居る格闘競技に、ロボゼロ系機体でいかに挑むか、勝ち残るか、その突破口を研究するのがこのロボット拳法です。
自らの体で一瞬トラス構造を構築して強度を増し、ハイキックと着地を両立させる「トラスキック」(シコキック)が代表例ですが、他にも同じようなワザが見つかるに違いないということで探しています。
サーボ自身のパワー以外の様々な物理法則を活用し、また全身のサーボを協調させることで機体のポテンシャルを引き出す目論みです。




第14回ROBO-ONEで初めて投入し、成果を得たのがこの「居合いスラッシュ」です。名前が中2なのですが、ロボット拳法シリーズの名前は全部中2で統一しますよ。

居合いスラッシュの原理は、

・弱いサーボでも、作用点が支点に近ければそれなりのパワーが出せる。
・遅いサーボでも、複数同時に動かせばそれなりのスピードが出せる。

という理屈を利用します。

また、これを成立させるために、いくつかの工夫を加えます。

・相手の懐、ゼロ距離に潜り込むために、主に旋回+横移動を活用する。
・ゼロ距離で攻撃を準備できる姿勢を使う。
・攻撃後にコケないような姿勢を使う。
 (相手を押し出しつつ、最後は回転、ひねり方向に反力をそらす。ナナメに開いた足の一直線上に拳を乗せる)



以上を簡単に図解してみました。

いあい

居合いスラッシュと大きく書いてあってさすがに恥ずかしさを感じますが深夜のうちにアップしてしまします。




この居合いスラッシュが決まれば、KHRまでであれば倒すことができ、また自分が倒れ込んでしまうこともありません。(たぶん)
実際、このワザは今回のロボワンライトで使用し、片手だけでKHRを倒す(自分は倒れない)を達成できました。
が、記念すべき最初の居合いスラッシュは、横攻撃判定がくだされ、マボロシにおわってしまいました。
絶対に横攻撃にならないよう、練って作ったワザでしたが、見た目にはたしかにキワキワであること、また試合中の物言いに慣れていなかったこともあり、判定を覆すことはできませんでした・・・




くやしいのでモーションの写真を載せます。

th_CIMG8830.jpg
まず、基本姿勢です。


th_CIMG8831.jpg
攻撃直前のモーション。腰をひねって腕を畳んだところです。


th_CIMG8833.jpg
ズバッと手を出したところです。伸ばした腕がヨー軸のない足の正面からみて+40度程度が限界です。腕が動くのもプラマイ40度の内側で、腕の軌跡が横攻撃範囲を全く通過しないワザなので、自分の横にいる相手には絶対に当たりません。


th_CIMG8832.jpg
ちょっとアングル違いの図。


このワザで真横にいる相手が倒れることはまずあり得ないのですが、その場でモーションの停止位置の実物を見せて証明するという発想もなかったため、物言いも失敗に終わりました。
横攻撃判定が下されるという発想がそもそもなかったため、すっかり油断していました。
次回以降、この手の新種のワザを使う時には安全に見えてもプレゼンテーション用のフリップなどを用意しようかと思います。
重量格上の相手を倒すことがいかに大変かという話でした。

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

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


前回準備した自動復帰システムでは、SELECT+START同時押しによるデフォルトの脱力オンオフが使えなくなっていました。
そこで、今回はその機能を復活させるための仕込みを行いたいと思います。




原理としては、脱力スイッチのオンオフを判定するフラグを別途独自に設定するというだけです。
それを参照して全サーボオンなのか全サーボオフなのかを分岐させていきます。




【モーションの作成】

<脱力スイッチモーション>
・脱力フラグ用のユーザー変数を準備。例ではv[68]をフラグとし、1なら脱力フラグがON、0なら脱力フラグがOFF。

[START]
01:脱力フラグv[68]を判定。1なら今脱力状態なので全サーボオン→02へ、逆に0なら脱力→03へ
02:v[251]=1 #強制サーボオン
→v[68]=0 #脱力フラグを下ろす
   →2秒(120step)程度で、構え(通常の立ち姿)のモーションを実行
   →[END]
03:v[251]=0 #強制サーボオフ
→v[68]=1 #脱力フラグを立てる
   →0.1秒(6step)程度で、全サーボオフのモーションを実行 #念のため
    →2秒(114step)程度で、全サーボオフのモーションを実行 #念のため
    →[END]

※全サーボオフのモーションは、モーションスライダの左ボックスを全サーボ分アンチェックすることで作れます。

<アイドリングモーション>
01:脱力フラグv[68]を判定。
 →0ならv[251]=1 #強制サーボオン
  →1ならv[251]=0 #脱力

【操作マップの設定】

<脱力スイッチモーション>
 ・全モーションの先頭に配置。
 ・再生条件SELECT+START
 ・受入×無効、割込○有効、Idling割込○有効

<アイドリングモーション>
 ・「登録モーション設定」の「アイドリングモーションの設定」に設定。




以上の方法を、前回の自動復帰システムと合成すればできあがりだと思います。
脱力モーションの信号を送った後で通信断絶してしまうと、復帰ができなくなりますが、確率は低いと思うので問題ないかと思います。
脱力信号受け取りから一定の秒数後に自己判断でサーボオンして立ち上がるという設定も可能ですが、勝手に動くということから触れる人への危険を伴うことになるため、その機能はあきらめ、試合よりも安全を優先するのがビルダーとしてのモラルかなと思います。




また別の方法として、常にオンにするのではなく、電源投入時のみ、v[251]=1→起き上がりモーション始動とする方法もあります。
そちらの方がシンプルですが、ロボットの設計によっては、脱力時のサーボ位置の都合からあらぬ回転方向経由でポジションに戻ろうとして起き上がれなくなるということもありえます。常時オンに設定しておくことで現状復帰できる可能性を高くしておけるというわけです。

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

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の機能を変更せずにそのまま使い続けることもできると思います。

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

プロフィール

二名川(ニナガワ)

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 ゼロライナー
以下続く

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