2017b/Member/arso/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017b/Member]]
#contents
*初めに [#x9fc1f52]
今回の課題は、自分が住んでいたことのある地名をロボットに...
*ロボットについて [#v1974f8a]
自分たちの班では、x軸方向(横方向)とy軸方向(縦方向)に...
#ref(2017b/Member/arso/Mission1/DSCN1131.jpg,70%,ロボット...
写真1:ロボットの全体
上の写真1がロボット全体の写真である。上部のロボットがx軸...
**y軸ロボット [#h4a385bb]
y軸”ロボットはモーターを縦に取り付けたため、全体的に位置...
#ref(2017b/Member/arso/Mission1/DSCN1138.jpg,70%,y軸ロボ...
写真2:y軸ロボット
写真2では見えていないがコントローラーを後からつけたため、...
**x軸ロボット [#u8a60710]
x軸ロボットもあとから筆ロボットを取り付けるようにしたが、...
#ref(2017b/Member/arso/Mission1/DSCN1139.jpg,80%,x軸ロボ...
写真3:x軸ロボット
写真3ではわかりにくいが、筆ロボットをつけると重さで筆のほ...
**筆ロボット [#reaef9a4]
筆ロボットは筆が接地するようにモーターに腕を取り付けただ...
#ref(2017b/Member/arso/Mission1/DSCN1130.jpg,80%,筆ロボッ...
写真4:筆ロボット
写真4のように腕が長い。この影響で力のモーメントが大きくな...
*プログラムについて [#sf279d06]
自分は「大分」を書かせることにした。正しい書き順で書ける...
プログラムではモーターA,B,Cは以下のように対応している。
OUT_A //y軸ロボットのモーター
OUT_B //x軸ロボットのモーター
OUT_C //筆ロボットのモーター
x軸、y軸ロボットはモーターの強さが正のとき軸の正方向(写...
#define PLUSX_POWER 15 //x軸ロボットを右側に進...
#define MINUSX_POWER -15 //x軸ロボットを左側に進...
#define PLUSY_POWER 20 //y軸ロボットを前方に進...
#define MINUSY_POWER -20 //y軸ロボットを後方に進...
sub move_pen(int c,int s) //筆を上下に動かすプログラム。...
{
OnFwd(OUT_C,c);
Wait(s); //筆を強さcでs/1000秒間...
Off(OUT_C); //停止
}
sub go_slant(int a,int b,int t) //斜めの移動をさせるプロ...
{
OnFwd(OUT_A,a);
OnFwd(OUT_B,b);
Wait(t); //y軸方向に強さa、x軸方...
Off(OUT_AB); //停止
}
task main()
{
move_pen(14,270); //筆を下ろす
OnFwd(OUT_B,20);
Wait(1900); //右に1.9秒間移動
Off(OUT_B);
Wait(500); //一時停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,-18);
Wait(980); //左に0.98秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,PLUSY_POWER);
Wait(400); //前に0.4秒間移動
Off(OUT_A); //停止(ここまでは移動の...
move_pen(14,270); //筆を下ろす
OnFwd(OUT_A,MINUSY_POWER);
Wait(350); //下に0.35秒間移動
Off(OUT_A);停止
go_slant(-20,-15,200);
go_slant(-20,-16,200);
go_slant(-20,-17,200);
go_slant(-20,-18,200);
go_slant(-20,-19,200);
go_slant(-20,-20,200); //左下に1.2秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
go_slant(19,18,1050); //右上に1.05秒間移動
move_pen(14,270); //筆を下ろす
go_slant(-20,15,1200); //右下に1.2秒間移動
Wait(500); //一時停止
OnFwd(OUT_B,PLUSX_POWER);
Wait(500); //右に0.5秒間移動
Off(OUT_B);//停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,-16);
Wait(1800); //左に1.8秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,MINUSY_POWER);
Wait(200); //下に0.2秒間移動
move_pen(14,270); //筆を下ろす
go_slant(-20,-16,200);
go_slant(-20,-17,200);
go_slant(-20,-18,200);
go_slant(-20,-19,200); //左下に0.8秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
go_slant(20,19,800); //右上に0.8秒間移動
OnFwd(OUT_B,PLUSX_POWER);
Wait(600); //右に0.6秒間移動
Off(OUT_B); //停止
move_pen(14,270); //筆を下ろす
go_slant(-20,17,800); //右下に0.8秒間移動
OnFwd(OUT_B,PLUSX_POWER);
Wait(250); //右に0.25秒間移動
Off(OUT_B); //停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,MINUSX_POWER);
Wait(1900); //左に1.9秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,MINUSY_POWER);
Wait(50); //下に0.05秒間移動
Off(OUT_A); //停止
move_pen(14,270); //筆を下ろす
OnFwd(OUT_B,PLUSX_POWER);
Wait(1600); //右に1.6秒間移動
Off(OUT_B); //停止
go_slant(-20,-13,300);
go_slant(-20,-12,300);
go_slant(-20,-11,300); //左下に0.9秒間移動。こ...
Wait(400); //一時停止
go_slant(20,-15,300); //左上に0.3秒間移動
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_A,PLUSY_POWER);
Wait(500); //上に0.5秒間移動
Off(OUT_AB); //停止
move_pen(14,270); //筆を下ろす
go_slant(-20,-15,130);
go_slant(-20,-16,130);
go_slant(-20,-17,130);
go_slant(-20,-18,130);
go_slant(-20,-19,130); //左下に0.65秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
}
サブルーチンを引数を複数用いて設定したため、プログラムを...
*結果 [#tafec1cc]
発表を行ったときの結果は下の写真5のようになった。何を書い...
#ref(2017b/Member/arso/Mission1/DSCN1160.jpg,80%,発表会で...
写真5:発表会当日の結果
発表会の4日前に、最後に試したほぼ同じプログラム(違いは「...
#ref(2017b/Member/arso/Mission1/DSCN1150.jpg,80%,発表会前...
写真6:発表4日前の試行
*感想と反省 [#u6f9b72c]
結果だけを見ると、筆の位置のずれに気づかなかったことが失...
終了行:
[[2017b/Member]]
#contents
*初めに [#x9fc1f52]
今回の課題は、自分が住んでいたことのある地名をロボットに...
*ロボットについて [#v1974f8a]
自分たちの班では、x軸方向(横方向)とy軸方向(縦方向)に...
#ref(2017b/Member/arso/Mission1/DSCN1131.jpg,70%,ロボット...
写真1:ロボットの全体
上の写真1がロボット全体の写真である。上部のロボットがx軸...
**y軸ロボット [#h4a385bb]
y軸”ロボットはモーターを縦に取り付けたため、全体的に位置...
#ref(2017b/Member/arso/Mission1/DSCN1138.jpg,70%,y軸ロボ...
写真2:y軸ロボット
写真2では見えていないがコントローラーを後からつけたため、...
**x軸ロボット [#u8a60710]
x軸ロボットもあとから筆ロボットを取り付けるようにしたが、...
#ref(2017b/Member/arso/Mission1/DSCN1139.jpg,80%,x軸ロボ...
写真3:x軸ロボット
写真3ではわかりにくいが、筆ロボットをつけると重さで筆のほ...
**筆ロボット [#reaef9a4]
筆ロボットは筆が接地するようにモーターに腕を取り付けただ...
#ref(2017b/Member/arso/Mission1/DSCN1130.jpg,80%,筆ロボッ...
写真4:筆ロボット
写真4のように腕が長い。この影響で力のモーメントが大きくな...
*プログラムについて [#sf279d06]
自分は「大分」を書かせることにした。正しい書き順で書ける...
プログラムではモーターA,B,Cは以下のように対応している。
OUT_A //y軸ロボットのモーター
OUT_B //x軸ロボットのモーター
OUT_C //筆ロボットのモーター
x軸、y軸ロボットはモーターの強さが正のとき軸の正方向(写...
#define PLUSX_POWER 15 //x軸ロボットを右側に進...
#define MINUSX_POWER -15 //x軸ロボットを左側に進...
#define PLUSY_POWER 20 //y軸ロボットを前方に進...
#define MINUSY_POWER -20 //y軸ロボットを後方に進...
sub move_pen(int c,int s) //筆を上下に動かすプログラム。...
{
OnFwd(OUT_C,c);
Wait(s); //筆を強さcでs/1000秒間...
Off(OUT_C); //停止
}
sub go_slant(int a,int b,int t) //斜めの移動をさせるプロ...
{
OnFwd(OUT_A,a);
OnFwd(OUT_B,b);
Wait(t); //y軸方向に強さa、x軸方...
Off(OUT_AB); //停止
}
task main()
{
move_pen(14,270); //筆を下ろす
OnFwd(OUT_B,20);
Wait(1900); //右に1.9秒間移動
Off(OUT_B);
Wait(500); //一時停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,-18);
Wait(980); //左に0.98秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,PLUSY_POWER);
Wait(400); //前に0.4秒間移動
Off(OUT_A); //停止(ここまでは移動の...
move_pen(14,270); //筆を下ろす
OnFwd(OUT_A,MINUSY_POWER);
Wait(350); //下に0.35秒間移動
Off(OUT_A);停止
go_slant(-20,-15,200);
go_slant(-20,-16,200);
go_slant(-20,-17,200);
go_slant(-20,-18,200);
go_slant(-20,-19,200);
go_slant(-20,-20,200); //左下に1.2秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
go_slant(19,18,1050); //右上に1.05秒間移動
move_pen(14,270); //筆を下ろす
go_slant(-20,15,1200); //右下に1.2秒間移動
Wait(500); //一時停止
OnFwd(OUT_B,PLUSX_POWER);
Wait(500); //右に0.5秒間移動
Off(OUT_B);//停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,-16);
Wait(1800); //左に1.8秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,MINUSY_POWER);
Wait(200); //下に0.2秒間移動
move_pen(14,270); //筆を下ろす
go_slant(-20,-16,200);
go_slant(-20,-17,200);
go_slant(-20,-18,200);
go_slant(-20,-19,200); //左下に0.8秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
go_slant(20,19,800); //右上に0.8秒間移動
OnFwd(OUT_B,PLUSX_POWER);
Wait(600); //右に0.6秒間移動
Off(OUT_B); //停止
move_pen(14,270); //筆を下ろす
go_slant(-20,17,800); //右下に0.8秒間移動
OnFwd(OUT_B,PLUSX_POWER);
Wait(250); //右に0.25秒間移動
Off(OUT_B); //停止
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_B,MINUSX_POWER);
Wait(1900); //左に1.9秒間移動
Off(OUT_B); //停止
OnFwd(OUT_A,MINUSY_POWER);
Wait(50); //下に0.05秒間移動
Off(OUT_A); //停止
move_pen(14,270); //筆を下ろす
OnFwd(OUT_B,PLUSX_POWER);
Wait(1600); //右に1.6秒間移動
Off(OUT_B); //停止
go_slant(-20,-13,300);
go_slant(-20,-12,300);
go_slant(-20,-11,300); //左下に0.9秒間移動。こ...
Wait(400); //一時停止
go_slant(20,-15,300); //左上に0.3秒間移動
move_pen(-18,250); //筆を上げる(ここまでが...
OnFwd(OUT_A,PLUSY_POWER);
Wait(500); //上に0.5秒間移動
Off(OUT_AB); //停止
move_pen(14,270); //筆を下ろす
go_slant(-20,-15,130);
go_slant(-20,-16,130);
go_slant(-20,-17,130);
go_slant(-20,-18,130);
go_slant(-20,-19,130); //左下に0.65秒間移動。こ...
move_pen(-18,250); //筆を上げる(ここまでが...
}
サブルーチンを引数を複数用いて設定したため、プログラムを...
*結果 [#tafec1cc]
発表を行ったときの結果は下の写真5のようになった。何を書い...
#ref(2017b/Member/arso/Mission1/DSCN1160.jpg,80%,発表会で...
写真5:発表会当日の結果
発表会の4日前に、最後に試したほぼ同じプログラム(違いは「...
#ref(2017b/Member/arso/Mission1/DSCN1150.jpg,80%,発表会前...
写真6:発表4日前の試行
*感想と反省 [#u6f9b72c]
結果だけを見ると、筆の位置のずれに気づかなかったことが失...
ページ名: