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

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

 

第7回 自律バトルモーションの作成(前編)

はじめに

福岡土産には白い恋人に対応した「赤い恋人」なる商品があるらしい。
それはさておき、今回は自律動作に関する記事です。
RobovieMaker2の特長である「モーション中の条件分岐」「変数の演算」「センサ入力など柔軟な条件に対するモーション発動」などの機能を組み合わせれば自立的な動作が容易に実現できます。

ちょうど第3回ロボプロステーション チャレンジカップに自律バトルリーグができたので、これを機に挑戦してみてください。

※2008/5/3 PSDセンサの取得変数の番号とセンサ値に間違いがありました。正しくはch7、範囲は3000〜700程度です。

ちなみに、Robovie-XとRB2000の自律動作は下記からダウンロードできます。
記事を読み進める上で参考にしてください。
●Robovie-X自律バトルモーション
●RB2000自律バトルモーション

本体の改造

今回は前編として自律バトルの際に必要なロボットの改造について説明したいと思います。
現在アップロードされている自律バトルの動画ではRB2000対Robovie-Xを行っていましたが、今回は両機種の改造方法を説明します。
ちなみに、Robovie-XへのPSDセンサ取り付けについては、下記に説明資料をアップロードしているので、こちらも合わせてご参照ください。

●Robovie-XへのVS-PSD2取り付け方説明書(PDF形式)

さて、自律バトルに必要なのは、なんといっても周囲を認識するためのセンサです。
センサは、一般的には種類や数を増やすほどロボットを賢くすることができますが、あまり多く取り付けてもしっかりプログラムを組まないと宝の持ち腐れになってしまいます。

自律バトルに必要最低限のセンサは、まず相手を見つけるためのPSDセンサです。PSDセンサとは、赤外線を照射してその反射光を受け取り、三角測量の要領で距離を測ります。PSDセンサは種類によって測定できる距離が決まっており、バトルの場合は最大でもリングの直径を検出できるもので十分です。
また、一度ダウンしても自分で認識して立ち上がれなければ負けになってしまうので、転倒検出のための加速度センサも必要です。

今回必要な環境をそろえるためには、標準の商品構成から下記を購入する必要があります。

・VS-PSD1 ¥4,200(税込)※RB2000の場合
・VS-PSD2 ¥4,200(税込)※Robovie-Xの場合
 ロボットの顔面にPSDセンサを取り付けるユニットです。約10〜80cmの範囲で距離を計測できるPSDセンサが同梱されています。機種によって使用する商品が異なるので注意してください。

・VS-IX008 ¥4,200(税込)
 8chのアナログ入力取得ボード。VS-PSD1のセンサ値を取得するために使います。

・VS-IX001 ¥18,270(税込)
 おなじみの2軸ジャイロ・3軸加速度センサ拡張ボードです。今回は3軸加速度センサをメインに使います(もちろんジャイロを動作に組み込めば動作がより安定します)

ちなみに、アナログ入力ボードにはまだ7chも空きがあるので、センサ値を5.OVで出力する加速度センサがあれば、接続しても使用できる可能性があります。
もしかしたら某K社のRxS-xが使えるかも?実験した方があればレポートをお待ちしております(あくまで自己責任なのでご了承ください)。

拡張ボード&センサのスイッチ設定

それでは、準備したセンサ・拡張ボードの取り付け方について説明します。

まず、拡張ボードのディップスイッチの設定をします。出荷時に拡張ボードのディップスイッチに貼り付けられているオレンジのシートははがしてください。
ディップスイッチの設定は2枚で異なります。ジャイロ・加速度センサはすべてのスイッチをOFFにしてください。
アナログ入力基板は、1,2,4番はON、3のみOFFにします。
また、アナログ入力基板には付属のジャンパピンを差し込みます。差し込む位置は写真と同じく「5V」の位置になります。

ジャイロ・加速度センサ基板のディップスイッチ設定
ジャイロ・加速度センサ基板のディップスイッチは1〜4をすべてOFFにする。
アナログ入力基板のディップスイッチ設定
アナログ入力基板のディップスイッチは1,2,4をONに、3をOFFにする。また、ジャンパピンを5Vの位置に接続する

接続ケーブルの作成

つづいて、拡張基板とCPUボードを取り付ける接続ケーブルを作成します。
※ケーブルの長さはRobovie-XとRB2000で異なります。それぞれの機種について説明するので間違えないようにしてください。
接続に必要な部品は下写真の通りです。

・フラットケーブル
   フラットケーブルの長さは、Robovie-Xの場合は20cm、RB2000の場合は15.5cm前後の長さで切ってください
・10芯コネクタ 3個 ・圧着工具(万力やプライヤ)

ケーブル作成に必要な部品

コネクタの圧着方法はかなり昔に説明していますね。
ポイントとしては、「必ず10進コネクタの△印とフラットケーブルの茶色の線が会う向きで取り付ける」「コネクタに対してケーブルが直角になるようにする」「ツメがカチッというまでしっかり奥まで圧着する」といったところです。
今回はフラットケーブルの両端と中心にコネクタを圧着します。

Robovie-Xの場合

Robovie-Xにける接続ケーブルの長さは「Robovie-XへのVS-PSD2取り付け方説明書」の3ページに詳しく記載されています。詳しくは下記の画像の通りです。

Robovie-Xのセンサ接続ケーブル作成
※画像をクリックすると詳しく表示します。

すべてのコネクタを圧着したら、改めて各コネクタの向きと、コネクタの△印が茶色の線に合わせてあるか確認してください。

RB2000の場合

RB2000のセンサ接続ケーブルの作成について説明します。

まず、ケーブルの端に、△印が内側を向く方向で10芯コネクタを圧着します。
ケーブルの端とコネクタをしっかり合わせて、ケーブルがコネクタの後ろからなるべくはみ出ないようにしてください。

1個目のコネクタ圧着

つづいて中心のコネクタを圧着します。最初に取り付けたコネクタと同じ向きで、ケーブルの中心位置に圧着してください。

2個目のコネクタ圧着

最後に反対側の端にコネクタを圧着します。これまで取り付けた2個のコネクタとは逆の向きで、コネクタの△印が内側に来る向きで圧着してください。
すべての圧着が終わると写真のとおりになります。
改めて各コネクタの向きと、コネクタの△印が茶色の線に合わせてあるか確認してください。

すべてのコネクタ圧着完了

拡張ボードの本体への搭載

次に拡張ボードをロボットの体内に搭載します。搭載位置は当然Robovie-XとRB2000で異なります。

Robovie-Xの場合

Robovie-Xにおけるジャイロセンサ基板の取り付けは「Robovie-X組み立て説明書」(データサイズが大きいので注意)の「胴体の組み立て」部分に詳しく記載されています。詳しくは下記の画像の通りです。

Robovie-Xのジャイロ・加速度センサ基板取り付け
※画像をクリックすると詳しく表示します。

Robovie-Xにおけるアナログ入力拡張ボードの取り付けは「Robovie-XへのVS-PSD2取り付け方説明書」の2ページに詳しく記載されています。詳しくは下記の画像の通りです。

Robovie-Xのアナログ入力基板取り付け
※画像をクリックすると詳しく表示します。

RB2000の場合

まず二つの拡張基板の裏に、付属のスペーサ(6角形のM2スペーサ)をM2x4の低頭ネジで取り付けてください。

基板の裏にスペーサー取り付け

RB2000の本体に拡張ボードを搭載する位置は、写真の赤い枠線の位置になります。
基板の右横のスペースとロボットの右わき腹にそれぞれ装着し、基板右横にはジャイロ・加速度センサ、右わき腹にはアナログ入力基板をそれぞれ取り付けます。
ちなみに、今回RB2000はヨー軸拡張のものを使用していますが、ノーマルの機体でも同じ作業で問題ありません。

基板の本体取り付け箇所

まず、ジャイロセンサ基板をCPUボードの右横に取り付けます。
取り付ける際には、本体横からCPUボードを固定しているベースパーツのネジを取り外し、写真のようにコネクタ取り付け部分が前に来る向きでネジ止めしてください。
なお、基板の取り付け穴とゲームパッド変換コネクタが干渉する箇所があるので、ゲームパッド変換コネクタのネジも一つ外してゲームパッド変換コネクタを内側にずらしておきます。

