2019a/Member/ryotaro/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#uc7ba6f6]
1.課題について~
2.ロボットについて~
3.プログラミングについて~
4.感想
*1.課題について [#p919c14b]
○今回の課題
・下の図のようなコースを各チームで作成し、「ミッション」...
○コース
#ref(2019a/Member/ryotaro/Mission2/Screenshot_20190719-13...
○ミッション
・A地点を出発し、次の経路を黒い線にそって動くロボットを作...
A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(...
交差点では1秒間停止し、丁字路では直角方向に進入する時のみ...
*2.ロボットについて [#k42ba4cc]
今回作ったロボット~
#ref(2019a/Member/ryotaro/Mission2/DSC_0129.JPG,50%,DSC_0...
土台は三輪構造にし、スタート地点である20cm×19.4cmの四角形...
#ref(2019a/Member/ryotaro/Mission2/DSC_0132.JPG,50%,DSC_0...
また、ボールを保持するアームはかご型にした。はさむような...
#ref(2019a/Member/ryotaro/Mission2/DSC_0130.JPG,50%,DSC_0...
*3.プログラミングについて [#b5b7d609]
#define BLACK 30 ...
#define B_GLAY 38 ...
#define GLAY 45 ...
#define W_GLAY 53 ...
#define WHITE 63 ...
#define r_right OnFwd(OUT_C,50);Off(OUT_B); ...
#define t_right OnFwd(OUT_C,75);OnFwd(OUT_B,10); ...
#define go OnFwd(OUT_BC,40); ...
#define t_left OnFwd(OUT_B,75);OnFwd(OUT_C,10); ...
#define r_left OnFwd(OUT_B,20);Off(OUT_C); ...
#define MOVE_TIME 500
#define up OnRev(OUT_A,50);Wait(500);b ...
#define down OnFwd(OUT_A,50);Wait(500); ...
#define u_turn OnFwd(OUT_B,50);OnRev(OUT_C,50);Wait(1000)...
#define short_break Off(OUT_BC);Wait(100); ...
sub follow_line() //交差点を認識する...
{
SetSensorLight(S3);
long t0 = CurrentTick();
while(CurrentTick()-t0 <= MOVE_TIME){
if (SENSOR_1 < BLACK){ //黒の時だけタイマ...
r_left;
} else if (SENSOR_3 < B_GLAY){ t0=CurrentTick();
t_left;
} else if (SENSOR_3 < GLAY){ t0=CurrentTick();
go;
} else if (SENSOR_3 < W_GLAY){ t0=CurrentTick();
t_right;
} else if (SENSOR_3 > WHITE){ t0=CurrentTick();
r_right;
} else {go;}
}
Off(OUT_BC); //黒の時間がMOVE TIM...
}
sub cross_line(){ //交差点を渡るプログ...
SetSensorLight(S3);
go; //白を認識するまで進む
until (SENSOR_3 > WHITE); →follow_line()を後...
}
task main()
{
follow_line();
short_break; //Kで一時停止
OnRev(OUT_B,50);Off(OUT_C); //車体を黒線と平行に...
Wait(100);
go;
Wait(2000);
down; //アームを下げてボー...
u_turn;
follow_line();
cross_line();
follow_line(); //K地点の交差点通過
short_break; //J地点の交差点で一...
cross_line(); //交差点を通過
follow_line();
cross_line(); //I地点の交差点を通過
follow_line();
cross_line(); //H地点の交差点を通過
follow_line(); //G地点の交差点を認識
follow_line(); //cross_lineだと曲が...
follow_line(); //上記と同じ(F地点)
follow_line(); //上記と同じ(E地点)
cross_line(); //D地点の交差点を通過
follow_line();
cross_line(); //C地点の交差点を通過
follow_line();
OnRev(OUT_B,50);Off(OUT_C); //車体を黒線と平行に...
Wait(100);
short_break;
up; //アームを上げる
OnFwd(OUT_BC,75); //シュート
Wait(100);
go; //A地点に入る
Wait(1000);
}
*4.感想 [#w569a3a5]
終了行:
*目次 [#uc7ba6f6]
1.課題について~
2.ロボットについて~
3.プログラミングについて~
4.感想
*1.課題について [#p919c14b]
○今回の課題
・下の図のようなコースを各チームで作成し、「ミッション」...
○コース
#ref(2019a/Member/ryotaro/Mission2/Screenshot_20190719-13...
○ミッション
・A地点を出発し、次の経路を黒い線にそって動くロボットを作...
A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(...
交差点では1秒間停止し、丁字路では直角方向に進入する時のみ...
*2.ロボットについて [#k42ba4cc]
今回作ったロボット~
#ref(2019a/Member/ryotaro/Mission2/DSC_0129.JPG,50%,DSC_0...
土台は三輪構造にし、スタート地点である20cm×19.4cmの四角形...
#ref(2019a/Member/ryotaro/Mission2/DSC_0132.JPG,50%,DSC_0...
また、ボールを保持するアームはかご型にした。はさむような...
#ref(2019a/Member/ryotaro/Mission2/DSC_0130.JPG,50%,DSC_0...
*3.プログラミングについて [#b5b7d609]
#define BLACK 30 ...
#define B_GLAY 38 ...
#define GLAY 45 ...
#define W_GLAY 53 ...
#define WHITE 63 ...
#define r_right OnFwd(OUT_C,50);Off(OUT_B); ...
#define t_right OnFwd(OUT_C,75);OnFwd(OUT_B,10); ...
#define go OnFwd(OUT_BC,40); ...
#define t_left OnFwd(OUT_B,75);OnFwd(OUT_C,10); ...
#define r_left OnFwd(OUT_B,20);Off(OUT_C); ...
#define MOVE_TIME 500
#define up OnRev(OUT_A,50);Wait(500);b ...
#define down OnFwd(OUT_A,50);Wait(500); ...
#define u_turn OnFwd(OUT_B,50);OnRev(OUT_C,50);Wait(1000)...
#define short_break Off(OUT_BC);Wait(100); ...
sub follow_line() //交差点を認識する...
{
SetSensorLight(S3);
long t0 = CurrentTick();
while(CurrentTick()-t0 <= MOVE_TIME){
if (SENSOR_1 < BLACK){ //黒の時だけタイマ...
r_left;
} else if (SENSOR_3 < B_GLAY){ t0=CurrentTick();
t_left;
} else if (SENSOR_3 < GLAY){ t0=CurrentTick();
go;
} else if (SENSOR_3 < W_GLAY){ t0=CurrentTick();
t_right;
} else if (SENSOR_3 > WHITE){ t0=CurrentTick();
r_right;
} else {go;}
}
Off(OUT_BC); //黒の時間がMOVE TIM...
}
sub cross_line(){ //交差点を渡るプログ...
SetSensorLight(S3);
go; //白を認識するまで進む
until (SENSOR_3 > WHITE); →follow_line()を後...
}
task main()
{
follow_line();
short_break; //Kで一時停止
OnRev(OUT_B,50);Off(OUT_C); //車体を黒線と平行に...
Wait(100);
go;
Wait(2000);
down; //アームを下げてボー...
u_turn;
follow_line();
cross_line();
follow_line(); //K地点の交差点通過
short_break; //J地点の交差点で一...
cross_line(); //交差点を通過
follow_line();
cross_line(); //I地点の交差点を通過
follow_line();
cross_line(); //H地点の交差点を通過
follow_line(); //G地点の交差点を認識
follow_line(); //cross_lineだと曲が...
follow_line(); //上記と同じ(F地点)
follow_line(); //上記と同じ(E地点)
cross_line(); //D地点の交差点を通過
follow_line();
cross_line(); //C地点の交差点を通過
follow_line();
OnRev(OUT_B,50);Off(OUT_C); //車体を黒線と平行に...
Wait(100);
short_break;
up; //アームを上げる
OnFwd(OUT_BC,75); //シュート
Wait(100);
go; //A地点に入る
Wait(1000);
}
*4.感想 [#w569a3a5]
ページ名: