2016a/Member/Tom/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*課題内容 [#k9ecb6da]
課題は線に沿って進むロボットを作成し下図のコースに沿って...
#ref(2016a-mission2.png)
黒線は幅2cm
今回はB地点からC地点、までB→R→Q→Q(環状部分を一周)→P→S→Cの...
*機体について [#h9838ab3]
センサについては光センサを使用する。
今回は課題内容上ハード関係については殆ど工夫の仕様がない...
・上から見たもの
#ref(s_DSC_1463.JPG)
・横から見たもの
#ref(s_DSC_1464.JPG)
*プログラムについて [#b3ac0d72]
**定義内容 [#b6c161b5]
#define RAIGHT_ANGLE 600 //機体が直角にまがる角度
#define THRESHOLD 45 //光センサの基準値。シード...
#define SPEED 50
#define go_stright OnFwd(OUT_AC,SPEED);
#define cros_line OnFwd(OUT_AC,SPEED); Wait(1000); Off(O...
#define turn_right OnFwd(OUT_C,SPEED);
#define turn_left OnFwd(OUT_A,SPEED);
#define right_senkai OnRev(OUT_A,70); OnFwd(OUT_C,60); W...
#define left_senkai OnFwd(OUT_A,70); OnRev(OUT_C,60); Wa...
#define nMAX 400 //カウンタの最大値。...
#define short_break Off(OUT_AC); Wait(2000);
基本的に直訳かローマ字読み。
一部使ってないものもあるが、コース次第で使う可能性がある...
task main()
{
SetSensorLight(S1);
repeat(2){
line_follow();
clos_stright();
}
repeat(2){
line_follow();
clos_turn_R();
}
line_follow();
tres_end();
}
メインのプログラム部分。
通常のライントレース用と交差点用のサブルーチンを作り、基...
走行は常に線の右境界線を通るように設定した。これにより交...
因みにスペルミスはこちらの英語力の問題なのである。
**通常ライントレース用 [#ha08d347]
sub line_follow()
{
int nOnline=0; //カウンタを定義
while(nOnline<nMAX){
if(SENSOR_1<THRESHOLD-15){
turn_right; //黒の時右折
nOnline++; //1回カウント
else{
if(SENSOR_1<THRESHOLD+10){
go_stright; //中間のとき前進
}
else{
while(SENSOR_1<THRESHOLD+20){
turn_left; //白の時左折
nOnline=0; //カウンタをリセット
}
}
}
}
}
上で述べたように右境界線を走るためのもの。これで右急旋回...
交差点と判断するとこのサブルーチンは終了する。
**交差点用 [#xca5bb79]
sub clos_stright()
{
short_break;
PlaySound(SOUND_UP); //交差点と判断した合図
left_senkai; //右境界線を走るため機体は交差点...
go_stright;
Wait(1000); //直進して交差点を通過
Off(OUT_AC);
}
交差点を直進するサブルーチン。
sub clos_turn_R()
{
short_break;
PlaySound(SOUND_UP); //交差点と判断した合図
while(SENSOR_1<THRESHOLD){
go_stright; //交差点内で機体は右を向いているため中...
}
}
交差点を右折するためのサブルーチン。
交差点と判断した時点である程度右に機体が向いてると判断し...
sub tres_end()
{
left_senkai; //終点はロボットから見て交差点の形...
go_stright; //ゴール内にはいる
Wait(1000);
Off(OUT_AC);
PlaySound(SOUND_DOUBLE_BEEP); //終了の音声
}
終点用サブルーチン。
終点地点手前ではロボットは交差点と判断してしまうため作成...
*感想と反省 [#m55a00ac]
最初は交差点のプログラムがどういうことを意味してるのかが...
反省点は検証(実走行)があんまり出来なかったこと。
終了行:
*課題内容 [#k9ecb6da]
課題は線に沿って進むロボットを作成し下図のコースに沿って...
#ref(2016a-mission2.png)
黒線は幅2cm
今回はB地点からC地点、までB→R→Q→Q(環状部分を一周)→P→S→Cの...
*機体について [#h9838ab3]
センサについては光センサを使用する。
今回は課題内容上ハード関係については殆ど工夫の仕様がない...
・上から見たもの
#ref(s_DSC_1463.JPG)
・横から見たもの
#ref(s_DSC_1464.JPG)
*プログラムについて [#b3ac0d72]
**定義内容 [#b6c161b5]
#define RAIGHT_ANGLE 600 //機体が直角にまがる角度
#define THRESHOLD 45 //光センサの基準値。シード...
#define SPEED 50
#define go_stright OnFwd(OUT_AC,SPEED);
#define cros_line OnFwd(OUT_AC,SPEED); Wait(1000); Off(O...
#define turn_right OnFwd(OUT_C,SPEED);
#define turn_left OnFwd(OUT_A,SPEED);
#define right_senkai OnRev(OUT_A,70); OnFwd(OUT_C,60); W...
#define left_senkai OnFwd(OUT_A,70); OnRev(OUT_C,60); Wa...
#define nMAX 400 //カウンタの最大値。...
#define short_break Off(OUT_AC); Wait(2000);
基本的に直訳かローマ字読み。
一部使ってないものもあるが、コース次第で使う可能性がある...
task main()
{
SetSensorLight(S1);
repeat(2){
line_follow();
clos_stright();
}
repeat(2){
line_follow();
clos_turn_R();
}
line_follow();
tres_end();
}
メインのプログラム部分。
通常のライントレース用と交差点用のサブルーチンを作り、基...
走行は常に線の右境界線を通るように設定した。これにより交...
因みにスペルミスはこちらの英語力の問題なのである。
**通常ライントレース用 [#ha08d347]
sub line_follow()
{
int nOnline=0; //カウンタを定義
while(nOnline<nMAX){
if(SENSOR_1<THRESHOLD-15){
turn_right; //黒の時右折
nOnline++; //1回カウント
else{
if(SENSOR_1<THRESHOLD+10){
go_stright; //中間のとき前進
}
else{
while(SENSOR_1<THRESHOLD+20){
turn_left; //白の時左折
nOnline=0; //カウンタをリセット
}
}
}
}
}
上で述べたように右境界線を走るためのもの。これで右急旋回...
交差点と判断するとこのサブルーチンは終了する。
**交差点用 [#xca5bb79]
sub clos_stright()
{
short_break;
PlaySound(SOUND_UP); //交差点と判断した合図
left_senkai; //右境界線を走るため機体は交差点...
go_stright;
Wait(1000); //直進して交差点を通過
Off(OUT_AC);
}
交差点を直進するサブルーチン。
sub clos_turn_R()
{
short_break;
PlaySound(SOUND_UP); //交差点と判断した合図
while(SENSOR_1<THRESHOLD){
go_stright; //交差点内で機体は右を向いているため中...
}
}
交差点を右折するためのサブルーチン。
交差点と判断した時点である程度右に機体が向いてると判断し...
sub tres_end()
{
left_senkai; //終点はロボットから見て交差点の形...
go_stright; //ゴール内にはいる
Wait(1000);
Off(OUT_AC);
PlaySound(SOUND_DOUBLE_BEEP); //終了の音声
}
終点用サブルーチン。
終点地点手前ではロボットは交差点と判断してしまうため作成...
*感想と反省 [#m55a00ac]
最初は交差点のプログラムがどういうことを意味してるのかが...
反省点は検証(実走行)があんまり出来なかったこと。
ページ名: