- ルール
スタートラインから黒線のトラックに沿いながら2周し、
タイムとルートの正確さを競う。
- 動作説明
時計回りに2周させる。黒線の上では直進させ、灰色の線に来たら
速度を落とし左に曲がる、白色の線に来たら速度を落として右に曲がる。
銀紙の上で音を鳴らす。
- 注意点
マシンの構造はステアリング+後輪駆動にすること。
- 車体設定
モーターAを後輪駆動、Cをステアリングとする。
センサ1をライトセンサ、3を角度センサとする。
色の識別はライトセンサの範囲で決定する。
曲がる角度は角度センサの範囲で決定する。
センサ1が黒色を感知したらモーターCは固定してモーターAを回転させる。
センサ2が灰色を感知したらモーターCを左に曲げ、固定せずに滑降させ、
モーターAのパワーを落として曲がる。
センサ2が白色を感知したらモーターCを右に曲げ、固定せずに滑降させ、
モーターAのパワーを落として曲がる。
- プログラム(未完成なので言葉での説明)
- Cのパワーと方向を設定する。
- 以下を無限ループで繰り返す。
センサ1が黒色領域を感知し、センサ3の値ω1〜ω2であるならAのパワーを
設定してonにする。範囲外でω3以上ならCの方向を右回転に設定し
(ω3以下ならCの方向を左回転に設定)AとCをonにする。その後Cをoff
にする。
センサ1が灰色領域を感知し、センサ3の値がz以上のときCをoffにして
Aのパワーを設定し(z以下のときCの方向を右回転にしてCをonにし)
Aをonにする。
センサ1が銀色領域を感知し、センサ3の値がx以下のときCそのままで
(x以上のときCの方向を右回転にしてCをonにして)Aをonにする。
センサ1が白色領域を感知し、センサ3の値がy以下のときCをoffにし
Aのパワーを設定し(y以上のときCの方向を右回転にしCをonにして)
Aをonにする。
- 考察
プログラムは完成していたが、3限に計ったライトセンサの値が4限のときと
変わっていて車がきちんと走らなかった。
ライトセンサの位置が高かったのが一番の原因だと考えられる。紙とぎりぎり
1mmぐらいの距離につけないと周りの環境、照明や汚れ、立ってる人の影などで
ライトセンサの値がすぐ変わるせいである。
前輪のステアリング機能にも問題があると思われ、コーナーでまわらなかった。
後輪と前輪の高さが違うと前輪がある角度を越えるて左右に曲がるとタイヤが浮いて、曲がれなくなる。
また、前輪と後輪の大きさが違うと曲がるときのパワーが大きすぎたり小さかったりして制御がむずかしくなることがわかった。
完成に向けて車とプログラムの改善が必要である。