隠居エンジニアのものづくり

自転車 電子工作 ラジコン ロボカップジュニア CAD レーザー加工機

技術公開とミスリード (勢いで その2)

ひょんなきっかけでミスリードについて書いたので、相手ロボットへの妨害と危険性のある事柄についても勢いで書いてしまいます。
と言うのも”ロボロボの会 サマーキャンプ2018"用にRCJ界隈のミスリードとエンジニア視点での最適解について解説したパワーポイントがあるので、手間の掛かる図解部分は作成済で記事を書くのが楽!というのもあったりしますが・・・

と言うことで今回は”相手ロボットへの妨害”です。
相手ロボットがカラーセンサやカメラを用いてボールやゴールを検知する場合のお話です。

RoboCupJunior Soccer Rules 2020の4.2 干渉には
”ロボットは平らな場所に置いた状態でほかのロボットの動作を妨害するような可視光を出してはいけません。また、相手のロボットのビジョンシステム(光学系センサ類)に干渉する可視光を生み出すどんなロボットの部品も隠さないといけません。”
と明記されましたが、この”干渉するような可視光”の解釈に問題があります。

青色、黄色、オレンジ色以外なら”干渉しない”と言う認識ではありませんか?
結論から言うと”いかなる色であっても干渉します”、つまり”一切可視光を出してはいけません”と言う事です。

次に”何故か?”について解説します。

①カメラのダイナミックレンジは狭い

f:id:Blackbox_crusher:20210412214241p:plain

この図は人間の目とカメラのダイナミックレンジの大小関係をイメージしていますが、実際の差は桁違いです。

このためカメラは画角内(カメラが見ている範囲)の画像に対して”白つぶれ”・”黒つぶれ”を起こした間のレンジに多くの情報が見えるように露出の自動調整を行います。

f:id:Blackbox_crusher:20210412215607p:plain

この絵は24bitカラー(RGB各色255諧調)にて、オレンジ色を作ってRGBの比率を変えずに倍率を変えた色見本です。

試合会場の照明の中でオレンジボールを覚えさせたカメラが、照明の反射光よりも明るい白色LEDで照らされて白くなっている床を見たと仮定します。

カメラはこの白つぶれした床を改善するため露出を絞る自動調整を行います。

0.7倍に露出を絞った場合はオレンジ色は茶色に見えますのでボールを見失います。

試合会場の照明の反射光に比べてLEDの光は非常に明るいので、LEDがカメラから見える状態は確実に妨害します。

カメラの露出調整点を変えてる事が問題ですのでLEDの色には関係なく妨害することになります。

色温度

聞きなれない言葉だと思いますが、人の目はとても優秀で”色温度”を意識することはありませんが、カメラにとっては重要な調整項目です。

f:id:Blackbox_crusher:20210412230233p:plain

f:id:Blackbox_crusher:20210412230449p:plain光源自体に色があると思っていただければイメージしやすいでしょうか。

電球(LED照明世代は既に見たことない?)は赤身がかった白色光ですし、蛍光灯は青みがかった白色光です。
カメラはこの光源色の傾向を色温度として取り扱い、色の分解能が良くなるように調整します。
試合会場の照明でホワイドバランス調整したカメラにLEDの光が混ざると上図の様にホワイトバランス調整不良に陥ります。

壁や床やゴールに目視で確認できる程度に、LEDが照らしていたら間違いなく妨害しています。

つまり

”可視光を生み出すどんなロボットの部品も隠さないといけません”

と言う事です。

 

対策方法

要点を押さえれば難しい事でも、重量加算が問題になる事でもありません。

OYA-G 2021モデルを例に対策方法を説明します。

まず汎用のマイコンボードもロボットの部品ですので例外ではありません。

Arduino NANOを使用していますが、RX用LED(ダウンロード時のみ点滅試合時は点灯しない)を除く全てのLEDを黒色テープで遮光します。

②電源ON表示用LEDは白色アクリル板をドーナツ型にレーザー加工して積層して光量を低減(目を凝らさないと見えないレベル)下の写真ば電源ON時です。右側トグルSWの手前にある白い筒が赤色LED点灯状態。カメラでは黒つぶれしてわかりませんが人の目には赤く見えます。

f:id:Blackbox_crusher:20210412233113j:plain

③低電圧検知回路に任せれば試合中の電源電圧インジケータは不要です。バッテリー交換時など必要時のみ表示できる様に着脱式。下の写真は外した時の電源ON状態

f:id:Blackbox_crusher:20210412233019j:plain

④赤色LEDを選択

緑色のカーペットは赤色を吸収するので、赤色LEDで投光すれば床面の散乱反射が横漏れする事が無く、白線とのS/N比が良くなるので一石二鳥です。

ちなみに、2020ルールで ”ロボットは平らな場所に置いた状態でほかのロボットの動作を妨害するような可視光を出してはいけません” と明記されましたので、持ち上げた時に赤色LEDは誤動作するので云々の話はありませんので、安心して赤色LEDが使えます。

 

⑤光学系でなくても代替の付くものはメカニカル式に変更する。

ボールキャッチセンサはボールベアリング+マイクロSWのメカニカル式にしました。

 

⑥低反発ウレタンで光路を制限

下の写真がラインセンサ部です。

ラインセンサと底板の間に低反発ウレタンを挟んでます。

底板は320番のサンドペーパーで細かい溝を付けて鏡面反射を防いでます。

f:id:Blackbox_crusher:20210413003659j:plain

お気に入りの低反発ウレタンです。

多少の厚み方向の凸凹は吸収してくれるのと、きれいにレーザー加工できるので複雑な形状に設計してもOKです。

f:id:Blackbox_crusher:20210413003625j:plain

遮光スポンジをレーザー加工した例です。

f:id:Blackbox_crusher:20210418085135j:plain

ちなみにレーザー加工機Beamoのパラメータ(参考値)

f:id:Blackbox_crusher:20210418085619j:plain
3個のスポンジを接着して必要な高さを得ます。

f:id:Blackbox_crusher:20210418085328j:plain

基板取付側からのスポンジ取付例です。

f:id:Blackbox_crusher:20210418085819j:plain

黒色のスポンジは小さな穴が空いることで、不要反射(内部迷光)が少なく光路制限には理想的です。

これらの工夫をすると暗所でもわからないくらい完璧な遮光ができます。

下の動画は電源ON状態を暗所撮影したもので、真ん中当たりに小さく赤いのが前出の電源ON表示の赤色LEDです。

ロボットを持ち上げた時に、ラインセンサの赤色LEDが床に投光しているのが見えます。

f:id:Blackbox_crusher:20210413000812g:plain

以前から”相手のチームのロボットに自分のロボットが影響を受けているとクレームするチームはその証拠や証明出来るものをみせなければいけません。”と言うルールがありますが、”PixyMom”など標準でビジュアルにセンサの状態をプレゼンできるツールがある状態ですので干渉の証明はとても簡単になりました。

干渉が証明されたら、そのセンサは使えなくなります。

ラインセンサ無しやボールキャッチセンサ無しでは戦闘力低下は著しいと思います。

また相手チームに干渉の証明をさせるのも(干渉を指摘される状況を作くってしまうのも)気分の良いものではありませんのでしっかり対策しましょう。

 

LEDの色に関係なく妨害に至る説明の為にRGBを用いましたが、明度に影響されにくい(されないわけではありません念のため)色判定方法も幾つかありますので調べてみては如何でしょうか。

 

危険性のある事柄については次回と致します。

 

出典:PHOTOGRAFAM.COM