- 追加された行はこの色です。
- 削除された行はこの色です。
[[2011a]]
#contents
*課題内容 [#sfe160a2]
http://yakushi.shinshu-u.ac.jp/robotics/?2011a%2F%CE%FD%BD%AC%CC%E4%C2%EA
*メンバー紹介 [#if635fca]
-すがはら
-ゆきちくん
*製作したロボット [#q31a7700]
**ロボットの全体図 [#j4a1b02b]
#ref(05.jpg)
#ref(04.jpg)
**工夫した点 [#j1f826dc]
--回転するときに紙が動かないようにするために車幅(タイヤ幅)を狭くした。
#ref(01.jpg)
--ペンを上げるときのスピードを抑えるため、歯車をいくつか組み合わせた。
#ref(03.jpg)
#ref(06.jpg)
--歯車を組み合わせてペンを動かすモーターの位置をできるだけ前にもってくることによって、車体のバランスをとり、振動しづらくさせた。
#ref(07.jpg)
--修理・調整のしやすさを考慮して、簡単な構造にした。
**苦労した点 [#pbfefd35]
--最初、駆動部をキャタピラにしてロボットを作ったが、振動が激しく、また、回転時のバランスも悪いので、タイヤに変えて作り直した。
--A4サイズの紙は非常に小さく、円が書けなかったり、少し数値が大きいだけでロボットが紙からはみだしてしまった。
*プログラム [#sd957e64]
**すがはらのプログラム [#w022cfa5]
#define LEFT(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//反時計回り
#define RIGHT(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);//時計回り
#define LEFT(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);//右回り
#define RIGHT(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);//左回り
#define GO(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //直進
#define BACK(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後退
#define UP OnRev(OUT_B);Wait(50);Off(OUT_B); //ペンをあげる
#define DOWN OnFwd(OUT_B);Wait(50);Off(OUT_B); //ペンをさげる
#define MIGI OnFwd(OUT_A);Wait(100);Off(OUT_A); //ゆっくり時計回り
#define MIGI OnFwd(OUT_A);Wait(100);Off(OUT_A); //ゆっくり右回り
task main()
{
DOWN;
GO(45); //鼻
LEFT(17);
UP;
LEFT(70);
BACK(40);
RIGHT(85);
BACK(15);
DOWN;
BACK(35); //右目
UP;
LEFT(90);
GO(80);
RIGHT(85);
DOWN;
BACK(35); //左目
UP;
RIGHT(55);
GO(60);
RIGHT(140);
GO(30);
DOWN;
MIGI; //口
UP;
}
**似顔絵 [#idc58ec9]
#ref(sugahara.JPG)
**ゆきちのプログラム [#l875536e]
#define half_cheek 25 //旋回時の、「頬」の半分の角度
#define HIDARI(t) OnRev(OUT_C);OnFwd(OUT_A);Wait(t);Off(OUT_A+OUT_C); //左にt秒旋回
#define MIGI(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //右にt秒旋回
#define GO_RIGHT(t) OnFwd(OUT_A);Wait(t);Off(OUT_A); //右にt秒進む
#define GO_LEFT(t) OnFwd(OUT_C);Wait(t);Off(OUT_C); //左にt秒進む
#define GO(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //前にt秒進む
#define BACK(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後ろにt秒進む
#define PEN_UP OnRev(OUT_B);Wait(50);Off(OUT_B); //ペンを上げる
#define PEN_DOWN OnFwd(OUT_B);Wait(50);Off(OUT_B); //ペンを下げる
task main ()
{
GO(12);
MIGI(half_cheek);
PEN_DOWN;
HIDARI(half_cheek*2);
PEN_UP; //左の頬
MIGI(half_cheek);
GO(24);
PEN_DOWN;
GO(30);
PEN_UP;//左目
GO(18);
PEN_DOWN;
MIGI(half_cheek);
BACK(25);
PEN_UP; //鼻
GO(30);
HIDARI(half_cheek);
GO(18);
PEN_DOWN;
GO(30);
PEN_UP; //右目
BACK(120);
HIDARI(200);
MIGI(half_cheek)
PEN_DOWN;
HIDARI(half_cheek*2);
PEN_UP;//右の頬
MIGI(half_cheek*2);
GO(60);
GO_RIGHT(60);
HIDARI(15);
PEN_DOWN;
GO_RIGHT(40);
Wait(200);
MIGI(10);
PEN_UP;//口
MIGI(10);
BACK(200);//退場
}
**似顔絵 [#z690f6d8]
#ref(yukichi.JPG)
*反省、感想 [#n9c16f44]
--最初、キャタピラを使ってロボットを作り似顔絵を描いていたが、向きを変えるときに紙も一緒に動いてしまった。それを改善するのが大変だった。
--ペンの上下を最初、タイヤで挟む方式で行っていたが、重くてバランスがとれなかったため、断念したことが残念だった。
--描いた似顔絵がペアの人に似ていなかった。
--プログラムの調整が大変だった。
--似顔絵完成後に、先生のコメントを受け、トルクギアを搭載してみたところ、適切な筆圧が得られた。様々な種類があるパーツだが、それらを把握しきれていなかったことが分かった。以降のロボット作成の際に活用していきたい。
#ref(09改.jpg)
*コメント [#jb4ac6e3]
- ウォームギアに噛ませている24枚ギアを白いトルクギアに変更してみると適切な筆圧が得やすいと思います。 -- [[松本]] &new{2011-05-16 (月) 23:35:46};
#comment