Re: The history of "M&Y"

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

RoboCupJunior Rescue New Simulation マッピングできた!

2021-06-02 | RoboCup2021

前の記事はこちら RoboCupJunior Rescue New Simulation のプログラム

 

さて、いよいよマッピングに挑戦です。

で・・・Pythonを良く知らないので、文法をググりながらコーディングをしていきます。

今回は、自分のPythonの勉強を兼ねているので・・・できるかぎり単純なプログラムでマッピングをしています。

こういうマッピングは2次元配列に地図情報を書き込んでいくのですが・・・

今回は1次元配列を2つ使ってマッピングをしています。

出来たのがこれです!

マップは、NewSIMのページにあるサンプルコース(Area1-02)です。

 

RoboCupJunior Rescue New Simulation(DEMO) sample robot-4

 

相変わらず、元々ロボットに装備されているセンサーしか使っていません。

周囲6方向の距離センサーと、床の色を見分けるカラーセンンサー、あとは車輪の回転角を検知するロータリーエンコーダです。

ジャイロやGPSを使えば、より正確になると思いますが・・・基本のセンサーだけを使うことにこだわりました。

 

で・・・今回 Python の配列を使って・・・これはすごい(便利!)とおもったのが・・・

・配列の大きさを宣言せずに、配列の大きさがダイナミックに変化すること

 例えば m=[1,2,3] に m.append(4) で m=[1,2,3,4]になる

・配列の最後の要素を簡単に取り出せること

 例えば m=[1,2,3,4]のときに m[-1] で最後の4が取り出せる

・配列の要素の中にある数値があるかを簡単に調べられること

 例えば m=[1,2,3,4]のときに result = 3 in m とすると、mの配列の中に「3」があるかどうか調べることができる。この場合は、 result は Ture になる。

これらを駆使して、マッピングのプログラムができました。

 

と・・・マッピングのプログラムは、意外とあっさりできたのですが・・・苦労したのはここからでした。

壁からの距離や、1タイル分の進む距離、90度回転の微妙な調整など・・・迷路を普通に進むための調整が大変でした。

努力の結果・・・上の動画のように、正確にマップを一周できるようになりました。

(誰もほめてくれないので、自分でほめときます。よくやった! 俺! 笑)

 

続きの記事はこちら RoboCupJunior Rescue New Simulation ロボットの絶対位置・・・


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« RoboCupJunior Rescue New Si... | トップ | プリウスαねた Anti-Slip Ma... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

RoboCup2021」カテゴリの最新記事