- 追加された行はこの色です。
- 削除された行はこの色です。
目次
#contents
*課題について [#c3a9ed2f]
詳しくは課題([[2017a/Mission1]])を参照。
これからの大学生活でいろいろなことを貪欲に求めていきたいと思い、この「求」という字を選んだ。
松本での大学生活を表す一文字ということで、これからの大学生活でいろいろなことを貪欲に求めていきたいと思い、この「求」という字を選んだ。
*ロボット本体 [#p69d1362]
**車体部分 [#le1335c6]
ペンの上下運動の際に、ペンがロボットの本体とぶつからないように縦長の構造にした。
**ペン部分 [#le269b89]
ペンが紙に触れる際に、タイヤとタイヤの中心で紙に触れるように設計した。その理由は左タイヤと右タイヤを同時にそれぞれ反対方向に回転させれば、車体の回転の際、ペンと紙との接する面の位置のずれが軽減されるからである。
*文字について [#v8cdc4af]
今回はプログラミングの都合上以下の写真に示す書き順にした。
*プログラム [#vc242f80]
一画目から七画目までをわかりやすくするためにサブルーチンでプログラムした。
改良や調整をしやすくするため、1画目から7画目までをサブルーチンでプログラムした。
sub penup () //ペンを上げる
{
OnRev(OUT_A,20);
Wait(400);
Off(OUT_A);
}
sub pendown () //ペンを下ろす
{
OnFwd(OUT_A,20);
Wait(400);
Off(OUT_A);
}
sub ikkakume () //1画目
{
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
penup();
OnFwd(OUT_B,20);
OnRev(OUT_C,20);
Wait(3000);
Off(OUT_B);
Off(OUT_C);
pendown();
}
sub nikakume () //2画目
{
OnFwd(OUT_BC,30);
Wait(1000);
Off(OUT_BC);
penup();
OnFwd(OUT_C,20);
OnRev(OUT_B,20);
Wait(3250);
Off(OUT_C);
Off(OUT_B);
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
OnFwd(OUT_BC,30);
Wait(400);
Off(OUT_BC);
pendown();
}
sub sankakume () //3画目
{
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
penup();
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
OnFwd(OUT_C,20);
OnRev(OUT_B,20);
Wait(3000);
Off(OUT_C);
Off(OUT_B);
pendown();
}
sub yonkakume () //4画目
{
OnFwd(OUT_BC,30);
Wait(1000);
Off(OUT_BC);
penup();
OnFwd(OUT_C,20);
OnRev(OUT_B,20);
Wait(3250);
Off(OUT_C);
Off(OUT_B);
OnFwd(OUT_BC,30);
Wait(300);
Off(OUT_BC);
pendown();
}
sub gokakume () //5画目
{
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
penup();
OnFwd(OUT_BC,30);
Wait(500);
Off(OUT_BC);
pendown();
}
sub rokkakume () //6画目
{
OnFwd(OUT_BC,30);
Wait(200);
Off(OUT_BC);
penup();
OnFwd(OUT_C,20);
OnRev(OUT_B,20);
Wait(3500);
Off(OUT_C);
Off(OUT_B);
OnFwd(OUT_BC,30);
Wait(600);
Off(OUT_BC);
OnFwd(OUT_C,20);
OnRev(OUT_B,20);
Wait(2950);
Off(OUT_C);
Off(OUT_B);
OnFwd(OUT_BC,30);
Wait(600);
Off(OUT_BC);
pendown();
}
sub nanakakume () //7画目
{
OnFwd(OUT_BC,30);
Wait(400);
Off(OUT_BC);
penup();
}
task main ()
{
ikkakume();
nikakume();
sankakume();
yonkakume();
gokakume();
rokkakume();
nanakakume();
}
*まとめ [#ed2e1475]
**結果 [#r11e369e]
**感想 [#u67075f5]
ペンに当たらないようにするために全体的にロボットを高く設計した結果、重心が高くなりすぎてしまい回転が安定しなくなってしまうという症状が出た。数値から計算して理論通りにプログラミングしてもそのときの電池残量などによって誤差が生じてしまい、しっかりとそのときの状況に合わせたプログラミングが必要であると感じた。