- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-11-21T14:51:54+09:00","Hatto","Hatto")
#author("2020-02-15T19:42:57+09:00","Hatto","Hatto")
[[2019b/Member]]
#contents
*課題1 [#xa656ee9]
相方の似顔絵を描くロボットを作った。
*ロボットの説明 [#wd4cf81e]
今回私が作ったロボットはこれです。
#ref(2019b/Member/Hatto/Mission1/robo.jpeg,25%)
#ref(2019b/Member/Hatto/Mission1/robo2.jpeg,25%)
今回私が作ったロボットはペンとロボットが一緒に動く自走式ロボットです。
*プログラミングの説明 [#x27f014a]
#define speed 25
#define left(t) OnFwd(OUT_B,speed);OnRev(OUT_C,speed);Wait(t);Off(OUT_BC)
#define right(t) OnFwd(OUT_C,speed);OnRev(OUT_B,speed);Wait(t);Off(OUT_BC)
#define go(t) OnFwd(OUT_BC,speed);Wait(t);Off(OUT_BC)
#define back(t) OnRev(OUT_BC,speed);Wait+Off(OUT_B)
#define en(t) OnFwd(OUT_B,35);Wait(t);Off(OUT_B)
#define up OnFwd(OUT_A,speed);Wait(150);Off(OUT_A)
#define down OnRev(OUT_A,speed);Wait(150);Off(OUT_A)
task main
{
Wait(2000);
go(1700);
en(1000);
up;
go(2000);
left(2200);
back(2000);
down;
go(1500);
en(1000);
up;
go(1500);
left(500);
back(3000);
down;
go(350);
up;
go(350);
down;
go(350);
up;
go(1500);
left(1300);
back(1700);
down;
go(350);
en(130);
up;
go(350);
left(200)
down;
right(500);
}
Wait(2500);
down;
go(1800); // 左側の輪郭
en(1100); // あごの形
up;
go(2100); // 方向転換のための調節
left(2500); // 左に曲がる
back(2200); // 下がってペン先を調整
down;
go(1600); // 右側の輪郭
en(1150); // 頭の形
down;
ペンの上げ下げについてマクロを指定し、ペンの上昇をup,ペンの下降をdownとした。
最初、マーカーで描いたのだが、摩擦が強く描きづらかったので、ボールペンで描くことにした。
マクロで指定したスピードが早すぎてロボットが安定しなかったので、スピードを落としてロボットを安定させた。
さらに、方向転換のために左に曲がるとペン先が線の終わりからずれてしまうので前進や後退を用いて線のズレをなくすのが難しかった。
*出来た顔 [#ta4bd1ba]
#ref(2019b/Member/Hatto/Mission1/robo3.jpeg,25%)
*まとめ [#hecb6a95]
ロボットの後輪のせいで全然車体が安定しなかったので、後輪の改善が必要だったと思った。
x軸とy軸を用いてプログラミングをすれば良かったかもしれない。