今回の課題は指定されたコースをライントレースするロボットをつくること。交差点では一秒停止し、音を鳴らす。【ロボットの後ろ】ロボット本体の構造は課題1と大きく変わらないが、ロボット前面に光センサ(青い四角いもの)を取り付け、ライントレースができるようにした。TMAXTMAX(t)...連続して黒になってもライントレースを続ける時間の最大値。tを変えることで時間を指定できる。}while(t=○)...○の間、条件に従ってプログラムを繰り返す。ClearTimer...ロボットに内蔵されたタイマーをリセットする。if...ロボットが次に何をするかを判断するために必要な条件を指定できる。...ifで指定した条件以外で、さらに条件を追加したい場合に使用する。SENSOR2>50...光センサー2の値が50を超えた場合、条件に従って動作する。百発百中でゴールにたどり着くわけではないが、課題通りに動かすことができた。ゴールにたどり着くまでの時間は45秒だった。†サブルーチン、その他のプログラミングの意味や使い方をよく理解していない。【対策】カウンターを利用した。理解しきれていないので、次の課題を終えるまでに意味を覚えたい。†コースの明るさがバラバラなのか光センサーが安定しない時がある。【対策】ところどころ色を塗り、光センサーの位置を変えることで対処した。それでも、完全に対処できたわけではないので、繰り返し調整することで対応した。交差点は次の手順で判別した。�TMAX(上に記載)を使用し、光センサーが連続で黒になった時間に制限を付けることで交差点かどうかを区別する。[1]黒になった時間が最大値20以上の時そこは交差点と判断して、別の動作へと切り替える。プログラムに従って、ライントレースを続けて行う。�交差点と判断したあとの動作を指定カウンターを利用することで、それぞれの交差点にたどり着いたあとの行動を指定した。交差点を判断して、その場で右折しようとすると、右折後にラインを見失い、ライントレースができないことがあるので、判断後に1度交差点を通り過ぎ、その後に旋回することで、交差点を曲がれるようにした。今回の課題はプログラミングを重視したものであり、調整やプログラムが非常に難しく感じた。最初はサブルーチンを使用したプログラムを考えていたが、ロボットが思うように動作せず、カウンターを使用することにした。最終的に目的地にたどり着くことはできたが、正確さ・スピードを考えるとまだまだ改良できただろう。今回は時間の都合上、改良することはできなかったが、次は早く課題をクリアし、よりよくできるようにしたい。