2016b/Member/guchikou/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016b/Member]]
目次
#contents
*ロボット本体の説明 [#med86a0a]
**ピッチャーロボットについて [#z4047c21]
左右のタイヤにそれぞれモーターをつけた。前方にはキャスタ...
#ref(2016b/Member/guchikou/Mission3/IMG_1769.jpeg,20%,ピ...
#ref(2016b/Member/guchikou/Mission3/IMG_1780.jpeg,60%,ピ...
**バッターロボットについて [#m59f3512]
高得点を狙うため、ボールを受け取ったら角度を調整してゴー...
#ref(2016b/Member/guchikou/Mission3/IMG_1792.jpeg,30%,バ...
**通信の仕方 [#c030655a]
ピッチャー、バッター双方に光センサーを付けた。ピッチャー...
*プログラムの説明 [#b9e65205]
**定義について [#ea7740e5]
今回の課題では下の9個の動作や数値と2個の変数を定義した。
#define GO OnFwd(OUT_AC); //前に...
#define BACK OnRev(OUT_AC); //後ろ...
#define CURVE_LEFT OnFwd(OUT_C); //左に...
#define TURN_RIGHT OnFwd(OUT_A);OnRev(OUT_C); //右に...
#define TURN_LEFT OnFwd(OUT_C);OnRev(OUT_A); //左に...
#define PUSH_BALL OnFwd(OUT_B); //ボー...
#define NUMMBER1 111 //ピッ...
#define NUMMBER2 222 //バッ...
#define kaiten_time 120 //サブ...
int light=0; //光の...
int n=0; //投球...
**サブルーチンについて [#a58cdad0]
今回はバッターの方を向く動作と投球動作をサブルーチンにし...
投球動作
-上で説明したような投球機構であるため、モーターをちょうど...
sub THROW()
{
SetSensor(SENSOR_2,SENSOR_ROTATION); //センサ...
ClearSensor(SENSOR_2); //センサ...
until(SENSOR_2>=16){ //回転セ...
PUSH_BALL; //ボール...
}
Off(OUT_B); //動きを...
}
向き合う動作
-ピッチャー、バッター両方に向かい合うように光センサーを付...
sub FACE()
{
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3...
ClearTimer(0); //タイマー(0...
light=SENSOR_3; //lightの値...
while(FastTimer(0)<kaiten_time){ //タイマー(0...
if(light<SENSOR_3){ //lightの値...
light=SENSOR_3; //lightの値...
}
if(light>=SENSOR_3){ //lightの値...
TURN_RIGHT; //右に旋回する
}
}
Off(OUT_AC); //止まる
until(light<=SENSOR_3){ //光センサー...
TURN_LEFT; //左に旋回する
}
Off(OUT_AC); //止める
Wait(300); //300秒待つ
}
**タスクメインについて [#qd61d0f0]
ロボットの構造上risのボタンを押しづらくなってしまったため...
task main()
{ ...
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1...
until(SENSOR_1==1){ //タッチセ...
Off(OUT_AC); //止まる
}
CURVE_LEFT; //左に曲がる
Wait(110);
GO(OUT_AC); //前に進む
Wait(520);
Off(OUT_AC); //止まる(...
Wait(1500); //バッター...
ClearTimer(1); //タイマー(...
ClearMessage(); //メッセー...
until(Message()==NUMMBER2){ //バッター...
if(FastTimer(1)>100){ //タイマー(...
TURN_RIGHT; //少し右に...
Wait(40);
FACE(); //光の一番...
SendMessage(NUMMBER1); //バッター...
ClearTimer(1); //タイマー(...
}
}
TURN_RIGHT; //向きの微...
Wait(7);
Off(OUT_AC); //旋回を止...
PlaySound(SOUND_UP); //投げる合...
Wait(143); //バッター...
THROW(); //ボールを...
ClearTimer(2); //タイマー(...
while(n<4){ //投球数が4...
if(FastTimer(2)>200){ //タイマー(...
PlaySound(SOUND_UP); //投げる合...
THROW(); //ボールを...
ClearTimer(2); //タイマー(...
n++; //投球数を+1
}
}
Off(OUT_AC); //止める
}
*感想 [#ga0df408]
今回のロボコンでは結果的には1位だったので良かった。本番で...
終了行:
[[2016b/Member]]
目次
#contents
*ロボット本体の説明 [#med86a0a]
**ピッチャーロボットについて [#z4047c21]
左右のタイヤにそれぞれモーターをつけた。前方にはキャスタ...
#ref(2016b/Member/guchikou/Mission3/IMG_1769.jpeg,20%,ピ...
#ref(2016b/Member/guchikou/Mission3/IMG_1780.jpeg,60%,ピ...
**バッターロボットについて [#m59f3512]
高得点を狙うため、ボールを受け取ったら角度を調整してゴー...
#ref(2016b/Member/guchikou/Mission3/IMG_1792.jpeg,30%,バ...
**通信の仕方 [#c030655a]
ピッチャー、バッター双方に光センサーを付けた。ピッチャー...
*プログラムの説明 [#b9e65205]
**定義について [#ea7740e5]
今回の課題では下の9個の動作や数値と2個の変数を定義した。
#define GO OnFwd(OUT_AC); //前に...
#define BACK OnRev(OUT_AC); //後ろ...
#define CURVE_LEFT OnFwd(OUT_C); //左に...
#define TURN_RIGHT OnFwd(OUT_A);OnRev(OUT_C); //右に...
#define TURN_LEFT OnFwd(OUT_C);OnRev(OUT_A); //左に...
#define PUSH_BALL OnFwd(OUT_B); //ボー...
#define NUMMBER1 111 //ピッ...
#define NUMMBER2 222 //バッ...
#define kaiten_time 120 //サブ...
int light=0; //光の...
int n=0; //投球...
**サブルーチンについて [#a58cdad0]
今回はバッターの方を向く動作と投球動作をサブルーチンにし...
投球動作
-上で説明したような投球機構であるため、モーターをちょうど...
sub THROW()
{
SetSensor(SENSOR_2,SENSOR_ROTATION); //センサ...
ClearSensor(SENSOR_2); //センサ...
until(SENSOR_2>=16){ //回転セ...
PUSH_BALL; //ボール...
}
Off(OUT_B); //動きを...
}
向き合う動作
-ピッチャー、バッター両方に向かい合うように光センサーを付...
sub FACE()
{
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3...
ClearTimer(0); //タイマー(0...
light=SENSOR_3; //lightの値...
while(FastTimer(0)<kaiten_time){ //タイマー(0...
if(light<SENSOR_3){ //lightの値...
light=SENSOR_3; //lightの値...
}
if(light>=SENSOR_3){ //lightの値...
TURN_RIGHT; //右に旋回する
}
}
Off(OUT_AC); //止まる
until(light<=SENSOR_3){ //光センサー...
TURN_LEFT; //左に旋回する
}
Off(OUT_AC); //止める
Wait(300); //300秒待つ
}
**タスクメインについて [#qd61d0f0]
ロボットの構造上risのボタンを押しづらくなってしまったため...
task main()
{ ...
SetSensor(SENSOR_1,SENSOR_TOUCH); //センサー1...
until(SENSOR_1==1){ //タッチセ...
Off(OUT_AC); //止まる
}
CURVE_LEFT; //左に曲がる
Wait(110);
GO(OUT_AC); //前に進む
Wait(520);
Off(OUT_AC); //止まる(...
Wait(1500); //バッター...
ClearTimer(1); //タイマー(...
ClearMessage(); //メッセー...
until(Message()==NUMMBER2){ //バッター...
if(FastTimer(1)>100){ //タイマー(...
TURN_RIGHT; //少し右に...
Wait(40);
FACE(); //光の一番...
SendMessage(NUMMBER1); //バッター...
ClearTimer(1); //タイマー(...
}
}
TURN_RIGHT; //向きの微...
Wait(7);
Off(OUT_AC); //旋回を止...
PlaySound(SOUND_UP); //投げる合...
Wait(143); //バッター...
THROW(); //ボールを...
ClearTimer(2); //タイマー(...
while(n<4){ //投球数が4...
if(FastTimer(2)>200){ //タイマー(...
PlaySound(SOUND_UP); //投げる合...
THROW(); //ボールを...
ClearTimer(2); //タイマー(...
n++; //投球数を+1
}
}
Off(OUT_AC); //止める
}
*感想 [#ga0df408]
今回のロボコンでは結果的には1位だったので良かった。本番で...
ページ名: