[[2011a]] [[2011a/A6/課題4右]] *目次 [#bd2a7c43] #contents *課題4の内容 [#cdce30da] サッカーゲーム!! ディフェンス(空缶)をどける→テニスボールをゴールにシュートする。 ちなみにうちの班はロボットは一体だけ。 *メンバー紹介 [#q0b1cee9] Ku☆ra 様&keisuke&イーノック&mika *ロボット [#ydfa2d62] お名前:ハウルのブロウクンハウス(Ks) &ref(全体‐上.JPG); &ref(上.JPG); **本体 [#a4eb62f5] このロボットの課題達成方法はまずボールを3つ一度に取り入れて それを持っていき円内から発射するというものである。確実に3つ入れるのと 少々賭けでも3つ投げた方が良いのではということでこの手法にした。 実際に3つはできなかったが。 &ref(横.JPG); 設計上同時にボールを3つ保持しなくてはならず、ゆえにそのスペースが必要である。 ということでその内部に収納。これはそのボールが外に 飛び出さないようにするための壁である &ref(後部.JPG); ここが壁にぶつかることでボールが木の板はさまれた部分に ボールの取り入れ口が来る。少々もろいのが難点。パーツが足りなかった。 無駄なパーツが多かったのかもと思う。 **ボールの回収 [#fd4a55bf] 長いアームを本体に装着している。少々大きすぎたために本体が 多少傾いてしまった。 &ref(アーム.JPG); アームそのものにもモーターを装着している。このアームそのものを伸ばして そこで先の部分を回転することで三つ目のボールを回収するようになっている &ref(所持.JPG); 予定ではボールを3つ一気に回収して本体内部に収納する。多少本体が 傾いているために発射口に勝手に転がっていく。 **ボールの発射[#mc1c6d38] &ref(発射口.JPG); 本体の傾きによりボールは勝手にここに流れ込んでくる。 &ref(射出方法.JPG); このように台そのものを上げることで発射する。押し出したりするタイプでは なく、レールの上を転がすタイプになっており正面に正確に発射できる。 *プログラミング [#ffd0862f] **本体 [#a020fb97] #define THRESHOLD 40 #define RUN_TIME 10 #define BALL_CATCH 1 #define END_CATCH 2 #define Turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); #define Turn_L(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C); #define GO_ST(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //定義付け task main() { SetSensor(SENSOR_3, SENSOR_TOUCH); SetSensor(SENSOR_2, SENSOR_LIGHT); SetSensor(SENSOR_1, SENSOR_LIGHT); //センサーセット SetPower(OUT_C,7);SetPower(OUT_A,7); OnFwd(OUT_A+OUT_C);Wait(110);Off(OUT_A+OUT_C); Turn_R(60); //円から出る while(SENSOR_3 == 0) //壁に当たるまでライントレース { if (SENSOR_1 > THRESHOLD && SENSOR_2 > THRESHOLD) {OnFwd(OUT_A+OUT_C);Wait(20);Float(OUT_A+OUT_C);} else if(SENSOR_1 < THRESHOLD && SENSOR_2 > THRESHOLD) {OnFwd(OUT_C);Off(OUT_A);} else if(SENSOR_1 > THRESHOLD && SENSOR_2 < THRESHOLD) {OnFwd(OUT_A);Off(OUT_C);} else if (SENSOR_1 < THRESHOLD && SENSOR_2 < THRESHOLD) {OnFwd(OUT_A+OUT_C);Wait(30);Off(OUT_A+OUT_C);} } Off(OUT_A+OUT_C); OnFwd(OUT_C+OUT_A);Wait(40);Float(OUT_A+OUT_C); //微調整 SendMessage(BALL_CATCH); //アームにメッセージを ClearMessage(); until (Message() == END_CATCH); //メッセージをもらったら OnRev(OUT_A+OUT_C);Wait(200); Off(OUT_A+OUT_C); Turn_L(60); Wait(50); OnRev(OUT_A+OUT_C);Wait(180); Off(OUT_A+OUT_C); Wait(50); Turn_R(90); Wait(50); GO_ST(290); Wait(50); Turn_R(50); GO_ST(50); Turn_L(50); //無理やり缶をどかして円の中へ repeat(3){ OnFwd(OUT_B);Wait(20); Off(OUT_B); OnRev(OUT_B);Wait(20); Off(OUT_B); Turn_R(30); Turn_L(30); GO_ST(30); OnFwd(OUT_A+OUT_C);Wait(30); Off(OUT_C+OUT_A); Wait(100); } //シュート及びゆさぶり(ボールが詰まらないように) } **アーム部 [#nb839a0b] #define RUN_TIME 40 #define BALL_CATCH 1 #define END_CATCH 2 #define Turn_R(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); #define Turn_L(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C); #define GO_ST(t) OnRev(OUT_A+OUT_C); task main () { ClearMessage(); until (Message() == BALL_CATCH); //メッセージを受け取ったら PlaySound(SOUND_UP); //サウンドアップ!! OnFwd(OUT_C); Wait(100); Off(OUT_C);//台座を下ろす SetPower(OUT_B,7); OnFwd(OUT_B); Wait(300); Off(OUT_B);//アームを出す SetPower(OUT_A,7); OnFwd(OUT_A); Wait(400); Off(OUT_A); //ハンド下ろす OnRev(OUT_B); Wait(300); Off(OUT_B+OUT_A); OnRev(OUT_C); Wait(120); Off(OUT_C);//台座を上げる SendMessage(END_CATCH); } *工夫した点&苦労した点。 [#uc4a038d] 一体にしたこと。光センサーでライントレースした後、一体の中で通信している。一気に3個ボールを取ることをあきらめて2個とることにした。ボールをロボット本体に取り込むとき、方向転回しないで、横から取り込むようにしたこと。取り込んだボールが落ちないようにいろいろストッパーをつけてる。ボールを一個だけ発射するために2個目のボールはとまるようになっている。ただ2個目のボールをちゃんと発射位置に持っていくのがむずかしかった。1個目は割と簡単に横から取り込んだ後、ちゃんと方向転換して発射位置にいくんやけど、2個目を取り込むとき、アームが無理しすぎて本体がよくバキバキしてしまった。微調整の結果いろいろな機能をつけれたけど、その分ぼろぼろパーツがよく取れて、もろくなってしまった。あと、アームのモーターが重くて、だんだんかたむいてくるのが嫌やった。本体がめっちゃ大きいから、ちょっとでもズレたら何かに当たって崩れてしまうんがめっちゃ難点。 *感想&反省 [#gcc055a8] **Ku☆ra 様 [#r4b4685a] とりあえず本体の設計はかなり苦労した。コースの構造を何度も見て考えたが ライントレースをするにしてもちょっと長さとかが足りないのではと思い一個一個 運ぶのではなく3つ一気にした。ボールを一度に3つというのが無理な 発想だったのかもしれないと思ってる。ゴール探しに関してもランプ二つというのが 自分には使い方がわからなかった。二つだから誤認しないのかなどと考え続けて 結局はゴリ押しという結果で美しくなかった。 以上プログラミングに関しても苦労したが最終課題は難しく今までの課題の中で 一番苦労したものの一番楽しめた。 **keisuke [#acc439ec] 最終課題。残り二人が無力すぎてワロタwww **イーノック [#bfe9c41e] 最終課題。さてまずはじめに… 今回の課題について僕はほとんど関与できてません。当然ながら、半戦力外通告です。 構想を考えるだけはしましたが、アームを横につける点、試作段階では円外にありえないぐらいはみ出して今の段階に至ります。アームに半数以上のモーターを利用した、サリー級の贅沢設計になっています。 贅沢をしたい性格なので、半ハッピーですね。 **mika [#yd2b4992] 最終課題。難しかった。班の方々のアイディアに感動!!っっっ *コメントどーぞ [#sc22266c] - 誰か写真貼ってー -- &new{2011-08-18 (木) 13:04:53}; - おkおk -- &new{2011-08-18 (木) 21:10:27}; - つか全員感想終わらせろww -- &new{2011-08-18 (木) 21:12:48}; #comment