シミュレータ上のラズパイマウスを動かす方法 Part5

ラズパイマウスを動かすまでの流れ

はじめに

シミュレータのチュートリアルPart5,Part6では実際にプログラムでラズパイマウスを動かしていきます。少し難しいかもしれません。

このPart5では左手法という迷路の解析手法を利用して、ラズパイマウスをスタート地点からゴールまで動かしてみようと思います。

左手法について

左手法とは、優先的に左側を向き進み、常に左側の壁に沿って動くことでゴールを目指す手法のことです。 マイクロマウス競技などでも使用されています。

次に取る行動

条件1

条件2

条件3

条件4

左を向く

左、右、正面が空いている

左、右が空いている

左、正面が空いている

左のみが空いている

前進する

正面、右が空いている

正面のみが空いている

なし

なし

右を向く

右のみが空いている

なし

なし

なし

Uターンする

すべて塞がっている

なし

なし

なし

サンプルプログラム

動かすためにはraspimouse_sim_tutorial_programscripts ディレクトリの中にある left_hand.py を使用します。

プログラムは以下のようになっています。

# -*- coding: utf-8 -*-はプログラム内に日本語のコメント書くときに必要で、今回はコードが長くなったのでコメントはプログラム内に書きました。

実行方法

シミュレータを起動しましょう。

次にモータを通電させましょう

今回書いたleft_hand.pyを実行しましょう。

実行結果

今回は判別の閾値を決め打ちで設定しています。 そのため正常に動いているように見えますが、時折変な挙動を示したり壁にぶつかったりしてしまっています。

動作がより良くなるように判別の閾値を変更してみましょう。 判別の閾値は主にmotion関数のif文の値になります。

Last updated

Was this helpful?