紙の上に書かれた黒い線を自動でたどってゆくロボットです。四輪モデルでは半径が1.5cmのカーブがスムーズに曲がり切れなかったため、小回りの利く三輪のモデルに改良しました。前の二つのタイヤはそれぞれ独立したモーターで動かし、前輪どうしを結んだ線の中点を軸として回転します。回転軸とセンサーライトまでの距離が短いためセンサーが大きく左右にふられて線を見失ってしまう事が少なくなりました。後輪はロボット全体を支えるための補助となっています。缶を挟む構造がない為何もありません。光センサーは値にばらつきが出ないように地面に近くなっています。(1�ぐらいです)光センサーと前輪の車軸との距離は近めで3�ほどです。課題は交差点を判断し、途中におかれた缶をどかし、元の位置に戻してからまたライントレースを続けゴールまで行く。ものでしたが今回は缶に関するプログラムまでは到達できずライントレースのみの課題報告となっています。問題の半径1.5のカーブでは、主となる前の二つのタイヤが離れているため、センサーライトがうまく値を読み取らないと大回りしてしまいました。このことは交差点までの時間を定義していたところに問題が生じさせました。大回りすることで交差点近くになるまでの時間が延び、定義が意味のないものになってしまいました。決められたコースを一周するプログラムです。小回りでは両タイヤを逆回転させています。交差点近くになるまでの時間は、ライントレースで急なカーブを曲がったりするとき、交差点と判断してしまうため定義しました。conrringのプログラムが動く条件が整います。遅くタイヤが回転しますtu_le;Wait(20);Off(OUT_AC);go;Wait(20);ClearTimer(0);}交差点を判断した時に行う一連の動作です。音が鳴ってからまっすぐに向き直り交差点を渡ります。SetPowerはこの一連の動きを制御するのにゆっくりと動いたほうが扱いやすかったため入れておきました。}プログラムの説明ノーマルトレースでは、黒・薄い黒・境界部・薄い白・白の5段階で動作します。黒領域では右回転、白領域では左回転をその場で行います。薄い黒では右、薄い白では左に片輪回転、else{go;}に当たる境界部ではそのまま直進します。交差点に来ると特定の動きをするプログラムが始動する仕組みが思いつかなかったので、すべての動作をif文に入れて()内の条件を厳しくすることで交差点でのみ特定の動きをするようにしました。交差点に接近する時間が経つまでは条件外で動きません。プログラムが動くようになります。{conrring;order++;}三回目ーーー。{conrring;order++;}四回目ーーー。確実に交差点を渡るため4つのプログラムを用意。交差点を渡るプログラムは、交差点に近づくまでの時間が違うだけでほとんど同じプログラム..。プログラムが見にくく、長くなる原因となりました。一つのプログラムで多くの場合に対応できるようにしたいです。今回のライントレースでは交差点を超えて一周することが出来なかったです。問題としてthresholdの値がうまく決まらず一番初めの直角が曲がれなかった事が大きかったと思います。交差点への侵入角度によってあらぬ方向へ行く事もありました。今度からは確実性も高めていきたいです。はじめに説明書に書いてあるとうりに作った四輪のロボットでは、二つ目の交差点を横切るところまではうまくいきましたが、ロボットを二輪に改良してからセンサーライトの感受性が変わり一番初めの直角が曲がれなくなってしまいました。一時は自分の影でセンサーライトの値が変わっていることに気づかずプログラムを書き換えてしまい無駄な時間を使ってしまったこともありました。