ライントレース試走・迷路走行試走~競技に向けた最終調整~
1 スタート・ゴールの判定
2 ライントレース走行プログラムのヒント
3 ライントレース試走
4 迷路走行(クランク走行)試走

ロボット講座の15回目です。超音波センサーとフォトリフレクタをロボットカーに取り付けて、迷路走行やライントレースができるようになりました。いよいよ競技大会に向けて最終調整です。タイムレースなのでいかに無駄をなくすか、タイムロスを減らせるかがカギとなります。みんな上位入賞をめざして、競技大会と同じコースを使い、試走を繰り返して、センサ位置の微調整やプログラムの改善に取り組みました。
1 スタート・ゴールの判定
スタート、ゴールの判定は単純な光電スイッチを使う方法で行っています。つまり、スタートとゴールの位置にゲートを設け、このゲートを通過したかどうかを光電スイッチのon-off出力で判定し、このonとoffの間隔を計測します。回路は下図のとおりです。

光電スイッチにはNPN型とPNP型がありますが、ここでは、PNP型は使用し、リレー出力の片側をGND に固定して、センサからの出力+Vをリレーのコイルに供給するようにしました。光電スイッチは受光でON、遮光でONのどちらでも切り替えができますが、通過判定に最適なダーク ONとしています。
これにより、ロボットのスタートやゴールの判定では、ロポットが光を遮った瞬間にリレーを介して信号がコンピュータに送られることになる。なお、リレーのコイルにダイオードを接続していますが、これは遮断時に逆起電力を吸収して安全に放電するためです。
2 ライントレース走行プログラムのヒント
オーバーランをしないでできるだけ速く走行させるためのヒントをいくつか紹介します。
直線コースで速く走らせるためには
なによりも、オーバーランさせないことが大切です。その場合のセンサ配置は3つのセンサが横並び(中央センサが少し後ろ)のパターンがわかりやすく高速に走らせることができます。

①センサ配置:左右のセンサの間隔Cをライン幅より少し大きくし、センサを3つ横並びにするときより少し小さくします。また、センサの進行方向の位置Yは、車軸より少し遠めがよいでしょう。②センサ感度:感度はとても重要です。センサがうまく反応しなければコンピュータにデータが送られず、正確な指令ができません。感度チェックをしておきましょう。

③プログラム:最初はスピードは遅くし、オーバーランせずに走ることを確かめ、少しずつスピードを上げていきます。
黄色の段階:中央のセンサがライン内、左右のセンサがライン外。このときはスピードMAXで、まっすぐ走るように左右のデューティ比を調整します。
緑色の段階:少しだけラインからずれているだけなので、急な曲がりをせず、直線に近い緩やかな曲がりを指示します。
赤色の段階:2つのセンサがラインからはずれているので、緑の段階で指示したデューティ比より少しだけ急な曲がりにします。
※まっすぐ走る、左右大きなカーブで走るなど、モータドライバテストプログラムでちょうどよいデューティ比を確かめてておきます。
直線とカーブが混在するコース

直線とカーブが混在するコースでは、スピードを落とせば、カーブのデューティ比に問題がなければラインに沿って動くはずです。一方、タイムレースの競技会では、できるだけ速く走行させいので、オーバーランしても止む得ないことを前提にプログラムを組む必要があります。今回使用しているモータはおもちゃなどで使用しているDCモータのため、直線とカーブが混在するコースでは、速く走ろうとする場合はオーバーランは当然起こるものとしてプログラムを組む必要があります。そのためここでは中央センサを前にするセンサ配置で進めます。
掃除ロボットで使用されるモータもブラシレスのDCモータなどが使われていますが、エンコーダーやショートブレーキ、フィードバック制御などのシステムによって惰性で動きすぎることの無いようにコントロールされています。

②センサ感度:センサ感度は重要です。特に中央のセンサを前に取り付けることにより、少し下がり気味になる場合、注意が必要です。また、振動でのがたつきを生じないように、しっかりと固定します。
③プログラム:半径25cmのラインに対して、緑色の状態、つまり、左右センサがラインを踏むよりも先に中央センサがラインから出てしまう状態(緑色になる状態)になるように3つのセンサを配置します。
黄色の状態:中央センサはライン上、左右センサはライン外。この時はMAX前進。
緑色の状態:中央センサがライン外に出る、左右センサはライン外。この時はゆっくり前進。
赤色の状態:左右のセンサのうち、どちらかのセンサが黒いライン内に入った状態。この時は左右どちらかに曲がる指示をだすが、その時の曲がる指示は半径25cmで曲がるよりは少しだけ小さな半径で曲がるようにデューティ比を調整して指示する。
青色の状態:3つのセンサすべてがライン外にある場合。スピードが大きいと赤色の状態で曲がるように指示しても、惰性があるのですぐに青色の状態になってしまう。の時は、直前の状態を確認して、直前にラインの中にあった方向に曲がる指示をする。このときの曲がる半径は最小半径、つまり、片輪を止めて曲がる指示をした方がよい。そうしないとラインに復帰しなくなる場合もあります。
デューティー比を決める
直線コースの考え方やカーブコースの考え方が理解できたら、デューティ比チェックプログラムを用いて、自分のマシンに合ったデューティ比を決めることが重要となります。
3 ライントレース走行試走
ライントレース走行の試走を競技と同じコースで行いました。


赤外線フォトセンサを利用した迷路走行は比較的うまくいったようです。みんな何度もコースを走らせセンサの位置やプログラムの修正に一生懸命です。
3 迷路走行(クランク走行)試走
超音波センサで反射してくる超音波を感知して、壁までの距離を測って走行する場合、壁が垂直でないと精度が出ません。今回、迷路走行で最も苦心したポイントです。

クランクを何回も走行させてプログラムを修正。なかなかライントレースのようにはいきません。でも、試行を繰り返すことで、時間はかかりますが、完走できる車が増えてきました、競技大会が楽しみです。
