- 追加された行はこの色です。
- 削除された行はこの色です。
* 目次 [#l1c80292]
#contents
* メンバー紹介 [#z04bf908]
- セレン
繊維学部応用生物学系。1ヶ月半でノートパソコンを2回壊している。
- AU
工学部電気電子工学科。エーユーじゃなくてあうーです。
* 機体の画像 [#e8ae56e2]
まずは先代から。
#ref(先代.JPG)
#ref(先代の後輪.JPG)
後輪が一輪っぽい二輪で、機体が前進するときは問題ないが、後退するときに後輪がつんのめってしまい、絵を描くルートが安定しなかった。
~ そして完成形。まあそんなには変わってない。カッコつけて意味もなく抜き出してみた。
#ref(機体完成.JPG)
機体の前。ペンの上げ下ろしはアーム式。元々は4つのタイヤで支える方式だったが、重心が前に傾くので簡単な構造のアームに。ペンが描く軌跡は右寄りである。
#ref(前.JPG)
#ref(ストッパー.JPG)
アームが左に曲がりすぎないようにストッパーのブロックを念のためにつけている。
#ref(輪ゴム止め.JPG)
輪ゴムがとれないように車軸を輪ゴム止めとして使用。
~ 前輪。ちょうどいい長さの車軸がなく、かなりはみだしているが気にしない。
#ref(前輪.JPG)
#ref(裏.JPG)
機体の下面。左右の2つのモーターが隣接している状態なので、実質一番小回りが利くカスタマイズである。
~ 問題の後ろ。後輪の左右の重りをとったのですっきりした。
#ref(後ろ.JPG)
先生のアドバイスを受けて一輪にしてみた。おかげで後退してもスムーズに動くように。
#ref(後輪.JPG)
* セレンの制作 [#n1ad1c9d]
** 似顔絵の完成予想図 [#c4b3a395]
&ref(DSC02570.gif); こんな感じ
こんな感じ。いいお顔です。
#ref(完成予想図.JPG)
紙を動かさないように機体を動かす手数をできるだけ減らすことを考えて、下の図のような手順で似顔絵を描いていくことに決定した。
#ref(お絵描きルート.JPG)
** プログラム [#yc7ae51a]
主にマクロを使用。機体(の車輪)をできるだけ紙の外に出さないようにするため、また、描く線の軌跡を考慮して「turn」と「spin」を使い分けている。
主にマクロを使用。機体(の車輪)をできるだけ紙の外に出さないようにするため、また、描く線の軌跡を考慮して片方のタイヤだけ動かして曲がる「turn」と左右のタイヤが互いに逆に回る「spin」を使い分けている。
#define go_ahead(t) OnFwd(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);
#define go_back(t) OnRev(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C);
#define turn_right(t) OnFwd(OUT_A); Wait(t); Off(OUT_A);
#define turn_left(t) OnFwd(OUT_C); Wait(t); Off(OUT_C);
#define spin_right(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t); Off(OUT_A+OUT_C);
#define spin_left(t) OnFwd(OUT_C); OnRev(OUT_A); Wait(t); Off(OUT_A+OUT_C);
#define raise_pen OnFwd(OUT_B); Wait(5); Off(OUT_B);
#define lower_pen OnRev(OUT_B); Wait(8); Off(OUT_B);
#define go_ahead(t) OnFwd(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C); //前進
#define go_back(t) OnRev(OUT_A+OUT_C); Wait(t); Off(OUT_A+OUT_C); //後退
#define turn_right(t) OnFwd(OUT_A); Wait(t); Off(OUT_A); //右に曲がる
#define turn_back_right(t) OnRev(OUT_A); Wait(t); Off(OUT_A); //右に後退
#define turn_left(t) OnFwd(OUT_C); Wait(t); Off(OUT_C); //左に曲がる
#define turn_back_left(t) OnRev(OUT_C); Wait(t); Off(OUT_C); //左に後退
#define spin_right(t) OnFwd(OUT_A); OnRev(OUT_C); Wait(t); Off(OUT_A+OUT_C); //時計回り(不使用)
#define spin_left(t) OnFwd(OUT_C); OnRev(OUT_A); Wait(t); Off(OUT_A+OUT_C); //反時計回り
#define raise_pen OnFwd(OUT_B); Wait(5); Off(OUT_B); //ペンを上げる
#define lower_pen OnRev(OUT_B); Wait(8); Off(OUT_B); //ペンを下ろす
task main()
{
repeat(2){
turn_left(234); //輪郭描写
turn_left(226); //輪郭描写
go_ahead(60);
}
raise_pen; //移動
}
raise_pen; //移動
go_back(15);
spin_left(58);
go_back(40);
lower_pen; //顔と髪の境界線描写
go_ahead(96);
raise_pen; //移動
spin_left(60);
go_back(50);
lower_pen; //顔と髪の境界線描写
go_ahead(120);
raise_pen; //移動
spin_left(115);
go_back(52);
lower_pen; //右目描写
go_back(30);
lower_pen; //右目描写
go_ahead(25);
raise_pen; //移動
raise_pen; //移動
go_ahead(26);
lower_pen; //左目描写
lower_pen; //左目描写
go_ahead(25);
raise_pen; //移動
OnRev(OUT_C);
Wait(140);
Off(OUT_C);
go_ahead(55);
lower_pen; //口描写
turn_left(60);
raise_pen; //移動
go_back(70);
lower_pen; //鼻(下)描写
go_ahead(25);
raise_pen; //移動
go_back(25);
lower_pen; //鼻(上)描写
raise_pen; //移動
go_back(15);
turn_back_left(95);
go_ahead(50);
turn_left(30);
lower_pen; //口描写
turn_left(70);
raise_pen; //移動
go_back(20);
turn_back_right(50);
lower_pen; //鼻(上)描写
turn_left(25);
raise_pen; //移動
turn_back_left(25);
lower_pen; //鼻(下)描写
turn_right(25);
}
** 完成図 [#j42aaf3a]
先代の描いた似顔絵。上に述べたように後退する距離がなかなか安定しなかったため、毎回誤差があり、これは一番出来が良かった絵である。もっともプログラムも異なるのだが……。
#ref(先代作成の似顔絵.JPG)
すいませんなめてましたこれが限界です……。
~ 後輪を改良した結果、紙があまり動くことがなくなったので、誤差が小さくなり、こんなにうまくかけるようになりました。
#ref(似顔絵完成.JPG)
* AUの制作 [#g9e00140]
** 似顔絵の完成予想図 [#kbbca0d8]
丸顔です。穏やかな表情。
#ref(yotei.jpg)
** プログラム [#ha27f832]
紙が動かないようにするために、できるだけ動きが少なくなるようプログラムを組んでみた。
#define straight(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 left(t) OnFwd(OUT_C);Wait(t);Off(OUT_C);
#define spin(t) OnFwd(OUT_C);OnRev(OUT_A);Wait(t);Off(OUT_A+OUT_C);
#define right(t) OnFwd(OUT_A);Wait(t);Off(OUT_A);
#define up OnFwd(OUT_B);Wait(5);Off(OUT_B);
#define down OnRev(OUT_B);Wait(8);Off(OUT_B);
task main()
{
left(430); //輪郭
up(5);
back(20);
down(8);
left(170); //髪
up(5);
left(70);
back(50);
spin(58);
back(20);
down(8);
straight(20); //目
up(5);
straight(20);
down(8);
straight(20);
up(5);
right(80);
down(8);
right(100); //口
up(5);
}
** 完成図 [#d1097fdc]
こんな感じになりました。
#ref(sakuhinn.jpg)
試行錯誤しつつ何度か完成予定図を変更したが、紙を全く動かさないで描くことができた。
* 感想・反省 [#q9461849]
- とにかくめっさ時間がかかった。そして私は高を括っていた。あと相棒との時間が合わず個人作業が多くなってしまい、結局期限に間に合わないなど様々な問題点があったが、なんとか一応自分では満足のできる結果となって良かった。機体のカスタマイズに時間をかけすぎて絵のクオリティを上げることが時間的にできなかった。なのでこれからはもっと早くから準備しようと思う。(セレン)
- 輪郭等もっと人間っぽくしようと思っていたが、先代の機体では紙が動きすぎてしまい断念。相方が機体をカスタマイズしてくれたおかげで、なんとか顔っぽいものを書けたので良かった。もっと一緒に制作できる時間を確保できれば良かった。(AU)
* コメントスペース [#cd043ff7]
コメントがあったらどうぞ。
コメントがあったらどうぞ。
- とりあえず枠を作成 -- [[セレン]] &new{2011-11-10 (木) 16:55:02};
#comment