もくじ メンバー †
今回こそはやりますよ。
課題 †黄色いホイールを2個以上連射するロボットを作成し、以下の動きをするようにプログラムを作成せよ。ただし1,3は懐中電灯を2個使用し、ロボットの動作中は懐中電灯を動かさないがいろいろな距離や方向にある懐中電灯に対応できるロボットにすること。2は懐中電灯を1個使用し懐中電灯をゆっくり動かす。 (重複しないように一人一つ以上のプログラムを作成すること。2人のチームは1と2、3人のチームは1〜3) 1. 全方向から2つの懐中電灯の方向を探しだし、懐中電灯を狙ってホイールを投げる。可能な限り正確な方向に投げること。 2. 懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。 ロボット †これまでに学んだ技術を総動員して作り上げました。ルンバにも負けない出来です。
ディファレンシャルギア †モータ一つで直進から旋回までこなす優等生。複雑なので仕組みはよくわからない。 光センサー †射出機 †バレルを長くして射撃の精度を高めました。目標を狙い撃つぜ。 連射機構は単純で、次弾が上から落ちてくるだけ。下部のレールに傾斜がつけてあるので、弾は叩かれ易い位置に来ます。 工夫点 †ホイール砲に使ったアームを全部隠してしまいたかったが、重すぎるので断念したところ。 プログラム †いぼぢ †課題2のほうです #define ROUND 100 // 1周する時間 #define GO Off(OUT_C);OnRev(OUT_C);Wait(30);OnFwd(OUT_C);Wait(30);OnRev (OUT_C);Wait(30); //ライトに向かって進む #define throw Off(OUT_C);OnFwd(OUT_B);Wait(100);Off(OUT_B);//投げる task main() { SetSensor(SENSOR_2,SENSOR_LIGHT);//センサー2を光センサーに設定 ClearTimer(0); int n = 0; //光の最大値 while(Timer(0) < ROUND) { OnFwd(OUT_C); if(SENSOR_2 > n) { n=SENSOR_2; } } while(n > SENSOR_2 ) { //センサー2が最大値に達しなければ回り続ける OnFwd(OUT_C); } while(SENSOR_2 >= n) { // ライトを見つけたら GO; // ライトに向かって進み } throw; // 投げる } キングオブハート †感想 †いぼぢ †キングオブハート †左がゴツいので右にも何か持たせたかった。 ロボコンも頑張ります。 コメント †コメントをどうぞぜひ まだみたいなので、終わったらまた見ます。 FI |