[[2014b/MemberOnly/進行状況]]
*ロボットデザイン [#o73f357c]
ロボットの全体図
#ref(./robotics-mission1-1.jpg,100%,ロボット写真1)

ロボットの構造は大きく分けると以下のようになる。

紙を押し出すロボット
#ref(./robotics-mission1-3.jpg,100%,ロボット写真2)

ペンを動かすロボット
#ref(./robotics-mission1-4.jpg,100%,ロボット写真3)

これら二つのロボットを別々に動かし、文字を書く。紙を押し出すロボットの上にレールの役割を果たすレゴブロックがあり、その上をペンを持ったロボットが走るという仕組みになっている。~
このアイデアは、プリンターの構造がヒントとなった。~
また、ロボットの移動の時など、反動でペンが意図しない向きに動き、文字がずれてしまうことを防ぐため、地面平行な向きに対してはペンが動かないように固定し、垂直方向への動きしかできないようにした。~
モーターを使って、ペンを垂直方向へ動かすのはたいへんだった。写真から分かるように、ギアを組み合わせてその動きができるように調整した。


*プログラム [#of2a41d1]
 #define SPEED 20 
 #define up OnFwd(OUT_A,80);Wait(200);Off(OUT_A);  
 #define down OnRev(OUT_A,80);Wait(210);Off(OUT_A);
 task main() 
 {  
 OnRev(OUT_B,20);  
 OnFwd(OUT_C,10); 
 Wait(800); 
 Off(OUT_BC); 
 up;
 down;
 OnRev(OUT_B,20); 
 OnRev(OUT_C,10);
 Wait(800); 
 Off(OUT_BC);
 up;  
 OnFwd(OUT_B,SPEED);  
 Wait(300);  
 Off(OUT_B);  
 down;  
 OnFwd(OUT_B,SPEED);  
 Wait(800); 
 Off(OUT_B);
 up;
 OnRev(OUT_B,SPEED);
 Wait(500);
 Off(OUT_B);
 down;  
 OnRev(OUT_C,SPEED);
 Wait(500);  
 Off(OUT_C);  
 up;
 OnFwd(OUT_C,SPEED);  
 Wait(333);  
 Off(OUT_C);  
 OnRev(OUT_B,SPEED); 
 Wait(400);  
 Off(OUT_B);
 down;
 OnFwd(OUT_B,SPEED);  Wait(800);
 Off(OUT_B);
 up;
 OnRev(OUT_C,SPEED);
 Wait(333);  
 Off(OUT_C);
 down;
 OnRev(OUT_B,SPEED);
 Wait(900);
 Off(OUT_B);
 up;
 OnFwd(OUT_B,SPEED);
 Wait(900);  
 Off(OUT_B);  
 OnFwd(OUT_C,SPEED);
 Wait(170);  
 Off(OUT_C);
 down;
 OnRev(OUT_B,20);
 OnRev(OUT_C,10);
 Wait(400);
 Off(OUT_BC);
 up;
 OnRev(OUT_B,SPEED);
 Wait(300);  
 Off(OUT_B);
 down;
 OnRev(OUT_B,20);
 OnFwd(OUT_C,10);
 Wait(400);
 Off(OUT_BC);
 up;
 }
*反省 [#dff1b0b8]
#ref(./robotics-mission1-5.jpg,100%,ロボット写真4)
最初の筆の置き方を失敗するとうまく書けずに、ずれてしまう。


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