- 追加された行はこの色です。
- 削除された行はこの色です。
[[2010a/A5R]]
#contents
*課題 似顔絵ロボット [#v78eaf46]
*課題 似顔絵ロボット [#u9875569]
**目標 [#rf0f9e08]
コンパクトな安定した動きをするロボットを目指す
<似顔絵を描く。
<コンパクトにする。
**ロボットの外観 [#veec9196]
<初めは次のようなロボットを製作しました。三輪、前輪で駆動&旋回。
&br;&ref(shodai.JPG,,20%);&ref(shodai2.JPG,,20%);
&br;&ref(arm_shodai.JPG,,25%);
<これで書いた絵
&br;&ref(kao1.JPG,,20%);
<しかし精密機動性が低すぎるので、二代目を作りました。
&br;&ref(kansei.JPG,,20%);
<アーム
&br;&ref(arm.JPG,,50%);
<ロボット内部のアームを押し上げる棒
&br;&ref(arm_nakami.JPG,,50%);
<後輪を回るようにして回転が少し正確になりました。
&br;&ref(taiya.JPG,,20%);
**Andoのプログラム [#w942b217]
#define tt 48 //90°(基準値)
#define ct 54 //ターンの位置調整時間
#define tt 49 //90°(基準値)
#define ct 51 //ターンの位置調整時間
sub pon() //ペン接地
{
sub pon() //ペン接地
{
OnFwd(OUT_B);Wait(100);
Off(OUT_B);
}
sub poff() //ペン上げ
{
}
sub poff() //ペン上げ
{
OnRev(OUT_B);Wait(150);
Off(OUT_B);
}
void left(int t)
{
}
void left(int t)
{
OnRev(OUT_A); OnFwd(OUT_C); Wait(t);
Off(OUT_A+OUT_C);
}
void right(int t)
{
}
void right(int t)
{
OnFwd(OUT_A); OnRev(OUT_C); Wait(t);
Off(OUT_A+OUT_C);
}
void go(int t)
{
}
void go(int t)
{
OnFwd(OUT_A+OUT_C); Wait(t);
Off(OUT_A+OUT_C);
}
void back(int t)
{
}
void back(int t)
{
OnRev(OUT_A+OUT_C);Wait(t);
Off(OUT_A+OUT_C);
}
void adj() //位置調整
{
}
void adj() //位置調整
{
poff();
go(ct);
}
void goon(int t) //描画前進
{
}
void goon(int t) //描画前進
{
back(ct);
pon();
go(t);
}
sub jigzag() //ジグザグ走行
{
}
sub jigzag() //ジグザグ走行
{
OnFwd(OUT_A);Wait(30);Off(OUT_A);
OnFwd(OUT_C);Wait(30);Off(OUT_C);
}
task main()
{
}
task main()
{
//輪郭
goon(100);
adj();
left(tt);
goon(80);
adj();
left(tt);
goon(100);
//目
poff();
go(30);
left(tt);
back(ct);
go(20);
left(tt);
//back(10);
goon(80);
pon();
go(20);
poff();
go(20);
pon();
go(20);
poff();
go(20);
//眉毛
adj();
right(tt/3*5);//150°
goon(30);
right(tt/3*5+10);//150°+10
goon(28);
adj();
right(tt/3*2);//60°
goon(30);
goon(28);
adj();
left(tt/3*2);//60°
goon(30);
goon(28);
adj();
right(tt/3*2);//60°
goon(30);
goon(28);
adj();
right(tt/3*2);//60°
//口
right(25);
right(10);
go(60);
go(50);
right(tt);
go(20);
goon(40);
adj();
go(20);
right(tt+10);
go(40+ct);
right(tt);
back(ct);
//髪
pon();
repeat(3)
{
jigzag();
}
//終わり
//poff();
poff();
//back(150);
}
}
<ロボットの位置修正のためにそのば凌ぎプログラムが増えてしまい、とても長くなりました。
***完成した絵 [#kfc08ed1]
&br;&ref(Kpict.JPG);
&br;&ref(kao2.JPG,,20%);
余計な線が多め。挫折のようなものを感じました。現実は厳しい。
**YUのプログラム [#g9932b71]
***完成した絵 [#sc267817]
&br;&ref(Dpict.JPG);
&br;&ref(kao3.JPG);
**問題点&工夫したところ [#de6856bc]
後輪をよく動くようにした。機動力が上がった。
棒を押し出してアームをあげるの仕組みにしたら、上げ幅がとても小さくなった。
**問題点、工夫した所 [#de6856bc]
<後輪をよく動くようにした。機動力が上がった。
<コンパクトさで重心が前になりすぎて、旋回時や停止時に余計な線を書いてしまった。
<棒を押し出してアームをあげる仕組みにしたら、上げ幅がとても小さくなった。
***感想 [#m6597424]
思いのほか大変だった。ロボットが握りが弱い寿司のように崩れる場面があって、
メンテナンスの事も考えて作る必要があると感じた。うまくいくときいかないときがあるので確実性も必要だと思った。(Ando)
綺麗な顔が書けるようにとにかく小回りのきくロボットを作るようにしました。とくに筆を持たせるアーム部分は苦労の連続で安定した動きをさせるようにするにはかなり時間がかかりましたが、二人で何回も話し合って納得のいくロボットを作り上げることができました。(YU)
<思いのほか大変でした。ロボットが握りが弱い寿司のように崩れる場面があって、
メンテナンスの事も考えて作る必要があると感じました。うまくいくときいかないときがあるので確実性も必要だと思いました。(Ando)
<綺麗な顔が書けるようにとにかく小回りのきくロボットを作るようにしました。とくに筆を持たせるアーム部分は苦労の連続で安定した動きをさせるようにするにはかなり時間がかかりましたが、二人で何回も話し合って納得のいくロボットを作り上げることができました。(YU)
***コメントをどうぞ [#tf7e2aff]
#comment