CENTER:&size(30){ライントレースをするロボット};~ 〜現在作成中(編集者多忙の為)〜~ 目次 #contents *開発日記 [#p3ce862f] **6月2日 [#d51e10d4] 授業中話し合った結果、光センサーを2つ、タッチセンサーを1つ使ったロボットを作ることにした。~ 初☆評価の勢いで、このロボットも%%ハチャメチャに%%しっかりと作っていきたいと思う。 **6月8日 [#a7b6a22f] 明日が締め切りだと勘違いし、慌てふためく。~ 軽くプログラムを作ったものの、何故か直進。改良の余地あり。 **6月9日 [#dcc47eb8] 初号機のお披露目。だが、すぐに改良の手が差し掛かる。速度を上げるため、ギアの比率を変えてみる。 **6月15日 [#cd83f05a] 安心しきったせいか、とうとう期限前日まで手付かず。必死にプログラムを改良するが、やはり直進。だれか救援を・・・ *ライントレースロボ 完成(?)までの道のり [#faf1b674] **基本の車体作り [#re278368] 駆動方法:車輪による移動~ センサー類:光センサー 2個 タッチセンサー 1個~ ドライブベースは説明書に載っているものと同じ。 **センサー類の行き先 [#zed51539] センサーの数が決まったが、どこにつけるかは決めていなかった。~ ロボ製作の上手いメンバーに依頼したところ、高機能なバンパーが完成した。先頭部分にタッチセンサーが配置され、光センサーが並ぶようにバンパーの中央に設置されたものだ。課題1で深刻だった強度不足も全く心配なかった。~ 光センサーが並んでいるので、黒線の中を進んでいくことになった。なるべく線を細くできるように、片方のセンサーの向きを変え、密着させている。~ #ref(2006a/A2/課題2右/SN310103.JPG,30%,センサー); **なるべく速く走れるように [#d3ff6bae] 課題2を見てわかるように、今回は機動力も重視される。~ 駆動案にキャタピラ・車輪・足などが挙がったが、やはり構造が簡単で確実な車輪に決定。ギアの比率を変えることで簡単にスピードアップができた。~ #ref(2006a/A2/課題2右/SN310099.JPG,30%,初号機); **いざプログラムへ。しかし… [#b2ab77fb] 車体ができたところで、早速プログラムを作ってみた。しかし、線を無視して猪突猛進。プログラムを見直しても知識不足のせいか、解決できず。~ 一人のメンバーのプログラムで何とかライントレースができたため、前日はここで諦める。 **そういえば…? [#l994de93] 当日になって、コースを作ってないことが問題に。~ 「何がいい?」と聞く段階で作業が止まってしまい、時間ギリギリから作成開始。その結果がこちら↓~ #ref(2006a/A2/課題2右/SN310106.JPG,30%,でたらめコース); %%人生への迷いが感じられます%%~ 画用紙の両面にコースを書いて、裏表を変えれば色々な組み合わせができるコースもいいなと考えていた。だが、その頃には目の前に失敗作が…~ あえなく一面だけのコースとなりました。 **忘れられた存在 [#lf50b0b6] 今まで全く交換していなかった電池ですが、少し気になって調べてみたところ電圧は7.78V…~ 授業では8Vをきったら交換しろと言われていました。まさか誤作動はこれが原因なのでは? **いざ発表? [#d5fa2803] さあ発表…と思いきやあまり発表らしきものはしなかった。~ まぁ一部未完成だったしいいかなぁと。結局この日はそれで終わりました。 **おまけ [#g37a9f63] 上の写真ではスッキリしたロボットですが、オプションパーツが存在します。それにプログラムにはOUT_Bの文字が…~ その正体は…? ~ ~ ~ こちら~ #ref(2006a/A2/課題2右/SN310104.JPG,30%,輪ゴム飛ばし機); いや〜とても画期的な発明です。モーターが回ると引っ掛けた輪ゴムがだんだんと上にいき、最終的には発射されます。~ これで前のロボットを攻撃か? *まとめ [#v10d12ce] **苦労した点 [#rd5db030] -タッチセンサーと光センサーの取りつけ方。 バンパーとして取り付け。 -あるメンバーのプログラムを受け付けなかった。 プログラムが原因?電池が原因?未だに不明 &size(10){いつか復讐を…}; **工夫した点 [#r3e972db] -センサー複合型バンパー(なかなか丈夫)取り外しも簡単にできます。 -車輪のギアを変えると簡単にスピードアップ&size(10){最初からです…}; -センサーの感知部分を密着させ、細い線でも走行可能にした。 **今後の課題 [#q351602c] -たまにロボットが発症する「気まぐれ」の解明。 -プログラムを正確なものにする。 *反省 [#h3690c0a] *プログラム [#q606897f] **受け付けなかったプログラム(当たると旋回) //製作者 少年 [#yd9581c0] #define light 35 //光の閾値 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーと定義 SetSensor(SENSOR_2,SENSOR_TOUCH); //センサー2をタッチセンサーと定義 SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーと定義 OnFwd(OUT_B); //おまけを始動 while(1) { if(SENSOR_1>light) //センサー1が線の外の場合 { Float(OUT_C); //進みながら左へ曲がる }else{ //そうでない場合 OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_3<light) //センサー3が線の外の場合 { Float(OUT_A); //進みながら右へ曲がる }else{ //そうでない場合 OnFwd(OUT_A+OUT_C); //直進 } if(SENSOR_2==1); //物に触れた場合 { OnFwd(OUT_A);OnRev(OUT_C);Wait(180); //旋回 } } } *コメント欄 [#n6b11ea7] よろしければアドバイスを… #comment