ジャイロセンサ基板を取り付けたら、先ほど作成した接続ケーブルでCPUボードと接続します。
このとき接続に使用するコネクタは、同じ向きの2個のコネクタを使用します。

ジャイロ・加速度センサ基板取り付け

接続ケーブルをCPUボードに差し込む位置はゲームパッド変換コネクタの隣です。ゲームパッド変換コネクタと同様、茶色のケーブルがロボットの後ろ側に来る向きで取り付けます。
また、ジャイロセンサ基板には、コネクタ付近の「1」の数字とコネクタの△印が合う向きで取り付けます。
ケーブルの取り回しは、サーボモータなど他のケーブルと干渉して引っ張られないように注意してください。

次に、接続ケーブルの余ったコネクタにアナログ入力基板を取り付けます。
取り付ける向きはジャイロセンサ基板と同様にコネクタ付近の「1」の数字とコネクタの△印が合う向きです。

アナログ入力基板取り付け

つづいてアナログ入力基板をロボットの右わき腹に固定します。
写真のように接続ケーブルを取り付ける部分が下に来る向きでネジ止めしてください。
二つの基板の取り付けが完了すると下記のようになります。

アナログ入力基板取り付け

アナログ基板のコネクタと本体前面のカバーが少し干渉して締めにくいことがあるので、該当箇所のネジに少し眺めのネジを用意して、間にM2のナットをはさんでスペーサにするとちょうど良くなります。

PSDセンサの取り付け

次にアナログ入力基板とPSDセンサを接続し、頭にPSDセンサを搭載します。こちらも、RB2000とRobovie-Xで取り付け方法が異なります。

Robovie-Xの場合

Robovie-XにおけるPSDセンサの取り付けは「Robovie-XへのVS-PSD2取り付け方説明書」の1ページに詳しく記載されています。詳しくは下記の画像の通りです。

Robovie-XのPSDセンサ取り付け
※画像をクリックすると詳しく表示します。

RB2000の場合

まず、アナログ入力基板に、付属のセンサ接続ケーブルを取り付けます。
センサ接続ケーブルの白いコネクタは首もとの穴を通して頭のほうに出してください。
頭のアルミパーツはあらかじめ取り外しておいてください。

コネクタを上に出す

次にPSDセンサをセンサ接続ケーブルにつなげます。正しい向きで奥までコネクタに差し込んでください。
また、頭のサーボモータのケーブルをPSDセンサとブラケットの間に通してください(一度CPUボードから頭のサーボモータケーブルを取り外して行います)。

PSDセンサにコネクタを接続、サーボケーブルを隙間から出す

PSDセンサとセンサ接続ケーブルをつなげたら、頭のアルミパーツの前方にある2つの穴より、センサのブラケットをM2x4のネジで固定します。
つづいて頭のサーボとアルミパーツを、もともとネジ止めに使用していたM2x5タッピンネジで取り付けます。
このとき、サーボモータのケーブルはセンサ横の隙間を通し、センサの正面にかからないようにしてください。

アルミ部品をネジ止め

取り付けが完了したら、首を左右に振ってセンサ接続ケーブルの距離が足りることを確認してください。
ケーブルの長さが足りなければ改めて本体前面のカバーを開けて配線の取り回しをやり直してください。

ケーブル取り回しの確認

以上でロボット本体の改造は完了です。

RobovieMakerからの認識

本体の改造が完了したら、RobovieMakerから設定を変更します。ここからの作業はRobovie-X、RB2000ともに同じです。
設定方法に関する解説は過去にも行っていますが、ここではそれをおさらいしながら説明していきます。

RobovieMakerを起動しロボットと通信を開始して、メニューの「プロジェクトの設定」→「CPUの設定」をクリックしてください。
クリックしてダイアログを表示したら、「拡張機器」のタブをクリックして内容を切り替えてください。



