目次
#contents




*課題について [#z69071de]
詳しくは[[2017a/Mission1]]を参照
*ロボット本体について [#lc18146e]
サンプルのロボットを改良して制作した。そのためロボット自身を走らせて文字を書くシステムになっている。
**試作機 [#e179c6b0]
初めに下記のロボットを制作した。
#ref(2017a/Member/alien/Mission1/rerekairyumae.jpg,50%)
知能ブロックの部分が片方に寄っているため、タイヤにかかる負荷が異なり、真っ直ぐ進まなかった。
**完成形 [#me6d3246]
上記の問題点を下記のロボットのように知能ブロックの位置を真ん中に移すことで解決した。
#ref(2017a/Member/alien/Mission1/rekairyuato.jpg,50%)
**ペンの上げ下げをするアームについて [#q6f6594a]
外側の2つのモーターでタイヤを動かし、真ん中のモーターでアームを上下させる仕組みである。二回棒で挟むことによってゴムを使わず固定することが出来た。
#ref(2017a/Member/alien/Mission1/rekairyuato.jpg,50%)
*プログラミングについて [#s60ebf0f]
書き順はロボットの動きの都合上無視している。
 #define AC OUT_AC
 #define A OUT_A
 #define B OUT_B 
 #define C OUT_C
 sub arm_up() //ペンを上げる
 { 
   OnRev(B,25);Wait(100);Off(B);
 }
 sub arm_down() //ペンを下げる
 {
   OnFwd(B,25);Wait(100);Off(B);
 }
 void go_st(int t) //t秒間前に進む
 { 
   OnFwd(AC,50);Wait(t);Off(AC);
 }
 void go_back(int t) //t秒間後ろに進む
 {
   OnRev(AC,50);Wait(t);Off(AC);
 }
 void spin_left(int t) //t秒間左回りに回る
 {
   OnFwd(A,100);OnRev(C,50);Wait(t);Off(AC);
 }
 void spin_right(int t) //t秒間右回りに回る
 {
   OnFwd(C,100);OnRev(A,50);Wait(t);Off(AC);
 }
 task main()
 {
   arm_up();
   spin_right(300);
   arm_down();
   go_st(100);
   repeat(4){  //「口」を書く
    arm_up();
    spin_left(1200);
    go_back(1000);
    arm_down();
    go_st(500);
   }
   arm_up();   //「日」になる
   spin_left(1200);
   go_back(1000);
   arm_down();
   go_st(250);
   arm_up();
   spin_left(1200);
   go_back(1000);
   arm_down();
   go_st(500);
   arm_up(); //4つの点を書く
   spin_left(300);
   arm_down();
   go_st(100);
   arm_up();
   spin_right(1800);
   go_st(150);
   spin_right(1800);
   arm_down();
   go_st(100);
   arm_up();
   spin_left(300);
   go_st(750);
   spin_left(300);
   arm_down();
   go_st(100);
   arm_up();
   spin_right(1800);
   go_st(150);
   spin_right(1800);
   arm_down();
   go_st(100);
   arm_up();
   spin_right(100); //「木」を書く
   go_st(200);
   spin_left(1550);
   arm_down();
   go_st(500);
   arm_up();
   spin_left(1900);
   go_st(200);
   spin_left(1700);
   go_back(900);
   arm_down();
   go_st(600);
   arm_up();
   go_back(700);
   spin_right(200); 
   go_back(500);
   arm_down();
   go_st(200);
   arm_up();
   spin_left(1520);
   go_st(600);
   spin_left(1520);
   arm_down();
   go_st(400);
 }
*結果 [#gd2ab49e]
書けた文字は以下である。
*まとめ [#a2ec47b7]
後輪に負荷がかかりスピンする度に少しの誤差があり、知能ブロックを前にずらすなどの工夫をすれば良かった。また、文字の交わるのが交わりきらなかった所があり、さらなる調整が必要だと感じた。「楽」という漢字は楽ではなかった。

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS