前の記事はこちら RoboCupJunior Rescue New Simulation ハザードマップの発見
自分のPythonの勉強も兼ねて、ちまちまと RoboCupJunior Rescue New Simulation のプログラム作りを楽しんでいます。
ハザードマップの発見ですが・・・
左の F と右の O は意外と簡単に見分けることができるようになりました。
なぜなら・・・単純に色で判断すれば良いからです。
壁に黄色が有ったら・・・それはハザードマップ(O)しかありません。
で、それ以外に壁に赤があったら・・・それはハザードマップ(F)ですね。
ということで、ハザードマップ(O)とハザードマップ(F)は、発見と種別の判定ができるようになりました。
ロボットのカメラ画像から黄色の部分や赤色の部分を閾値を指定してフィルタリングするのですが、その閾値を設定するために、黄色の値や赤の値を調べる必要があります。
そのためには・・・
①ロボットのカメラで撮影した画像情報をファイルに出力する。
②出力した画像ファイルをペイントで表示する。
③ペイントのスポイトを使って調べたい色(例えばハザードマップの黄色部分)を指定する。
④ペイントの「色の編集」で見ると・・・色合い、鮮やかさ、明るさの数値が表示される
こんなやり方で調べました。
で・・・ハザードマップの(O)とハザードマップ(F)は認識も判別ができるようになったのですが・・・その他のハザードマップ(P、C)と文字の被災者(H,S,U)は、相変わらず判別ができません。
仕方が無いので、壁に白いものがあったら、有無を言わさず「被災者H発見(のアピール)」にしています。
ちょっと不思議なのは・・・
被災者Sに「被災者H発見のアピール」をすると、Successful Victim identification なのは当たり前ですが・・・(得点5点)
ハザードマップ(P)に「被災者H発見のアピール」をしても Successful Victim identification となります。(得点:10点)
勿論、被災者Hに「被災者H発見のアピール」をすると、Successful Victim identification と Successful Victim type correct bounus が得られます。
つまり、被災者だろうと、ハザードマップだろうと、発見の得点になるようです。
じゃあ、「なんでも被災者H発見のアピール」の代わりに「なんでもハザードマップ(P)発見のアピール」に変更してみます。(その方が、結果的に高得点が得られると思ったのですが・・・)
被災者Sに「ハザードマップ(P)発見のアピール」をすると、Misidentification of hazard となり減点されてしまいます。(5点減点) (えぇっ・・・!)
ハザードマップ(C)に「ハザードマップ(P)発見のアピール」をすると、Successful Hazard identification で得点になります。
ハザードマップ(P)に「ハザードマップ(P)発見のアピール」をすると、(当たり前ですが)Successful hazard identification と Successful hazard type correct bounus が得られます。(10+10点)
なんか、ちょっと、「被災者発見」と「ハザードマップ発見」の動きが違うように思うのですが・・・
そうすると、作戦としては・・・被災者やハザードマップで種類も特定できた場合は、勿論それを指定して「発見アピール」をするけど、自信がない時には、「とりあえず被災者発見のアピールをするのが吉」ということでしょう!(笑)
続きの記事はこちら RoboCupJunior Rescue New Simulation の感想