2013b/Member/ohma/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2013b/Member]]
*ロボットの紹介 [#c75591f6]
&ref(2013b/Member/ohma/Mission2/DSC_0232.jpg ,680×640,横...
自分たちのチームのロボットは、ライントレース用と缶積用の2...
・缶積用のエレベーターを如何に軽く、丈夫に出来るか(丈夫...
・缶をどうやってしっかり掴めるようにするか(最初は掴んで...
・機体全体の耐久度
です。ビスを打ったり、アームの接着面を増やしたりして、あ...
*コース攻略 [#j6d158ea]
プログラムを調整して最後までやっていったが、接触によって...
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&re...
スタートからゴールまでの間にある缶を取り、ゴールに持って...
*プログラムの説明 [#f4994119]
#define OPEN 1
#define GO 2
#define PUT 3
#define BACK 4
#define THERESHOLD 47 // 閾値
#define HIGHPOWER 3 // 直進用パワー
#define LOWPOWER 2 // カーブ用パワー
#define set_power_H SetPower(OUT_AC,HIGHPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_forward set_power_H; OnRev(OUT_AC);
#define turn_left1 set_power_L; OnFwd(OUT_A); OnRev(OUT...
#define turn_left0 set_power_L; OnRev(OUT_C); Off(OUT_A...
#define turn_right0 set_power_L; OnRev(OUT_A); Off(OUT_...
#define turn_right1 set_power_L; OnFwd(OUT_C); OnRev(OU...
#define STEP 1
#define nMAX 35 // 通常のカーブとみなす時間の上限
#define short_break Off(OUT_AC); Wait(100); // 小休止
#define cross_line go_forward set_power_H; OnFwd(OUT_AC...
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
int nOnline=0;
ClearTimer(1);
最初の缶へは直進で向かう。
while (FastTimer(1) <= 500) {
go_forward;
if (SENSOR_3 > 48) { // 缶を発見
SendMessage(OPEN); // アームを動かすように指示
Off(OUT_AC);
}
until (Message() == GO); // アームの動作が終了したら
go_forward; // 再び直進
}
開始から5秒経ったら、ライントレースを開始。
ClearTimer(0);
while (true) {
if (SENSOR_1 < THERESHOLD -4) {
turn_right1;
} else {
if (SENSOR_1 < THERESHOLD -2) {
turn_right0;
} else if (SENSOR_1 < THERESHOLD +2) {
go_forward;
} else if (SENSOR_1 < THERESHOLD +4) {
turn_left0;
} else {
turn_left1;
}
if (SENSOR_3 > 48) {
SendMessage(OPEN);
Off(OUT_AC);
}
if (nOnline == 8) {
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(300);
SendMessage(PUT);
}
until (Message() == GO);
while (FastTimer(0) < nMAX) {
if (SENSOR_1 < THERESHOLD -4) {
turn_right1;
} else {
if (SENSOR_1 < THERESHOLD -2) {
turn_right0;
} else if (SENSOR_1 < THERESHOLD +2) {
go_forward;
} else if (SENSOR_1 < THERESHOLD +4) {
turn_left0;
} else {
turn_left1;
}
ClearTimer(0);
}
Wait(STEP);
}
turn_left1; Wait(nMAX*STEP);
cross_line;
nOnline++;
PlaySound(SOUND_CLICK);
ClearTimer(0);
if (SENSOR_3 > 48) {
SendMessage(OPEN);
Off(OUT_AC);
}
until (Message() == BACK);
OnRev(OUT_AC);
Wait(100);
}
}
↑
アーム用 †
#define OPEN 1
#define GO 2
#define PUT 3
#define BACK 4
#define PowerA SetPower(OUT_A,0);
#define PowerB SetPower(OUT_A,7);
#define PowerC SetPower(OUT_C,0);
#define PowerD SetPower(OUT_C,10);
task main()
{
ClearMessage();
while (true) {
PowerC; OnFwd(OUT_C);
until (Message() == OPEN);
PowerA; OnRev(OUT_A);
Wait(40);
PowerC; OnRev(OUT_C);
Wait(90);
PowerB; OnFwd(OUT_A);
Wait(40);
PowerD; OnFwd(OUT_C);
Wait(160);
SendMessage(GO);
PowerC; OnFwd(OUT_C);
until (Message() == PUT);
PowerC; OnRev(OUT_C);
Wait(50);
PowerA; OnRev(OUT_A);
Wait(40);
SendMessage(BACK);
}
Wait(10);
}
*感想 [#u97dadec]
機体の耐久性を如何にして上げるのかを重点的に取り組んで、...
終了行:
[[2013b/Member]]
*ロボットの紹介 [#c75591f6]
&ref(2013b/Member/ohma/Mission2/DSC_0232.jpg ,680×640,横...
自分たちのチームのロボットは、ライントレース用と缶積用の2...
・缶積用のエレベーターを如何に軽く、丈夫に出来るか(丈夫...
・缶をどうやってしっかり掴めるようにするか(最初は掴んで...
・機体全体の耐久度
です。ビスを打ったり、アームの接着面を増やしたりして、あ...
*コース攻略 [#j6d158ea]
プログラムを調整して最後までやっていったが、接触によって...
http://yakushi.shinshu-u.ac.jp/robotics/?plugin=attach&re...
スタートからゴールまでの間にある缶を取り、ゴールに持って...
*プログラムの説明 [#f4994119]
#define OPEN 1
#define GO 2
#define PUT 3
#define BACK 4
#define THERESHOLD 47 // 閾値
#define HIGHPOWER 3 // 直進用パワー
#define LOWPOWER 2 // カーブ用パワー
#define set_power_H SetPower(OUT_AC,HIGHPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_forward set_power_H; OnRev(OUT_AC);
#define turn_left1 set_power_L; OnFwd(OUT_A); OnRev(OUT...
#define turn_left0 set_power_L; OnRev(OUT_C); Off(OUT_A...
#define turn_right0 set_power_L; OnRev(OUT_A); Off(OUT_...
#define turn_right1 set_power_L; OnFwd(OUT_C); OnRev(OU...
#define STEP 1
#define nMAX 35 // 通常のカーブとみなす時間の上限
#define short_break Off(OUT_AC); Wait(100); // 小休止
#define cross_line go_forward set_power_H; OnFwd(OUT_AC...
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
int nOnline=0;
ClearTimer(1);
最初の缶へは直進で向かう。
while (FastTimer(1) <= 500) {
go_forward;
if (SENSOR_3 > 48) { // 缶を発見
SendMessage(OPEN); // アームを動かすように指示
Off(OUT_AC);
}
until (Message() == GO); // アームの動作が終了したら
go_forward; // 再び直進
}
開始から5秒経ったら、ライントレースを開始。
ClearTimer(0);
while (true) {
if (SENSOR_1 < THERESHOLD -4) {
turn_right1;
} else {
if (SENSOR_1 < THERESHOLD -2) {
turn_right0;
} else if (SENSOR_1 < THERESHOLD +2) {
go_forward;
} else if (SENSOR_1 < THERESHOLD +4) {
turn_left0;
} else {
turn_left1;
}
if (SENSOR_3 > 48) {
SendMessage(OPEN);
Off(OUT_AC);
}
if (nOnline == 8) {
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(300);
SendMessage(PUT);
}
until (Message() == GO);
while (FastTimer(0) < nMAX) {
if (SENSOR_1 < THERESHOLD -4) {
turn_right1;
} else {
if (SENSOR_1 < THERESHOLD -2) {
turn_right0;
} else if (SENSOR_1 < THERESHOLD +2) {
go_forward;
} else if (SENSOR_1 < THERESHOLD +4) {
turn_left0;
} else {
turn_left1;
}
ClearTimer(0);
}
Wait(STEP);
}
turn_left1; Wait(nMAX*STEP);
cross_line;
nOnline++;
PlaySound(SOUND_CLICK);
ClearTimer(0);
if (SENSOR_3 > 48) {
SendMessage(OPEN);
Off(OUT_AC);
}
until (Message() == BACK);
OnRev(OUT_AC);
Wait(100);
}
}
↑
アーム用 †
#define OPEN 1
#define GO 2
#define PUT 3
#define BACK 4
#define PowerA SetPower(OUT_A,0);
#define PowerB SetPower(OUT_A,7);
#define PowerC SetPower(OUT_C,0);
#define PowerD SetPower(OUT_C,10);
task main()
{
ClearMessage();
while (true) {
PowerC; OnFwd(OUT_C);
until (Message() == OPEN);
PowerA; OnRev(OUT_A);
Wait(40);
PowerC; OnRev(OUT_C);
Wait(90);
PowerB; OnFwd(OUT_A);
Wait(40);
PowerD; OnFwd(OUT_C);
Wait(160);
SendMessage(GO);
PowerC; OnFwd(OUT_C);
until (Message() == PUT);
PowerC; OnRev(OUT_C);
Wait(50);
PowerA; OnRev(OUT_A);
Wait(40);
SendMessage(BACK);
}
Wait(10);
}
*感想 [#u97dadec]
機体の耐久性を如何にして上げるのかを重点的に取り組んで、...
ページ名: