・移動形式 タイヤ (キャタピラを妥協。。。泣)
・概略 ロボットの形は初期のロボットにセンサーを取り付けるための部品を取り付けた簡単で規模の小さいものであります。ちょっともの足りないかもしれませんのでご了承下さい。。。
ロボットの前部に光センサーを取り付けそれより前にタッチセンサーをつける。光センサー1つ、タッチセンサー2つの計3つを車両の前方に取り付けてみました。 光センサーは、コースである黒い線を認識するプログラム。 前方につけたバンパーにはタッチセンサーが取り付けてあり、バンパーが前にいる車に接触する事でタッチセンサーが押され、前にいる車に接触した事を認識する事でその後のプログラムに移行します。
なぜ光センサーが1つでタッチセンサーが2つなのかというのについては、いろいろなグループ内での葛藤があって話せば長くなるんです。人にはなかなか言えない何かが色々あったんです。
今回は例の規模の小さい簡単に作成できるロボットの写真を撮り忘れたようで写真はありません。申し訳ない。
・マシン作成の流れ
いろいろな繰り返しの中で作り上げたこのマシンを説明させていただきたいと思います。。。
・前にある障害物にあたると反転して戻るプログラム
制作者 祇園 安部
#define hi 45 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); while(true){ if(SENSOR_1 < hi) //黒線上にいるとき { OnFwd(OUT_A); //左回転 Off(OUT_C); } else //黒線上にいないとき { Off(OUT_A); //右回転 OnFwd(OUT_C); } if((SENSOR_2 ==1) || (SENSOR_3 ==1)) //障害物にあたったとき { OnRev(OUT_A+OUT_C); //後退 Wait(100); OnFwd(OUT_A); //左回転 Wait(250); OnFwd(OUT_C); //前進 } } }
・前にある障害物にあたると追い抜くプログラム 制作者 祇園 高野
#define hi 45 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); SetSensor(SENSOR_2,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); while(true){ if(SENSOR_1 < hi) //黒線上にいるとき { OnFwd(OUT_A); //左回転 Off(OUT_C); } else //黒線上にいないとき { Off(OUT_A); //右回転 OnFwd(OUT_C); } if((SENSOR_2 ==1) || (SENSOR_3 ==1)) //障害物にあたったとき { OnRev(OUT_A+OUT_C); //後退 Wait(100); OnFwd(OUT_A); //左回転 Wait(150); OnFwd(OUT_C); //前進 Wait(150); Off(OUT_A); //右回転 Wait(150); OnFwd(OUT_A); //前進 Wait(150); Off(OUT_A); //右回転 Wait(150); OnFwd(OUT_A); //前進 Wait(150); } } }
・苦労した点
・今回の反省点
・担当者 本体&プログラム&ホームページ 祇園 高野 安部 (順不同)
皆さんのありがたきコメントをどうぞ〜♫