[[2006a/MemberOnly/進行状況B]]

#contents

*メンバー [#e068c0bd]
-さんさー
-偽プログラマー
-ロボット制作者(株)
-偏頭痛
-ゆかいな仲間たち
-HAL


*ロボコン [#od8b0f25]
:日時|8月2日 12:30〜
:場所|20番教室

**概要 [#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個装備。
-タッチセンサーにより、アームの上げ下げのタイミングをはかる。
-ライントレースのための光センサーは、間隔をあまり離さず取り付けて、横線を読み込みやすくする。

***プログラム[#e07628d3]

 task main()
 {
 int count=0;                                   //変数 count を設定
 SetPower(OUT_A+OUT_C,6);                       //モーターAとCの出力値を設定
 SetPower(OUT_B,2);                             //モーターBの出力値を設定
 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++;                               // count に1を足す
         Wait(50); 
         }
 
     if(count==2)                               // count が2になったら
         {
         Wait(20);
         OnFwd(OUT_A);
         OnRev(OUT_C);
         Wait(250);                             //90度の時計回り
         count--;
         count--;                               // count を0に戻す
         }
 
     if(SENSOR_1<45)                            //センサ−1が線に乗ったら
         {
         Off(OUT_A+OUT_C);
         OnFwd(OUT_C);
         OnRev(OUT_A);                          //左に曲がって軌道修正
         }
 
     if(SENSOR_3<50)                            //センサ−3が線に乗ったら
         {
         Off(OUT_A+OUT_C);
         OnFwd(OUT_A);
         OnRev(OUT_C);                          //右に曲がって軌道修正
         }
            
     if(SENSOR_2==1)                            //タッチセンサーが押されたら
         {
         Off(OUT_A+OUT_C);                      //前進をやめ
         OnRev(OUT_B);                          //アームを下げる
         Wait(80);
         Off(OUT_B);
         OnRev(OUT_A+OUT_C);                    //2秒間バックする
         Wait(200);
         OnRev(OUT_C);OnFwd(OUT_A);             //右に90度回転する
         Wait(330);
         OnFwd(OUT_A+OUT_C);                    //以下のプログラムのみでスタート地点まで戻る
         Wait(350);
         OnRev(OUT_A);
         OnFwd(OUT_C);
         Wait(330);
         OnFwd(OUT_A+OUT_C);
         Wait(230);
         Off(OUT_A+OUT_C);
         OnFwd(OUT_B);
         Wait(150);
         Off(OUT_B); 
         OnFwd(OUT_A+OUT_C);
         Wait(240);
         OnRev(OUT_A+OUT_C);
         Wait(350);
         OnRev(OUT_A);
         OnFwd(OUT_C);
         Wait(200);
         }
    }
 }

1号・2号の試作プログラム     [[2006a/B6/ロボコン/プログラム]]

***製作過程 [#r8251f2c]
製作者 偏頭痛
-目指すはコンパクトでスムーズに缶の取り出し、運搬が行えるロボ。期待と不安を胸に製作に取りかかる。

-まずはロボのベース作り。問題はタイヤ間の幅。旋回時間を考え基本の作りより広くすることにする。

--タイヤ一つにつき5枚のギアを組み合わせることにより調整に成功。モータ二つの間は極力狭くしコンパクトに作成。

-アーム部分取り付けへ。

--重心を考え本体を若干後方に設置。その高さを生かし、アーム用のモーターを本体上に取り付けギアを噛ませた。

-前方のライトセンサー、タッチセンサーの上にアームを作成。
-強度面に問題が発生。アームの上げ下げでモーターがはずれ、ギアに隙間が生まれ空回りしてしまう。

--アームと本体の補強を加え完成に近づく。補強のパーツにも見た目を考えてスマートな作りに。

-缶を運ぶための囲いを設置し、プログラマーとの入念な打ち合わせを繰り返す。

-製作時時間10時間を超える長丁場を制し、ロボコンエリア(右側)を颯爽と駆ける。1号機がここに完成。




--------------------
**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号機と同様。


***プログラム[#xb946003]
 task main()
 {
 int count=0;
 SetPower(OUT_A+OUT_C,6);
 SetPower(OUT_B,2);
 SetSensor(SENSOR_1,SENSOR_LIGHT);
 SetSensor(SENSOR_3,SENSOR_LIGHT);
 SetSensor(SENSOR_2,SENSOR_TOUCH);
 
 while(true)                                    //プログラムは基本的に1号と同じ。
     {                                          //回転の向きをすべて逆にし、アーム操作のプログラムを加える。
     OnFwd(OUT_A+OUT_C);  
 
     if((SENSOR_1<45)&&(SENSOR_3<50))
         {
         count++;
         Wait(50); 
         }
 
     if(count==2)
         {
         Wait(20);
         OnFwd(OUT_A);
         OnRev(OUT_C);
         Wait(250);
         count--;
         count--;}
 
     if(SENSOR_1<45)
         {
         Off(OUT_A+OUT_C);
         OnFwd(OUT_C);
         OnRev(OUT_A);
         }
 
     if(SENSOR_3<50)
         {
         Off(OUT_A+OUT_C);
         OnFwd(OUT_A);
         OnRev(OUT_C);
         }
            
     if(SENSOR_2==1)
         {
         Off(OUT_A+OUT_C);
         OnRev(OUT_B);
         Wait(80);
         Off(OUT_B);
         OnRev(OUT_A+OUT_C);
         Wait(200);
         OnRev(OUT_C);OnFwd(OUT_A);
         Wait(330);
         OnFwd(OUT_A+OUT_C);
         Wait(350);
         OnRev(OUT_A);
         OnFwd(OUT_C);
         Wait(330);
         OnFwd(OUT_A+OUT_C);
         Wait(230);
         Off(OUT_A+OUT_C);
         OnFwd(OUT_B);
         Wait(150);
         Off(OUT_B); 
         OnFwd(OUT_A+OUT_C);
         Wait(240);
         OnRev(OUT_A+OUT_C);
         Wait(350);
         OnRev(OUT_A);
         OnFwd(OUT_C);
         Wait(200);
         }
     }
 }


1号・2号の試作プログラム     [[2006a/B6/ロボコン/プログラム]]  

***製作過程[#v971f9a7]
製作者 ゆかいな仲間たち、ロボット制作者(株)
-目指すべき形は円滑な受け渡しと、スムーズな缶の運搬。

-ロボの後ろに缶をのせることにより缶を引きずるように運搬する。

-後ろに引きずる感じで作ろうとしたためにアームの取り付けに苦労。

-はじめは1号と同様なアームにしようとしたが受け渡しができないことに気がつき横にスライドするように変更。

-横スライドはギアだけでなく、ゴムを使い調整した

-アームを横にスライドさせようとしたが、うまくアームを固定できなかった。

--スライドするブロックの前後、上をブロックで挟む事により問題解決。

-缶を引きずるためのアームをできるだけ軽量に、かつ丈夫に作成。

-タイヤではなくキャタピラにする事により段差を乗り越える事が可能にしようと試みる。

-段差にキャタピラがぶつかってしまい段差を超えられない...

--キャタピラよりも斜め上前に二つのタイヤをつけることにより、キャタピラよりも先にタイヤが段差に当たり、キャタピラの前進する力によって車体前部が浮き上がり段差を超えることが可能に。問題解決!

-しかし、何度も試すうちにだんだん段差を超えなくなってしまう...キャタピラの間には4本のシャフトがあり、は両端の二本だけにホイールがついていたが、このままでは段差をこえることができない事に気がつく。

--4本のうち残りの2本のシャフトにもホイールをつけることによって段差を超えられるようになり問題解決!

-段差を乗り越える途中で缶を落としてしまう。

--とりあえずアームを強化してみたが、失敗...

--何度も試行錯誤を繰り返すが、最終的には缶を渡す時のためにアームに遊び部分(2センチ程上下に動く)があったのだが、ブロックを積んで、遊び部分を狭くすることにより(1センチ程度)、アームの下の部分と後ろの部分(一番後ろの横につきでた2本の棒)の隙間が狭くなり缶を落とさずに段差を乗り越えることができるようになり、問題可決!

-プログラムの人と綿密な打ち合わせにより円滑な動きを可能に。

-これらの作業により左側を軽快に走る2号が完成。


*結果 [#z60072b4]
がんばりました!&br;ギリギリまで微調節をしました・・・
|#ref(1.jpg)|順調にライントレ−スする1号。&br;障害物にぶつかる事なく進みます。|
|#ref(2.jpg)|が、うまく缶をつかむ事ができずに一時中断。&br;故障の部分を修正し、再びフィールドへ|
|#ref(3.jpg)|ラストチャンス!!&br;見事な暴走っぷりでした。。。|

得点の集計結果、平均6点。&br;
ブービー賞という事になりました。&br;
お疲れさまでした&br;

*メンバーの感想 [#ydf2e821]
:さんさー|
今回はみんなで集まってロボットを製作した日に用事で参加する事ができなかったこともあり、皆さんに迷惑をかけてしまい大変申し訳なく思っています。&br;
ロボコンの結果はよくなかったけれど、みんな頑張っていてよかったと思います。あとは、単位がもらえれば…………。&br;
お疲れさまでした。

:偽プログラマー|
腹が減ったので帰って寝ようと思います。皆さんお疲れ!!!!!!!!!!!!!!!!!!!!!!!

:ロボット制作者(株)|
最後にロボコンで結果が出せなかったのは少し残念でした。結果が大切で…結果が出たときだけ過程が重要とよく言われますが、今回のロボコンでは結果はついてこなかったもののその過程はとても充実したものだったと思います!!
みんなで頑張って準備してきた時間はとても意義のある時間であり、また最高の時間だったと思います。
最後にみんな有り難う。


:偏頭痛|
ついに解放されました。

:ゆかいな仲間たち|
第二の人生への一歩を踏み出せたと自負しております。今回のロボコンでは、ロボット製作者としてチームに貢献できたことを誇りに思います。また、大変な授業でしたが、多くの人と仲良くなれたことをうれしく思います。有り難うございました。

:HAL|
今回のロボコンはロボティクスの課題で、一番大変なだったように思う。&br;あまり手伝う事ができずまたHPばかりだったが、疲れた。&br;


*コメント [#kdc99773]
#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS