[[2009a]]
*目次 [#eb6b06f5]
#contents

*ロボットの概要 [#e0eb9221]
 今回、私達が作ったロボットは4輪で光センサーが2個でシングルバンパーが1つというつくりでした。特に工夫したのが''シングルバンパー''。それはシングルバンパーとアームが1つになった様な形にしました。私達は牛乳パックをアームで元の位置に戻すという方法を選んだのでこのような形が1番良いと考えたのです。さらにはアームを片方だけ伸ばし、ロボットの回転に耐え得るようにしました。さらにもう一工夫。タッチセンサーの感度を上げるため、2つの円状のパーツを前に取り付けました。
#ref(2009a/A10/課題2左/090619_1640~01.jpg)
&br; 次に取りかかったのは、光センサー。コースを外れてもすぐに元に戻れるように2つのセンサーを付けました。そうすることでずれを少なくすることができました。
#ref(2009a/A10/課題2左/090619_1735~01.jpg)
&br; 最後は4輪。私達のタッチセンサーは当初敏感過ぎて、少しの揺れで反応することがしばしばでした。そこで4輪にすることで揺れを極力少なくし、問題を軽減することが出来ました。
#ref(2009a/A10/課題2左/090619_1756~01.jpg)
&br; これが全体像です。
#ref(2009a/A10/課題2左/090626_1633~01.jpg)


*プログラミング [#p60d81e7]
**牛乳パックを最初の位置にしたまま進むプログラミング [#o3628af6]
 #define a OnFwd(OUT_A);
 #define c OnFwd(OUT_C);
 #define b OnRev(OUT_A+OUT_C);
 task main (){
        SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_2,SENSOR_TOUCH);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	ClearTimer(0);
	while (Timer(0)<=1500) {
	if (SENSOR_1<50){Off(OUT_A);}else{a;}//左のセンサーが反応した場合左のタイヤを止める
	if (SENSOR_3<50){Off(OUT_C);}else{c;}//右のセンサーが反応した場合右のタイヤを止める
	if ((SENSOR_1<50)&&(SENSOR_3<50)){a;c//交差点の場合は前進する
	if (SENSOR_2==1) {Wait(160);b;a;Wait(210);b;c;Wait(210);b;Wait(50);}
	}//牛乳パックを元に位置に戻し進む
	Wait(10);
	}
	Off(OUT_A+OUT_C);
 }
&br;作成者 柳原
**牛乳パックを次の交差点まで持って行き置いていくプログラミング [#e29fb0df]
 #define a OnFwd(OUT_A);
 #define c OnFwd(OUT_C);
 #define b OnRev(OUT_A+OUT_C);
 sub linetrace(){//ライントレース
	if (SENSOR_1<40) {Off(OUT_A);}else{a;}
	if (SENSOR_3<40) {Off(OUT_C);}else{c;}
	if ((SENSOR_1<40)&&(SENSOR_3<40)){a;c;}
	Wait(10);
 }
 task main (){
	SetSensor(SENSOR_1,SENSOR_LIGHT);
	SetSensor(SENSOR_2,SENSOR_TOUCH);
	SetSensor(SENSOR_3,SENSOR_LIGHT);
	ClearTimer(0);
 repeat(6) {
	while ((SENSOR_1>40)||(SENSOR_2==0)||(SENSOR_3>40)){//牛乳パックに触れるまで進む
	linetrace();
	}
	while ((SENSOR_1>40)||(SENSOR_3>40)){//牛乳パックを交差点まで運ぶ
	linetrace();
	}
	Wait(160);b;a;Wait(200);b;c;Wait(200);b;Wait(20);a;c;//牛乳パックを交差点に置く
 }
	Off(OUT_A+OUT_C);
 }
&br;作成者 丸山
*感想 [#w3b40bde]
 今回、私達は柳原と丸山の2人でこの課題に取り組みました。両者の感想です。
**丸山 [#ic5d115b]
 今回、私が担当したのは下記のプログラミングです。課題は思ったよりも相当難しくプログラミングは困難を極めました。去年の課題の黒い線を沿うだけのロボットは比較的簡単に作れたのですが、その後の牛乳パックを元の位置にしたまま進む、牛乳パックを次の交差点まで持って行き進むという課題には苦労しました。さらには去年よりも周数が増えているというのも精神的に疲れました。最初、交差点でロボットが思う方向に曲がらなかったり、タッチセンサーが思うように反応しない等多くの問題を抱えていましたが、何回も試行錯誤してなんとか完成できました。次回はロボコンなので、もっとプログラムは複雑になるでしょうが、頑張りたいと思います。
**柳原 [#m419ed92]
 今回、私が担当したのは、主にホームページ作成です。自分はプログラミングもパートナーに助けてもらいっぱなしで本当にパートナーには申し訳ないと思っています。今回のロボットは前年よりも格段に難易度が上がっていて先生が少し恨めしかったです。それでも、完成したのは何より嬉しいことです。自分はパートナーに頼ってばかりだったのですが、嫌な顔1つ見せずに頑張ってくれて感謝しています。次回のロボコンは皆の役に立てるように頑張りたいと思います。


*コメント [#d700d99a]

コメント欄がないので直接失礼します。ロボットの説明はわかりやすくかけています。プログラムは、すごくシンプルで、本当に動くのかを疑ってしまうほどです。linetraceというサブルーチンを作っている点はすばらしいです!美しいプログラムだと感じます。(こさか)

ごてごてとしたプログラムが多い中シンプルにまとめあげたのはとても良いです。説明もポイントを押さえていると思います。 (FI)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS