[[2005/A1]]
*右を書くロボット [#x666b49f]

&ref(/2005/A1/課題1右/CA310872.jpg,100%,筆記ロボット)
#ref(/2005/A1/課題1右/CA310872.jpg,100%,筆記ロボット)
上の大きなタイヤでペンを挟んで上下します。
ホールド力は最高だったのですが、強く押しつけすぎてしまう事があって、調整が難しかったです。(制作:Harada)
*プログラム [#bd49cca7]

  //作成:Harada        
  //左を書くロボット
 #define P_IN 370        //ペン挿入値
 #define P_OUT 350       //ペン排出値
 #define P_DOWN 150       //ペン下降値
 #define P_UP 155        //ペン上昇値
 
 void go(int t)                 //前進 t=100で7cm程度
 {
        OnFwd(OUT_A+OUT_C);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void back(int t)               //後進  t=100で7cm程度
 {
        OnRev(OUT_A+OUT_C);
        Wait(t);
        Off(OUT_A+OUT_C);
 } 
  
  void left_t(int t)            //左転回 t=130で約90度
 { 
        OnFwd(OUT_C); OnRev(OUT_A);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void right_t(int t)            //右転回 t=130で約90度
 {
        OnFwd(OUT_A); OnRev(OUT_C);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void left(int t)               //左旋回 t=260で約90度
 {
        OnFwd(OUT_C); Float(OUT_A);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void right(int t)              //右旋回 t=260で約90度
 {
        OnFwd(OUT_A); Float(OUT_C);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void left_b(int t)             //左後旋回 t=260で約90度
 {
        OnRev(OUT_C); Float(OUT_A);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 void right_b(int t)            //右後旋回 t=260で約90度
 {
        OnRev(OUT_A); Float(OUT_C);
        Wait(t);
        Off(OUT_A+OUT_C);
 }
 
 sub in()       //ペン挿入
 {
        OnRev(OUT_B);
        Wait(P_IN);
        Float(OUT_B);
 }
 
 sub out()      //ペン排出
 {
        OnFwd(OUT_B);
        Wait(P_OUT);
        Float(OUT_B);
 }
 
 sub down()     //ペン下降
 {
        OnRev(OUT_B);
        Wait(P_DOWN);
        Float(OUT_B);
 }
 
 sub up()       //ペン上昇
 {
        OnFwd(OUT_B);
        Wait(P_UP);
        Float(OUT_B);
 }
 
        
 task main()
 {
        in();//ペン挿入
        go(70);//1画目まで移動開始
        left_t(75);
        go(100);//1画目まで移動完了
 
        down(); //1画目開始
        back(250);//
        up();//一画目終了
        go(140);//2画目まで移動開始
        right_t(75);
        back(70);//2画目まで移動完了
 
        down(); //2画目開始
        go(200);        
        up(); //2画目終了
        back(130);3画目まで移動開始
        left_t(75);
        back(60);
        right_t(75);
        go(20);
        right_t(130);3画目まで移動完了
 
        down(); //3画目開始
        go(75);
        up();//3画目終了
        back(75);//4画目まで移動開始
        left_t(130);//4画目まで移動完了
  
        down(); //4画目開始
        go(100);
        up();
        down();
        right_t(130);
        go(75);
        up();//4画目終了
        right_t(130);//5画目まで移動開始
        go(100);//5画目まで移動完了
 
        down(); //5画目開始
        back(100);
        up();//5画目完了
        out();//ペン排出  
 }

*コメント [#l1aeba2b]
#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS