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→起き上がりモーション始動とする方法もあります。
そちらの方がシンプルですが、ロボットの設計によっては、脱力時のサーボ位置の都合からあらぬ回転方向経由でポジションに戻ろうとして起き上がれなくなるということもありえます。常時オンに設定しておくことで現状復帰できる可能性を高くしておけるというわけです。
スポンサーサイト

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

コメントの投稿

非公開コメント

プロフィール

二名川(ニナガワ)

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

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