前の記事はこちら RoboCupJunior Rescue New Simulation の Screen recording
前回、右手法で進むロボット(のプログラム)を作成したのですが・・・
そろそろ、マッピングに挑戦しようかと・・・
まず最初に、自分の位置を認識できるようにしてみます。
どうも、ロボットの絶対位置を把握できる GPS というセンサー(!?)があるらしいのですが・・・
普通にロジックだけで管理します。
スタート時に向いている方向を北にします。
右90度回転なら東に、左90度回転なら西にします。
同じように・・・最初の座標を( x , y )=(20,10)とします。
北に1タイル進めば、ロボットの位置は(20,11)になるし、さらに東に2タイル進めば( 22,11 )になります。
という、単純なロジックで・・・
スタート地点に戻って、ロボットの向きが北になれば、競技終了です。
動画は、こちら・・・
RoboCupJunior Rescue New Simulation(DEMO) sample robot-3
相変わらず、被災者を発見する機能が無いので、単に経路を進んで、スタート地点に戻って終了するだけです。
ちなみに・・・私は Python を知らないので・・・たまにプログラムを作るときに、ググりながらプログラミングをしてます。
今回分かったこと・・・
・関数の外で宣言した変数を関数の中でも使いたいときには、globalを付ける
・割り算の余りは mod で計算する。
・配列の添え字は0から始まる
・・・
と、やってみて、初めて基本的なことが分かりますね(笑)