2016b/Member/rts/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016b/Member]]
目次
#contents
*課題 [#g2ac071d]
**ルール [#wc0277f1]
基本ルール
ピッチャーロボットとバッターロボットが所定の位置まで移動...
ピッチャーロボットはA地点をスタートしM地点まで移動する
バッターロボットはC地点をスタートしB地点まで移動する
スタート時はそれぞれA地点B地点の枠内に収まること(高さの...
M地点、B地点では接地している部分が枠内に入っていること
ピッチャーロボットはスタート時にピンポン球を5個まで保持...
ピッチャーロボットが投げたピンポン球をバッターロボットは...
移動の途中で目標に接触してはならない
基本得点の計算方法
目標は5個あり、それぞれに書かれている点数を合計する。た...
打つことができたにもかかわらずどの目標にも入らなかった場...
技術点の計算方法
以下の動作の精度・スピード・確実性などを含めた技術的な工...
スタートしてから目的地点まで移動する速さ、正確さ (3点)
ピンポン玉を投げる動作 (3点)
ピンポン玉を打つ動作 (3点)
2台のロボットの連携の良さ (3点)
自立型のロボットとしての形や動作の美しさ、斬新さ (3点)
ロボコン出場ロボットとしての完成度 (3点)
その他 (2点)
*チーム全体でのロボットたちの動きや連携 [#f21c3da9]
R3R4のロボットのチーム
バッターのロボット製作を担当した。
**ピッチャー [#q60fa9be]
スタート地点から規定の位置まで一直線に回転センサーで距離...
ピッチャーがまずメッセージを送り、確認のメッセージを受け...
**バッター [#x7cda776]
スタート地点から規定の位置までは光センサーと回転センサー...
ピッチャーからメッセージが送られたら確認のメッセージを送...
*ロボット(バッター) [#c5b38b0e]
**ロボット全体 [#ob60d0fa]
&ref(2016b/Member/rts/Mission3/IMG_1255.JPG,25%,robo);
&ref(2016b/Member/rts/Mission3/IMG_1265.JPG,10%,robo);
四輪型をコンパクトにし二輪型ロボットにして、モーターでア...
*プログラム(バッター側) [#abed7c98]
**内容 [#y6070f49]
#define BLANK Off(OUT_ABC);Wait(30); //動作の安定のため...
#define WHITE 47 //白の光センサーの下限値
#define BLACK 40 //黒の光センサーの上限値
#define FIRST_COUNT 21 //スタートの黒枠を出てから45度...
#define B_COUNT 17 //バッターボックスに入ったあとに進む...
#define TURN_COUNT 10 //90度回転するときの回転センサー...
#define TURN_L45 ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRe...
#define TURN_R45 ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRe...
#define TURN_L ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRev(...
#define TURN_R ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRev(...
#define FORWARD_W_B OnFwd(OUT_AC);until(SENSOR_2 < BLACK...
#define FORWARD_B_W OnFwd(OUT_AC);until(SENSOR_2 > WHITE...
#define FORWARD1(X) ClearSensor(SENSOR_3);OnFwd(OUT_AC);...
#define getset 100 //投げる合図(こっちが受け取る)
#define confirm 200 //投げる合図の確認(こっちが送る)
#define hit OnRev(OUT_B);Wait(15);Off(OUT_B); //バットで...
#define set OnFwd(OUT_B);Wait(15);Off(OUT_B); //バットを...
//通信確認用の変数↓
#define test 101
#define confirm2 201
#define t1 220
#define turnl(a) ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRe...
#define turnr(b) ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRe...
#define go(c) ClearSensor(SENSOR_3);OnFwd(OUT_AC);until(...
#define back(d) ClearSensor(SENSOR_3);OnRev(OUT_AC);unti...
//↑回転センサーで進む距離や曲がる角度を決めている
sub P1()
{
TURN_R45;
BLANK;
FORWARD_W_B;
FORWARD1(FIRST_COUNT);
BLANK;
TURN_L45;
BLANK;
}
sub P2()
{
repeat(3)
{
FORWARD_W_B;
FORWARD_B_W;
}
}
sub P3()
{
OnFwd(OUT_AC);
Wait(30);
BLANK;
TURN_L;
BLANK;
FORWARD_W_B; //バッターボックスに入るまでは光センサー...
FORWARD1(B_COUNT);
BLANK;
turnr(5);
}
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_ROTATION);
ClearSensor(SENSOR_3);
ClearSensor(SENSOR_2);
ClearMessage();
P1(); //スタートしてからピッチャーマウンドの前まで行く...
P2(); //3本の黒線を横断するサブルーチン
P3(); //バッターボックスに入り、ピッチャーの方向に向く...
// 以降はバット振る
//バッティングの前に通信確認テスト。通信が安定する距離ま...
while(Message()!=confirm2)
{
Wait(80);
back(1);
}
PlaySound(SOUND_UP);
back(4);
repeat(10)
{
SendMessage(test);
}
//バッティング開始
int c=0;
repeat(5)
{
ClearMessage();
until(Message()==getset);
repeat(10)
{
SendMessage(confirm);
}//投げる合図を受け取ったら確認のメッセージを送る
Wait(t1);
PlaySound(SOUND_DOUBLE_BEEP);
set;
BLANK;
hit; //本番では打ち方を変えて時計回りではなく反時計...
}
}
**解説 [#c649c665]
移動のプログラムは他のメンバーのものを使用している。
移動後、バッティングを始めるときに時々通信がうまくいかな...
バッティングの流れはピッチャーのメッセージ受信→確認のメッ...
*まとめ [#t4582bd7]
**結果 [#r1fdbbca]
ロボコンは4位という結果になった。
移動はうまくいったが、ピッチングバッティングのところでタ...
**終わりに [#icc08458]
バッターロボットを担当したが、一応は移動からバッティング...
しかしバッティングの面ではピッチングに対してのバットを振...
もっと計画的にロボット設計や動作確認などを行うようにして...
終了行:
[[2016b/Member]]
目次
#contents
*課題 [#g2ac071d]
**ルール [#wc0277f1]
基本ルール
ピッチャーロボットとバッターロボットが所定の位置まで移動...
ピッチャーロボットはA地点をスタートしM地点まで移動する
バッターロボットはC地点をスタートしB地点まで移動する
スタート時はそれぞれA地点B地点の枠内に収まること(高さの...
M地点、B地点では接地している部分が枠内に入っていること
ピッチャーロボットはスタート時にピンポン球を5個まで保持...
ピッチャーロボットが投げたピンポン球をバッターロボットは...
移動の途中で目標に接触してはならない
基本得点の計算方法
目標は5個あり、それぞれに書かれている点数を合計する。た...
打つことができたにもかかわらずどの目標にも入らなかった場...
技術点の計算方法
以下の動作の精度・スピード・確実性などを含めた技術的な工...
スタートしてから目的地点まで移動する速さ、正確さ (3点)
ピンポン玉を投げる動作 (3点)
ピンポン玉を打つ動作 (3点)
2台のロボットの連携の良さ (3点)
自立型のロボットとしての形や動作の美しさ、斬新さ (3点)
ロボコン出場ロボットとしての完成度 (3点)
その他 (2点)
*チーム全体でのロボットたちの動きや連携 [#f21c3da9]
R3R4のロボットのチーム
バッターのロボット製作を担当した。
**ピッチャー [#q60fa9be]
スタート地点から規定の位置まで一直線に回転センサーで距離...
ピッチャーがまずメッセージを送り、確認のメッセージを受け...
**バッター [#x7cda776]
スタート地点から規定の位置までは光センサーと回転センサー...
ピッチャーからメッセージが送られたら確認のメッセージを送...
*ロボット(バッター) [#c5b38b0e]
**ロボット全体 [#ob60d0fa]
&ref(2016b/Member/rts/Mission3/IMG_1255.JPG,25%,robo);
&ref(2016b/Member/rts/Mission3/IMG_1265.JPG,10%,robo);
四輪型をコンパクトにし二輪型ロボットにして、モーターでア...
*プログラム(バッター側) [#abed7c98]
**内容 [#y6070f49]
#define BLANK Off(OUT_ABC);Wait(30); //動作の安定のため...
#define WHITE 47 //白の光センサーの下限値
#define BLACK 40 //黒の光センサーの上限値
#define FIRST_COUNT 21 //スタートの黒枠を出てから45度...
#define B_COUNT 17 //バッターボックスに入ったあとに進む...
#define TURN_COUNT 10 //90度回転するときの回転センサー...
#define TURN_L45 ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRe...
#define TURN_R45 ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRe...
#define TURN_L ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRev(...
#define TURN_R ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRev(...
#define FORWARD_W_B OnFwd(OUT_AC);until(SENSOR_2 < BLACK...
#define FORWARD_B_W OnFwd(OUT_AC);until(SENSOR_2 > WHITE...
#define FORWARD1(X) ClearSensor(SENSOR_3);OnFwd(OUT_AC);...
#define getset 100 //投げる合図(こっちが受け取る)
#define confirm 200 //投げる合図の確認(こっちが送る)
#define hit OnRev(OUT_B);Wait(15);Off(OUT_B); //バットで...
#define set OnFwd(OUT_B);Wait(15);Off(OUT_B); //バットを...
//通信確認用の変数↓
#define test 101
#define confirm2 201
#define t1 220
#define turnl(a) ClearSensor(SENSOR_3);OnFwd(OUT_A);OnRe...
#define turnr(b) ClearSensor(SENSOR_3);OnFwd(OUT_C);OnRe...
#define go(c) ClearSensor(SENSOR_3);OnFwd(OUT_AC);until(...
#define back(d) ClearSensor(SENSOR_3);OnRev(OUT_AC);unti...
//↑回転センサーで進む距離や曲がる角度を決めている
sub P1()
{
TURN_R45;
BLANK;
FORWARD_W_B;
FORWARD1(FIRST_COUNT);
BLANK;
TURN_L45;
BLANK;
}
sub P2()
{
repeat(3)
{
FORWARD_W_B;
FORWARD_B_W;
}
}
sub P3()
{
OnFwd(OUT_AC);
Wait(30);
BLANK;
TURN_L;
BLANK;
FORWARD_W_B; //バッターボックスに入るまでは光センサー...
FORWARD1(B_COUNT);
BLANK;
turnr(5);
}
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_ROTATION);
ClearSensor(SENSOR_3);
ClearSensor(SENSOR_2);
ClearMessage();
P1(); //スタートしてからピッチャーマウンドの前まで行く...
P2(); //3本の黒線を横断するサブルーチン
P3(); //バッターボックスに入り、ピッチャーの方向に向く...
// 以降はバット振る
//バッティングの前に通信確認テスト。通信が安定する距離ま...
while(Message()!=confirm2)
{
Wait(80);
back(1);
}
PlaySound(SOUND_UP);
back(4);
repeat(10)
{
SendMessage(test);
}
//バッティング開始
int c=0;
repeat(5)
{
ClearMessage();
until(Message()==getset);
repeat(10)
{
SendMessage(confirm);
}//投げる合図を受け取ったら確認のメッセージを送る
Wait(t1);
PlaySound(SOUND_DOUBLE_BEEP);
set;
BLANK;
hit; //本番では打ち方を変えて時計回りではなく反時計...
}
}
**解説 [#c649c665]
移動のプログラムは他のメンバーのものを使用している。
移動後、バッティングを始めるときに時々通信がうまくいかな...
バッティングの流れはピッチャーのメッセージ受信→確認のメッ...
*まとめ [#t4582bd7]
**結果 [#r1fdbbca]
ロボコンは4位という結果になった。
移動はうまくいったが、ピッチングバッティングのところでタ...
**終わりに [#icc08458]
バッターロボットを担当したが、一応は移動からバッティング...
しかしバッティングの面ではピッチングに対してのバットを振...
もっと計画的にロボット設計や動作確認などを行うようにして...
ページ名: