[[2010a/A5R]]
#contents
*課題 似顔絵ロボット [#v78eaf46]

**目標 [#rf0f9e08]
コンパクトなロボットを目指す

**ロボットの外観 [#veec9196]


**Andoのプログラム [#w942b217]
 #define tt 48	//90°(基準値)
#define ct 54	//ターンの位置調整時間

sub pon()	//ペン接地
{
    OnFwd(OUT_B);Wait(100);
    Off(OUT_B);
}
sub poff()	//ペン上げ
{
    OnRev(OUT_B);Wait(150);
    Off(OUT_B);
}
void left(int t)
{
    OnRev(OUT_A); OnFwd(OUT_C); Wait(t);
    Off(OUT_A+OUT_C);
}
void right(int t)
{
    OnFwd(OUT_A); OnRev(OUT_C); Wait(t);
    Off(OUT_A+OUT_C);
}
void go(int t)
{
    OnFwd(OUT_A+OUT_C); Wait(t);
    Off(OUT_A+OUT_C);
}
void back(int t)
{   
    OnRev(OUT_A+OUT_C);Wait(t);
    Off(OUT_A+OUT_C);
}
void adj()	//位置調整
{
	poff();
	go(ct);
}
void goon(int t)	//描画前進
{
	back(ct);
	pon();
	go(t);
}
sub jigzag()	//ジグザグ走行
{
	OnFwd(OUT_A);Wait(30);Off(OUT_A);
	OnFwd(OUT_C);Wait(30);Off(OUT_C);
}
task main()
{
	//輪郭
	goon(100);
	adj();
	left(tt);
	goon(80);
	adj();
	left(tt);
	goon(100);
	
	//目
	poff();
	go(20);
	left(tt);
	//back(10);
	goon(80);
	
	adj();
	right(tt/3*5);//150°
	goon(30);
	adj();
	right(tt/3*2);//60°
	goon(30);
	adj();
	left(tt/3*2);//60°
	goon(30);
	adj();
	right(tt/3*2);//60°
	goon(30);
	
	adj();
	right(tt/3*2);//60°
	
	//口
	right(25);
	
	go(60);
	right(tt);
	goon(40);
	adj();
	go(20);
	right(tt+10);
	
	go(40+ct);
	right(tt);
	back(ct);
	
	//髪
	pon();
	repeat(3)
	{
		jigzag();
	}
	
	//終わり
	//poff();
	//back(150);
}

***完成した絵 [#kfc08ed1]
&br;&ref(Kpict.JPG);

**のプログラム [#g9932b71]

***完成した絵 [#sc267817]
&br;&ref(Dpict.JPG);

**問題点&工夫したところ [#de6856bc]
後輪をよく動くようにした。機動力が上がった。
棒を押し出してアームをあげるの仕組みにしたら、上げ幅がとても小さくなった。

***感想 [#m6597424]
思いのほか大変だった。ロボットが握りが弱い寿司のように崩れる場面があって、
メンテナンスの事も考えて作る必要があると感じた。うまくいくときいかないときがあるので確実性も必要だと思った。(Ando)

***コメントをどうぞ [#tf7e2aff]

#comment

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