[[2006a/MemberOnly/進行状況B]] *ロボコン [#od8b0f25] :日時|8月2日 12:30〜 :場所|20番教室 #contents **メモ [#k130cf99] -とりあえず、何か浮かんだら書いてみてください -- [[HAL]] &new{2006-07-14 (金) 15:59:19}; -後少しで完成だ〜〜〜〜〜〜〜!!! -- [[雲母]] &new{2006-08-02 (水) 12:35:54}; #comment **メンバー [#e068c0bd] -さんさー -偽プログラマー -ロボット制作者(株) -偏頭痛 -ゆかいな仲間たち -HAL **概要 [#p041445f] ロボコンページ参照 [[2006a/ロボコン]] **作戦 [#ifdc0732] :確実に|何度も往復する時間や、確実なプログラムを作るのは難しいので1つの缶を確実にゴールに運ぶ。 :小さく|障害物を極力動かさないようにコンパクトなロボットにする。 **ロボット [#v37f2780] ***1号 [#e4658a42] |#ref(1_1.jpg)1号正面図|#ref(1_2.jpg)|#ref(1_3.jpg)| |1号正面図&br;手前に見えるのが、上下に動くアームです。|アームと本体の接続部分&br;側面から見ると、しっかり固定してあるのがよくわかる。&br;これがないと崩れるかも。。。|アームを動かすモーター。&br;上下に動けます。| -ロボコンエリアの右側半分を担当するロボット。 -缶の上からアームをかぶせる事により、缶を運ぶ。 -タッチセンサ−1個と、光センサ−2個装備。 -タッチセンサーにより、アームの上げ下げのタイミングをはかる。 -ライントレースのための光センサーは、間隔をあまり離さず取り付けて、横線を読み込みやすくする。 -------------------- ***2号 [#lbf51c89] |#ref(2_1.jpg)|#ref(2_3.jpg)|#ref(2_4.jpg)| |2号の原型。&br;初めは1号にそっくりな形でした。|現在の2号&br;足回りはキャタピラになりました。&br;正面についたタイヤは浮いていて、&br;段差を超えるのを助けます。|2号を後ろから見た図。&br;スライド式のアームで缶を挟み込みます。&br;問題は強度。。。| &br; |#ref(2_6.jpg)|#ref(2_7.jpg)| |アームスライドの仕組み。&br;キャタピラにギアを使ってしまったので、&br;輪ゴムを使ってみる。&br;意外とスムーズに動きます。|最終的な2号の形&br;タッチセンサーも取り付けました| -ロボコンエリアの左側半分を担当するロボット。 -缶をロボットの後ろ側に受け取り、スラード式のアームではさんで運ぶ。 -ゴール前の段差を超えられるように、キャタピラで足回りを作る。 -ロボットの前後にタイヤをつけ、段差を超えやすくする。 -缶をのせる部分を可動式にする事で、ゴールに入りやすくする。。 -ライントレース用に光センサ−を2個装備。1号機と同様。 **プログラム [#oabdf0f1] ***1号 [#e07628d3] 試作プログラム task main() {int count=0;//初期のカウント数は0です SetPower(OUT_A+OUT_C,6);//モーターの出力を6に設定(出力アップ!) SetPower(OUT_B,2);同じく出力を2に設定(少し低め) SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1を光センサーに設定 SetSensor(SENSOR_3,SENSOR_LIGHT);//センサ−3を光センサーに設定 SetSensor(SENSOR_2,SENSOR_TOUCH);//センサ−3をタッチセンサーに設定 while(true)//以下の行動を繰り返せ { OnFwd(OUT_A+OUT_C);//前進 if((SENSOR_1<45)&&(SENSOR_3<50))//もし両センサーが黒線を感知したら { count++;//カウント数を+1 Wait(50);少しセンサーを休ませる } if(count==2)//もしカウント数が2になったら wait(20);//少しセンサーを休ませる OnFwd(OUT_A);//90度旋回 OnRev(OUT_C); Wait(195); count--;//カウント数を0に戻す。 count--;} if(SENSOR_2==1)//タッチセンサーが反応したら {Off(OUT_A+OUT_C);//むりやりスタート地点に戻る OnRev(OUT_B); Wait(80); Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(250); OnRev(OUT_C);OnFwd(OUT_A); Wait(282); OnFwd(OUT_A+OUT_C); Wait(500); OnRev(OUT_A); OnFwd(OUT_C); Wait(282); OnFwd(OUT_A+OUT_C); Wait(200); Off(OUT_A+OUT_C); OnFwd(OUT_B); Wait(80); OnRev(OUT_A+OUT_C); Wait(80); Off(OUT_A+OUT_C); OnRev(OUT_B); Wait(80); OnFwd(OUT_A+OUT_C); Wait(100); OnRev(OUT_A+OUT_B); Wait(350); OnRev(OUT_A); OnFwd(OUT_C); Wait(195);} }} [[2006a/B6/ロボコン/プログラム]] ***2号 [#xb946003] task main() {int count=0;//最初のカウント数は0です SetPower(OUT_A+OUT_C,6);//モーター出力を6(強め)に設定 SetPower(OUT_B,2);//モーター出力を2(弱め)に設定 SetSensor(SENSOR_1,SENSOR_LIGHT);//−センサーを SetSensor(SENSOR_3,SENSOR_LIGHT);//−光センサーに設定 SetSensor(SENSOR_2,SENSOR_TOUCH);//センサーをタッチセンサーに設定 while(true)//この行動を繰り返せ { OnFwd(OUT_A+OUT_C);//前進 if((SENSOR_1<45)&&(SENSOR_3<50))//センサーが黒線を感知したら { count++;//カウント数を+1 Wait(50);//少しセンサーを休ませる } if(count==2)//もしカウント数が2になったら {Wait(20);//少しだけそのまま前進 OnFwd(OUT_C);//その後旋回 OnRev(OUT_A); Wait(100); count--;//カウント数を0にする count--;}}} **制作過程 [#caa472ed] -------------------- ***1号 [#r8251f2c] 製作者 偏頭痛 -目指すはコンパクトでスムーズに缶の取り出し、運搬が行えるロボ。期待と不安を胸に製作に取りかかる。 -まずはロボのベース作り。第一の問題はタイヤ間の幅。旋回時間を考え基本の作りより広くすることにする。 --5枚のギアを組み合わせることにより調整に成功。モータ二つの 間は極力狭くしコンパクトに作成。 -アーム部分取り付けへ。 --重心を考え本体を若干後方に設置。その高さを生かし、アーム用のモーターを本体上に取り付けギアを噛ます。 ---前方のライトセンサー、タッチセンサーの上にアームを作成。 -強度面に問題が発生。アームの上げ下げでギアに隙間が生まれ空回りしてしまう。 --アームと本体の補強を加え完成に近づく。補強のパーツにも見た目を考えてスマートな作りに。 -缶を運ぶための囲いを設置し、プログラマーとの入念な打ち合わせを繰り返す。 -製作時時間10時間を超える長丁場を制し、ロボコンエリア(右側)を颯爽と駆ける。1号機がここに完成。 -------------------- ***2号 [#v971f9a7] 製作者 ゆかいな仲間たち **結果 [#z60072b4] **反省・感想 [#ydf2e821] **コメント [#kdc99773] #comment