2014a/Member/kiyomizu/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2014a/Member]]
#contents
*課題2について [#a2a2f69a]
**メンバー紹介 [#j1385904]
今回は、4人で課題に取り組むことになった。ここに参加メンバ...
・kiyomizu(私)
・suiden
・
・ryu-abe
**課題2の内容 [#qd8221b9]
まず、課題2の内容やルールを確認したいと思う。今回は、ロ...
内容
1.下図のスタート地点にロボットの機体を置き、プログラムを...
2.図の左半分に置かれている紙コップ(番号が1から順に振ら...
3.右半分に置かれている紙コップに、2で運搬してきた紙コッ...
4.どのような出来だったのか評価を受ける。
CENTER:#ref(2014a/Member/kiyomizu/Mission2/robo2.PNG,30%,...
図1、課題2のコース
・ルール補足&br;
(注1*左側に置かれる紙コップの位置はA,B,Cの地点である。...
ただし、紙コップの順序は、競技直前にさいころを振った結果...
)
(注2*紙コップは通常の使用をする際に置く向きとは、逆向...
(注3*評価は、まずコップを重ねる正確さ{同じ番号に重ね...
上を見て、やるべきことを考えたところ、やはり課題1の時と...
1つ目、今回の課題をクリアするための能力を持ったロボッ...
以下、それらについて書きたいと思う。&br;
*ロボットの制作 [#x8295818]
**課題2をクリアするための能力を持ったロボットを作る [#g3...
さて、課題2をクリアするためにどのような能力が必要であろ...
・移動する能力
・紙コップを検知する能力
・紙コップをつかむ能力
・紙コップを持ち上げる能力
・紙コップを重ねる能力
<移動する能力>…紙コップを移動させ重ねるという課題であ...
<紙コップを検知する能力>…紙コップを検知する能力である...
1つ目、紙コップにタッチセンサーを当て、センサーが反応...
2つ目、超音波センサーを使って紙コップとの距離を測り、...
3つ目、紙コップに何らかの模様をつけそれを光センサーで...
#ref(2014a/Member/kiyomizu/Mission2/robo_cop.png,30%,図2...
図2、コップの模様
<紙コップをつかむ、持ち上げる、重ねる能力>…開発初期段...
原理を説明すると図5のように、はさむ機構がまず稼働し、...
#ref(2014a/Member/kiyomizu/Mission2/robo_catch.PNG,30%,図...
図3、つかむ機構(まずモーターが付いている歯車...
#ref(2014a/Member/kiyomizu/Mission2/robo_c_1.PNG,30%,図4...
図4−1コップをつかみ
#ref(2014a/Member/kiyomizu/Mission2/robo_c_2.PNG,30%,図4...
図4−2コップを持ち上げる
そんなこんなでできたのがこのロボット(図5)である。(実...
#ref(2014a/Member/kiyomizu/Mission2/robo_all.jpg,30%,図5...
図5、完成機体
*プログラムの制作 [#lc114c90]
**課題2をクリアするために必要なプログラムを組む [#q65542...
ロボットの機体ができたので、プログラムを組む。先ほど盛り...
さて、実際のプログラムの内容であるが、以下の4つのプロ...
・移動するプログラム
・ライントレースをするプログラム
(先に機体を組むときに言及されていたある程度のライントレ...
・コップを識別するプログラム
・コップをつかむ、保持する、持ち上げる、重ねるプログラム
<移動するプログラム>…ライントレースのみで移動すると移...
<ライントレースをするプログラム>…モーターの出力調整の...
しかし、図7の施策型ロボットの段階では、ライントレース...
これらの異常動作の原因は、それぞれドリフトが発生したこ...
今回のライントレースは、再度前回のライントレースを採用...
また、今回も交差点の判別も必要である。これはロボットの...
これら<移動するプログラム><ライントレースをするプロ...
#ref(2014a/Member/kiyomizu/Mission2/robo2_root.png,30%,図...
図6、ロボットの進む軌道
<コップを識別するプログラム>…紙コップに模様をつけそれ...
<コップをつかむ、保持する、持ち上げる、重ねるプログラ...
**実際に組んだプログラム [#se765fd3]
これらをもとに実際に組んだプログラムがこれである。(注4...
-数や独自に作った関数の定義(マクロ)
#define THRESHOLD 50 //し...
#define turn_left0 OnFwd(OUT_B,30); //左...
#define turn_left1 OnFwd(OUT_B,30);OnFwd(OUT_C,-30);//左...
#define turn_right0 OnFwd(OUT_C,30); //右...
#define turn_right1 OnFwd(OUT_C,30);OnFwd(OUT_B,-30);//...
#define STEP 1 //明る...
#define nMAX 250 //交差...
#define short_break Off(OUT_BC);Wait(1000); //判定の後...
#define cross_line;OnFwd(OUT_BC,40);Wait(300);short_brea...
-独自に作った関数の定義(サブルーチン)
sub catch() //紙...
{
OnFwd(OUT_A,-20);Wait(1000);
OnFwd(OUT_A,-50);Wait(400);
Off(OUT_A);
}
sub release() //紙...
{
OnFwd(OUT_A,20);Wait(1000);
OnFwd(OUT_A,50);Wait(100);
Off(OUT_A);
}
これから下が実際に行う動作のプログラムである。
task main() //紙...
{
SetSensorLight(S2); //光...
SetSensorLight(S3); //光...
int nOnline = 0; //後々...
int nPoint = 0; //通過...
1の部分(図8参照){手動の動作}
OnFwdSync(OUT_BC,60,0);Wait(2000);Off(OUT_BC); //...
OnFwdSync(OUT_BC,75,-100);Wait(450);Off(OUT_BC);Wait(...
OnFwdSync(OUT_BC,60,0);Wait(1200);Off(OUT_BC);
catch(); ...
OnFwdSync(OUT_BC,60,0);Wait(700);
OnFwdSync(OUT_BC,60,-100);Wait(500);Off(OUT_BC);Wait(...
スタート地点からA地点の...
long t0 = CurrentTick(); //現在の時...
2の部分{ライントレース}
while (CurrentTick() - t0 < 3000) { //最初からの...
if (SENSOR_3 > THRESHOLD +2) { //[*1]ライン...
OnFwd(OUT_B,40);
} else {
Off(OUT_BC);
}
Wait(STEP);
}
while (nPoint <= 1) { //通過した...
while (nOnline < nMAX){ //横に曲が...
if (SENSOR_3 < THRESHOLD -10) { //もしセン...
turn_right1;
nOnline++; //横(右)...
} else {
if (SENSOR_3 < THRESHOLD -5) { //でない状況...
turn_right0;
} else if (SENSOR_3 < THRESHOLD +2) {//でない状況...
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {//でない状況...
turn_left0;
} else { //でない状...
turn_left1;
}
nOnline=0; //横(右)...
}
Wait(STEP); //判断時間と...
}
short_break; //時間調整の...
turn_left1; Wait(nMAX*STEP);
cross_line; //交差点を渡...
nPoint++; //通過した交...
nOnline=0; //横(右)に...
}
while (nPoint == 2) { //通過した交差...
OnFwdSync(OUT_BC,30,0);Wait(1500);Off(OUT_BC);
Wait(1000);Wait(1000); //ここから...
OnFwdSync(OUT_BC,-30,0);Wait(500);Off(OUT_BC);
release(); ...
OnFwd(OUT_C,-30);Wait(200);
OnFwdSync(OUT_BC,-60,0);Wait(900);Off(OUT_BC);
catch(); ...
OnFwdSync(OUT_BC,75,-100);Wait(900);Off(OUT_BC);こ...
そのための機体の位置調整と2にあるコップにアームを...
nPoint++;
}
long t1 = CurrentTick(); //t1に開始から...
while (CurrentTick() - t1 < 3000) {//シュート後の時間...
if (SENSOR_3 > THRESHOLD +2) { //ここから
OnFwd(OUT_C,40);
} else {
Off(OUT_BC);
}
Wait(STEP); ここまで、次の場...
}
while (nPoint <= 6) { //通過した交差点...
while (nOnline < nMAX + 50){ //ここから
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP);
cross_line;
nPoint++;
nOnline=0; ここまで、[*1]から[...
}
while (nPoint == 7) { //今まで通過した交...
OnFwdSync(OUT_BC,75,100);Wait(300);Off(OUT_BC);Wait...
OnFwdSync(OUT_BC,-60,0);Wait(900);Off(OUT_BC);
OnFwdSync(OUT_BC,75,100);Wait(200);Off(OUT_BC);Wait...
release(); ...
OnFwdSync(OUT_BC,60,0);Wait(1000);Off(OUT_BC);Wait(...
catch(); ...
nPoint++;
OnFwdSync(OUT_BC,60,0);Wait(500);Off(OUT_BC);Wait(1...
}
long t2 = CurrentTick(); //...
while (CurrentTick() - t2 < 5000) { //...
...
if (SENSOR_3 > THRESHOLD +2) { //...
OnFwd(OUT_B,-20);OnFwd(OUT_C,50);
} else {
Off(OUT_BC);
}
Wait(STEP); //こ...
}
while (nPoint == 8) { //今ま...
while (nOnline < nMAX){ //ここ...
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP + 600);
cross_line;
OnFwd(OUT_BC,30);Wait(200);
nPoint++;
nOnline=0; ここま...
}
long t3 = CurrentTick(); //t3に...
while (CurrentTick() - t3 < 18000) { //直前の動...
ある値よ...
if (SENSOR_3 < THRESHOLD -10) { //ここから
turn_right1;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_right0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwd(OUT_BC,30);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_left0;
} else {
turn_left1;
}
Wait(STEP); ここまで...
(た...
}
}
OnFwdSync(OUT_BC,75,-100);Wait(1000);Off(OUT_BC);Wait...
while (nPoint == 9) { //今まで通過し...
while (nOnline < nMAX){ //ここから
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP);
cross_line;
nPoint++;
nOnline=0; ここまで、[*1...
}
while (nPoint == 10) { //今まで通過した...
OnFwdSync(OUT_BC,30,0);Wait(800);Off(OUT_BC);Wait(1...
OnFwdSync(OUT_BC,-30,0);Wait(600);Off(OUT_BC);Wait(...
release(); ...
nPoint++; ...
} ...
while (nPoint == 11) { //今まで通過した...
OnFwdSync(OUT_BC,-60,0);Wait(1200);Off(OUT_BC); ...
OnFwdSync(OUT_BC,75,-100);Wait(500);Off(OUT_BC);Wai...
OnFwdSync(OUT_BC,60,0);Wait(1800);Off(OUT_BC);
catch(); ...
nPoint++; ...
...
}
while (nPoint == 12) { //今まで通過した交差...
OnFwdSync(OUT_BC,75,-100);Wait(1000);Off(OUT_BC);Wa...
OnFwdSync(OUT_BC,60,0);Wait(2500);Off(OUT_BC);
OnFwdSync(OUT_BC,-30,0);Wait(600);Off(OUT_BC);Wait(...
release(); ...
nPoint++; こ...
...
}
}
ライントレースでは最後に向いている向きが一定ではないの...
(つかむ動作ではアーム構造によってある程度融通が効くので...
結局、重ねる部分でライントレースの不安定さがあるので、手...
*感想、反省 [#xd135331]
結果的に、コップを重ねることには失敗してしてしまったが...
1つ目の原因としてコップの識別のプログラムをうまく組め...
2つ目の原因として、先にも述べたが、ライントレース後の...
総じてプログラムと構築のバランスをしっかり考え、時間を...
以上、課題2レポートでした。長文お読みいただきありがとう...
終了行:
[[2014a/Member]]
#contents
*課題2について [#a2a2f69a]
**メンバー紹介 [#j1385904]
今回は、4人で課題に取り組むことになった。ここに参加メンバ...
・kiyomizu(私)
・suiden
・
・ryu-abe
**課題2の内容 [#qd8221b9]
まず、課題2の内容やルールを確認したいと思う。今回は、ロ...
内容
1.下図のスタート地点にロボットの機体を置き、プログラムを...
2.図の左半分に置かれている紙コップ(番号が1から順に振ら...
3.右半分に置かれている紙コップに、2で運搬してきた紙コッ...
4.どのような出来だったのか評価を受ける。
CENTER:#ref(2014a/Member/kiyomizu/Mission2/robo2.PNG,30%,...
図1、課題2のコース
・ルール補足&br;
(注1*左側に置かれる紙コップの位置はA,B,Cの地点である。...
ただし、紙コップの順序は、競技直前にさいころを振った結果...
)
(注2*紙コップは通常の使用をする際に置く向きとは、逆向...
(注3*評価は、まずコップを重ねる正確さ{同じ番号に重ね...
上を見て、やるべきことを考えたところ、やはり課題1の時と...
1つ目、今回の課題をクリアするための能力を持ったロボッ...
以下、それらについて書きたいと思う。&br;
*ロボットの制作 [#x8295818]
**課題2をクリアするための能力を持ったロボットを作る [#g3...
さて、課題2をクリアするためにどのような能力が必要であろ...
・移動する能力
・紙コップを検知する能力
・紙コップをつかむ能力
・紙コップを持ち上げる能力
・紙コップを重ねる能力
<移動する能力>…紙コップを移動させ重ねるという課題であ...
<紙コップを検知する能力>…紙コップを検知する能力である...
1つ目、紙コップにタッチセンサーを当て、センサーが反応...
2つ目、超音波センサーを使って紙コップとの距離を測り、...
3つ目、紙コップに何らかの模様をつけそれを光センサーで...
#ref(2014a/Member/kiyomizu/Mission2/robo_cop.png,30%,図2...
図2、コップの模様
<紙コップをつかむ、持ち上げる、重ねる能力>…開発初期段...
原理を説明すると図5のように、はさむ機構がまず稼働し、...
#ref(2014a/Member/kiyomizu/Mission2/robo_catch.PNG,30%,図...
図3、つかむ機構(まずモーターが付いている歯車...
#ref(2014a/Member/kiyomizu/Mission2/robo_c_1.PNG,30%,図4...
図4−1コップをつかみ
#ref(2014a/Member/kiyomizu/Mission2/robo_c_2.PNG,30%,図4...
図4−2コップを持ち上げる
そんなこんなでできたのがこのロボット(図5)である。(実...
#ref(2014a/Member/kiyomizu/Mission2/robo_all.jpg,30%,図5...
図5、完成機体
*プログラムの制作 [#lc114c90]
**課題2をクリアするために必要なプログラムを組む [#q65542...
ロボットの機体ができたので、プログラムを組む。先ほど盛り...
さて、実際のプログラムの内容であるが、以下の4つのプロ...
・移動するプログラム
・ライントレースをするプログラム
(先に機体を組むときに言及されていたある程度のライントレ...
・コップを識別するプログラム
・コップをつかむ、保持する、持ち上げる、重ねるプログラム
<移動するプログラム>…ライントレースのみで移動すると移...
<ライントレースをするプログラム>…モーターの出力調整の...
しかし、図7の施策型ロボットの段階では、ライントレース...
これらの異常動作の原因は、それぞれドリフトが発生したこ...
今回のライントレースは、再度前回のライントレースを採用...
また、今回も交差点の判別も必要である。これはロボットの...
これら<移動するプログラム><ライントレースをするプロ...
#ref(2014a/Member/kiyomizu/Mission2/robo2_root.png,30%,図...
図6、ロボットの進む軌道
<コップを識別するプログラム>…紙コップに模様をつけそれ...
<コップをつかむ、保持する、持ち上げる、重ねるプログラ...
**実際に組んだプログラム [#se765fd3]
これらをもとに実際に組んだプログラムがこれである。(注4...
-数や独自に作った関数の定義(マクロ)
#define THRESHOLD 50 //し...
#define turn_left0 OnFwd(OUT_B,30); //左...
#define turn_left1 OnFwd(OUT_B,30);OnFwd(OUT_C,-30);//左...
#define turn_right0 OnFwd(OUT_C,30); //右...
#define turn_right1 OnFwd(OUT_C,30);OnFwd(OUT_B,-30);//...
#define STEP 1 //明る...
#define nMAX 250 //交差...
#define short_break Off(OUT_BC);Wait(1000); //判定の後...
#define cross_line;OnFwd(OUT_BC,40);Wait(300);short_brea...
-独自に作った関数の定義(サブルーチン)
sub catch() //紙...
{
OnFwd(OUT_A,-20);Wait(1000);
OnFwd(OUT_A,-50);Wait(400);
Off(OUT_A);
}
sub release() //紙...
{
OnFwd(OUT_A,20);Wait(1000);
OnFwd(OUT_A,50);Wait(100);
Off(OUT_A);
}
これから下が実際に行う動作のプログラムである。
task main() //紙...
{
SetSensorLight(S2); //光...
SetSensorLight(S3); //光...
int nOnline = 0; //後々...
int nPoint = 0; //通過...
1の部分(図8参照){手動の動作}
OnFwdSync(OUT_BC,60,0);Wait(2000);Off(OUT_BC); //...
OnFwdSync(OUT_BC,75,-100);Wait(450);Off(OUT_BC);Wait(...
OnFwdSync(OUT_BC,60,0);Wait(1200);Off(OUT_BC);
catch(); ...
OnFwdSync(OUT_BC,60,0);Wait(700);
OnFwdSync(OUT_BC,60,-100);Wait(500);Off(OUT_BC);Wait(...
スタート地点からA地点の...
long t0 = CurrentTick(); //現在の時...
2の部分{ライントレース}
while (CurrentTick() - t0 < 3000) { //最初からの...
if (SENSOR_3 > THRESHOLD +2) { //[*1]ライン...
OnFwd(OUT_B,40);
} else {
Off(OUT_BC);
}
Wait(STEP);
}
while (nPoint <= 1) { //通過した...
while (nOnline < nMAX){ //横に曲が...
if (SENSOR_3 < THRESHOLD -10) { //もしセン...
turn_right1;
nOnline++; //横(右)...
} else {
if (SENSOR_3 < THRESHOLD -5) { //でない状況...
turn_right0;
} else if (SENSOR_3 < THRESHOLD +2) {//でない状況...
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {//でない状況...
turn_left0;
} else { //でない状...
turn_left1;
}
nOnline=0; //横(右)...
}
Wait(STEP); //判断時間と...
}
short_break; //時間調整の...
turn_left1; Wait(nMAX*STEP);
cross_line; //交差点を渡...
nPoint++; //通過した交...
nOnline=0; //横(右)に...
}
while (nPoint == 2) { //通過した交差...
OnFwdSync(OUT_BC,30,0);Wait(1500);Off(OUT_BC);
Wait(1000);Wait(1000); //ここから...
OnFwdSync(OUT_BC,-30,0);Wait(500);Off(OUT_BC);
release(); ...
OnFwd(OUT_C,-30);Wait(200);
OnFwdSync(OUT_BC,-60,0);Wait(900);Off(OUT_BC);
catch(); ...
OnFwdSync(OUT_BC,75,-100);Wait(900);Off(OUT_BC);こ...
そのための機体の位置調整と2にあるコップにアームを...
nPoint++;
}
long t1 = CurrentTick(); //t1に開始から...
while (CurrentTick() - t1 < 3000) {//シュート後の時間...
if (SENSOR_3 > THRESHOLD +2) { //ここから
OnFwd(OUT_C,40);
} else {
Off(OUT_BC);
}
Wait(STEP); ここまで、次の場...
}
while (nPoint <= 6) { //通過した交差点...
while (nOnline < nMAX + 50){ //ここから
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP);
cross_line;
nPoint++;
nOnline=0; ここまで、[*1]から[...
}
while (nPoint == 7) { //今まで通過した交...
OnFwdSync(OUT_BC,75,100);Wait(300);Off(OUT_BC);Wait...
OnFwdSync(OUT_BC,-60,0);Wait(900);Off(OUT_BC);
OnFwdSync(OUT_BC,75,100);Wait(200);Off(OUT_BC);Wait...
release(); ...
OnFwdSync(OUT_BC,60,0);Wait(1000);Off(OUT_BC);Wait(...
catch(); ...
nPoint++;
OnFwdSync(OUT_BC,60,0);Wait(500);Off(OUT_BC);Wait(1...
}
long t2 = CurrentTick(); //...
while (CurrentTick() - t2 < 5000) { //...
...
if (SENSOR_3 > THRESHOLD +2) { //...
OnFwd(OUT_B,-20);OnFwd(OUT_C,50);
} else {
Off(OUT_BC);
}
Wait(STEP); //こ...
}
while (nPoint == 8) { //今ま...
while (nOnline < nMAX){ //ここ...
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP + 600);
cross_line;
OnFwd(OUT_BC,30);Wait(200);
nPoint++;
nOnline=0; ここま...
}
long t3 = CurrentTick(); //t3に...
while (CurrentTick() - t3 < 18000) { //直前の動...
ある値よ...
if (SENSOR_3 < THRESHOLD -10) { //ここから
turn_right1;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_right0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwd(OUT_BC,30);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_left0;
} else {
turn_left1;
}
Wait(STEP); ここまで...
(た...
}
}
OnFwdSync(OUT_BC,75,-100);Wait(1000);Off(OUT_BC);Wait...
while (nPoint == 9) { //今まで通過し...
while (nOnline < nMAX){ //ここから
if (SENSOR_3 < THRESHOLD -10) {
turn_left1;
nOnline++;
} else {
if (SENSOR_3 < THRESHOLD -5) {
turn_left0;
} else if (SENSOR_3 < THRESHOLD +2) {
OnFwdSync(OUT_BC,30,0);
} else if (SENSOR_3 < THRESHOLD +8) {
turn_right0;
} else {
turn_right1;
}
nOnline=0;
}
Wait(STEP);
}
short_break;
turn_right1; Wait(nMAX*STEP);
cross_line;
nPoint++;
nOnline=0; ここまで、[*1...
}
while (nPoint == 10) { //今まで通過した...
OnFwdSync(OUT_BC,30,0);Wait(800);Off(OUT_BC);Wait(1...
OnFwdSync(OUT_BC,-30,0);Wait(600);Off(OUT_BC);Wait(...
release(); ...
nPoint++; ...
} ...
while (nPoint == 11) { //今まで通過した...
OnFwdSync(OUT_BC,-60,0);Wait(1200);Off(OUT_BC); ...
OnFwdSync(OUT_BC,75,-100);Wait(500);Off(OUT_BC);Wai...
OnFwdSync(OUT_BC,60,0);Wait(1800);Off(OUT_BC);
catch(); ...
nPoint++; ...
...
}
while (nPoint == 12) { //今まで通過した交差...
OnFwdSync(OUT_BC,75,-100);Wait(1000);Off(OUT_BC);Wa...
OnFwdSync(OUT_BC,60,0);Wait(2500);Off(OUT_BC);
OnFwdSync(OUT_BC,-30,0);Wait(600);Off(OUT_BC);Wait(...
release(); ...
nPoint++; こ...
...
}
}
ライントレースでは最後に向いている向きが一定ではないの...
(つかむ動作ではアーム構造によってある程度融通が効くので...
結局、重ねる部分でライントレースの不安定さがあるので、手...
*感想、反省 [#xd135331]
結果的に、コップを重ねることには失敗してしてしまったが...
1つ目の原因としてコップの識別のプログラムをうまく組め...
2つ目の原因として、先にも述べたが、ライントレース後の...
総じてプログラムと構築のバランスをしっかり考え、時間を...
以上、課題2レポートでした。長文お読みいただきありがとう...
ページ名: