2014a/Member/tacchan/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2014a/Member]]
*メンバー [#we26e668]
tacchan
スタートからゴールへ向けてのプログラム担当
yukiyamaneko
ゴールからスタートへ向けてのプログラム担当
**課題について [#h6e6f05f]
今回の課題は[[2014a/Mission1]]にあるようにスタート(ま...
&ref(http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&...
**課題攻略に向けて [#me8c615b]
コースの途中に置いてあるピンポン玉の運搬方法について考...
&ref(2014a/Member/tacchan/Mission1/DSC_02301.jpg,20%,機体...
&ref(2014a/Member/tacchan/Mission1/DSC_02381.jpg,20%,機体...
ライントレースをするためのライトセンサーをできるだけ車軸...
**プログラム概要 [#c647c50e]
?スタートから最初の交差点通過
?最初と二つ目の交差点区間
?その他
の三つにコースを分割しそれぞれの区間で行う動作や交差点で...
今回製作したプログラムは以下の通りである。
#define THRESHOLD 50
#define SPEED_H 35
#define SPEED_L 25
#define OnRL(speedR,speedL) OnFwd(OUT_B,speedR);OnFwd(OU...
#define go_forward OnRL(SPEED_H,SPEED_H);
#define turn_left1 OnRL(SPEED_L,-SPEED_L);//左旋回
#define turn_left0 OnRL(SPEED_L,0);//左折
#define turn_right0 OnRL(0,SPEED_L);//右折
#define turn_right1 OnRL(-SPEED_L,SPEED_L);//右旋回
#define STEP 1
#define nMAX 120//最初の交差点を渡りきるまでの黒線カウン...
#define nMAX2 175//ボールを取った後の黒線カウンターの最...
#define short_break Off(OUT_BC);Wait(1000);
#define CROSS_TIME 450
#define cross_line OnRL(SPEED_L,SPEED_L);Wait(CROSS_TIME...
task main()
{
SetSensorLight(S3);//端子3にライトセンサー
SetSensorLowspeed(S4)//;端子4に超音波センサー
int nOnline=0;//続けて黒になった回数
int cross_number=0;//交差点を渡った回数
int sensor_number=0;//センサーが反応した回数
go_forward;
Wait(1000);
while(cross_number<1)//最初の交差点を渡るまでのライント...
{
while(nOnline<nMAX)
{
if(SENSOR_3<THRESHOLD-15)
{
turn_right1;
nOnline++;//黒線カウンターを追加
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1;Wait(nMAX*STEP+100);
cross_line;
PlaySound(SOUND_UP);
nOnline=0;
cross_number++;//交差点を渡るごとに交差点カウンターを...
}
while(sensor_number==0)//玉を認識して取るまでのライント...
{
if(SENSOR_3<THRESHOLD-15) {
turn_right1;
nOnline++;
if(SensorUS(S4)<10)//玉をとる動作
{
Off(OUT_BC);
turn_right0;//位置修正
Wait(1000);
Off(OUT_BC);
OnFwd(OUT_A,20);//アーム降下
Wait(1300);
Off(OUT_A);
Off(OUT_BC);
sensor_number++;//センサーのカウンターを増やす
}
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
while(cross_number<=3)//玉をとった後のライントレース
{
while(nOnline<nMAX2)
{
if(SENSOR_3<THRESHOLD-15)
{
turn_right1;
nOnline++;
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1;Wait(nMAX*STEP+300);
cross_line;
PlaySound(SOUND_UP);
nOnline=0;
cross_number++;
}
Off(OUT_BC);//玉をゴールに入れる動作
OnRev(OUT_A,20);
Wait(400);
}
**取り組み後の感想・反省点 [#h1829f7a]
今回の課題ではライントレースのプログラムはすぐに作ること...
終了行:
[[2014a/Member]]
*メンバー [#we26e668]
tacchan
スタートからゴールへ向けてのプログラム担当
yukiyamaneko
ゴールからスタートへ向けてのプログラム担当
**課題について [#h6e6f05f]
今回の課題は[[2014a/Mission1]]にあるようにスタート(ま...
&ref(http://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&...
**課題攻略に向けて [#me8c615b]
コースの途中に置いてあるピンポン玉の運搬方法について考...
&ref(2014a/Member/tacchan/Mission1/DSC_02301.jpg,20%,機体...
&ref(2014a/Member/tacchan/Mission1/DSC_02381.jpg,20%,機体...
ライントレースをするためのライトセンサーをできるだけ車軸...
**プログラム概要 [#c647c50e]
?スタートから最初の交差点通過
?最初と二つ目の交差点区間
?その他
の三つにコースを分割しそれぞれの区間で行う動作や交差点で...
今回製作したプログラムは以下の通りである。
#define THRESHOLD 50
#define SPEED_H 35
#define SPEED_L 25
#define OnRL(speedR,speedL) OnFwd(OUT_B,speedR);OnFwd(OU...
#define go_forward OnRL(SPEED_H,SPEED_H);
#define turn_left1 OnRL(SPEED_L,-SPEED_L);//左旋回
#define turn_left0 OnRL(SPEED_L,0);//左折
#define turn_right0 OnRL(0,SPEED_L);//右折
#define turn_right1 OnRL(-SPEED_L,SPEED_L);//右旋回
#define STEP 1
#define nMAX 120//最初の交差点を渡りきるまでの黒線カウン...
#define nMAX2 175//ボールを取った後の黒線カウンターの最...
#define short_break Off(OUT_BC);Wait(1000);
#define CROSS_TIME 450
#define cross_line OnRL(SPEED_L,SPEED_L);Wait(CROSS_TIME...
task main()
{
SetSensorLight(S3);//端子3にライトセンサー
SetSensorLowspeed(S4)//;端子4に超音波センサー
int nOnline=0;//続けて黒になった回数
int cross_number=0;//交差点を渡った回数
int sensor_number=0;//センサーが反応した回数
go_forward;
Wait(1000);
while(cross_number<1)//最初の交差点を渡るまでのライント...
{
while(nOnline<nMAX)
{
if(SENSOR_3<THRESHOLD-15)
{
turn_right1;
nOnline++;//黒線カウンターを追加
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1;Wait(nMAX*STEP+100);
cross_line;
PlaySound(SOUND_UP);
nOnline=0;
cross_number++;//交差点を渡るごとに交差点カウンターを...
}
while(sensor_number==0)//玉を認識して取るまでのライント...
{
if(SENSOR_3<THRESHOLD-15) {
turn_right1;
nOnline++;
if(SensorUS(S4)<10)//玉をとる動作
{
Off(OUT_BC);
turn_right0;//位置修正
Wait(1000);
Off(OUT_BC);
OnFwd(OUT_A,20);//アーム降下
Wait(1300);
Off(OUT_A);
Off(OUT_BC);
sensor_number++;//センサーのカウンターを増やす
}
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
while(cross_number<=3)//玉をとった後のライントレース
{
while(nOnline<nMAX2)
{
if(SENSOR_3<THRESHOLD-15)
{
turn_right1;
nOnline++;
}else{
if(SENSOR_3<THRESHOLD-7)
{
turn_right0;
}else if(SENSOR_3<THRESHOLD+7)
{
go_forward;
}else if(SENSOR_3<THRESHOLD+15)
{
turn_left0;
}else{
turn_left1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1;Wait(nMAX*STEP+300);
cross_line;
PlaySound(SOUND_UP);
nOnline=0;
cross_number++;
}
Off(OUT_BC);//玉をゴールに入れる動作
OnRev(OUT_A,20);
Wait(400);
}
**取り組み後の感想・反省点 [#h1829f7a]
今回の課題ではライントレースのプログラムはすぐに作ること...
ページ名: