*メンバー紹介と今回の課題について [#n7449512] 県の副委員長である教育学部の『藤田 裕介』君、そして私同じく教育学部の『和久田 成治』がペアであります。今回の課題は想像力が藤田君の方が豊かであったこと、僕の方が打ち込みが早いことを考慮し、藤田君にはマシンを任せてしまいましたが、プログラミング(全てではなく、少し手伝ってもらいました(汗))と次のロボットについて以外の入力は僕にやらせていただきました。 *ロボットについて [#nb996888] **工夫した点 [#j64fbe6e] ***ロボット制作にあたり、工夫した点は二点あります。 [#x203bb11] ***一点目はタイヤ部分のギアです。当初の予定では、キャタピラを使う予定だったのですがペンを上下させる箇所にギアを使ってしまったため、使用できなくなりました。また、普通の大きさのタイヤも同様に使用できなくなりました。そのため、少し大きめのタイヤを使用しました。しかしスピードが速すぎて、とても字を書くことができるものではありませんでした。そこで大きなギアを二枚、小さなギアを二枚かませることにより何とか字が書けるようになりました。結果少しごつくなってしまいました。 [#cde3d8c4] #ref(./DSCF0230.JPG,10%) [#x91ccb99] ***二つ目は足もと付近です。少しごつくなりすぎたため重量的な問題からタイヤが落下してしまいました。そこで、穴あきパーツに棒をかませることでタイヤ同士が離れることを防ぎました。また、薄い板をかみ合わせてペンを上下させる装置とタイヤを連結させ、強度を上げました。 [#pc96adc5] #ref(./DSCF0237.JPG,10%)[#ed88dd52] *『天』を書く [#t2f8cf05] #define MOVE_TIME 20 sub side_move() { OnFwd(OUT_B); Wait(MOVE_TIME); //ペンを下げる Off(OUT_B); Wait(30); OnFwd(OUT_A+OUT_C); Wait(100); //字を書きながら進む OnRev(OUT_B); Wait(MOVE_TIME); //ペンを上げる Off(OUT_B); Off(OUT_A+OUT_C); Wait(200); } sub turn_right() //右に曲がる { OnRev(OUT_C); OnFwd(OUT_A); Wait(100); Off(OUT_A+OUT_C); Wait(200); } sub turn_left() //左に曲がる { OnRev(OUT_A); OnFwd(OUT_C); Wait(100); Off(OUT_A+OUT_C); Wait(200); } task main() { side_move(); OnRev(OUT_A+OUT_C); Wait(140); //次の書き始めるポイントまで移動 Off(OUT_A+OUT_C); Wait(200); turn_right(); OnFwd(OUT_A+OUT_C); Wait(15); Off(OUT_A+OUT_C); Wait(200); turn_left(); OnRev(OUT_A+OUT_C); Wait(20); Off(OUT_A+OUT_C); Wait(200); side_move(); OnRev(OUT_A+OUT_C); Wait(30); //次の書き始めるポイントまで移動 Off(OUT_A+OUT_C); Wait(200); turn_right(); OnRev(OUT_A+OUT_C); Wait(120); Off(OUT_A+OUT_C); Wait(200); OnFwd(OUT_B); Wait(MOVE_TIME); //ペンを下げる Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(40); //書きながら移動 Off(OUT_A+OUT_C); Wait(200); repeat(10) //曲線を描く { OnFwd(OUT_A+OUT_C); Wait(5); OnFwd(OUT_A); OnRev(OUT_C); Wait(5); Off(OUT_A+OUT_C); } Off(OUT_A+OUT_C); Wait(200); OnRev(OUT_B); Wait(MOVE_TIME); //ペンを上げる Off(OUT_B); repeat(8) //曲線を描き始めたポイントまでバック { OnRev(OUT_A+OUT_C); Wait(10); Off(OUT_A+OUT_C); Wait(20); OnRev(OUT_A); OnFwd(OUT_C); Wait(5); Off(OUT_A+OUT_C); } Off(OUT_A+OUT_C); Wait(200); OnFwd(OUT_B); Wait(MOVE_TIME); //ペンを下げる Off(OUT_B); repeat(10) //最後の曲線を描く { OnFwd(OUT_A+OUT_C); Wait(5); OnRev(OUT_A); OnFwd(OUT_C); Wait(5); Off(OUT_A+OUT_C); } OnRev(OUT_B); Wait(MOVE_TIME); //ペンを上げる Off(OUT_B); } **以上が『天』です。工夫した点は考察がしやすいようにところどころに待機を入れたりしたこと、あとはバックをするときに前進と同じだだけの秒数で同じだけ動いてくれなかったので待機中に距離を測ったりしたこと。。。くらいです(笑)曲線が最後だったりしてその上をなぞったので内心助かりました(汗)しかし、なぞるといってもバックがやはりうまくいかなかったので、何回も試行錯誤を繰り返したのは言う間でもありません(汗) [#xe5ea2d3] **ちなみに僕が奈良県の天理というとこから来ましたので、『天』を選んで、書くことにしました。 [#j4a3d845] *『沼』を書く [#d1f72749] #define MOVE_TIME 20 sub turn_right() { OnFwd(OUT_A); OnRev(OUT_C); Wait(29); } sub turn_left() { OnFwd(OUT_C); OnRev(OUT_A); Wait(29); } task main() { turn_right(); OnFwd(OUT_B); Wait(MOVE_TIME); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(30); OnRev(OUT_B); Wait(MOVE_TIME); Off(OUT_B); turn_left(); OnRev(OUT_A+OUT_C); Wait(15); turn_right(); OnFwd(OUT_B); Wait(MOVE_TIME); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(30); OnRev(OUT_B); Wait(MOVE_TIME); Off(OUT_B); turn_left(); OnRev(OUT_A+OUT_C); Wait(15); turn_right(); OnFwd(OUT_B); Wait(MOVE_TIME); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(30); OnRev(OUT_B); Wait(MOVE_TIME); Off(OUT_B); turn_left(); OnFwd(OUT_B); Wait(MOVE_TIME); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(15); OnRev(OUT_B); Wait(MOVE_TIME); Off(OUT_B); } **『沼』に関しては、マシンの製造と『天』に以外と時間を使ってしまい、さんずいだけ(しかも完成してない(涙))になってしまいました。『天』の『なぞりバック』(??)と二画目に移る際のマシンの動きには特に使ってしまったのが痛手です(涙)あとはさんずいから刀に移る際の試行錯誤でもだいぶ(というかこれが一番かかったかも)時間を取られ、これもいたででした(涙) [#p3c62100] **いうまでもないとは思いますが『沼』は藤田君の出身地によります。 [#g4e324a6] コメントをどうぞ -写真を使用することで説明もわかりやすくなっており、一文字ずつ感想等を述べているのがよい。 -- [[ヒロヤ]] &new{2007-05-24 (木) 01:02:30}; -沼の方にも、プログラムのコメント、解説をつけておいてください。あと,ページの作り方をもう少し工夫してみてください。pukiwikiでページを作るとき、***や**、*を使うのはタイトルを使うときなので、他の班のページやヘルプを参照しながら、直して置いてください。ちなみに僕も奈良県出身です(どうでもいいけど) -- [[まいける(TA)]] &new{2007-05-24 (木) 08:09:44}; #comment