2017a/Member/speedball/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017a/Member]]
目次
#contents
*1.課題について [#o3b26b97]
この課題は書道ロボットの作成である([[課題1>http://yakushi...
*2.ロボット [#ne27fd14]
全体像
#ref(./P_20170519_160248.jpg,50%,本体)
**本体 [#a9170697]
レゴブロックにもともと入っていた作り方説明書にあるものを...
#ref(./P_20170519_160641.jpg,50%,本体)
**ペン付近 [#h4135c7b]
右側から
#ref(./P_20170519_160525.jpg,50%,アーム)
左側から
#ref(./P_20170519_160303.jpg,50%,アーム2)
*3.書き順と完成品 [#vfe91090]
#ref(./P_20170519_161327.jpg,50%,完成系)
「走」という漢字は実際に書くと7画あるが、ロボットには2...
#ref(./20170526_155546298.jpg,50%,書き順)
*4.プログラム [#xd34c34f]
**工夫した点 [#d4fd784f]
・アームを右側のタイヤの上に取り付けたので右側に曲がるよ...
・左右への回転を4種類、前進を4種類、後進を2種類つくり、そ...
→ロボット本体の制御が簡単になり、メイン部分に必要な長さの...
**左右への回転(4種類) [#o5aebf87]
sub turn_r() //右折(90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME);
Off(OUT_BC);
}
sub turn_l() //左折(90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME);
Off(OUT_B);
}
sub turn_ll() //左折(over90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME3);
Off(OUT_B);
}
sub turn_rl() //右折(over90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME2);
Off(OUT_BC);
}
**前進(4種類) [#ce7837a5]
sub go_ss() //前進(短)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_BC);
}
sub go_sm() //前進(中)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME);
Off(OUT_BC);
}
sub go_sl() //前進(長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME4);
Off(OUT_BC);
}
sub go_sll() //前進(特長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME6);
Off(OUT_BC);
}
**後進(2種類) [#h384b1d6]
sub go_bl() //後進(長)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME2);
Off(OUT_BC);
}
sub go_bm() //後進(中)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME5);
Off(OUT_BC);
}
sub pen_u() //ペンを上げる
{
OnRev(OUT_A,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_A);
}
sub pen_d() //ペンを下げる
{
OnFwd(OUT_A,SPEED);
Wait(MOVE_TIME7);
Off(OUT_A);
}
**全体 [#f73375a7]
#define SPEED 20
#define SPEED2 25
#define TURN_TIME 1200
#define TURN_TIME2 1500
#define TURN_TIME3 1300
#define MOVE_TIME 600
#define MOVE_TIME2 1300
#define MOVE_TIME3 300
#define MOVE_TIME4 1000
#define MOVE_TIME5 800
#define MOVE_TIME6 2000
#define MOVE_TIME7 300
sub turn_r() //右折(90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME);
Off(OUT_BC);
}
sub turn_l() //左折(90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME);
Off(OUT_B);
}
sub turn_ll() //左折(over90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME3);
Off(OUT_B);
}
sub turn_rl() //右折(over90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME2);
Off(OUT_BC);
}
sub go_ss() //前進(短)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_BC);
}
sub go_sm() //前進(中)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME);
Off(OUT_BC);
}
sub go_sl() //前進(長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME4);
Off(OUT_BC);
}
sub go_sll() //前進(特長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME6);
Off(OUT_BC);
}
sub go_bl() //後進(長)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME2);
Off(OUT_BC);
}
sub go_bm() //後進(中)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME5);
Off(OUT_BC);
}
sub pen_u() //ペンを上げる
{
OnRev(OUT_A,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_A);
}
sub pen_d() //ペンを下げる
{
OnFwd(OUT_A,SPEED);
Wait(MOVE_TIME7);
Off(OUT_A);
}
task main()
{
go_sm(); //?
pen_u();
go_bl();
turn_r();
go_ss();
turn_l();
go_bm();
pen_d();
go_sl(); //?
pen_u();
go_sl();
turn_r();
go_bm();
go_bl();
pen_d();
go_sll(); //?
pen_u();
go_sm();
go_ss();
turn_l();
go_bl();
pen_d();
go_ss(); //?
pen_u();
go_sm();
turn_rl();
go_bl();
pen_d();
go_sl(); //?
pen_u();
go_sm();
turn_ll();
go_bl();
pen_d();
go_sll(); //?
}
※数字は書き順の写真の番号に対応
*5.まとめ・感想 [#r02e5b82]
プログラムというものに初めて触れた中である程度読める漢字...
終了行:
[[2017a/Member]]
目次
#contents
*1.課題について [#o3b26b97]
この課題は書道ロボットの作成である([[課題1>http://yakushi...
*2.ロボット [#ne27fd14]
全体像
#ref(./P_20170519_160248.jpg,50%,本体)
**本体 [#a9170697]
レゴブロックにもともと入っていた作り方説明書にあるものを...
#ref(./P_20170519_160641.jpg,50%,本体)
**ペン付近 [#h4135c7b]
右側から
#ref(./P_20170519_160525.jpg,50%,アーム)
左側から
#ref(./P_20170519_160303.jpg,50%,アーム2)
*3.書き順と完成品 [#vfe91090]
#ref(./P_20170519_161327.jpg,50%,完成系)
「走」という漢字は実際に書くと7画あるが、ロボットには2...
#ref(./20170526_155546298.jpg,50%,書き順)
*4.プログラム [#xd34c34f]
**工夫した点 [#d4fd784f]
・アームを右側のタイヤの上に取り付けたので右側に曲がるよ...
・左右への回転を4種類、前進を4種類、後進を2種類つくり、そ...
→ロボット本体の制御が簡単になり、メイン部分に必要な長さの...
**左右への回転(4種類) [#o5aebf87]
sub turn_r() //右折(90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME);
Off(OUT_BC);
}
sub turn_l() //左折(90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME);
Off(OUT_B);
}
sub turn_ll() //左折(over90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME3);
Off(OUT_B);
}
sub turn_rl() //右折(over90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME2);
Off(OUT_BC);
}
**前進(4種類) [#ce7837a5]
sub go_ss() //前進(短)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_BC);
}
sub go_sm() //前進(中)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME);
Off(OUT_BC);
}
sub go_sl() //前進(長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME4);
Off(OUT_BC);
}
sub go_sll() //前進(特長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME6);
Off(OUT_BC);
}
**後進(2種類) [#h384b1d6]
sub go_bl() //後進(長)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME2);
Off(OUT_BC);
}
sub go_bm() //後進(中)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME5);
Off(OUT_BC);
}
sub pen_u() //ペンを上げる
{
OnRev(OUT_A,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_A);
}
sub pen_d() //ペンを下げる
{
OnFwd(OUT_A,SPEED);
Wait(MOVE_TIME7);
Off(OUT_A);
}
**全体 [#f73375a7]
#define SPEED 20
#define SPEED2 25
#define TURN_TIME 1200
#define TURN_TIME2 1500
#define TURN_TIME3 1300
#define MOVE_TIME 600
#define MOVE_TIME2 1300
#define MOVE_TIME3 300
#define MOVE_TIME4 1000
#define MOVE_TIME5 800
#define MOVE_TIME6 2000
#define MOVE_TIME7 300
sub turn_r() //右折(90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME);
Off(OUT_BC);
}
sub turn_l() //左折(90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME);
Off(OUT_B);
}
sub turn_ll() //左折(over90度)
{
OnFwd(OUT_B,SPEED2); OnRev(OUT_C,SPEED);
Wait(TURN_TIME3);
Off(OUT_B);
}
sub turn_rl() //右折(over90度)
{
OnFwd(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(TURN_TIME2);
Off(OUT_BC);
}
sub go_ss() //前進(短)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_BC);
}
sub go_sm() //前進(中)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME);
Off(OUT_BC);
}
sub go_sl() //前進(長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME4);
Off(OUT_BC);
}
sub go_sll() //前進(特長)
{
OnFwd(OUT_C,SPEED); OnFwd(OUT_B,SPEED2);
Wait(MOVE_TIME6);
Off(OUT_BC);
}
sub go_bl() //後進(長)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME2);
Off(OUT_BC);
}
sub go_bm() //後進(中)
{
OnRev(OUT_C,SPEED); OnRev(OUT_B,SPEED2);
Wait(MOVE_TIME5);
Off(OUT_BC);
}
sub pen_u() //ペンを上げる
{
OnRev(OUT_A,SPEED2);
Wait(MOVE_TIME3);
Off(OUT_A);
}
sub pen_d() //ペンを下げる
{
OnFwd(OUT_A,SPEED);
Wait(MOVE_TIME7);
Off(OUT_A);
}
task main()
{
go_sm(); //?
pen_u();
go_bl();
turn_r();
go_ss();
turn_l();
go_bm();
pen_d();
go_sl(); //?
pen_u();
go_sl();
turn_r();
go_bm();
go_bl();
pen_d();
go_sll(); //?
pen_u();
go_sm();
go_ss();
turn_l();
go_bl();
pen_d();
go_ss(); //?
pen_u();
go_sm();
turn_rl();
go_bl();
pen_d();
go_sl(); //?
pen_u();
go_sm();
turn_ll();
go_bl();
pen_d();
go_sll(); //?
}
※数字は書き順の写真の番号に対応
*5.まとめ・感想 [#r02e5b82]
プログラムというものに初めて触れた中である程度読める漢字...
ページ名: