前の記事はこちら いまさらながらRCXを動かしてみるプロジェクト!? その10
さて、なんとか、ハードの再生(修理)が完了した M&Y zwei ですが・・・
ライントレースのプログラムにギャップのプログラムを追加しました。
ギャップは・・・3つの光センサーがすべて黒でない(つまり全部白)を感知した場合に発動する・・・
という条件で組み込んだのですが・・・
普通にライントレースしている場合でも「全部が白」という状況になることが分かりました。
こういったノイズを除去する方法は、M&Yとしてはソフト的な対応が得意です。つまり・・・「全部が白」が3回連続したらギャップに入った(又は黒線を外れた)という判断にしました。
ギャップに入ったら、ロボットを左右に90度回転して、黒線を探します。左右の回転で黒線が無ければ10cmほど直進して、やっぱり黒線がなければまた左右に90度回転します・・・と繰り返します。
で・・・この左右に90度回転をするのに、ジャイロセンサーなどという素晴らしいものは搭載していないので、タイマーを使って回転するのですが・・・床の摩擦などで回転(角度)が一定になりません。(まあ、これはしょうが無いですかねぇ) ということで、ギャップのプログラムはできましたが、ちょっと精度が悪いです。 でも、左右の回転は直角などで黒線を外れた場合に有効なので、外すわけにはいきません。
とりあえず、このプログラムを追加したことで、ライントレースの精度がめっちゃ上がりました。
(普通のライントレースでは、めったに外れなくなりました!)
ライントレースの精度は上がるのですが・・・ギャップを越えられる確率はあまり高くありません。
左右に回転して、黒線を探すのですが、黒線が無い時には元の角度に戻るハズなのですが、けっこうズレます。これは、どうすれば良いのですかねぇ。ジャイロセンサーなんて無いし、ロータリーエンコーダも無いし・・・
動画も追加してみました・・・
いまさらながらRCXを動かしてみるプロジェクト!? その11 ギャップの通過
続きの記事はこちら いまさらながらRCXを動かしてみるプロジェクト!? その12