ウォールフォローにロジックの一例をご紹介します。
LIDARは、主に壁との距離を測定し、この距離を一定に保ちながら測定することを前提としています。(もちろんその他に距離を測定したいものがあれば、測定可能です。)
壁のマシンの距離に応じて「if文」を挿入することで、うまく走行することができます。
シミュレーションのような理想に近い環境では、上記の基礎ロジックのみで十分うまく走行できます。
<サンプルプログラム>
<aside> 🔥 以下のプログラムはそのまま実行できません。適切に修正を加えて実行してください。
</aside>
good_distance = 10
L_green = foo_scan_data #LIDARで取得した値を入れて下さい
if L_green > good_distance:
angle = 右
elif L_green < good_distance:
angle = 左
else:
angle = 直進
実世界では、基礎ロジックのみでマシンを動かすことは非常に難しいです。例えば、以下の状況下が想定されるからです。
基礎ロジックでは、マシンの向きを考慮していないことが原因です。
そこで、以下の2つの値も測定するとより精度を上げる効果を得られることが期待できます。
基礎プログラムと応用プログラムを組み合わせると以下のようなプログラムになることが想定できます。
<サンプルプログラム>
<aside> 🔥 以下のプログラムはそのまま実行できません。適切に修正を加えて実行してください。
</aside>