2019a/Member

目次

課題について

課題2については,2019a/Mission2を参照してください.

ロボットについて

image6.jpeg

上の画像は,最初の授業で作った四輪のロボットの前方につけた,ピンポン玉をつかむアームである.モーターの回転方向を変えることによって,開閉できるようになっている.また,このアームと本体の間に光センサーをつけた.

プログラムについて

定義について

#define rightKAITEN OnFwd(OUT_A);OnRev(OUT_C); //右旋回
#define rightMAGARI OnFwd(OUT_A);Off(OUT_C); //右折
#define leftKAITEN OnFwd(OUT_C);OnRev(OUT_A); //左旋回
#define leftMAGARI OnFwd(OUT_C);Off(OUT_A); //左折
#define middle 47 //閾値

ライントレースのプログラム

sub followline() 
{
    SetSensor(SENSOR_2,SENSOR_LIGHT);
    ClearTimer(0);
    while(FastTimer(0)<=30)     //左折,左旋回,右折,右回転の継続時間がが0.3秒以内のときループ
    {
        if(SENSOR_2>middle+5)    
        { 
            rightKAITEN
            ClearTimer(0);     //白のとき右旋回
        }
        else if(SENSOR_2>middle+3)    
        {
            rightMAGARI
            ClearTimer(0);     //白っぽいとき右折
        }
        else if(SENSOR_2>middle)   
        {
            OnFwd(OUT_AC);
            ClearTimer(0);     //中間のとき直進
        }
        else if(SENSOR_2>middle-3)    
        {
            leftMAGARI
            ClearTimer(0);          //黒っぽいとき左折
        }
        else    
        {
            leftKAITEN             //黒のとき左旋回
        }
    }
    Off(OUT_AC);
}

全体のプログラム

task main()
{
    followline();

    OnRev(OUT_C);
    Wait(30);
    Off(OUT_C);
    OnFwd(OUT_AC);
    Wait(50);
    Off(OUT_AC);          //曲がる前に戻って少し前進
 
    followline();

    followline();

    followline();

    OnRev(OUT_C);
    Wait(40);
    Off(OUT_C);
    OnFwd(OUT_AC);
    Wait(50);
    Off(OUT_AC);          //曲がる前に戻って少し前進

    followline();
}

まとめ

今回の課題では,ライントレースのプログラムを作るのに,かなりの時間を使ってしまい,ロボットを凝って作ることができなかった.そのため,段階的にプログラムを試していく中で,G→Jの過程の中で,回り切れずに道を外れてしまった.次の課題もあり,迷惑はかけられないのでロボットを作り直せず,課題をクリアできなかったことは非常に悔しく思う.機会があれば,今回作りたかった,さらに小回りの利くロボットを作って挑戦してみたい.


添付ファイル: fileimage6.jpeg 2件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-15 (木) 00:51:31