MANOIセンサーボード搭載

「第4回姫路ロボチャレンジ」にも見られるように、今後はセンサーを使った自律動作が競技会でも取り入れられるとみられる。そこで Kyosho から発売された、RCB-3高速シリアル端子に接続して使用できる 「MANOIセンサーボード(HRP100)」 を導入してみることとした。センサーはいままで使用したいと考えていた、 PSD「MANOI 距離センサー(HRP103)」と地磁気「方角センサー(HRP106)」を導入したい。また、赤外線センサー、超音波センサーなども試してみたい。

「MANOIセンサーボード」は、RCB-3に接続して使用するのでセンサーボードのスタンダードになっていくのではないか。使用してみないと実際のことは分からないのでまず購入することとした。センサーも搭載してみないとどの程度使えるのか分からない。何に使うかの方が重要。感知してモーションに反映するまでの時間、反応速度も分からない。分からないことはとりあえずやってみるに限る。


(1)MANOIセンサーボードの入手

MANOIセンサーボードを入手。RCB-3無償アップデート券が入っている。マニュアルを一読したが、使いこなすには少し時間がかかりそう。とりあえずエディターをインストールした。



また、PSD「距離センサー(HRP103)」も入手。センサーは今までジャイロセンサーと加速度センサーしか使ったことがない。今後いろいろなセンサーを試してみたい。


(2)RCB-3のアップデート

MANOIセンサーボード対応アップデートを依頼してあったRCB-3(1.1a)が戻ってきた。HTH3の最新版も同時に入手した。1.1aはMANOIセンサーボードが使用できるようになったことのみでほかは全く前版と同様とのこと。


(3)MANOIセンサーボードの搭載(RCB-3との接続)

RCB-3はKHR用のボードの左側に、MANOIセンサーボード(RCB-3と同じ大きさ)は右側に配置、その間の中央空間にKRR-1(受信機)、KRG-3(ピッチ軸用ジャイロ)を配置するとぴたりと収まる。サーボからのコードの長さを短くするなどの調整をしてあったので無理なく配線可能であった。

RCB-3とセンサーボードを配線したが、センサーボードの接続を任意に切り離しできるように、配線は端子から延長コードで機外で接続できるようにした。
@PC端子に延長コードを接続し機外で接続可能にした。これとPCを接続する。
ARBC端子に延長コードを接続し機外で接続可能にした。これとRCB-3の高速シリアル端子(PC接続用)を接続する。
BVCC端子に延長コードを接続し機外で接続可能にした。これは下側に出した。これとCH9からの電源用端子と接続する
CKRC端子(受信機KRR-1との接続端子)、DO3端子(音声ユニットとの接続端子)は当面使用しないのでそのままとした。




(4)MANOIセンサーボード予備試験

PSDセンサーをロボット前面下部に設置し、センサーボードのNo1に接続した。HTHを立ち上げ、MANOIセンサーボードエディターを立ち上げて、センサーボードの端子からPCにつないで、PSDセンサーの感度をチェックした。センサー表示画面で動作を確認したが、距離に応じて数値が変化し距離の検知を確認、割と狭い範囲で検知し使えそう。



なお、MANOIセンサーボード付属CDのMANOIセンサーボードエディターにはバグがあってセンサールールをPCに記録できないので、 KyoshoのHPから Downloard する必要がある。


(5)PSD(Position Sensitive Detector)センサーの製作

PSD「MANOI 距離センサー(HRP103)」を入手したが、4個は必要なので市販の PSDセンサー をMANOIセンサーボードに取り付けられるようにした。

PSDセンサー (SHARP GP2D12) の端子は@Vo(+)、AGND(−)、BVcc(信号)となっている。一方 MANOIセンサーボードの端子は@GND(−)、AVo(+)、BVcc(信号)となっている。したがって、MANOIセンサーケーブルの端子のプラスチックの押さえを起こすと@とAが引き出せるのでこれらを入れ替える。これで市販(ロボット王国、千石電商秋葉原本店2Fなどで入手可能)のPSDセンサーGP2D12がMANOIセンサーボードへ接続可能となる。センサーボードに接続して感度をチェックしたが、「MANOI 距離センサー(HRP103)」と同等の感度があった。



PSDセンサーを左右の手のサーボの横に各1個、胴体の正面に1個、計3個を結束バンド4本を組み合わせてそれぞれ固定した。結束バンドを使うとネジ穴が不要な上に割りと強固に固定が可能



PSDセンサーについては、「SHARP GP2D12」 「PSDセンサーとは」 「PSD調査報告書」 に詳細が掲載されている。

なお、入手可能なSHARPのPSDセンサーにはGP2D12(千石電商秋葉原本店2F)と2YOA21(ロボット王国、近藤科学)がある。センサーボードのモニターでは感度は同じに見えるが、実際に使ってみると、近接距離では感度に差がないが少し離れた距離では感度に違いがある。したがって、感知の設定が同じである場合、誤作動の原因になる。センサーボードにPSDを接続する際には、これを混ぜて使用しないか、それぞれ別に感知の設定をする必要がある。


(6)MANOI姿勢感知センサー/3軸加速度センサーHRP105の搭載

「BLACK TIGER NEO」の正面肩右上に両面テープで貼り付けて搭載した。マニュアルどおりに転倒感知しやするするためにDIPスイッチを2つとも上側に切り替えた。また、ショートを避けるため上面を両面テープで覆った。センサー端子No.1に接続した。



(7)マニュアルに書かれていないMANOIセンサーボード留意事項

1)センサールールは一度書き込んだら次に上書きするまでスイッチを切っても(電源を遮断しても)保存される。したがって、スイッチを入れれば再び動作する。

2)簡易に電源を切れるスイッチが必要である。電源コードのコネクタの取り外しによる電源遮断や接続コード(センサーボードへの電力供給コード and/or RCB-3接続コード)をはずすことは自律動作を続けているため非常に困難である。

3)実行中のセンサールールを解除するためには、@電源スイッチON。AMANOIセンサーボードエディターの「STOP」をクリックしてロボット脱力させる。Bセンサーの反応なしのルール(センサーチェックのみでモーション指定なしのルール1件)を上書きする。

または、@RCB-3接続コードをはずす。A電源スイッチON。BMANOIセンサーボードエディターの「STOP」をクリックしてロボット脱力させる。Cセンサーの反応なしのルール(センサーチェックのみでモーション指定なしのルール1件)を上書きする。DRCB-3接続コードをつなぐ。

4)センサー感知は<状況1>の1番目のルールから順次実行される。あるルールでセンサー感知してモーションが実行された後は、次のルールに順次移行する(1番目のルールに戻らない)。

5)最初の1番目のルールにもどるためには同じ内容の<状況2>などを設定してジャンプする必要がある。ジャンプした場合、ジャンプした<状況2>の1番目のルールから順次実行される。

6)<状況2>にジャンプした場合は、<状況2>においてループして判定する。次のジャンプの指令があるまで<状況2>に留まる。(マニュアルp10の記述は誤りであることを確認)

7)モーション実行にはラグタイムが生じる。モーション自体の検討(最初のHPのsppedの見直しなど)モーションの高速化が必要である。

8)同じセンサーでほぼ同じセンサー設定値の2つの(行動設定は異なる)ルールが続くと、はじめの一方しか判定されない。

9)MANOIセンサーボードエディターでファイルを印刷するとセンサー設定の内容と行動設定のモーションが印刷される。センサールールをプリントアウトすると間違いを見つけやすい。

また、PCのセンサールールの画面表示と印刷したデータが異なっている場合は、新規にセンサールールを書き直す。プリントアウトしたデータがセンサーボードに書き込まれていると考えられ、誤作動する可能性が高い。

10)センサールールをセンサーボードに送信すると「送信したデータと書き込まれたデータが一致しませんでした。正常に転送されませんでした。」がPCに表示されて、センサールールの書き換えが出来ないことがある。書き換えができない場合は、センサーボードが動いていることが多い。エディターのSTOPボタンを押してセンサーボードの動作を止めた後に通信を行う。

11)センサーボードが動いている時には、通信エラーが多発する。エディターのSTOPボタンを押してセンサーボードの動作を止めた後に通信を行う。センサー値表示を行う場合も同じ。なお、センサーボードにセンサールールが書き込まれている場合には、スイッチを入れるとセンサーボードは動作を開始している(RCB-3を接続していない場合もセンサーボードは動作を開始している)。

