2016b/Member/yugogoma/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*はじめに [#r93b86ad]
今回ロボットに決められた道を走らせて、ピンポン球をキャッ...
*課題 [#rcde0c55]
**ルール [#ada881be]
定められたコース上をライントレースし、道中でピンポン玉を...
**コース [#kc19d71d]
#refhttp://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&p...
Bスタート → R直進 → P右折 → Q直進 → (ピンポン玉をキャッチ...
*機体 [#f43abe0a]
より正確な動きをするために、できるだけコンパクトな機体を...
しかしピンポン玉をキャッチ・シュートするためのモーターが...
光センサーの位置が高かったので、正しい値がとれない場合が...
ピンポン玉の検知のために、超音波センサーを用いた。
*プログラム [#j751c4c6]
**定義 [#e3a1ddc5]
#define GO OnFwdSync(OUT_BC.30.0);//直進
#define LEFT OnFwd(OUT_B.45);OnRev(OUT_C.20);//左折
#define RIGHT OnFwd(OUT_C.35);OnRev(OUT_B.5);//右折
#define R_SENKAI OnFwd(OUT_C.50);OnRev(OUT_B.25);//右...
#define GO_CROSS OnFwdSync(OUT_BC,50,0);Wait(400);//...
#define STOP_CROSS Off(OUT_BC);Wait(1000);OnRevSync(O...
(OUT_ABC);Wait(300);//交差点一時停止
#define L_CROSS RotateMotorEx(OUT_BC,40,220,-100,true...
#define R_CROSS OnFwdSync(OUT_BC,40,0);Wait(300);Rota...
(OUT_BC,40,180,100,true,true);//交差点右折
#define THRESHOLD_W 50//しきい値白
#define THRESHOLD_C 45//しきい値中間
#define THRESHOLD_B 40//しきい値黒
ピンポン玉をキャッチするための定義
#define PINPON Off(OUT_BC);Wait(500);OnFwd(OUT_A,40);...
**サブルーチン [#o70d339b]
サブルーチンはライントレースの他に、ピンポン玉をキャッチ...
sub LINE_TRACE(){
long n=CurrentTick();
while(CurrentTick()-n<600){
if(SENSOR_1>THRESHOLD_W){
R_SENKAI;
n=CurrentTick();
} else if(SENSOR_1>THRESHOLD_C){
RIGHT;
n=CurrentTick();
} else if(SENSOR_1>THRESHOLD_B){
GO;
n=CurrentTick();
} else {
LEFT;
}
if(x==0){
if(SensorUS(S2)>17){
PINPON;
OnFwdSync(OUT_BC,30,-100);
Wait(300);
x=x+1;
n=CurrentTick();
}
}
}
}
2回以上キャッチの動きをしないために変数xを用いた。
int x;
シュートのサブルーチン
sub SHOOT()
{
OnRevSync(OUT_BC,40,0);
Wait(1000);
Off(OUT_BC);
Wait(400);
RotateMotor(OUT_A,70,-60);
}
**本文 [#fcf3e57b]
task main()
{
SetSensorLight(S1);
SetSensorLowspeed(S2);
int m=0; //渡った交差点数の変数を...
while(true){
LINE_TRACE();
STOP_CROSS;
PlayTone(440,250);
Wait(300);
m = m +1;
if(m>7){
SHOOT();
} else if(m==7){
L_CROSS;
} else if(m==5){
R_CROSS;
} else if(m==2){
R_CROSS;
} else {
GO_CROSS;
}
}
*反省 [#m716be9c]
キャッチ・シュートの精度が良くなかったので、プログラム、...
終了行:
目次
#contents
*はじめに [#r93b86ad]
今回ロボットに決められた道を走らせて、ピンポン球をキャッ...
*課題 [#rcde0c55]
**ルール [#ada881be]
定められたコース上をライントレースし、道中でピンポン玉を...
**コース [#kc19d71d]
#refhttp://yakushi.shinshu-u.ac.jp/robotics/?plugin=ref&p...
Bスタート → R直進 → P右折 → Q直進 → (ピンポン玉をキャッチ...
*機体 [#f43abe0a]
より正確な動きをするために、できるだけコンパクトな機体を...
しかしピンポン玉をキャッチ・シュートするためのモーターが...
光センサーの位置が高かったので、正しい値がとれない場合が...
ピンポン玉の検知のために、超音波センサーを用いた。
*プログラム [#j751c4c6]
**定義 [#e3a1ddc5]
#define GO OnFwdSync(OUT_BC.30.0);//直進
#define LEFT OnFwd(OUT_B.45);OnRev(OUT_C.20);//左折
#define RIGHT OnFwd(OUT_C.35);OnRev(OUT_B.5);//右折
#define R_SENKAI OnFwd(OUT_C.50);OnRev(OUT_B.25);//右...
#define GO_CROSS OnFwdSync(OUT_BC,50,0);Wait(400);//...
#define STOP_CROSS Off(OUT_BC);Wait(1000);OnRevSync(O...
(OUT_ABC);Wait(300);//交差点一時停止
#define L_CROSS RotateMotorEx(OUT_BC,40,220,-100,true...
#define R_CROSS OnFwdSync(OUT_BC,40,0);Wait(300);Rota...
(OUT_BC,40,180,100,true,true);//交差点右折
#define THRESHOLD_W 50//しきい値白
#define THRESHOLD_C 45//しきい値中間
#define THRESHOLD_B 40//しきい値黒
ピンポン玉をキャッチするための定義
#define PINPON Off(OUT_BC);Wait(500);OnFwd(OUT_A,40);...
**サブルーチン [#o70d339b]
サブルーチンはライントレースの他に、ピンポン玉をキャッチ...
sub LINE_TRACE(){
long n=CurrentTick();
while(CurrentTick()-n<600){
if(SENSOR_1>THRESHOLD_W){
R_SENKAI;
n=CurrentTick();
} else if(SENSOR_1>THRESHOLD_C){
RIGHT;
n=CurrentTick();
} else if(SENSOR_1>THRESHOLD_B){
GO;
n=CurrentTick();
} else {
LEFT;
}
if(x==0){
if(SensorUS(S2)>17){
PINPON;
OnFwdSync(OUT_BC,30,-100);
Wait(300);
x=x+1;
n=CurrentTick();
}
}
}
}
2回以上キャッチの動きをしないために変数xを用いた。
int x;
シュートのサブルーチン
sub SHOOT()
{
OnRevSync(OUT_BC,40,0);
Wait(1000);
Off(OUT_BC);
Wait(400);
RotateMotor(OUT_A,70,-60);
}
**本文 [#fcf3e57b]
task main()
{
SetSensorLight(S1);
SetSensorLowspeed(S2);
int m=0; //渡った交差点数の変数を...
while(true){
LINE_TRACE();
STOP_CROSS;
PlayTone(440,250);
Wait(300);
m = m +1;
if(m>7){
SHOOT();
} else if(m==7){
L_CROSS;
} else if(m==5){
R_CROSS;
} else if(m==2){
R_CROSS;
} else {
GO_CROSS;
}
}
*反省 [#m716be9c]
キャッチ・シュートの精度が良くなかったので、プログラム、...
ページ名: