2019b/Member/Nakakoo/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題? [#b17ef25c]
パートナーの似顔絵を描く
*ロボットの説明 [#o8c55748]
今回作成したロボットは車体自体が移動し
~アームの機構によりペンを上げ下げする自走式ロボットを作成...
#ref(./IMG_5891s.JPG,75%,車体の画像)
本来はX軸とY軸のそれぞれが別々に動くロボットを作成したか...
~時間が足りなかったために、急遽自走式ロボットに変更した。
**ペン周りの構造 [#f189bc8d]
一つのモータを使いアームの上げ下げを行う。
~ペンの太さに沿って二本のガイドラインを入れ、
~その後ろにペンを支える棒を二本置いた。
~この棒を2本入れておくことで、前に進んだときにペンがずれ...
~しかし、これだと後ろに進んだときには輪ゴムだけで支えるこ...
#ref(./IMG_5895s.JPG,75%,ペン先の画像)
本当はペンを車体の内側に入れて前輪の間に置くことで曲がっ...
~車高が低すぎたためにペンが内側に入らず断念した。
**後輪の構造 [#o3ff8dc4]
回転軸をタイヤの中心から平行にずらし、自由に回転できるよ...
#ref(./IMG_5890s.JPG,75%,後輪の画像);
~しかし、後輪が細すぎたり、重心が後ろにかかり過ぎていたので
~バックするときに後輪がまっすぐの方向に戻りきらず
~曲がったままバックするので直進しないという不具合が生じた。
*プログラミングの説明 [#oee9b5a9]
**今回使用したプログラム [#tbb869e5]
#define SPEED 20
#define hidari(t) OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED)...
#define migi(t) OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED);W...
#define mae(t) OnFwd(OUT_BC,SPEED);Wait(t);Off(OUT_BC)
#define usiro(t) OnRev(OUT_BC,SPEED);Wait(t);Off(OUT_BC)
#define enn(t) OnFwd(OUT_B,30);Wait(t);Off(OUT_B)
#define pd OnFwd(OUT_A,SPEED);Wait(170);Off(OUT_A)
#define pu OnRev(OUT_A,SPEED);Wait(170);Off(OUT_A)
task main()
{
Wait(2500);
pd;
mae(1800);
enn(1100);
pu;
mae(2100);
hidari(2500);
usiro(2200);
pd;
mae(1600);
enn(1150);
pu;
mae(1700);
hidari(800);
usiro(3300);
pd;
mae(400);
pu;
mae(400);
pd;
mae(400);
pu;
mae(1600);
hidari(1400);
usiro(1800);
pd;
mae(350);
enn(150);
pu;
mae(400);
hidari(250);
pd;
migi(500);
pu;
}
**ペンの上げ下げ [#b716814f]
マクロを指定し pu=pen up, pd=pen down と指定した。
#define SPEED 20
#define pd OnFwd(OUT_A,SPEED);Wait(170);Off(OUT_A) /...
#define pu OnRev(OUT_A,SPEED);Wait(170);Off(OUT_A) /...
ペン先と紙の摩擦を考え、サインペンではなくボールペンを使...
~ボールペンを使うことで摩擦が軽減され、少し多めにペンを下...
**輪郭 [#l0c2376c]
マクロで動きと速さをすべて指定し、時間=t という変数を...
~好きな時間だけ動かせるようにした。
#define SPEED 20
#define hidari(t) OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED)...
#define mae(t) OnFwd(OUT_BC,SPEED);Wait(t);Off(OUT_BC) ...
#define usiro(t) OnRev(OUT_BC,SPEED);Wait(t);Off(OUT_BC...
#define enn(t) OnFwd(OUT_B,30);Wait(t);Off(OUT_B) ...
Wait(2500);
pd;
mae(1800); // 左側の輪郭
enn(1100); // あごの形
pu;
mae(2100); // 方向転換のための調節
hidari(2500); // 左に曲がる
usiro(2200); // 下がってペン先を調整
pd;
mae(1600); // 右側の輪郭
enn(1150); // 頭の形
pu;
マクロで指定したスピードが速すぎたので、もう少しゆっくり...
~ペン先がタイヤの中心にないので綺麗な半円を描くことができず
~あごの形が太くなりすぎてしまった。
~さらに、方向転換のために左に曲がるとペン先が線の終わりか...
~前進や後退を用いて線のずれを無くすことに苦労した。
**顔のパーツ [#d735f3fd]
mae(1700); //方向転換のための調整
hidari(800); //左に曲がる
usiro(3300); //下がってペン先を調整
pd;
mae(400); //右側の目を描く
pu;
mae(400); //眉間の間をあける
pd;
mae(400); //左側の目を描く
pu;
mae(1600); //方向転換のための調整
hidari(1400); //左に曲がる
usiro(1800); //下がってペン先を調整
pd;
mae(350); //鼻筋を描く
enn(150); //鼻のの高さを描く
pu;
mae(400); //方向転換のための調整
hidari(250); //左に曲がる
pd;
migi(500); //口を描く
pu
ペン先を前輪の中心に置けば線のずれも発生せず、プログラム...
~先に顔のパーツを描いてから輪郭を描いたほうが、多少輪郭に...
~その点も改善できるポイントであると思った。
*描けた顔 [#q8384d8a]
これが今回描いた顔だ
#ref(./IMG_5888s.JPG,75%,似顔絵の画像)
輪郭があまりうまく描けなかったり、顔のパーツがずれてしま...
~今回のロボットの反省点である
*まとめ [#c18c2fbc]
**ロボットについての反省 [#j4124ad5]
先ほど書いたように 後輪に重心が偏っていたためにまっすぐ...
~もう少し重心に気を付けて、重たいコンピューターを前のほう...
~さらに、ペン先がロボットの前に出ていたので線がずれてしま...
~前輪の間にペン先があれば線がずれるここもなかったのに、そ...
~このずれがなかったらプログラミングももっとシンプルになり...
**プログラミングについての反省 [#o00d317a]
マクロで指定した動きだけで顔を描けたのは一番良かった点で...
~さらに変数の "t" を用いて動く時間を自由に変更できたの...
~しかし後でプログラミングを見返してみると、方向転換のために
~"前に進む" "左に曲がる" "後ろに下がる" という動きが何...
~サブルーチンを用いてもっとプログラミングがシンプルにでき...
**全体を通して [#i8c17e5c]
初めてプログラミングを描き、ほぼ一人でロボットを作ったに...
~もう少しパートナーと協力できる時間が取れれば、より良いロ...
~次回からはパートナーともっと協力したい。
~次回の課題は今回の反省を生かし、より良いロボットとプログ...
終了行:
目次
#contents
*課題? [#b17ef25c]
パートナーの似顔絵を描く
*ロボットの説明 [#o8c55748]
今回作成したロボットは車体自体が移動し
~アームの機構によりペンを上げ下げする自走式ロボットを作成...
#ref(./IMG_5891s.JPG,75%,車体の画像)
本来はX軸とY軸のそれぞれが別々に動くロボットを作成したか...
~時間が足りなかったために、急遽自走式ロボットに変更した。
**ペン周りの構造 [#f189bc8d]
一つのモータを使いアームの上げ下げを行う。
~ペンの太さに沿って二本のガイドラインを入れ、
~その後ろにペンを支える棒を二本置いた。
~この棒を2本入れておくことで、前に進んだときにペンがずれ...
~しかし、これだと後ろに進んだときには輪ゴムだけで支えるこ...
#ref(./IMG_5895s.JPG,75%,ペン先の画像)
本当はペンを車体の内側に入れて前輪の間に置くことで曲がっ...
~車高が低すぎたためにペンが内側に入らず断念した。
**後輪の構造 [#o3ff8dc4]
回転軸をタイヤの中心から平行にずらし、自由に回転できるよ...
#ref(./IMG_5890s.JPG,75%,後輪の画像);
~しかし、後輪が細すぎたり、重心が後ろにかかり過ぎていたので
~バックするときに後輪がまっすぐの方向に戻りきらず
~曲がったままバックするので直進しないという不具合が生じた。
*プログラミングの説明 [#oee9b5a9]
**今回使用したプログラム [#tbb869e5]
#define SPEED 20
#define hidari(t) OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED)...
#define migi(t) OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED);W...
#define mae(t) OnFwd(OUT_BC,SPEED);Wait(t);Off(OUT_BC)
#define usiro(t) OnRev(OUT_BC,SPEED);Wait(t);Off(OUT_BC)
#define enn(t) OnFwd(OUT_B,30);Wait(t);Off(OUT_B)
#define pd OnFwd(OUT_A,SPEED);Wait(170);Off(OUT_A)
#define pu OnRev(OUT_A,SPEED);Wait(170);Off(OUT_A)
task main()
{
Wait(2500);
pd;
mae(1800);
enn(1100);
pu;
mae(2100);
hidari(2500);
usiro(2200);
pd;
mae(1600);
enn(1150);
pu;
mae(1700);
hidari(800);
usiro(3300);
pd;
mae(400);
pu;
mae(400);
pd;
mae(400);
pu;
mae(1600);
hidari(1400);
usiro(1800);
pd;
mae(350);
enn(150);
pu;
mae(400);
hidari(250);
pd;
migi(500);
pu;
}
**ペンの上げ下げ [#b716814f]
マクロを指定し pu=pen up, pd=pen down と指定した。
#define SPEED 20
#define pd OnFwd(OUT_A,SPEED);Wait(170);Off(OUT_A) /...
#define pu OnRev(OUT_A,SPEED);Wait(170);Off(OUT_A) /...
ペン先と紙の摩擦を考え、サインペンではなくボールペンを使...
~ボールペンを使うことで摩擦が軽減され、少し多めにペンを下...
**輪郭 [#l0c2376c]
マクロで動きと速さをすべて指定し、時間=t という変数を...
~好きな時間だけ動かせるようにした。
#define SPEED 20
#define hidari(t) OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED)...
#define mae(t) OnFwd(OUT_BC,SPEED);Wait(t);Off(OUT_BC) ...
#define usiro(t) OnRev(OUT_BC,SPEED);Wait(t);Off(OUT_BC...
#define enn(t) OnFwd(OUT_B,30);Wait(t);Off(OUT_B) ...
Wait(2500);
pd;
mae(1800); // 左側の輪郭
enn(1100); // あごの形
pu;
mae(2100); // 方向転換のための調節
hidari(2500); // 左に曲がる
usiro(2200); // 下がってペン先を調整
pd;
mae(1600); // 右側の輪郭
enn(1150); // 頭の形
pu;
マクロで指定したスピードが速すぎたので、もう少しゆっくり...
~ペン先がタイヤの中心にないので綺麗な半円を描くことができず
~あごの形が太くなりすぎてしまった。
~さらに、方向転換のために左に曲がるとペン先が線の終わりか...
~前進や後退を用いて線のずれを無くすことに苦労した。
**顔のパーツ [#d735f3fd]
mae(1700); //方向転換のための調整
hidari(800); //左に曲がる
usiro(3300); //下がってペン先を調整
pd;
mae(400); //右側の目を描く
pu;
mae(400); //眉間の間をあける
pd;
mae(400); //左側の目を描く
pu;
mae(1600); //方向転換のための調整
hidari(1400); //左に曲がる
usiro(1800); //下がってペン先を調整
pd;
mae(350); //鼻筋を描く
enn(150); //鼻のの高さを描く
pu;
mae(400); //方向転換のための調整
hidari(250); //左に曲がる
pd;
migi(500); //口を描く
pu
ペン先を前輪の中心に置けば線のずれも発生せず、プログラム...
~先に顔のパーツを描いてから輪郭を描いたほうが、多少輪郭に...
~その点も改善できるポイントであると思った。
*描けた顔 [#q8384d8a]
これが今回描いた顔だ
#ref(./IMG_5888s.JPG,75%,似顔絵の画像)
輪郭があまりうまく描けなかったり、顔のパーツがずれてしま...
~今回のロボットの反省点である
*まとめ [#c18c2fbc]
**ロボットについての反省 [#j4124ad5]
先ほど書いたように 後輪に重心が偏っていたためにまっすぐ...
~もう少し重心に気を付けて、重たいコンピューターを前のほう...
~さらに、ペン先がロボットの前に出ていたので線がずれてしま...
~前輪の間にペン先があれば線がずれるここもなかったのに、そ...
~このずれがなかったらプログラミングももっとシンプルになり...
**プログラミングについての反省 [#o00d317a]
マクロで指定した動きだけで顔を描けたのは一番良かった点で...
~さらに変数の "t" を用いて動く時間を自由に変更できたの...
~しかし後でプログラミングを見返してみると、方向転換のために
~"前に進む" "左に曲がる" "後ろに下がる" という動きが何...
~サブルーチンを用いてもっとプログラミングがシンプルにでき...
**全体を通して [#i8c17e5c]
初めてプログラミングを描き、ほぼ一人でロボットを作ったに...
~もう少しパートナーと協力できる時間が取れれば、より良いロ...
~次回からはパートナーともっと協力したい。
~次回の課題は今回の反省を生かし、より良いロボットとプログ...
ページ名: