2006b/A1/課題1左

課題 字を書くロボット

ロボットと作品

2つのギアでキャタピラを動かし、残り1つのギアでペンを動かします。ゴムを使い2本の棒を回転させ、アームを動かします。

robo 006.jpg
robo 001.jpg

苦労した点

  1. ペンをどう上げ下げさせるか。
    • モーターとギアをうまくつなぎ合わせることができなかった.
  2. アームが安定しない
    • 動かす度にグラグラと揺れていた。
  3. ペンを下ろすスピード速すぎかも。
  4. モーターを回すとペンが勝手に戻る・・・
  5. 旋回後のペンの位置
    • キャタピラは旋回すると旋回前より前の方向にペンの先がいってしまうので、旋回後にバックするなどして微調整するのに時間と労力くを費やした。
  6. 時間がない
    • 空きコマは常にロボと格闘していたような気がする

解決策、工夫した点

  1. 苦労した点1を解決するために
    • 相方のひらめきによって完成。結局ゴムを使ってアームの2点を動かすようにした。robo 003.jpg
  2. 苦労した点2を解決するために
    • 3つ、穴付きのブロックで固定し、安定性が保てるようにした。robo 008.jpg
  3. 苦労した点3を解決するために
    • スピードはかえれないので、モーターの動きをかなり短くしてみた。
  4. 苦労した点4・5を解決するために
    • 大きさの違うローラーを使っていたため、ゴムの伸び縮みで元に戻ってしまう事に気づき同じ大きさのローラーを使うことで解決。
robo 002.jpg
  1. 苦労した点5を解決するために
    • 旋回の前後に余分に動くことにしてみた。

考察

プログラム

#define MOVE_TURN 165     //90度旋回時間
#define TURN_BACK 130     //旋回後微調整時間
#define AMARI 80          //旋回前微調整時間
#define TATE 60      //縦への移動時間
#define YOKO 100     //横への移動時間
 
sub turn_right()
{
OnFwd(OUT_C);
        OnRev(OUT_A);         Wait(MOVE_TURN);      
        Rev(OUT_A+OUT_C);   Wait(TURN_BACK);
      Off(OUT_A+OUT_C);
}     //右への90度旋回
      
      
task main()
{	 

OnFwd(OUT_B);   Wait(20);
Off(OUT_B);
     OnRev(OUT_A+OUT_C);   Wait(TATE);
     Off(OUT_A+OUT_C);
OnRev(OUT_B);   Wait(7);
Off(OUT_B);          //ここで一画目が終了
      OnFwd(OUT_A+OUT_C);   Wait(TATE);
      Fwd(OUT_A+OUT_C);   Wait(AMARI);
        
      turn_right();  
    
OnFwd(OUT_B);   Wait(20);    //ここから二画目:横
Off(OUT_B);
      OnFwd(OUT_A+OUT_C);   Wait(YOKO);
      Off(OUT_A+OUT_C);
OnRev(OUT_B);   Wait(7);
Off(OUT_B);
        OnFwd(OUT_A+OUT_C);   Wait(AMARI);
      Off(OUT_A+OUT_C);       

       turn_right();     //右へ90度旋回
       
OnFwd(OUT_B);   Wait(20);
Off(OUT_B);

      OnFwd(OUT_A+
OnFwd(OUT_B);   Wait(20);     //二画目:縦
Off(OUT_B);OUT_C);   Wait(TATE);
      Off(OUT_A+OUT_C);
OnRev(OUT_B);   Wait(10);
Off(OUT_C);
      OnFwd(OUT_A+OUT_C);   Wait(AMARI);
      
        turn_right();       //右へ90度旋回

      OnFwd(OUT_A+OUT_C);   Wait(YOKO); 
      Off(OUT_A+OUT_C);
    
     OnRev(OUT_A+OUT_C);    Wait(YOKO);//三画目
     Off(OUT_A+OUT_C);
OnRev(OUT_B);   Wait(10);
Off(OUT_B);
      OnFwd(OUT_A+OUT_C);   Wait(AMARI);
          Fwd(OUT_A+OUT_C);    Wait(34);
 
       turn_right();     //右へ90度旋回
       
      OnFwd(OUT_A+OUT_C);   Wait(100);
      Off(OUT_A+OUT_C);
OnFwd(OUT_B);   Wait(20);
Off(OUT_B);
       OnRev(OUT_A+OUT_C);   Wait(200);//四画目
       Off(OUT_A+OUT_C);             //停止
}       

皆さんからのコメント・アドバイス



添付ファイル: filerobo 007.jpg 436件 [詳細] filerobo 003.jpg 438件 [詳細] filerobo 002.jpg 473件 [詳細] filerobo 008.jpg 373件 [詳細] filerobo 001.jpg 429件 [詳細] filerobo 006.jpg 423件 [詳細]

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