二足歩行ロボットコミュニティサイト

【サイトの使い方】  【サイトマップ】  【お問い合わせ】 
ロボット動画  |   ロボット写真  |   BBS  |   ダウンロード  |   イベント予定  |   スタッフ日記  |   リンク  |  
ログイン パスワード    新規登録   パスワード紛失  





カテゴリ: サンプルモーション
今すぐダウンロード!RB2000 自律バトルモーション ヒット数 バージョン: 
掲載日:  2011-10-20
説明:
RB2000用の自律バトルモーションサンプルです。

今回のプログラムでは、こちらの動画で公開しているアルゴリズムとほぼ同じ動作を行います。


※本モーションは、ロボットごとの個体差や動作環境の違いで、動作の成功確立が非常に大きく変わります。そのため、基本的にお使いの状況に合わせて調整をしないと正しく動きません。調整の方法については、下記の説明やリンク先の記事などを参照してください。


また、RB2000自体の改造については、RobovieMaker講座の「第7回 自律バトルモーションの作成(前編)」を参照してください。

プログラム自体の構造については、RobovieMaker講座の中で詳しく説明していきます。


●ファイルのコピー場所

ダウンロードしたファイルを解凍すると、中に「自律バトル用モーション」「自律バトル用音声」の二つのフォルダが入っています。
「自律バトル用モーション」はRB2000のロボットプロジェクトの「RB2000モーション」のフォルダにコピーしてください。
「自律バトル用音声」はRB2000のロボットプロジェクトの「RB2000音声ファイル」のフォルダにコピーしてください。


●音声の設定

今回のプログラムでは、ロボットの状態をユーザが把握しやすいように、ロボットが選択した行動を番号で音声出力します。
そのため、「自律バトル用音声」に含まれる音声ファイルをロボット本体に書き込んでください。
音声がなくても動作自体に支障はありませんが、プログラムの理解を深めるためにも正しく音声が出力されるように設定することをお勧めします。


●サーボモータ出力式の設定

今回のプログラムでは、探査ルーチンの際に首のサーボモータに対して変数演算で角度値をオフセットさせています。
この方法により、ターゲットとの角度をより正確に取得できます。

これに関する設定方法は下記の通りです。


図のようにCN5-3のサーボモータに対して、設定式の項1を「+ 256 * Va1[ 77 ]/256 * Vb1[ 78 ]/256」に変更してください。


なお、今回のプログラムでは、上記を含め「77」「78」「79」「80」の各ユーザ変数を使用しています。現在これらの変数を他の目的で使用している場合は、干渉しないように設定を変更してください。



●プログラムの書き込み・実行

上記設定がすべて完了したら、「自律バトル操作マップV2.rsc」の操作マップを通常通りロボットに書き込みます。
ロボットに書き込んだプログラムを実行する場合は、ロボットを直立させた状態で電源スイッチをONにし、ゲームパッドからサーボモータをONにしてください。
ロボットが起動するとアイドリングに割り当てたターゲット探査モーションを開始します。
ターゲットを検出すると距離や位置に応じて旋回・接近・攻撃などの行動を選択します。

また、ターゲットが見つからなければ首を回したり旋回するなどして別の場所を探査します。

また、転倒した場合は加速度センサによって検出し、自動的に起き上がります。



●プログラムの調整

センサや機体の動作には個体差が激しいため、ダウンロードしたプログラムをそのまま実行してもうまく動作しない可能性があります。
その場合、センサの閾値などを調整する必要があります。

自律動作の場合、正常に動作させるための要因が非常に多いため、一概に「この部分を変更する」という説明は困難ですが、ある程度要点をまとめ、具体的な調整の目安を下記に説明します。


・PSDセンサの反応距離の調整

変数78にはPSDセンサの距離が返ってきます。
こちらの変数の値を参照して行動を決めるのは「自律探査モーション.txt」のモーションです。
目の前にターゲットがあるのに近づこうとしたり、逆にターゲットが遠いのに攻撃しようとしたりする場合は、このモーションに含まれる変数146を用いた条件分岐の値を調整してください。
調整の際には、ロボットとターゲットの位置を実際に反応させたい距離に合わせてセンサ値を計測してください。


・起き上がりモーションの設定

転倒しても起き上がりモーションを再生しなかったり、逆に通常の状態でも起き上がりモーションが暴発してしまう場合、加速度センサの閾値が正しくない場合があります。
操作マップV2の設定画面より「うつ伏せ起き上がり」「仰向け起き上がり」の各モーションの発動条件に対して、お使いのロボットが転倒した場合の加速度センサの値を調べて数値を再設定してください。
また、これに合わせて「仰向け起き上がり(自律用).txt」「うつぶせ起き上がり(自律用).txt」のモーションファイル内にも同様に加速度センサによるモーション発動の条件分岐があるため、調べたセンサ値に書き換えてください。


同様に、横倒しからの復帰も動作がうまくいかない場合も上記の方法で調整してください。



●モーションの差し替え

操作マップの設定を見ると、ロボットが実際に実行する動作は、別のモーションファイルでマップに登録されているものであることがわかると思います。
そのため、操作マップの「参照変数80が??と同一である」という条件のモーションファイルを差し替えることで、自作のモーションを自律動作に組み込むことも可能です。
ただし、その場合組み込むモーションに「変数80に0を代入する」という演算ブロックを入れてください。
これを入れなければ、一度そのモーションが発動したら永久にそのモーション発動を繰り返す場合があります。




●キャンセル設定について

自律動作中は、基本的にキャンセルが発生しないようにします(ただし、あらかじめキャンセル設定をしている起き上がりモーションは特別です。詳細説明はここでは省きます)。
自律動作は人間が状況を瞬時に判断してロボットの体勢を立て直すことができないため、キャンセルを設定していると、急なモーション切り替えでロボットが転倒したり、見当違いの動作を行う可能性があります。

1368 回のダウンロード  1368  ファイルサイズ 0バイト  利用可能なOS/ソフト等 RobovieMaker2  ホームページ http://www.vstone.co.jp/
評価: 0.00 (0 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (0)


検索
メインメニュー