目次

課題

似顔絵ロボット

・A3用紙に相方の似顔絵を書くロボットの製作

ロボットの写真

080521_205353.JPG

課題を行うために必要な機能

・前進後進が可能
・左右に方向転換、及びその場での回転が可能
・ペンを装着し固定できる
・モーターによってペンを上げ下げできる
・ペンと紙との摩擦でペンがずれない
・動作中に分解しない耐久性がある

以上の点を満たすロボットを制作した

ロボットの説明

プログラム

B  08T1035A

task main() {

   OnFwd(OUT_A+OUT_B); // A と B 出力のモータを正回転
   OnRev(OUT_C);    //C出力のモータを逆回転
    Wait(250);      
   OnFwd(OUT_C);       // C 出力のモータを正回転
   Wait(50);          // 再び前進
   OnFwd(OUT_A);  //A出力のモータを正回転
   OnRev(OUT_C);  //C出力のモータを逆回転
   Wait(250);
   OnRev(OUT_B);   //B出力のモータを逆回転
   OnFwd(OUT_C);    //C出力のモータを正回転
   Wait(20);
   Off(OUT_A+OUT_B+OUT_C);  //止まった状態にする
   Wait(2);
   OnFwd(OUT_B);    //B出力のモータを正回転
   Wait(70);
   OnRev(OUT_B);    //B出力のモータを逆回転
   Wait(30);
   OnFwd(OUT_A);   //A出力のモータを正回転
   OnRev(OUT_C);   //C出力のモータを逆回転
   Wait(20);
   OnFwd(OUT_B);   //B出力のモータを正回転
   Wait(30);
   OnRev(OUT_B);   //B出力のモータを逆回転
   Wait(100);
   OnFwd(OUT_B);   //B出力のモータを正回転
   Wait(100);
   Float(OUT_A+OUT_C); // Off より滑らかに止まる

}

A 08A3007A [#da38d57b]

task main() {
	SetPower(OUT_B,4);
  OnFwd(OUT_A+OUT_B); //AとB出力のモータを正回転する
  OnRev(OUT_C);   //C出力のモータを逆回転する
   Wait(250);
  OnFwd(OUT_C);       // C出力のモータを正回転する
  Wait(50);          
  OnFwd(OUT_A);   //A出力のモータを正回転する
  OnRev(OUT_C);   //C出力のモータを逆回転する
  Wait(220);         
     OnFwd(OUT_C);  //C出力のモータを正回転する
     Wait(30);
     OnRev(OUT_A+OUT_C);  //AとC出力のモータを逆回転する
     Wait(20);
     OnFwd(OUT_A);   //A出力のモータを正回転する
  OnRev(OUT_B);    //B出力のモータを逆回転する
  Wait(10);
  Off(OUT_B);      
  OnRev(OUT_C);     //C出力のモータを逆回転する  
  Wait(100);
  OnFwd(OUT_C);
  Wait(100);
  OnRev(OUT_A+OUT_C);   //AとC出力のモータを逆回転する
  Wait(130);
  Off(OUT_A+OUT_B+OUT_C);    //止まった状態にする
  Wait(50);
  OnFwd(OUT_B);    //B出力のモータを正回転する
  Wait(100);
  OnRev(OUT_A+OUT_C);   //AとC出力のモータを逆回転する
  Wait(20);
  OnRev(OUT_B);     //B出力のモータを逆回転する
  Wait(30);
  Off(OUT_A+OUT_B+OUT_C);    //止まった状態にする
  Wait(50);
  OnFwd(OUT_B);     //B出力のモータを正回転する
  Wait(100);
  OnRev(OUT_A+OUT_C);    //AとC出力のモータを逆回転する
  Wait(20); 
  OnRev(OUT_B);     //B出力のモータを逆回転する
  Wait(30); 
  Off(OUT_B);
  OnFwd(OUT_A);    //A出力のモータを正回転する
  Wait(100);
  OnFwd(OUT_C);              //C出力のモータを正回転する
  Wait(120);
  OnRev(OUT_A);    //A出力のモータを逆回転する
  Wait(80);
  OnFwd(OUT_B);    //B出力のモータを正回転する
  Wait(30);
  OnFwd(OUT_A+OUT_C);   //AとC出力のモータを正回転する
  Wait(90);
     OnRev(OUT_B);      //B出力のモータを逆回転する
     Wait(5);
     OnRev(OUT_C);      //C出力のモータを逆回転する
     Wait(100);
     OnRev(OUT_A+OUT_C);   //AとC出力のモータを逆回転する
     Wait(100);
     OnFwd(OUT_B);      //B出力のモータを正回転する
     Wait(60);
  Float(OUT_A+OUT_B+OUT_C);   //Offよりなめらかに止まる

} *苦労した点 [#r54c77c7]

問題点

◦ペンを持てない ◦ペンの上げ下げ ◦ペンがひっかかってロボットが宙に浮く ◦おもいどうりにロボットが動かない ◦ロボットの曲がる角度がうまくいかない

◦ペンの構造を利用してブロックで挟み込んだ ◦タイヤの回転を利用した ◦ペンが一定以上動かないようにつっかえ棒をつけた ◦何度も試行しました

コメントをどうぞ


プログラムの説明を書いてください。あと、後半の方はうまく表示できていないようです F.I.


添付ファイル: file080521_205353.JPG 286件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-07-24 (木) 14:24:20