こんな呼ばれ方をされたのは幼稚園児のとき以来・・・・・・・いやっ!呼ばれたことが無いっ!! 本当の名前は松本優司です
工学部情報工学科に時々現れる哺乳類の新種生命体である。十数年前にこの地球上に姿を現したのではないかとうわさされている。本名は深澤光と言うらしい。
・ロボットでパートナーの似顔絵を描く
・ホームページで成果の報告をする
大体こんな感じです。意外と頑丈で、キャタピラ部分は取り外すことができ、持ち運びの際はある程度コンパクトになります。
キャタピラに輪ゴムで止めてあります。ギアでモーターの回転数を落としてからキャタピラに伝え、floatを使い、紙にちょうど良い筆圧で書くことを可能にしています。ペンが曲がっているように見えますが、写真を撮るときに曲がっただけです。
ウォームギアを使い、一秒に動く距離を短くし、微調整ができるようにした。・・・つもりだったが、ウォームギアの特性上、ラグが生まれてしまい、逆に制御が難しくなってしまった・・・('д')
#define pen_up OnFwd(OUT_B); Wait(200); Float(OUT_B); Wait(50); #define pen_down OnRev(OUT_B); Wait(200); Float(OUT_B); Wait(50); #define pen_down2 OnRev(OUT_B); Wait(250); Float(OUT_B); Wait(50);
task main() { pen_down; OnRev(OUT_A+OUT_C);Wait(1000); //左頬 Off(OUT_A);Wait(1300); //輪郭 OnFwd(OUT_A+OUT_C);Wait(400);Off(OUT_A+OUT_C); //頭 OnFwd(OUT_A);OnRev(OUT_C);Wait(50); //微調整 OnFwd(OUT_A+OUT_C);Wait(1400); Off(OUT_A+OUT_C); OnRev(OUT_A);Wait(170);Off(OUT_A); //髪―微調整 OnRev(OUT_C);Wait(300);Off(OUT_C); repeat(5) { OnRev(OUT_A);Wait(300);Off(OUT_A); //髪の毛 OnRev(OUT_C);Wait(300);Off(OUT_C); } pen_up; OnRev(OUT_A);Wait(600);Off(OUT_A); //微調整 OnRev(OUT_C);Wait(500); OnFwd(OUT_A+OUT_C);Wait(800); pen_down2; OnFwd(OUT_A+OUT_C);Wait(250); //右目 pen_up; OnFwd(OUT_A+OUT_C);Wait(100); pen_down; OnFwd(OUT_A+OUT_C);Wait(250);Off(OUT_A+OUT_C); //左目 OnRev(OUT_A+OUT_C);Wait(350);Off(OUT_A+OUT_C); OnRev(OUT_A);Wait(250);Off(OUT_A); //鼻 pen_up; OnRev(OUT_A+OUT_C);Wait(200);Off(OUT_A+OUT_C); pen_down; OnRev(OUT_C);Wait(200);Off(OUT_C); //口 pen_up; }
どうしてこうなった・・・・
今回は補助輪の自由が利いていて微調整を必要とし、まだ初心者である私には使いこなせませんでした。しかし、今後のロボティクスにおいて補助輪が使いこなせるようになると、操作の幅が広がると思います。それをふまえると、今回の課題では大きな収穫が得られたと思います。
#define Pen_Set OnRev(OUT_B);Wait(200);Float(OUT_B);Wait(50); #define Pen_Reset OnFwd(OUT_B);Wait(200);Float(OUT_B);Wait(50); #define Medama OnRev(OUT_C);Wait(100);OnFwd(OUT_A);Off(OUT_C);Wait(100);OnFwd(OUT_C);Wait(50);OnRev(OUT_A);Wait(50);Off(OUT_A+OUT_C);
task main() { Pen_Set; OnRev(OUT_A);Wait(50);OnRev(OUT_C);Wait(100);Off(OUT_C);Wait(50);Off(OUT_A); repeat(13){ OnFwd(OUT_C);Wait(50);OnFwd(OUT_A);Wait(200);Off(OUT_A);Wait(50);Off(OUT_C); OnRev(OUT_A);Wait(50);OnRev(OUT_C);Wait(200);Off(OUT_C);Wait(50);Off(OUT_A);} //髪; OnRev(OUT_C);Wait(50);OnFwd(OUT_A);//輪郭へ repeat(16){Wait(80);Off(OUT_C);Wait(10);OnRev(OUT_C);} Off(OUT_C);Wait(1000); OnRev(OUT_C);Wait(20);Off(OUT_C);Wait(400);OnFwd(OUT_C);Wait(150); repeat(23){OnRev(OUT_A);Wait(50);Off(OUT_A);Wait(50);} Off(OUT_A+OUT_C); Pen_Reset;//輪郭終わり OnRev(OUT_C);Wait(1400);Off(OUT_C);//右目の位置へ Pen_Set; Medama; Pen_Reset; OnRev(OUT_C);OnFwd(OUT_A);Wait(400);Off(OUT_A+OUT_C);Wait(50);//鼻の位置へ Pen_Set; OnFwd(OUT_C);Wait(100);OnRev(OUT_A);Wait(150); OnFwd(OUT_B);Wait(100);Off(OUT_A);Wait(100);Float(OUT_B);Wait(50); //ペンリセット; Wait(50);Off(OUT_A+OUT_C);Wait(50); Pen_Set; Medama; OnFwd(OUT_B);Wait(200);Float(OUT_B);Wait(50); OnRev(OUT_C);Wait(200);OnFwd(OUT_A);Wait(400);Off(OUT_A);Wait(200);Off(OUT_C);Wait(50); Pen_Set; Medama; Pen_Reset; }
目が死んでるように見えるのは気のせいです。(笑)
動きが遅くなりすぎてしまい、プログラム作成の際、待ち時間が長くなってしまい、退屈でした。さらに、プログラムの最後のほうを修正する際は、電池がもったいないと思った。
ウォームギアを使用したので動きが遅くなってしまった→時間があればギア比などを考えて改良で来たと思う。今回は明らかな時間不足で修正することができなかった。
本番と家でやった時との絵の差が大きかった。床などの摩擦係数が違うからだと思う→できれば最終調整は本番と同じ状態で行うべきだと思う。
このページについてコメントをお願いします
コメントありがとうございます。時間がもっとあれば顔のパーツもより細かく作ることができたと思います。私たちのロボットは四輪ではなく三輪なので、回転動作(右輪が前、左輪が後ろなど)の動きをさせた時の回転の軸が車軸の真ん中で安定しているといえます。四輪の場合は摩擦などが複雑に関係するので回転動作をおこなったときに同じ場所で回り続けることができず、少しづつ回転軸がずれていってしまいます。三輪の私たちのロボットは左右の出力が同じであれば同じ場所で回り続けることも可能だと思います。・・・Fより
アクセスカウンタ
本日2
昨日0
総数&counter([total|today|yesterday]);