- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006a/C2/練習page]]
[[ロボティクス入門ゼミ]]
*課題 [#t8b8939d]
**水を書くロボットを作る [#t5cc8db8]
まずロボットの構造を佐藤君(相方)と一緒に考えました。話し合った結果、ロボがペンを持ちながら動くものではなく、ロボは動かないで、ペンを上下左右に動かすロボを作ることに決まりました。しかしモーター3個でペンの上げ下げと上下左右に動かすロボの構造を考えること、横移動は車輪でロボごと動かすことにしました。その結果なんとか水を書くロボが完成することができました。そのロボの名前は、ジェット・田中!!です。(注:今、決めたので相方の許可をとってません)
まずロボットの構造を佐藤君(相方)と一緒に考えました。話し合った結果、ロボがペンを持ちながら動くものではなく、ロボは動かないで、ペンを上下左右に動かすロボを作ることに決まりました。しかしモーター3個でペンの上げ下げと上下左右に動かすロボの構造を考えること、横移動は車輪でロボごと動かすことにしました。その結果なんとか水を書くロボが完成することができました。そのロボの名前は、ジェット・田中!!です。(注:今、決めたので相方の許可をとってません)&br;
#ref(2006a/C2/課題1左/proGRA/shuji_02.bmp,100%,ジェット田中!!)
ジェット・田中の利点は、小さい字を書けることと、早く書けることです。逆に弱点は、大きい字を書けないことと、耐性がないことです。
**水を書くロボットのプログラム [#gdc276ad]
task main()
{
while(1){
pen_down();
wt();
Retreat();
wt();
hane();
wt();
pen_up();
wt();
move_left();
wt();
pen_down();
wt();
left();
wt();
diagonal_left();
wt();
pen_up();
wt();
move_light();
wtl();
pen_down();
wt();
light();
wt();
diagonal_light();
wt();
pen_up();
wt();
neta();
}
}
void wt(void){ //20msの待ち時間
Wait(20);
}
void wtl(void){ //50msの待ち時間
Wait(50);
}
void pen_up(void){ //ペンを持ち上げる(紙から離す)
OnRev(OUT_C);
Wait(50);
Off(OUT_C);
}
void pen_down(void){ //ペンを下げる(紙につける)
OnFwd(OUT_C);
Wait(50);
Off(OUT_C);
}
void Retreat(void){ //アームを引く
OnFwd(OUT_B);
Wait(70);
Off(OUT_B);
}
void hane(void){ //刎ねる
OnFwd(OUT_A);
OnRev(OUT_B);
Wait(10);
Off(OUT_A+OUT_B);
}
void move_left(void){ //二画目の開始点へ移動
OnFwd(OUT_A);
OnRev(OUT_B);
Wait(13);
Off(OUT_A);
Wait(20);
Off(OUT_B);
}
void left(void){ //二画目をかく
OnRev(OUT_A);
Wait(20);
Off(OUT_A);
}
void diagonal_left(void){ //二画目の斜め
OnFwd(OUT_A+OUT_B);
Wait(30);
Off(OUT_A+OUT_B);
}
void move_light(void){ //三画目の開始点へ移動
OnRev(OUT_A+OUT_B);
Wait(30);
Off(OUT_B);
Wait(23);
Off(OUT_A);
}
void light(void){ //三画目を書く
OnFwd(OUT_A);
Wait(20);
Off(OUT_A);
}
void diagonal_light(void){ //三画目の斜め
OnRev(OUT_A);
OnFwd(OUT_B);
Wait(30);
Off(OUT_A+OUT_B);
}
void neta(void){ //次の開始点へ(オマケ)
OnRev(OUT_A+OUT_B);
Wait(60);
Off(OUT_A+OUT_B);
}
水を書くプログラムは相方がやってくれました。プログラムの簡単な解説は、水を書くのに必要な数値をそれぞれのサブルーチン(void)から呼び出し、それをwhileでくりかえしています。
このプログラムのおかげでジェット・田中が"水"を書くことができるようになりました。めでたし、めでたし。