12)接続しているセンサーのチェック方法。@エディターを開く、AセンサーボードとPCを接続、BRCB-3への接続を外す、Cセンサーボードへの電源を接続、Dロボットの電源ON(センサーボードに通電してセンサーボードが作動開始)、EエディターのSTOPボタンを押してセンサーボードの動作を止める、Fセンサー表示をクリックしてセンサーの動きをチェック。

13)センサールールの書き換え、コピー、貼り付けを繰り返すと、センサールールの書き込みエラーが起こることがあるので、時々は新規にセンサールールを書き直すと防止できる。

14)センサーボードにコネクタを接続する際には、コネクタ間を空けないで連続して接続するようにするとコネクタが外れ(抜け)にくい。離して単独に接続した場合は連続して接続した場合よりも外れ(抜け)やすい。

15)センサールールをセンサーボードに送信すると「送信したデータと書き込まれたデータが一致しませんでした。正常に転送されませんでした。」がPCに表示されて、センサールールの書き換えが出来ないことがある。ファイル名が長くなると書き換えができない場合があるので、ファイル名を短く簡単にする。

*)マニュアルに書かれているが重要な事項:センサーボード接続時にはRCB-3HVの「モーション再生時に返事をもらう」をONにする。してないとモーション再生後にロボットが停止する。


(8) MANOIセンサーボードにおけるループの回避について

ループに入る理由
1)同じセンサーで同じセンサー設定範囲で行動設定だけが違うセンサールールが続く(状況1から状況2へジャンプしても結果的に続く)場合には、どちらか一方のみの行動設定が実行される。これがループとなる。

2)前/後に転倒した場合には、前方攻撃あるいは後方回避行動と転倒起上の行動設定はセンサーが同じでセンサー設定範囲もほぼ重複している。したがって、ループに入ってしまい同じ行動設定モーションを繰り返して、起上の行動設定のモーションが実行されない。

転倒判定ができないループの回避方法
1)前/後各2個のセンサーで転倒判定する。左右それぞれのセンサーで判定するので必ず違うセンサーで判定することになるのでループに入らない。2個くらいならばタイムラグも小さい。

2)前/後各2個のセンサー判定の行動設定で起上モーションを最後に入れておく。倒れていれば接近あるいは攻撃モーションの後に起上モーションが実行される。倒れていなければ起上モーションは実行されず行動設定は終了するが、この場合のタイムラグは小さく問題にならない。一方、最初に入れた場合は起上モーションに続いて次の接近や攻撃モーション(意味のない見当違いなモーション)が実行されてしまう。

3)転倒判定を1)2)で2重すればループへ入ることを完全に回避できる。

4)RCB-3と加速度センサーによる間接的な転倒判定に替えて、センサーボードに加速度センサーを導入して直接加速度センサーにより転倒を判定する。


(9)MANOIセンサーボードによる自律バトルプログラムについて

プロポの操縦が不得手なことから、自律でプロポ操縦に勝ることを目的として「BLACK TIGER NEO」の自律バトルのプログラムに注力しているが、やってみると奥が深い。PSDセンサーやMANOIセンサーボードのセンサールール作成の要領がようやく理解できてきた。ポイントは以下のとおり

1)PSDセンサーの設置場所(設置場所比較表)
・取り付け位置により攻撃の精度や感知範囲に違いがでる。
・攻撃の腕にセンサーを設置すべき。感知範囲が広がり、攻撃の精度が上がる。
・結束バントを使うと任意の場所にかなり強固に設置可能。

2)PSDセンサーの設置数
・前後左右4方向には必須、死角を無くす。4方向にあれば90度旋回で360°カバー可能。
・多いほど感知能力が上がるが電源が十分か、センサーボードの処理能力が十分か検証する必要がある。
・センサーボードにPSDセンサーは5個が限度か?

3)PSDセンサーの感知範囲の設定
・攻撃の届く距離とセンサーが感知する値の範囲の設定が重要、これが適正でないと攻撃がヒットしない。

4)探索、接近、攻撃、起上に分けてセンサールールを設定する。
攻撃を接近戦用とある程度距離をおいたカウンター的攻撃に分けると、多彩で効果的な攻撃となる。

5)センサールールの設定順序と状況間のジャンプ
・ルール/行動の設定の順序:各状況では、上位のルールから判定して行動が実行され、それが終ると順次ルールが判定され実行される。途中で先頭に戻らない。
・感知頻度の低いルールを始めの部分に設定する。
・攻撃、接近、探索の順に設定。この順序に変えることにより自律動作が一変する。
・2つの状況間のジャンプによりタイムリーな攻撃と多彩な攻撃が可能となる。
・センサールールの基本スキームをツリーで示した。

6)移動モーションの設定
・安定した正確な移動モーションと歩数の設定。

7)確実な起上の設定
・両面起上モーションの採用など確度をあげる。
・起上のためのセンサールールを入れる位置も重要。タイムラグを少なくする。起上モーションまでの余分なモーションの再生をなくす。
・起上、攻撃、接近、探索の順がベター。
・PSDセンサーでも転倒を検出できるが、加速度センサーで検出したほうが簡単でトラブルが少ない。
・起上モーションにはRCB-3の加速度センサーの起上判定を加えて、誤作動を防止する(倒れていなければモーションが作動しない)。

8)攻撃の確度の向上
・1撃で倒せるパワフルな攻撃モーション。
・2回繰り返しも有効。

9)ループの回避
・同じPSDセンサーで同じセンサー設定範囲のルールが続くとどちらか一方のルールしか行動設定が実行されない。この場合ループになるので起上設定では特に注意が必要。

10)防御
・目標探索時はほぼ同じ位置にいるので攻撃にさらされやすい。同じ位置に留まらない工夫が必要。
・攻撃後は移動した方が反撃を受けない。Hit & Away.
・ カウンター攻撃の防御、特に前進時。

11)ラグタイムの解消
・センサー感知からモーションへのタイムラグの解消。
・センサーを増やすと感知計算時間が増えタイムラグが発生しやすい。
・モーション自体にも最初と最後にHPのSpeedの設定などタイムラグ発生の要因がある。

12)リングからの落下防止
・目標に向かって移動する。
・余分な動きをしない。
・対プロポでは手などをかざして誘導することは問題ない。

13)センサールールの多層化・多様化
センサールールには規則性があるので、対プロポとのバトルではそれを読まれないような工夫が必要。
@攻撃の多様化:距離による異なる攻撃モーション、状況により異なる攻撃モーション。
A移動の多様化:攻撃後の異なる移動モーション、状況により異なる移動モーション。

14)攻撃後の移動
・対プロポでは攻撃後の移動で反撃を回避できる。
・対自律では攻撃後の移動して距離を保つ。接近戦でからまって攻撃ができなくなる。間を取る必要がある。

15) 広範囲の探索方法。探索モーションを旋回30°から、左旋回90°+左横移動3歩または右旋回90°+右横移動3歩に変更する。この探索行動が繰り返されると、4回でその場を1周することになる。


(10)MANOIセンサーボードコントロール:状況の設定による戦略の切り替え

1)状況1を戦略の切り替えに使用
 ・状況1からそれぞれの戦略(状況X)へジャンプ

2)状況1の戦略の切り替え方法
 ・5個のPSDセンサー各2個セットでセンサールールを設定
 ・PSDセンサーの感知範囲は1800〜4095とする
 ・行動設定でジャンプ先の状況Xを設定
 ・PSDセンサー2個セットでの組合せは誤作動のリスクが低い
 ・PSDセンサー2個セットでの組合せを両手で操作
 ・センサー5個では多くの組合せが可能。ただ、両手で背後から操作し易い組合せは3通りくらいか。
  @横左(前左)+横右(前右)⇒状況2(+状況3)=戦略1へジャンプ
  A後ろ+横右(前右)⇒状況4(+状況5)=戦略2へジャンプ
  B後ろ+横左(前右)⇒状況6(+状況7)=戦略3へジャンプ

3)切り替え方法はスイッチをOFF⇒ONにして両手で操作(動作中は変更不可)

4)スイッチのON&OFFの短時間で戦略が変更でき臨機応変な対応が可能


(11)「MANOIセンサーボード(HRP100)」 +PSDセンサー(3個)とRCB-3による参加資格審査と予選デモのコントロール方法

1)RCB-3のS1に参加資格審査モーション・シナリオを設定。
2)RCB-3のS2に予選演技1のモーション・シナリオを設定。
3)RCB-3のS3に予選演技2のモーション・シナリオを設定。
4)センサーボードの状況1のセンサールールにPSDセンサー2個の組み合わせをセットする(1個では誤作動する)。センサー感知範囲は1800〜4095に設定。⇒行動設定のモーションにそれぞれS1,S2,S3を設定。

・センサールール1:PSDセンサー横左と横右⇒行動設定のモーション設定でS1をセット(参加資格審査)
・センサールール2:PSDセンサー横左と後ろ⇒行動設定のモーション設定でS2をセット(予選デモシナリオ1)
・センサールール3:PSDセンサー横右と後ろ⇒行動設定のモーション設定でS3をセット(予選デモシナリオ2)

以上をセットしてPSDセンサー2個に両手をかざして試験し動作を確認した。間違って誤作動してもスイッチOFF⇒ONすればOK。やり直しが極めて容易。


(12)PSDセンサーの増設方法

PSDセンサーは電流を多く必要(最大150mA位)とし、MANOIセンサーボードは、接続センサーへの総電流は750mAとされている。実際にPSDセンサーを6個以上接続するとフリーズしてしまい、PSD接続の限度は5個まで。これを回避してPSDを増設するにはPSDへの3.3V電源の供給のみを別系統で行う必要がある。

1)3.3V電源ボードの製作

3.3Vの電源基板を自作した(ROBO SPOT城間さん教示)。材料は、TA480335S、ピンヘッダ、ユニバーサル基板、9V電池用ココネクタ(いずれも秋月電子で購入)、ピンコネクタ(千石電商で購入)。

9Vの電池を電源として3.3Vに電圧を落として1Aまで供給可能。これで10個分のPSDセンサーに電流が供給可能となる見込み。



2)PSDセンサーの増設試験

自作した3.3V電源ボードにPSDセンサー1個を配線してMANOIセンサーボードに接続して動作するか試験した。

PSDセンサーへ電源ボードから給電、緑色の信号線をMANOIセンサーボードのセンサー端子の信号端子に、電源ボードのG端子から黒色のG(−)線をセンサーボードのセンサー端子のG(−)端子に接続。3.3V電源ボードに9V電池を接続。PSDセンサーの発光を確認。

MANOIセンサーボードエディタを立ち上げて、センサー表示。従来のPSDセンサー5個に加えて、追加したセンサー1個が動作し、同等の感度を確認した。



(13)PSDセンサー搭載に当たっての留意点

@電源の確保
PSDセンサーは電流を多く必要(最大150mA位)とし、センサーコントロールボードの電源供給許容量を考慮する必要がある。電源供給量が少ない場合は、別途電源のみを供給するたもの3.3V補助電源ボードを作成する必要がある。3.3V電源ボードはRCB-3の使用していないCHへ接続する。

なお、二股コネクタがあると、1つのCHからセンサーボードの電源と3.3V補助電源ボードの電源がとれる。また、平形9V電池から電源を得ることもできる。

APSDセンサーの干渉について

自律バトル認識能の低下の原因解明のため、PSDセンサーの「干渉の可能性」について検討した。
・以前、PSDセンサーを前面2個(両足元サーボ)に設置していたが、特段の影響はなかった。また、前面2個を両腕から両足元サーボに近づけた方が捕捉が向上した。Y7でも両足に2個設置している。
・「BLACK TIGER 8」には前面に4個を搭載しているが、同時に実施した試験では特段の影響は出ていない。むしろ捕捉が向上している。
・センサーのモニターの画像では、近距離では同方向のセンサーは独立して反応している。距離が離れた場合は区別がつきにくいが、感度の低下はない。
PSD調査報告書 MIRS0205-TECH-0003 4.GP2D12の特性 に「同時に平行に使っても問題なし」の記述があった。

以上の調査結果から、PSDセンサーを同方向に2個以上搭載した場合、超音波センサーにみられるような干渉よる感度の低下はないと考えられる。

B発光部及び受光部の破損の影響について
自律バトル認識能の低下の原因解明のため、PSDセンサーの発光部及び受光部の破損の影響について検証した。
・今まで全く気にしていなかった。
・横移動の誤作動が頻繁に起こっていたが、横のPSDセンサーの発光部と受光部のひさしがほとんど破損している。
・センサールールの順序として、捕捉動作では左右横のセンサーを先頭にしてきたが、今まで予測できない横移動、横攻撃が頻発する原因である可能性あり。

対応策として、
・発光部、受光部のひさしが少しでも破損しているPSDセンサーはすべて交換する。⇒5個交換

破損したPSDセンサー5個を交換した。⇒センサーの反応の切れがよくなった。

PSDセンサー本体のプラスチックは、もともとロボットの自律バトルなどに使用することを想定していないため、強くない。特に結束バンドで固定するとねじ穴の付いた取り付け部分が破損しやすい。取り付け部分が破損した場合は固定できなくなるので速やかに交換していたが、「発光部及び受光部の囲い」の破損には注意を払っていなかった。この部分は特にプラスチックがうすくて破損しやすい。周囲をビニールテープで補強すべき。また、破損した部分を修繕して再使用しよう。

PSDセンサーの取扱説明書や仕様書には特段の記述がないが、PSDセンサーの受光部のプラスチックの囲いの破損はPSDセンサーの感度に重要な影響を及ぼす。

CSHARPのPSDセンサーGP2D12と2YOA21の感度の違いについて
入手可能なSHARPのPSDセンサーにはGP2D12(千石電商秋葉原本店2F)と2YOA21(ロボット王国、近藤科学)がある。センサーボードのモニターでは感度は同じに見えるが、実際に使ってみると、近接距離では感度に差がないが少し離れた距離では感度に違いがある。したがって、感知の設定が同じである場合、誤作動の原因になる。センサーボードにPSDを接続する際には、これを混ぜて使用しないか、それぞれ別に感知の設定をする必要がある。

D誤作動防止
天井から真下へフィラメント系ランプの照明と舞台の前の天井に1列のフィラント系ランプの照明など、PSDセンサーはフィラメント系ランプの照明で誤作動する。PSDセンサーの上側に黒のビニールテープで「ひさし」を作成して両面テープで取り付けると誤作動を少なくできる。



(14)MANOIセンサーボードによる自律動作中のプロポ操縦について

Beach Flag練習中に自律動作させていることを忘れて無線操縦し、自律動作中でも無線操縦が可能なことを偶然発見した(2009.6.7)。長い間、自律動作をさせていたが、無線操縦で割り込めることに気付かなかった。

センサーボードの出力はRCB-3HVの高速シリアル接続端子に、無線受信機の出力は低速シリアル接続端子に接続しているので理論的にはどちらかから入力されれば動作することになる。だだ、実際に操縦してみると無線操縦の低速シリアル接続端子からの入力が優先されるようだ。

このプロポによる割り込み操縦を実行すれば、誤作動によるリング外への落下など不利な状況からの離脱が可能となる。したがって、自律バトル(探索・接近・攻撃・離脱)を実行させ、緊急避難的なリングからの落下回避(いままでは「うちわ」で行っていた)・攻撃回避(防御のしゃがみ込み姿勢)・離脱(防御のための移動)はプロポで行う「セミ自律システム(Semiautonomous system)」が構築可能である。これにより自律では難しかった回避動作が適時可能になり、特に防御面で有利となる。


(15)プロポによるMANOIセンサーボードの自律動作への移行について

センサーボードの出力はRCB-3HVの高速シリアル接続端子に、無線受信機の出力は低速シリアル接続端子に接続しているので理論的にはどちらかから入力されれば動作する。したがって、接近をPSDあるいは超音波センサーが感知すれば、自律動作がスタートするように、状況1にスタートのセンサールール(状況1で前方のPSDが感知(1800〜4095)したら、状況2へジャンプする)を設定しておけば、試合開始時にスイッチをいれて、プロポによる操縦で対戦相手に接近させると、PSDが感知して自動的に自律動作に移行することになる。



[ゲストブック] [Robot Contents] [Top Page]