前の記事はこちら RoboCupJunior Rescue New Simulation 被災者の発見・・・続き
自分のPythonの勉強も兼ねて、ちまちまと RoboCupJunior Rescue New Simulation のプログラム作りを楽しんでいます。
今回のお題はGPSです。
もともと、被災者発見のためにGPSが必要なのでに、組み込んでいました。
で・・・このGPSですが・・・(当たり前ですが)ロボットの現在位置(絶対座標が)分かってしまいます。
これは、強力です。
まさにチートです。(笑)
M&Yが参加していたRescue-B(今のRescue Maze)では、脱出ボーナスを得るために、マッピングをします。そして、現在ロボットがそのマップの中のどこにいるのかを、ずっと継続して管理します。迷路を進んでいくうちに・・・進む距離がズレたり、回転が足りなかったり、何かに引っかかったりして・・・(いわゆる)マップがズレてきます。チームは、いかにマップをズラさない努力をしてきました。2012年の世界大会では、まともにマッピングをして、脱出ボーナスを得られたのは、M&Yのみでした。そういう苦労した経験があるからこそ・・・この GPS は、簡単(安易)すぎる! と思います。
と、ひととおり、ほざいたところで・・・
このGPSを使って、1タイル分、進む機能を作りました。
普通は、タイヤの回転数(回転角)を検知するロータリーエンコーダーを使って、1タイル分を進んだかどうかを判断するのですが・・・GPSは、自分(ロボット)の現在の位置(座標)が分かります。ですから目的地の座標が分かれば、目的地に着いたかどうかが簡単にわかってしまいます。
左右の壁との距離なんか、測らなくても経路の真ん中を通ることができちゃいます。
Rescue Maze では、壁が少ないマップは難易度が高いのですが・・・この New SIM では、GPSが使えるので、壁が多かろうと少なかろうと、関係なく簡単に(そして正確に)迷路を進むことができちゃいます。
下の動画は、サンプル Aria1-03 です。
RoboCupJunior Rescue New Simulation(DEMO) sample robot-7
全然、危なげなく進み、すべての経路を探索して、もう確実にスタートタイルに戻れます!
完璧ですね!(笑)
個人的には・・・GPSは使えなくした方が、競技が面白くなると思います。
(GPSがあると、誰でも簡単に戻れちゃいます。誰でも簡単に脱出ボーナスが得られてしまいます。)
実際のレスキュー現場に照らして考えても・・・広い運動場でレスキュー作業をするのではなく、大きな(倒壊した)建物の中でレスキュー作業をするのだからGPS信号は届かなかったり不正確な状況ですよね・・・