・パックを集めるロボ・・・ロボットの先端についている長いアームによって一度に3つのパックを回収することができる。
・パックを積み上げるロボ・・・エレベーターのようにパックを回収し、相方のロボによって集められたパックの上にパックを2つのせる。
パックを集めるロボ
task main() { OnFwd(OUT_A+OUT_C); //前進 Wait(150); Off(OUT_A+OUT_C); OnRev(OUT_A+OUT_C); //後退 Wait(150); Off(OUT_A+OUT_C); OnFwd(OUT_C); //旋回 OnRev(OUT_B); Wait(60); Off(OUT_A+OUT_C); OnFwd(OUT_A+OUT_C); //前進 Wait(110); Off(OUT_A+OUT_C); OnFwd(OUT_A); //旋回 OnRev(OUT_C); Wait(90); Off(OUT_A+OUT_C); OnFwd(OUT_A+OUT_C); //前進 Wait(100); Off(OUT_A+OUT_C); OnRev(OUT_A+OUT_C); //後退 Wait(10); Off(OUT_A+OUT_C); }
パックを積み上げるロボ
task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); //センサー1は光センサーである repeat(2){ //以下の行動を二回おこなえ SetPower(OUT_A+OUT_C,2); OnFwd(OUT_A+OUT_C); //前進 until (SENSOR_1 > 41); //センサーの値が41以上になるまで SetPower(OUT_A+OUT_C,1); OnFwd(OUT_A+OUT_C);Wait(200); //前進 Off(OUT_A+OUT_C); OnFwd(OUT_B);Wait(500); //紙パックを持ちあげろ Off(OUT_A+OUT_C+OUT_B); } repeat(1){ //以下の行動を一回行え SetPower(OUT_A+OUT_C,5); OnFwd(OUT_A); //旋回 OnRev(OUT_C); until (SENSOR_1> 45); //センサーの値が45以上になるまで SetPower(OUT_A+OUT_C,1); OnFwd(OUT_A+OUT_C);Wait(130); //前進 SetPower(OUT_A+OUT_C,1); OnFwd(OUT_A+OUT_C);Wait(180); //前進 Off(OUT_A+OUT_C); OnRev(OUT_B); //持ち上げていた紙パックをおろせ Wait(150); Off(OUT_B); SetPower(OUT_A+OUT_C,1); OnRev(OUT_A+OUT_C);OnFwd(OUT_B); //後退 Wait(600); Off(OUT_B+OUT_A+OUT_C); OnFwd(OUT_C); //旋回 OnRev(OUT_A); until (SENSOR_1> 41); //センサーの値が41以上になるまで Off(OUT_B+OUT_A+OUT_C); } }
一度に多くのパックを回収するため、両方のロボともに大きなパーツを装備させた。
・「パックを集めるロボについて」
一度に出来るだけたくさんのパックを集めるためにアームは最大限まで大きくし、大きなアームでもしっかりとバランスがとれるようにアームにも2つ車輪を取り付けた。
本体にアームを斜めに取り付けることで直進・後退という単純な動作でパックを集められるようにした。
・「パックを積み上げるロボについて」
ロボの前方についているタイヤに紙パックをはさんで、そのタイヤを回転させることによって紙パック上に送る。一度に3つまでのパックを収納することができます。これによって集められたパックを積み上げます。
・先生からもアドバイスをいただき、アームを大きくして斜めに取り付けるという工夫が出来てよかったです。予想以上にたくさんのパックを一度に運ぶことが出来ました。 反省としては、テストや夏休みと重なったこともありなかなかチーム全員で集まって活動することが出来なかったことです。もう少ししっかりと連絡を取り合えれば良かったです。(イチウラ)
通信機能を初めはプログラムの中に組み込んでいたのだが、最終的には不必要となってしまい通信のプログラムを使わなかったので、このロボットの性能がいかしきれなかったような気がして残念です。(t.yoshida)