前の記事はこちら RoboCupJunior Rescue New Simulation マッピングできた!
ロボットの絶対位置を簡単に知ることができてしまう、素晴らしいセンサー・・・それがGPSです。
これまで、そんなチートのセンサー使ってやらない・・・と意地になっていたのですが・・・
被災者発見は、GPSの値を使うので、次のステップアップにはGPSが必要なようです。
で・・・サンプルを見ると、簡単です。
gps = robot.getDevice("gps")
gps.enable(timestep)
x = gps.getValues()[0]
z = gps.getValues()[2]
たったこれだけで、ロボットの絶対位置がわかってしまいます。
やっぱりチートセンサーですよ(笑)
上のサンプルで、( x , y ) ではなく( x , z ) となっています。このシミュレータでは、y軸は上方向なので、平面座標は( x , z )のようです。
この絶対位置が分かってしまうと、左右の壁との距離を測って、通路の真ん中を通る・・・というロジックがで努力をしたのが馬鹿らしくなりますねぇ。
実際に動作させて、GPSの値を読んでみると(表示させてみると・・・)スタート地点が( 0 , 0 )ではありません。座標の中心は、マップの中心(あたり)にあるようです。
ここらへんが、まだ良くわかっていません。