各チームで作成したコースに沿って動くロボットを作成する。急なカーブもなく、走りやすいラインです。優先道路も二機とも通るようにしてあります。最初はラインの幅が狭く、光センサーの誤認が多かったので、その後ラインの幅を太く改善しました。写真は改善後のものです。今回の課題は小刻みの方向転換を繰り返すことを想定して補助輪を作成、使用。パーツも極力少なくし、軽量化を意識しました。ラインを挟むように光センサーを左右に取り付け,これによってロボットがラインから外れるのを防止し、スムーズにカーブを曲がることができます。マジックによる光の反射を考慮して光センサーを出来るだけ車体の中心に近づけ、コースを光センサーが正しく感知できるようにしました。安定して操縦できるように、四輪に変更しました。四輪にしたことで、車体自体が安定して、タッチセンサーと光センサーの補強も同時にできました。†やや斜めからの撮影となっていますが、横の図です。車輪は大振りのものを利用し、モーターに直接接続してしまったので、スピードがかなりでました。大振りなものから小さめの車輪を利用し、基本形にもどしました。これにより、車体が低くなり光センサーの感知が良くなりました。こちらが二号機です【一号機】タッチセンサーと光センサーを1点で支えるような組み方になってしまった。反省を生かし、タッチセンサの接触部分と土台の所を補強しました。赤丸で囲んだところは、光センサーを中心付近で付けるために工夫したポイントです。//タッチセンサーを2にセットする。//light内のプログラムを起動する。//タッチセンサーが反応する。//light内のプログラムを止める。//機体を静止させる。//機体を1秒間バックさせる。//機体を静止させる。//light内のプログラムを起動する。//光センサーを1と3にセットする。//78秒間したら止まる。//光センサー1、2ともにライン上にある場合、前進する。//ラインから左にそれた場合、右にターン。//ラインを右にそれた場合、左にターン。//ラインから完全にそれた場合は0.5秒停止し、その後0.5秒前進する。//ラインから完全にそれた場合は0.5秒停止し、その後0.5秒前進する。}}•不採用になった理由:・作ったプログラム自体が雑で、重複するような内容があった。・このプログラムだとタッチセンサーが反応してしまった場合、カウントされていたタイムがリセットされ、また78秒動いてしまうので、二周できちんと止まることが出来なかったからです。//光センサーを1にセットする。//タッチセンサーを2にセットする。//光センサーを3にセットする。//両方コース上にあるとき、1.0秒静止し、1.0秒前進する。//タッチセンサーが反応した場合、以下の動作をする。//機体を0.5秒静止させる。//機体を1秒間バックさせる。//機体を0.5秒静止させる。・main1つだけのタスクを利用して作ろうと思っていたが、タッチセンサーのプログラムを上手く取り込めなかった。旧相方にアドバイスを頂き、サブルーチンのような仕組みでプログラムを組むことで、改善することができました。初めに作っていたプログラムの中に、新たなプログラムを入れたので、「}」がどこで切れているのか分からなくなり、思いどうりに無限ループさせることができなかった。プログラムするときは「{」と「}」は、文章ごとに列を合わせれば見やすくなると思い、そのように書きました。・タスクを2つ使うと、タイマーや関数を使ったときにリセットされるという問題点が生じたので、if文を使うことにより1つのタスクで書き直しました。・完成品はif文を多数使用することにより、main1つだけのタスクで作ることができた。・defineを使い、簡略化しました。・できるだけ説明文を書き、何を行うプログラムなのかを分かりやすくしました。・文章の始めと終わりの括弧を列(階層)で合わせました。・関数を使い、「ロボットが停止した回数がX回になったときに止まる」というプログラムを考えたが、タッチセンサーが起動するたびにカウントがリセットされてしまったので、タイマーを使いました。そこで、1周するのにかかる時間を計り、そこから計算して止めるようにしました。・タイマーを使い、丁度2周で止められるように工夫したい。・関数を使って、丁度2周で止められるように工夫したい。・作動にエラーが起こらないように、プログラムを関数などを使いよりコンパクトに作りたいです。・要らないプログラムを削ること。・写真のところでも触れたように、一号機を目指してプログラムを組んでいたのでロボットを変えることでプログラムの変更も余儀なくされた。・補助輪が自由に回転してしまい、機体の動きが補助輪に左右されてしまった。そこで、四輪(二号機)に変えました。・光センサーを写真のように装着するところ。・ダブルバンパーにすることで、様々な高さの障害に対して反応するようにした。・ダブルバンパーするところで、H字のパーツを使い強度UPを図った。・ダブルバンパーが、斜め方向から障害物にあたった場合、折れてしまったので4サイズの棒で補強をしました。・回転するパーツを、パーツ同士で挟み固定したところ。・四輪にしたことで、タッチセンサーの部分と光センサーの固定を頑丈にすることが出来た。・四輪にしたため、速度が劣ってしまった。そこで、三輪で安定した動きをしてくれるロボットも作ってみようと思いました。・コースを完全に外れて迷子になった時のプログラムも入れたいと思います。・主にページの方を担当していたため、ロボット、プログラムの製作にあまり関わらなかったことを少し反省しています。出来上がったロボットは特に突飛なアイディアが使われている訳ではありませんが、堅実な感じに仕上がったと思います。・ロボットを作り直すのが、発表会の3日前くらいだったので苦労しました。それと同時にプログラムも変えないといけなかったので大変だった。・最終的にはプログラムはどの機体でも対応できるものにしたが、初めからそのように組んでいたら良かったなと感じました。・ホームページ作成では写真を横に並べるが難しかったです。・課題発表会では、デモンストレーションのときにバンパー同士が交差してしまい、タッチセンサーが走行中に壊れてしまった。それを改善するために4サイズの棒で補強をして本番に挑みました。†コメントをお願いしますよくできています。13:52:32お名前:書くべきことはわりと詳しくかけています。図や写真をもっと積極的に使ってみてもよいです。2周で止まらせる方法としては、両方のセンサが黒になった回数を数えて、ある回数になった止まる方法や衝突した回数を数えてその分だけRun_timeをのばす方法があります。