2013a/Member/penenoryta/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*メンバー [#p6348069]
-yno8...チームのリーダー的な存在。何をするべきかを判断し...
-kawa43...yno8と一緒に主にプログラミングに取り組んでくれ...
-chise...プログラミング担当でいろいろな案を出してくれてい...
-d.ichi...ロボット担当。限られたパーツで素早くとてもいい...
-penenoryta...ロボット担当。主にロボの改善を行った。いか...
*ロボットの紹介 [#q80fd75c]
#ref(IMG_1127q.jpg)
◎前回からの改良点&工夫したところ
-今回は前回よりも重心をさらに下げ、タイヤを増やし、かつタ...
-アームはセンサーに当たらないようにあいだをあけ、さらにち...
-ギアをいくつも組み合わせることで本体の中心で球をキャッチ...
-アームがL字型になっていることにより球を打ち出すときに少...
*コースの攻略 [#da8e94c4]
#ref(robocon2013a.png)
コースはスタートをしたらまず1つめのロボットが球を取りに行...
今回は球のパスがあるので電池の残量などにより進む位置が変...
またお互いのロボットを全く同じ形にさせることで、お互いの...
*プログラムの内容 [#w90a2b5d]
#define zone1 37
#define zone2 45
#define zone3 60
#define zone4 65
#define SPEED 45
#define LOWSPEED SPEED*0.625
#define mae OnFwd(OUT_BC,SPEED*0.8);
#define STEP 1
#define nMAX 100
#define SIGNAL1 11
#define SIGNAL2 12
#define CONN 1
int p=0;
int n=0;
int m=0;
int msg=0;
sub migigawa(int x) //交差点がx回あるまでトレース
{
while(m < x) {
while(p < nMAX && m<x) {
if (SENSOR_4 < zone1) {
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
p++;
} else {
if (SENSOR_4 < zone2) {
OnFwd(OUT_B,SPEED);Off(OUT_C);
} else if (SENSOR_4 < zone3) {
mae;
} else if (SENSOR_4 < zone4) {
OnFwd(OUT_C,SPEED);Off(OUT_B);
} else {
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
}
p=0;
}
Wait(STEP);
}
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
Wait(nMAX*STEP);
OnFwd(OUT_BC,SPEED);Wait(300);
p=0;
m++;
}
m=0;
}
sub hidarigawa(int x) //交差点がx回あるまでトレース
{
while(m < x) {
while(p < nMAX && m<x) {
if (SENSOR_4 < zone1) {
OnFwd(OUT_C,SPEED);Off(OUT_B);
p++;
} else {
if (SENSOR_4 < zone2) {
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
} else if (SENSOR_4 < zone3) {
mae;
} else if (SENSOR_4 < zone4) {
OnFwd(OUT_B,SPEED);Off(OUT_C);
} else {
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
}
p=0;
}
Wait(STEP);
}
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
Wait(nMAX*STEP);
OnFwd(OUT_BC,SPEED);Wait(300);
p=0;
m++;
}
m=0;
}
task main ()
{
SetSensorLight(S4); //球をキャッチしてパスするまで
Wait(2000);
migigawa(2);
Off(OUT_BC);Wait(1000);
RotateMotor(OUT_C,-SPEED,200);RotateMotor(OUT_B,SPEED...
mae;OnRev(OUT_A,20);Wait(1500);Off(OUT_A);
mae;until(SENSOR_4 < 50);Off(OUT_BC);
OnRev(OUT_BC,SPEED);Wait(500);OnRev(OUT_BC,SPEED);unt...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);Wait(500);
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
hidarigawa(1);
Off(OUT_BC);Wait(1000);RotateMotor(OUT_BC,-SPEED,430)...
RotateMotor(OUT_B,-SPEED,300);RotateMotor(OUT_C,SPEED...
Wait(1000);SendRemoteNumber(CONN,MAILBOX1,SIGNAL1);
OnFwd(OUT_BC,SPEED);RotateMotor(OUT_A,100,400);Off(OU...
RotateMotor(OUT_BC,-SPEED,200); //球をもらうまで
OnRev(OUT_BC,SPEED);until(SENSOR_4 < 50);RotateMotor(...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
Off(OUT_BC);Wait(5000);
hidarigawa(1);
RotateMotor(OUT_BC,SPEED,100);Off(OUT_BC);
RotateMotor(OUT_BC,-SPEED,10);RotateMotor(OUT_C,SPEED...
SendRemoteNumber(CONN,MAILBOX2,SIGNAL2);
Wait(500);
OnRev(OUT_A,20);Wait(1500);Off(OUT_A);
OnRev(OUT_BC,SPEED);until(SENSOR_4 < 50);Off(OUT_BC);...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
Off(OUT_BC);Wait(7000);
hidarigawa(1);
RotateMotor(OUT_BC,SPEED,50);Off(OUT_BC);
RotateMotor(OUT_B,-SPEED,400);Off(OUT_B);RotateMotor(...
SendRemoteNumber(CONN,MAILBOX3,SIGNAL1);
OnFwd(OUT_BC,SPEED);RotateMotor(OUT_A,100,400);Off(OU...
RotateMotor(OUT_BC,-SPEED,50);Off(OUT_BC);
}
*まとめ [#y9f2783e]
今回は以前よりもかなり難しく、複雑なプログラミングとロボ...
以前の反省点であるロボの安定性と電池の残量の問題も解決で...
とても大変でしたが楽しく充実した時間がみんなとおくること...
ただ最後の発表にはみんなが集まることができなかったので少...
終了行:
*メンバー [#p6348069]
-yno8...チームのリーダー的な存在。何をするべきかを判断し...
-kawa43...yno8と一緒に主にプログラミングに取り組んでくれ...
-chise...プログラミング担当でいろいろな案を出してくれてい...
-d.ichi...ロボット担当。限られたパーツで素早くとてもいい...
-penenoryta...ロボット担当。主にロボの改善を行った。いか...
*ロボットの紹介 [#q80fd75c]
#ref(IMG_1127q.jpg)
◎前回からの改良点&工夫したところ
-今回は前回よりも重心をさらに下げ、タイヤを増やし、かつタ...
-アームはセンサーに当たらないようにあいだをあけ、さらにち...
-ギアをいくつも組み合わせることで本体の中心で球をキャッチ...
-アームがL字型になっていることにより球を打ち出すときに少...
*コースの攻略 [#da8e94c4]
#ref(robocon2013a.png)
コースはスタートをしたらまず1つめのロボットが球を取りに行...
今回は球のパスがあるので電池の残量などにより進む位置が変...
またお互いのロボットを全く同じ形にさせることで、お互いの...
*プログラムの内容 [#w90a2b5d]
#define zone1 37
#define zone2 45
#define zone3 60
#define zone4 65
#define SPEED 45
#define LOWSPEED SPEED*0.625
#define mae OnFwd(OUT_BC,SPEED*0.8);
#define STEP 1
#define nMAX 100
#define SIGNAL1 11
#define SIGNAL2 12
#define CONN 1
int p=0;
int n=0;
int m=0;
int msg=0;
sub migigawa(int x) //交差点がx回あるまでトレース
{
while(m < x) {
while(p < nMAX && m<x) {
if (SENSOR_4 < zone1) {
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
p++;
} else {
if (SENSOR_4 < zone2) {
OnFwd(OUT_B,SPEED);Off(OUT_C);
} else if (SENSOR_4 < zone3) {
mae;
} else if (SENSOR_4 < zone4) {
OnFwd(OUT_C,SPEED);Off(OUT_B);
} else {
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
}
p=0;
}
Wait(STEP);
}
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
Wait(nMAX*STEP);
OnFwd(OUT_BC,SPEED);Wait(300);
p=0;
m++;
}
m=0;
}
sub hidarigawa(int x) //交差点がx回あるまでトレース
{
while(m < x) {
while(p < nMAX && m<x) {
if (SENSOR_4 < zone1) {
OnFwd(OUT_C,SPEED);Off(OUT_B);
p++;
} else {
if (SENSOR_4 < zone2) {
OnFwd(OUT_C,SPEED);OnRev(OUT_B,LOWSPEED);
} else if (SENSOR_4 < zone3) {
mae;
} else if (SENSOR_4 < zone4) {
OnFwd(OUT_B,SPEED);Off(OUT_C);
} else {
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
}
p=0;
}
Wait(STEP);
}
OnFwd(OUT_B,SPEED);OnRev(OUT_C,LOWSPEED);
Wait(nMAX*STEP);
OnFwd(OUT_BC,SPEED);Wait(300);
p=0;
m++;
}
m=0;
}
task main ()
{
SetSensorLight(S4); //球をキャッチしてパスするまで
Wait(2000);
migigawa(2);
Off(OUT_BC);Wait(1000);
RotateMotor(OUT_C,-SPEED,200);RotateMotor(OUT_B,SPEED...
mae;OnRev(OUT_A,20);Wait(1500);Off(OUT_A);
mae;until(SENSOR_4 < 50);Off(OUT_BC);
OnRev(OUT_BC,SPEED);Wait(500);OnRev(OUT_BC,SPEED);unt...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);Wait(500);
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
hidarigawa(1);
Off(OUT_BC);Wait(1000);RotateMotor(OUT_BC,-SPEED,430)...
RotateMotor(OUT_B,-SPEED,300);RotateMotor(OUT_C,SPEED...
Wait(1000);SendRemoteNumber(CONN,MAILBOX1,SIGNAL1);
OnFwd(OUT_BC,SPEED);RotateMotor(OUT_A,100,400);Off(OU...
RotateMotor(OUT_BC,-SPEED,200); //球をもらうまで
OnRev(OUT_BC,SPEED);until(SENSOR_4 < 50);RotateMotor(...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
Off(OUT_BC);Wait(5000);
hidarigawa(1);
RotateMotor(OUT_BC,SPEED,100);Off(OUT_BC);
RotateMotor(OUT_BC,-SPEED,10);RotateMotor(OUT_C,SPEED...
SendRemoteNumber(CONN,MAILBOX2,SIGNAL2);
Wait(500);
OnRev(OUT_A,20);Wait(1500);Off(OUT_A);
OnRev(OUT_BC,SPEED);until(SENSOR_4 < 50);Off(OUT_BC);...
OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED);until(SENSOR_4 ...
Off(OUT_BC);Wait(7000);
hidarigawa(1);
RotateMotor(OUT_BC,SPEED,50);Off(OUT_BC);
RotateMotor(OUT_B,-SPEED,400);Off(OUT_B);RotateMotor(...
SendRemoteNumber(CONN,MAILBOX3,SIGNAL1);
OnFwd(OUT_BC,SPEED);RotateMotor(OUT_A,100,400);Off(OU...
RotateMotor(OUT_BC,-SPEED,50);Off(OUT_BC);
}
*まとめ [#y9f2783e]
今回は以前よりもかなり難しく、複雑なプログラミングとロボ...
以前の反省点であるロボの安定性と電池の残量の問題も解決で...
とても大変でしたが楽しく充実した時間がみんなとおくること...
ただ最後の発表にはみんなが集まることができなかったので少...
ページ名: