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

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

[掲示板に戻る全部  1-  最新50
1 RobovieMaker2でのアナログスティックを使った動作
MIZUNO
新米

mizuno 2010-4-12 16:41  MAIL  [返信] [編集]

たびたびお世話になっているmizunoです。
今回も分からないことがあったので、投稿させていただきました。

現在アナログスティックを使った動作(主にスラローム歩行)を、
RobovieMaker2で作成しようと思っています。
そこでロボコンマガジン(50号など)やネットを調べ、
資料を探したのですが、
資料に載っている画像とRobovieMaker2の画面(CPU設定の画面など)が異なり、
よく分からなくなってしまいました。

そこで、
アナログスティックを使った動作の作り方や資料などを知っている方がいれば、よろしくお願いします。
2 Re: RobovieMaker2でのアナログスティックを使った動作
combat-e
長老

combat-e 2010-4-15 22:09  [返信] [編集]

MIZUNOさん、こんにちは。
返答が遅くなり申し訳ありません。

アナログスティックの使い方については、サーボモータへの変数の割り当てなどを一通り理解できれば可能かと思います。
「頭の(もしくは任意の)サーボモータ1つに、左アナログスティックの左右の傾きを反映させる方法」を例に基本的な設定を説明したいと思います。
ちなみに、自作ロボットではなく、RB2000、Robovie-X、Robovie-nanoなどのキットをお使いであれば、それぞれのスラローム歩行用の設定についてお答えします。


まず、ロボットとPCを接続して通信を開始し、メニューの「プロジェクトの設定」から「CPUの設定」を開いて「サーボモータ出力」の項目を開いてください。

設定を開いたら、「サーボモータ選択」の項目でスティックの動きを反映させるモータを選びます。ここでは、頭ヨー軸のようにどの角度でもモータロックが起こらない物を選んでください(裸のサーボを一つつないで実験しても問題ありません)。
ここではRobovie-X Liteの設定を使わせてもらいました。Robovie-X Liteでは頭のモータは「CN5-3(26)」だったのでこれを選びます。




選んだら、「出力値設定」の内容を変更します。
ここには、最初は一番上の「x = v[ xx]」という項目以外は全て0が入っていると思います。
そこを、とりあえず画像の通り、4段分の設定行の最上段のみ、「+ [ -1000 ] * Va1[ 53 ]/256 * Vb1[ 246 ]/256 [常に有効]」という状態にしてください。
他の行は設定を変更しないでください。





少し難しい話をすると、ここではサーボモータが現在の角度を決める際に、どこの変数の数値をどのくらいの割合で適用するかを設定しています。
この中の「-1000」は、変更した設定行1行分がサーボモータの角度に影響を与える大きさです。この数値を増やすと、スティックを少し傾けただけで一度に角度が変わります。また、「1000」に書き換えるとスティックを傾ける方向とモータが動く方向が逆になります。
また、「53」「246」は、モータが参照する変数の番号になります。前者は「-1000」の数値と同じくスティックの傾きをサーボモータに影響させる強さを設定するためのポーズスライダの番号です。詳細は後述します。
後者は左アナログスティックの左右の傾きの情報が入った変数の番号です。
CPUボードのどの変数がアナログスティックのどの傾きに相当するかは、CDなどに参考資料で収録されているVS-RC003変数表をご参照ください。



設定を変更したら「適用」をクリックして設定を有効にし、続いてCPUボードにデータを書き込んでください。




続いてポーズスライダの設定を行ないます。
先ほどのサーボモータ出力式で「53」という変数の設定を行ないましたが、これはいわゆる「ゲイン」のポーズスライダで、一つのモーション中でアナログスティックの影響力を自由に変更できるようにします。
ちなみに、既にこの番号のポーズスライダを別の目的で使用している場合は使えないので、別の番号のポーズスライダに変更する必要があります(前述の「53」の数値も別のポーズスライダの番号に変更してやり直してください)。


メニューの「ポーズ」の項目より「ポーズスライダのプロパティ」を選択してポーズスライダの設定ダイアログを開き、「設定するポーズスライダ」の項目で53番目のポーズスライダを選んでください。


続いてポーズスライダ名を分りやすいものに変更して、一番下の「スライダ有効」の項目にチェックを入れてください。
(最低限この二つの設定を入力してください。)
変更したら「適用」をクリックして設定を閉じてください。





設定を変更すると、新しいポーズスライダが画面に追加されます。
ポーズスライダが見つからない場合は座標が変な設定になっているので、前述の画面を再び開いて、「表示座標」をX,Yとも「0」にしてください(これで左上に表示されるので、SHIFTキーを押しながらドラッグして好きな位置に移動させてください)。

ポーズスライダの数値は最初は0だと思いますが、このままではスティックの影響力も0なので、ある程度端の方までツマミを動かしてください。




続いてCPUボードとPCを通信させてサーボモータもONにし、左アナログスティックを左右に傾けてください。
ここまでの設定が正しければ、
まったくサーボモータが動かない場合は、コントローラの「ANALOG」ボタンがあればそれを押すなどしてアナログスティックの入力を有効にしてください。
また、僅かにしかモータが動かない場合は、先ほどのポーズスライダのツマミをより端の方へ動かしてください。
逆にモータが動きすぎる場合は、ポーズスライダのツマミを中央の方へ動かしてください。





一通り動くようになったら、前述の「-1000」の数値やポーズスライダの数値を色々動かしてみて、操縦にちょうどよさそうな設定をそれぞれ確認してみてください。
ちなみに、元々このサーボモータを動かしていたポーズスライダを動かしても、ちゃんとモータの角度が変わります。アナログスティックによる動作は、そのポーズスライダで設定した角度を中心として動くようになります。
また、「常に有効」という部分を「Vb[n]>=0」もしくは「Vb[n]<=0」に変更すると、スティックの左右どちらかにしかモータが動かなくなると思います。



スラローム歩行を作る場合はこれを応用して、脚ヨー軸にもスティックの傾きを反映させるようにします。
ただ、歩行中のモーションデータに組み込む場合は、ポーズごとにゲインのポーズスライダ(前述の53番目のポーズスライダ)の数値を切り替えるようにします。
歩行中にゲインのポーズスライダがずっと同じだと、現在のスティックの傾きに関わらず常に足を回す角度の範囲が同じになり、ほとんど旋回してくれません。
これを、途中でゲインのポーズスライダの数値を0にするポーズを含めることで、「スティックが大きく傾くほど足が大きく回る」という動作になります。

3 Re: RobovieMaker2でのアナログスティックを使った動作
MIZUNO
新米

MIZUNO 2010-4-15 23:46  MAIL  [返信] [編集]

とても丁寧な説明ありがとうございます。
写真付きで、細かいところまで書いていただき、
とても分かりやすかったです。

こんなにも、
簡単にアナログスティックを扱うことができたのですね。
もっと難しい計算かなにかをしながらではないと、
扱えない物だと考えていたので、驚きました。

これでロボットの機能をより充実させることができます。
ちなみに、私が今所持しているロボットは自作の物です。
では、今回は本当にありがとうございました。
4 Re: RobovieMaker2でのアナログスティックを使った動作
combat-e
長老

combat-e 2010-4-16 18:33  [返信] [編集]

>MIZUNOさん

実は理論や設定方法以上に、「どの設定でうまくいくか」というのがほぼ勘と経験頼りなのが現在のホビーロボットなので、根気良く試してみてください。

また、モータロックにはくれぐれもお気をつけください。
[掲示板に戻る全部 次100 最新50
BluesBB ©Sting_Band
検索
Loading
メインメニュー