2016a/Member/kotatu/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
*目次 [#hb354c67]
#contents
*はじめに [#w2f5d6e3]
今回の課題は、A4の紙にメンバーの似顔絵を描くロボット...
この課題のポイントは、
?どのようにペンをロボットに持たせるか
?曲がるときどのような動きをさせるか
の二点と考えました。
*ロボット本体の紹介 [#j5326a9b]
1.全体像
ペンの重みでアーム(ペンをつけている本体前方の部分)を...
両脇におもり(羽などがついている部分)をつけて上げた状...
#ref(2016a/Member/kotatu/Mission1/S_4434660918150.jpg,20%...
2.ペンの上げ下げ
一枚目はモーターとの接続部分の写真です。モーターが回...
二枚目はアームが上がっている状態です。
#ref(2016a/Member/kotatu/Mission1/S_4434660854345.jpg,20%...
#ref(2016a/Member/kotatu/Mission1/S_4434661245933.jpg,20%...
3.ペンの固定
ペンの固定は写真のように左右をパーツを使って挟み込む...
また、輪ゴムを使い上下のぶれも少なくしています。
#ref(2016a/Member/kotatu/Mission1/S_4434660963699.jpg,20%...
*プログラムの紹介 [#gff43b26]
○定義文
定義文は以下の通りです。
回転予備動作1,2は、角度を変えるときの調整用の動作で...
線の角度を変えるときにその場で回転してしまうと書いた...
回転予備動作1(前進)→回転→回転予備動作2(後退)
という流れで動かさせてペン先を同じ場所に合うようにし...
#define go_forward(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);...
#define turn_step1 OnFwd(OUT_AC);Wait(85);Off(OUT_AC); ...
#define turn_step2 OnRev(OUT_AC);Wait(85);Off(OUT_AC); ...
#define pen_down OnFwd(OUT_B);Wait(50);Off(OUT_B); ...
#define pen_up OnRev(OUT_B);Wait(50);Off(OUT_B); ...
#define TURN_TIME15 12 ...
#define TURN_TIME45 37 ...
#define TURN_TIME60 49 ...
#define TURN_TIME90 74 ...
○サブルーチン
はじめは、回転時間を変数にしてそれぞれのポイントご...
回転する度にずれが生じてしまったため、曲がる角度をそ...
ほぼ同じなのでここでは省略しますが、左回転(turn_left○...
sub turn_right15() \\15度右回転
{
pen_up; \\ペンを上げる
turn_step1; \\前進する
OnFwd(OUT_A); \\回転する
OnRev(OUT_C);
Wait(TURN_TIME15);
turn_step2; \\後退する
pen_down; \\ペンを下ろす
}
sub turn_right45() \\45度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME45);
turn_step2;
pen_down;
}
sub turn_right60() \\60度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME60);
turn_step2;
pen_down;
}
sub turn_right90() \\90度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME90);
turn_step2;
pen_down;
}
○似顔絵
反省点と感想のところで詳しく述べますがに線のつなぎが...
そのため完成予定図(下書き)を載せておきます。
#ref(2016a/Member/kotatu/Mission1/S_4437933034564.jpg,20%...
?顔の輪郭と髪型
髪型の部分で90度以上曲がるときは、90度曲がった後に再...
task main()
{
go_forward(60);
turn_left15();
go_forward(51);
turn_left60();
go_forward(35);
turn_left15();
go_forward(14);
turn_left15();
go_forward(35);
turn_left60();
go_forward(51);
turn_left15();
go_forward(60);
turn_left90();
go_forward(115);
turn_right60();
go_forward(42);
turn_right90();
turn_right60();
go_forward(59);
turn_left90();
turn_left45();
go_forward(32);
turn_right90();
turn_right45();
go_forward(48);
turn_left90();
turn_left45();
go_forward(28);
turn_right90();
turn_right60();
go_forward(76);
?移動と眉毛
pen_upは線を書かずに移動する部分で使っています。
turn_right90();
pen_up;
go_forward(26);
turn_right45();
go_forward(34);
turn_right15();
pen_up;
go_forward(14);
turn_right15();
go_forward(34);
turn_left15();
pen_up;
go_forward(12);
turn_left90();
pen_up;
go_forward(28);
turn_left90();
?眼鏡
repeatを使い、同じ動作を四回(途中向きの変更有り)させ...
repeatの前後の前進は調節です。
go_forward(7);
repeat(2){
go_forward(8);
turn_left90();
go_forward(7);
turn_right90();
go_forward(34);
turn_right90();
go_forward(7);
turn_left90();
go_forward(8);
}
go_forward(7);
repeat(2){
turn_right90();
}
go_forward(7);
repeat(2){
go_forward(8);
turn_left90();
go_forward(7);
turn_right90();
go_forward(34);
turn_right90();
go_forward(7);
turn_left90();
go_forward(8);
}
go_forward(7);
?鼻と口
turn_left90();
pen_up;
go_forward(22);
turn_left90();
pen_up;
go_forward(54);
turn_right90();
go_forward(10);
turn_right90();
pen_up;
go_forward(17);
turn_left90();
pen_up;
go_forward(15);
turn_left90();
go_forward(34);
turn_right90();
pen_up;
go_forward(7);
turn_right90();
pen_up;
go_forward(8);
pen_down;
go_forward(17);
Off(OUT_AC);
}
*反省点と感想 [#k6883236]
<反省点>
最終的に似顔絵を完成させることが出来ませんでした。原因...
ペン先が摩擦で留まろうとして紙に引っかかり、それが戻ろ...
<感想>
似顔絵を完成させることができませんでしたが、班員と協力...
特にプログラムは途中で定義から見直して一から書き直したこ...
終了行:
[[2016a/Member]]
*目次 [#hb354c67]
#contents
*はじめに [#w2f5d6e3]
今回の課題は、A4の紙にメンバーの似顔絵を描くロボット...
この課題のポイントは、
?どのようにペンをロボットに持たせるか
?曲がるときどのような動きをさせるか
の二点と考えました。
*ロボット本体の紹介 [#j5326a9b]
1.全体像
ペンの重みでアーム(ペンをつけている本体前方の部分)を...
両脇におもり(羽などがついている部分)をつけて上げた状...
#ref(2016a/Member/kotatu/Mission1/S_4434660918150.jpg,20%...
2.ペンの上げ下げ
一枚目はモーターとの接続部分の写真です。モーターが回...
二枚目はアームが上がっている状態です。
#ref(2016a/Member/kotatu/Mission1/S_4434660854345.jpg,20%...
#ref(2016a/Member/kotatu/Mission1/S_4434661245933.jpg,20%...
3.ペンの固定
ペンの固定は写真のように左右をパーツを使って挟み込む...
また、輪ゴムを使い上下のぶれも少なくしています。
#ref(2016a/Member/kotatu/Mission1/S_4434660963699.jpg,20%...
*プログラムの紹介 [#gff43b26]
○定義文
定義文は以下の通りです。
回転予備動作1,2は、角度を変えるときの調整用の動作で...
線の角度を変えるときにその場で回転してしまうと書いた...
回転予備動作1(前進)→回転→回転予備動作2(後退)
という流れで動かさせてペン先を同じ場所に合うようにし...
#define go_forward(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);...
#define turn_step1 OnFwd(OUT_AC);Wait(85);Off(OUT_AC); ...
#define turn_step2 OnRev(OUT_AC);Wait(85);Off(OUT_AC); ...
#define pen_down OnFwd(OUT_B);Wait(50);Off(OUT_B); ...
#define pen_up OnRev(OUT_B);Wait(50);Off(OUT_B); ...
#define TURN_TIME15 12 ...
#define TURN_TIME45 37 ...
#define TURN_TIME60 49 ...
#define TURN_TIME90 74 ...
○サブルーチン
はじめは、回転時間を変数にしてそれぞれのポイントご...
回転する度にずれが生じてしまったため、曲がる角度をそ...
ほぼ同じなのでここでは省略しますが、左回転(turn_left○...
sub turn_right15() \\15度右回転
{
pen_up; \\ペンを上げる
turn_step1; \\前進する
OnFwd(OUT_A); \\回転する
OnRev(OUT_C);
Wait(TURN_TIME15);
turn_step2; \\後退する
pen_down; \\ペンを下ろす
}
sub turn_right45() \\45度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME45);
turn_step2;
pen_down;
}
sub turn_right60() \\60度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME60);
turn_step2;
pen_down;
}
sub turn_right90() \\90度右回転
{
pen_up;
turn_step1;
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(TURN_TIME90);
turn_step2;
pen_down;
}
○似顔絵
反省点と感想のところで詳しく述べますがに線のつなぎが...
そのため完成予定図(下書き)を載せておきます。
#ref(2016a/Member/kotatu/Mission1/S_4437933034564.jpg,20%...
?顔の輪郭と髪型
髪型の部分で90度以上曲がるときは、90度曲がった後に再...
task main()
{
go_forward(60);
turn_left15();
go_forward(51);
turn_left60();
go_forward(35);
turn_left15();
go_forward(14);
turn_left15();
go_forward(35);
turn_left60();
go_forward(51);
turn_left15();
go_forward(60);
turn_left90();
go_forward(115);
turn_right60();
go_forward(42);
turn_right90();
turn_right60();
go_forward(59);
turn_left90();
turn_left45();
go_forward(32);
turn_right90();
turn_right45();
go_forward(48);
turn_left90();
turn_left45();
go_forward(28);
turn_right90();
turn_right60();
go_forward(76);
?移動と眉毛
pen_upは線を書かずに移動する部分で使っています。
turn_right90();
pen_up;
go_forward(26);
turn_right45();
go_forward(34);
turn_right15();
pen_up;
go_forward(14);
turn_right15();
go_forward(34);
turn_left15();
pen_up;
go_forward(12);
turn_left90();
pen_up;
go_forward(28);
turn_left90();
?眼鏡
repeatを使い、同じ動作を四回(途中向きの変更有り)させ...
repeatの前後の前進は調節です。
go_forward(7);
repeat(2){
go_forward(8);
turn_left90();
go_forward(7);
turn_right90();
go_forward(34);
turn_right90();
go_forward(7);
turn_left90();
go_forward(8);
}
go_forward(7);
repeat(2){
turn_right90();
}
go_forward(7);
repeat(2){
go_forward(8);
turn_left90();
go_forward(7);
turn_right90();
go_forward(34);
turn_right90();
go_forward(7);
turn_left90();
go_forward(8);
}
go_forward(7);
?鼻と口
turn_left90();
pen_up;
go_forward(22);
turn_left90();
pen_up;
go_forward(54);
turn_right90();
go_forward(10);
turn_right90();
pen_up;
go_forward(17);
turn_left90();
pen_up;
go_forward(15);
turn_left90();
go_forward(34);
turn_right90();
pen_up;
go_forward(7);
turn_right90();
pen_up;
go_forward(8);
pen_down;
go_forward(17);
Off(OUT_AC);
}
*反省点と感想 [#k6883236]
<反省点>
最終的に似顔絵を完成させることが出来ませんでした。原因...
ペン先が摩擦で留まろうとして紙に引っかかり、それが戻ろ...
<感想>
似顔絵を完成させることができませんでしたが、班員と協力...
特にプログラムは途中で定義から見直して一から書き直したこ...
ページ名: