2019a/Member 目次

:

課題について

今回の課題はコースをライントレースをして、4つのピンポン玉を回収して特定の箱の中にボールを入れることです。

コース1.png

ロボットについて

私たちのロボットは課題2のロボットを主体に作りました。 最初の私たちは前回の課題2のロボットはライントレースがうまくできたのでその上にいろいろな機構を加えていこうと思いました。

#ref(): File not found: "h1.jpg" at page "2019a/Member/Hajime/Mission3"

b1.jpg

しかし、前回のロボットをそのまま使っていたけれど掴む機構やピンポン玉を保存する機構などで重くなってしまい動きが思ったように動きませんでした。 なので、課題2の機体をそのまま使うのではなく、白の大きなタイヤに変更しました。

e1.jpg

ピンポン玉をつかむ機構は課題2のものを使いました。 それを上下させる機構は2本の柱を立て、それができるだけ水平に上下するように作りました。

c1.jpg

ピンポン玉を保存する機構はできるだけ軽くすることで、ロボットに取り付けても影響が出にくいようにして、動かすにしても簡単に動かすようにしました。

a1.jpg

しかし、最終的には多くの機構をつけすぎて、一回余分なものを外していくとピンポン玉を保存するところがなくなりました。 私たちはピンポン玉を箱の上に置くと勘違いしていたので上下する機構もはずしてしまいました。 なので最終的にはRISは一つとなりました。

e1.jpg

プログラミンについて

ライントレースは課題2のを使用しました。

int white_time=30;

white_timeはロボットが早く動いてしまったときに曲がりきるまえに別の黒いラインに行ってしまうの防ぐために白がある一定時間以上動かないようにするものです

int black_time=20;

black timeは黒いラインを曲がるときの時間を調べ止まるためものです

#define migisenkai   OnFwd(OUT_A);  
OnFwd(OUT_C); 

右旋回です

#define usetsu       Off(OUT_A);  
OnFwd(OUT_C);

右折です

#define chokushin    OnRev(OUT_A);  
OnFwd(OUT_C);

直進です

#define sasetsu      OnRev(OUT_A);    O 
Off(OUT_C);

左折です

#define hidarisenkai OnRev(OUT_A);  
OnRev(OUT_C);

左旋回です

#define koutai       OnFwd(OUT_A);  
OnRev(OUT_C);

後退です

#define tsukamu 201

ピンポン玉を掴むためのものです

#define tomaru 202

止まるものです。 このfollow lineは課題2のものです

sub follow_line2()
{
   SetSensor(SENSOR_2,SENSOR_LIGHT);
     while(FastTimer(0)<black_time){
        if(SENSOR_2<33){
           migisenkai
        }else if((SENSOR_2>=33)&& 
(SENSOR_2<36)){
           usetsu ClearTimer(0);
         }else if((SENSOR_2>=36)&& 
(SENSOR_2<40)){
            chokushin ClearTimer(0);
         }else if((SENSOR_2>=40)&& 
(SENSOR_2<43)){
           sasetsu ClearTimer(0);
        }else if(SENSOR_2>=43){
            hidarisenkai ClearTimer(0);
         }
    }
Off(OUT_AC);
Wait(100);
ClearTimer(0);
}

プログラミングがもう間に合わないと時間的にわかったので一つのピンポン玉を回収するプログラムを書きました。

      

ロボットの位置はAからMに向かって始めました。

task main(){
    SetPower(OUT_AC,7);
    follow_line2();
    follow_line2();

ここはfollow lineが2つないと動かないので2つ入れています。 ここまででKに行きます

    migisenkai Wait(75); Off(OUT_AC); 
Wait(100);

ここでJに方向転換します

    chokushin;
    Wait(25);
    Off(OUT_AC);
    Wait(100);

ここまでJに行きます

    OnRev(OUT_B);
    Wait(36);

ここでボールを掴みます。

    Off(OUT_B);
    Wait(100);
    migisenkai;
    Wait(60);
    Off(OUT_AC);

ここまででボールを入れる箱ロボットを向けます

    Wait(100);
    chokushin;
    Wait(240);
    Off(OUT_AC);

箱に近づけます

    Wait(100);
    migisenkai;
    Wait(75);
    Off(OUT_AC);
    Wait(100);

箱に向けます

    OnFwd(OUT_B);
    Wait(50);
    Off(OUT_B);

ここでボールを離します

   }

最後の方にロボットが大きく変化してしまったためにプログラミングはあまり書けずにおわってしましました。 defineも使わずにいました

最後に

今回の課題3はうまくできませんでした。 失敗した点は

機体の完成が遅くなってしまい、プログラミングが間に合わなかった。
ピンポン玉の置き方を勘違いしていたこと
プログラミングの書くのが遅いこと
プログラムを試す時間があまり無かったこと

など多くありました  


添付ファイル: fileコース1.png 158件 [詳細] fileg1.jpg 112件 [詳細] filef1.jpg 144件 [詳細] filee1.jpg 160件 [詳細] filed1.jpg 110件 [詳細] filec1.jpg 200件 [詳細] fileb1.jpg 155件 [詳細] filea1.jpg 203件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-14 (水) 23:53:36