2005/C1/池尻

課題1:書道ロボット(右)

プログラム

#define MOVE_TIME 18  //90度回るために必要な時間
sub lift_up()         //リフトを上げるためのサブルーチン
{
 Wait(40);           
  OnRev(OUT_B);
  Wait(50);
  Off(OUT_B);
}

sub lift_down()      //リフトを下げるためのサブルーチン
{
 Wait(40);
  OnFwd(OUT_B);
  Wait(50);
  Off(OUT_B);
}

sub go_straight()   //直進するためのサブルーチン
{
 Wait(50);
repeat(3){
  OnFwd(OUT_A);
  OnFwd(OUT_C);
  Wait(10);
  Off(OUT_A+OUT_C);
  Wait(10);}
}

sub turn_right()   //右に曲がるためのサブルーチン
{
 Wait(50);
  OnFwd(OUT_A);
  OnRev(OUT_C);
  Wait(MOVE_TIME);
  Off(OUT_A+OUT_C);
}

sub turn_left()   //左に曲がるためのサブルーチン
{
 Wait(50);
  OnRev(OUT_A);
  OnFwd(OUT_C);
  Wait(MOVE_TIME);
  Off(OUT_A+OUT_C);
}

task main()
{
 Wait(50);       //連続して動かすと徐々に誤差がでるため
  OnFwd(OUT_A);  //全ての行動の前には基本的に0、5秒間を開ける
  OnFwd(OUT_C);  //
  Wait(10);      //最初の「ノ」の字の飛び出る部分です
  Off(OUT_A+OUT_C);

 Wait(50);       //タイヤを片方固定、もう一方を動かして、
  OnFwd(OUT_A);  //タイヤの間隔を利用し「ノ」の曲線部分を表現
  Wait(40);
  Off(OUT_A);

  turn_right();

  lift_up();     //筆を上げる

 Wait(50);      
  OnFwd(OUT_A);
  OnFwd(OUT_C);
  Wait(20);
  Off(OUT_A+OUT_C);
  OnFwd(OUT_C);
  Wait(5);
  Off(OUT_C);

  turn_right();

  lift_down();

 Wait(50);            //モーターの左右のパワーバランスが良くないの
repeat(4){            //で、小刻み、且つ微調整を行う
  OnFwd(OUT_A);
  OnFwd(OUT_C);
  Wait(10);
  Off(OUT_A+OUT_C);
  Wait(10);}

 Wait(50);
  OnFwd(OUT_A);
  OnRev(OUT_C);
  Wait(30);
  Off(OUT_A+OUT_C);

  lift_up();

   Wait(50);
repeat(4){         //モーターの左右のパワーバランスが良くないの
  OnFwd(OUT_A);    //で、小刻み、且つ微調整を行う。さっきも書いたね!
  OnFwd(OUT_C);
  Wait(10);
  Off(OUT_A+OUT_C);
  Wait(10);}

 Wait(50);         //「口」の字に到達
  OnRev(OUT_A);
  OnFwd(OUT_C);
  Wait(12);
  Off(OUT_A+OUT_C);

  lift_down();

  go_straight();

  lift_up();

 Wait(50);
repeat(4){
  OnRev(OUT_A);
  OnRev(OUT_C);
  Wait(5);
  Off(OUT_A+OUT_C);
  Wait(10);}

 turn_left();    //サブルーチンのオンパレード

 lift_down();

 go_straight();

 turn_right();

 go_straight();

 turn_right();

 lift_up();

 go_straight();

 turn_right();

 turn_right();

 lift_down();

 go_straight();

 }                 

感想

マシンのバランスが悪いためか、直進が右にカーブしてしまう機能を持っていたため、改良に改良を重ねた。それと、ペンを上下させるためのリフトを作るのが苦労した。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-07 (水) 19:09:21