まずジャイロ・加速度センサ基板の設定を追加します。
ダイアログの「追加」ボタンをクリックして更に別のダイアログを開き、その中の「デバイスの種類」より「VS-IX001(ジャイロ・加速度センサ)」を選択して「デバイスの詳細設定」ボタンをクリックしてください。


クリックすると更に下記のダイアログを表示するので、下部の「適用」ボタンをクリックしてください。
クリックするとジャイロ・加速度センサ基板との通信が開始されます。正しく通信できていれば、ダイアログの「現在の接続状態」の項目に「OK」が表示されます。
この状態でロボット本体を前後に大きく傾けると、加速度センサの「X軸」及び「Y軸」の値が±1000くらいの範囲で変化します(数値には個体差があります)。
「X軸」「Y軸」のどちらで転倒検出するかは基板の取り付け方向によって異なり、Robovie-Xの場合は「X軸」、RB2000の場合は「Y軸」になります。


Robovie-Xの場合、「X軸」の値が加速度センサでの転倒検出の値にあたる
RB2000の場合、「Y軸」の値が加速度センサでの転倒検出の値にあたる

ここまで作業を進めたら、そのままダイアログの「OK」をクリックしていき、再び「拡張機器」の画面まで戻ってください。

次にアナログ入力拡張ボードの設定を追加します。
ジャイロ・加速度センサと同様、「追加」ボタンをクリックして表示されるダイアログより「VS-IX008(アナログ入力)」を選択して「デバイスの詳細設定」ボタンをクリックします。
クリックして表示されたダイアログより「デバイスの詳細設定」ボタンをクリックしてください。


クリックするとアナログ入力基板との通信が開始されます。正しく通信できていれば、ダイアログの「現在の接続状態」の項目に「OK」が表示されます。
ここで、「ch7」の数値がPSDセンサの値になります。ロボットの目の前に手をかざすと数値が大きくなり(最大で3000程度)、離すと数字が小さくなります(最小で700程度)(数値には個体差があります)。

ここまで作業を進めたら、そのままダイアログの「OK」をクリックしていき、再び「拡張機器」の画面まで戻ってください。
最後にダイアログの「適用」ボタンをクリックして設定を適用し、ダイアログを閉じてください。


「ch7」の値がPSDセンサの値にあたる

設定を反映したら、CPUボードへのモード切替スイッチ設定の書き込みを行い、拡張機器の追加設定をCPUボードのROMに書き込んでください。



なお、ここまでの作業で下記のような問題が発生した場合、それぞれ以下に説明する原因を調査してください。

・それぞれの拡張ボードが正しく認識されず、「現在の接続状態」の項目に「OK」ではなく「NG」が表示される

これついては、「拡張基板上のディップスイッチの設定が間違っている」「CPUボードとの接続ケーブルを接続する向きが間違っている」「接続ケーブルの作成に失敗している」などの物理的な問題が考えられます。
改めてそれらに問題がないか確認してください。

・PSDセンサの値が正しく取得できない

こちらは、「アナログ入力基板にジャンパピンを接続していない、もしくは接続場所が間違っている」「センサ接続ケーブルの取り付けに問題がある」などの可能性があります。

・センサの値の変動が、上記で上げられている数値より一桁違うなど極端に異なる

各基板のディップスイッチの1,2の設定が異なることが考えられます。こちらは、2枚の基板ともディップスイッチ1,2番をONに設定してください。
また、アナログ入力基板の場合、ジャンパピンの接続に問題が有る可能性があります。

最後に

次回はいよいよモーション作成や操作マップ設定など内部的なプログラムについて解説します。
予告として、自律モーションのフローチャートを掲載します。


※画像をクリックすると大きく表示します。

相当ややこしそうですが、コツをつかめばそれほど難しくありません。
なお、自律動作はRobovieMaker2の機能を使用します。現在RobovieMaker for VS-RC003をお使いの方は、下記webサイトよりRobovieMaker2のインストーラをダウンロードしてグレードアップしておいてください。

http://www.vstone.co.jp/top/products/robot/support_vsrc003.html#download-3-1


前のページ
第6回 モーションデータのフォーマットを解読する
コンテンツのトップ 次のページ
第8回 自律バトルモーションの作成(後編)


検索
Loading
メインメニュー