Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

CoSpace Rescue 2015 のプログラミングをしてみた その5

2016-01-05 | RoboCup2016

今度は、Stage2 の改良です。

Strage2は、広いので・・・ランダム走行をしていても、そこそこオブジェクトを収集することはできるのですが、なかなか収集箱に入りません。

ただ、ランダム走行を指をくわえて見ているだけでは、全然得点が増えません。

 

やっぱり、何らかの作戦(施策)が必要のようです。

(a) オブジェクトを収集したら、(積極的に)収集箱に入れる

(b) Superオブジェクト、Super+オブジェクトを発生させ、それを確実に収集する

やっぱりこの2つでしょう。

 

まず、(a) ですが・・・

これは、前に出て来た LoadObject の変数を使って、一定以上のオブジェクトを収集(搭載)したら収集箱に行くようにします。収集箱の座標はあらかじめ計測しておきます。Stage2では、ロボットの座標が判るので、収集箱の座標に向かわせるのは結構簡単です。

・・・と思っていたのですが・・・結構邪魔になるのが「障害物」です。名前の通り通行の障害になります。(笑)

でも、とにかく、行きたい座標、ロボットの座標が判るので、ロボットが向かうべき方向が計算できます。早速プログラムに組み入れてみると・・・ちゃんと収集箱に入ります。

お~う やったね!

 

ところが・・・話はそう簡単ではありません。

ロボットが収集箱に向かっている途中で、クルッと踵を返して離れてしまいました。

何で!?

どうも、「信号ブロック領域」に入ったようです。

ルールを読んだだけでは、何のことか判らなかったのですが、この領域に入るとロボット自身の座標が (0,0) になってしまうようです。

これは、けっこう強敵です。

この「信号ブロック領域」は、マップによって固定なんでしょうか? それとも、毎回変わるのでしょうか? 競技中に移動するってことは無いよなぁ?

 

とりあえず、ロボットの座標が (x,y)=(0,0) になったら、「信号ブロック領域」に入ったと判断して、座標計算を無視するようにしました。だから、良く行きすぎます。でも、「信号ブロック領域」を出ると、また収集箱に向かいます。

 

これで、積極的に収集箱に入れるところは、できるようになりました。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする