[[2011a]] #contents *課題内容 [#sfe160a2] [[2011a/練習問題]] *メンバー紹介 [#if635fca] -すがはら -ゆきちくん *製作したロボット [#q31a7700] **ロボットの全体図 [#j4a1b02b] --車幅を狭めたり、構造をシンプルにしたため、比較的、小さいロボットになった。 #ref(05.jpg) --ペンの上げ下げは、ペンを結びつけたアームを直接上下に動かすという方法を採用した。 #ref(04.jpg) **工夫した点 [#j1f826dc] 車体 --回転するときに紙が動かないようにするために車幅(タイヤ幅)を狭くした。 #ref(01.jpg) ペンの上げ下げを担当する部分 --仕組みはこんな感じ。 #ref(10.JPG) --ペンを上げるときのスピードを抑えるため、歯車をいくつか組み合わせた。 #ref(03.jpg) --補足:上の二図で「黒いネジ状のギア」「この歯車」と書いてあるギアの正式名称は「ウォームギア」です。 全体 --修理・調整のしやすさを考慮して、簡単な構造にした。 --歯車を組み合わせてペンを動かすモーターの位置をできるだけ前にもってくることによって、車体のバランスをとり、振動しづらくさせた。 #ref(07.jpg) **苦労した点 [#pbfefd35] --最初、駆動部をキャタピラにしてロボットを作ったが、振動が激しく、また、回転時のバランスも悪いので、タイヤに変えて作り直した。 --A4サイズの紙は非常に小さく、円が書けなかったり、少し数値が大きいだけでロボットが紙からはみだしてしまった。 *プログラム [#sd957e64] **すがはらのプログラム [#w022cfa5] --輪郭を描きやすくするために目を縦にしてみたが、輪郭を描くと紙が動いてしまったので輪郭は描かなかった。でも縦目が気に入ったのでそのままにした。 --口を描くときにAのモーターのみ回して円を大きく書き、笑っているようにした。 --場所によって回るスピードが違ったため、最初に値を定義せず、プログラムの中で数値を設定し、誤差を少なくした。 #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); //ゆっくり右回り 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 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 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 PEN_UP OnRev(OUT_B);Wait(50);Off(OUT_B); //ペンを上げる #define PEN_DOWN OnFwd(OUT_B);Wait(50);Off(OUT_B); //ペンを下げる #define EYE GO(30);PEN_DOWN;GO(30);BACK(30);GO(30);PEN_UP;BACK(60); //目 #define EYEBROW GO(25);PEN_DOWN;GO(45);PEN_UP;BACK(70); //眉 task main () { GO(200); //入場 HIDARI(half_cheek); PEN_DOWN; MIGI(half_cheek*4); PEN_UP; //右の頬 HIDARI(half_cheek*3); GO(82); PEN_DOWN; MIGI(half_cheek); BACK(25); PEN_UP; //鼻 GO(30); HIDARI(half_cheek); BACK(100); EYE; //右目 HIDARI(20); EYEBROW; //右の眉 HIDARI(150); EYEBROW; //左の眉 HIDARI(20); EYE; //左目 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); MIGI(10); PEN_UP; //口 MIGI(10); BACK(200); //退場 } **似顔絵 [#z690f6d8] #ref(yukichi2.JPG) *反省、感想 [#n9c16f44] --最初、キャタピラを使ってロボットを作り似顔絵を描いていたが、向きを変えるときに紙も一緒に動いてしまった。それを改善するのが大変だった。 --ペンの上下を最初、タイヤで挟む方式で行っていたが、重くてバランスがとれなかったため、断念したことが残念だった。 --描いた似顔絵がペアの人に似せることができなかった。 --もっと多く集まって取り組めればいろいろと改善できたと思うので残念だった。 --プログラムの調整が大変だった。 --先生のコメントを受け、トルクギアを搭載してみたところ、適切な筆圧が得られた。様々な種類があるパーツだが、それらを把握しきれていなかったことが分かった。以降のロボット作成の際に活用していきたい。 #ref(09改.jpg) *コメント [#jb4ac6e3] - ウォームギアに噛ませている24枚ギアを白いトルクギアに変更してみると適切な筆圧が得やすいと思います。 -- [[松本]] &new{2011-05-16 (月) 23:35:46}; #comment