2016b/Member/Mr.K/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*目次 [#r5dcb374]
#contents
*はじめに [#y2bce833]
今回の課題内容はピッチャー役のロボットとバッター役のロボ...
細かいルールは、
・ピッチャーロボットはピンポン球を5球保持したままA地点か...
・バッターロボットはC地点からB地点まで移動し、ピッチャー...
・ピッチャーロボットおよびバッターロボットはそれぞれ、A地...
・得点は打つだけで目標物に入らなかった場合は1点、目標物...
といったものであった
*機体について [#fa2aa520]
**工夫点とその結果 [#a1bca7b7]
今回上記のルールの中でロボットを製作するにあたって以下の...
・前回のライントレースの機構を使った駆動部を利用し、ライ...
・ピッチャーロボットのピンポン球の排出部分、バッターロボ...
・バッターロボットのバットの部分を野球盤のように振らせる...
・ピッチャー側のピンポン球をためておく部分を斜めに組み立...
**ロボット本体の解説 [#q469931c]
+共通部
足回りは下図で示すもので統一した このことによりお互いの...
#ref(./IMG_2147.JPG,50%,足回り)
2.ピッチャーロボット
全体像はこのようなものとなった
#ref(./IMG_2141.JPG,50%,ピッチャーロボット)
上述したように、進行方向に対して後ろに排出口がつけてあり...
排出の仕組みとしては、タンク上部のモータが下図の手裏剣型...
#ref(./IMG_2139.JPG,50%,仕切り弁)
3.バッターロボット
全体像はこのようになった
#ref(./IMG_2145.JPG,50%,バッターロボット)
特筆すべき点としては上記のことの他に、こちら側がマスター...
バットの部分は紙やピンポン球、地面影響に対応すべく、なる...
#ref(./IMG_2130.JPG,50%,バット)
*プログラミングについて [#b48dc8ce]
今回は下図の赤線をピッチャーロボット、青線をバッターロボ...
#ref(./idousetumei.png,50%,道順)
見てわかるとおりピッチャーロボットは黒い線を四回、バッタ...
それぞれのポジションにたどり着く順番がバッターロボットの...
1.ピッチャーサイドのプログラム
#define TR OnFwd(OUT_C,45);//左に曲がる
#define TL OnFwd(OUT_B,45);//右に曲がる
#define GF OnFwdSync(OUT_BC,45,0);直進
#define MS Wait(400);オフの命令の後など少しの間を持たせ...
#define SIGNALON 11
#define SIGNALOFF 12//通信のために用いたマクロ
task main()
{
SetSensorLight(S1);
int n=0;
MS //動作時に閾値より遙かに高い値の場所で閾値以下の行動...
while(n<4){
if(SENSOR_1>37){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//四回の黒線との交差を検出するためのもの 判定してから...
Off(OUT_BC);
GF
MS
Off(OUT_BC);
MS
TR
Wait(3500);
Off(OUT_BC);//マウンドに立ち、後部の投げる機構をバッタ...
int msg;
while (true) {
ReceiveRemoteNumber(MAILBOX1,true,msg);
if (msg == SIGNALON) {
RotateMotor(OUT_A,-20, 95);
}
if (msg == SIGNALOFF) {
Off(OUT_A);
}
}バッター側からの通信を受け取り、球を投げるための動作...
}
2.バッターサイドのプログラム
#define SR OnFwdSync(OUT_BC,45,-100);//左旋回
#define SL OnFwdSync(OUT_BC,45,100);//右旋回
#define GF OnFwdSync(OUT_BC,60,0);//前進
#define MS Wait(400);//ピッチャーサイド同様の調整用 タ...
#define CONN 1
#define SIGNALON 11
#define SIGNALOFF 12//通信用のもの
task main()
{
SetSensorLight(S1);
int n=0;
int m=1200;//nは回数を数えるものでmはバットを振る基本の...
while(n<2){
if(SENSOR_1>40){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//二回の黒線との交差の検出
Off(OUT_BC);
MS
SR
Wait(1300);
Off(OUT_BC);//バッターボックス側に本体を向ける
while(n<6){
if(SENSOR_1>40){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//後半四回の黒線との交差の検出
Off(OUT_BC);
MS
GF
Wait(600);
Off(OUT_BC);
MS
SL
Wait(700);
Off(OUT_BC);
MS
GF
Wait(1100);
Off(OUT_BC);//ルール通りバッターボックス内に本体を納め...
Wait(2000);
while (m<1450){
SendRemoteNumber(CONN,MAILBOX1,SIGNALON);
Wait(m);
RotateMotor(OUT_A,75,180);
Wait(500);
RotateMotor(OUT_A,-20,180);
Wait(500);
n++;
m=m+50;
}
Off(OUT_A);
}//ピッチャー側への通信と打つ動き 少しずつ遅らせて振っ...
ちなみに、バッター側のファイル名はyamadaピッチャー側はota...
otaniは全打席打たれてしまうという結果になったが持ち前のコ...
*まとめ [#hc79f816]
こんかいは3つのことに頭を抱えさせられた
一つ目としては一人との連絡が途絶えてしまったことだ 対応...
二つ目はピンポン球の転がりの不安定さである ピンポン球自...
三つ目はピッチャーマシンのプログラミングのところでも述べ...
しかし、それらのことを踏まえても、他のチームとは比べもの...
終了行:
*目次 [#r5dcb374]
#contents
*はじめに [#y2bce833]
今回の課題内容はピッチャー役のロボットとバッター役のロボ...
細かいルールは、
・ピッチャーロボットはピンポン球を5球保持したままA地点か...
・バッターロボットはC地点からB地点まで移動し、ピッチャー...
・ピッチャーロボットおよびバッターロボットはそれぞれ、A地...
・得点は打つだけで目標物に入らなかった場合は1点、目標物...
といったものであった
*機体について [#fa2aa520]
**工夫点とその結果 [#a1bca7b7]
今回上記のルールの中でロボットを製作するにあたって以下の...
・前回のライントレースの機構を使った駆動部を利用し、ライ...
・ピッチャーロボットのピンポン球の排出部分、バッターロボ...
・バッターロボットのバットの部分を野球盤のように振らせる...
・ピッチャー側のピンポン球をためておく部分を斜めに組み立...
**ロボット本体の解説 [#q469931c]
+共通部
足回りは下図で示すもので統一した このことによりお互いの...
#ref(./IMG_2147.JPG,50%,足回り)
2.ピッチャーロボット
全体像はこのようなものとなった
#ref(./IMG_2141.JPG,50%,ピッチャーロボット)
上述したように、進行方向に対して後ろに排出口がつけてあり...
排出の仕組みとしては、タンク上部のモータが下図の手裏剣型...
#ref(./IMG_2139.JPG,50%,仕切り弁)
3.バッターロボット
全体像はこのようになった
#ref(./IMG_2145.JPG,50%,バッターロボット)
特筆すべき点としては上記のことの他に、こちら側がマスター...
バットの部分は紙やピンポン球、地面影響に対応すべく、なる...
#ref(./IMG_2130.JPG,50%,バット)
*プログラミングについて [#b48dc8ce]
今回は下図の赤線をピッチャーロボット、青線をバッターロボ...
#ref(./idousetumei.png,50%,道順)
見てわかるとおりピッチャーロボットは黒い線を四回、バッタ...
それぞれのポジションにたどり着く順番がバッターロボットの...
1.ピッチャーサイドのプログラム
#define TR OnFwd(OUT_C,45);//左に曲がる
#define TL OnFwd(OUT_B,45);//右に曲がる
#define GF OnFwdSync(OUT_BC,45,0);直進
#define MS Wait(400);オフの命令の後など少しの間を持たせ...
#define SIGNALON 11
#define SIGNALOFF 12//通信のために用いたマクロ
task main()
{
SetSensorLight(S1);
int n=0;
MS //動作時に閾値より遙かに高い値の場所で閾値以下の行動...
while(n<4){
if(SENSOR_1>37){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//四回の黒線との交差を検出するためのもの 判定してから...
Off(OUT_BC);
GF
MS
Off(OUT_BC);
MS
TR
Wait(3500);
Off(OUT_BC);//マウンドに立ち、後部の投げる機構をバッタ...
int msg;
while (true) {
ReceiveRemoteNumber(MAILBOX1,true,msg);
if (msg == SIGNALON) {
RotateMotor(OUT_A,-20, 95);
}
if (msg == SIGNALOFF) {
Off(OUT_A);
}
}バッター側からの通信を受け取り、球を投げるための動作...
}
2.バッターサイドのプログラム
#define SR OnFwdSync(OUT_BC,45,-100);//左旋回
#define SL OnFwdSync(OUT_BC,45,100);//右旋回
#define GF OnFwdSync(OUT_BC,60,0);//前進
#define MS Wait(400);//ピッチャーサイド同様の調整用 タ...
#define CONN 1
#define SIGNALON 11
#define SIGNALOFF 12//通信用のもの
task main()
{
SetSensorLight(S1);
int n=0;
int m=1200;//nは回数を数えるものでmはバットを振る基本の...
while(n<2){
if(SENSOR_1>40){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//二回の黒線との交差の検出
Off(OUT_BC);
MS
SR
Wait(1300);
Off(OUT_BC);//バッターボックス側に本体を向ける
while(n<6){
if(SENSOR_1>40){
GF
}
else{
GF
MS
Off(OUT_BC);
MS
n++;
}
}//後半四回の黒線との交差の検出
Off(OUT_BC);
MS
GF
Wait(600);
Off(OUT_BC);
MS
SL
Wait(700);
Off(OUT_BC);
MS
GF
Wait(1100);
Off(OUT_BC);//ルール通りバッターボックス内に本体を納め...
Wait(2000);
while (m<1450){
SendRemoteNumber(CONN,MAILBOX1,SIGNALON);
Wait(m);
RotateMotor(OUT_A,75,180);
Wait(500);
RotateMotor(OUT_A,-20,180);
Wait(500);
n++;
m=m+50;
}
Off(OUT_A);
}//ピッチャー側への通信と打つ動き 少しずつ遅らせて振っ...
ちなみに、バッター側のファイル名はyamadaピッチャー側はota...
otaniは全打席打たれてしまうという結果になったが持ち前のコ...
*まとめ [#hc79f816]
こんかいは3つのことに頭を抱えさせられた
一つ目としては一人との連絡が途絶えてしまったことだ 対応...
二つ目はピンポン球の転がりの不安定さである ピンポン球自...
三つ目はピッチャーマシンのプログラミングのところでも述べ...
しかし、それらのことを踏まえても、他のチームとは比べもの...
ページ名: