2014a/Member/fuji/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
* 課題の説明 [#kb717e6d]
&ref(2014a/Member/fuji/Mission2/2014a-mission2.png);
図の黄色いところに置いてある数字が書いてある紙コップを、A...
図の黄色い場所には、その数字と同じ数字が書かれた紙コップ...
またA,B,C書かれた場所にも1から3までの数字が書かれている紙...
またA,B,C書かれた場所にも1から3までの数字が書かれている紙...
ルール、得点の算出方法は[[2014a/Mission2]]を参照してくだ...
* メンバー [#j0ee8e63]
藤岡芳弥 秋山和哉 岩佐暁史
* ロボット本体 [#g0b2bc6e]
**全体像 &ref(2014a/Member/fuji/Mission2/new_17.jpg); [#...
コップをつかむ機構が大きさを取りすぎてしまったためRCXを高...
**コップをつかむ機構 [#w2b23a33]
&ref(2014a/Member/fuji/Mission2/new_14.jpg);
コップの上からかぶせることによりコップをつかむ。
コップをつかんだ時の写真
&ref(2014a/Member/fuji/Mission2/new_20.jpg);
**タイヤのゴムを上下運動させる機構 [#adca6713]
&ref(2014a/Member/fuji/Mission2/new_55.jpg);
↙写真では切れていますがここにタイヤのゴムが付いてい...
?のギアとモーターのギアがかみ合っているので(下の写真を参...
&ref(2014a/Member/fuji/Mission2/new_23.jpg);
**コップを外す機構 [#tb058f71]
&ref(2014a/Member/fuji/Mission2/24.jpg);
タイヤのゴムに挟まったコップをに上げていくと、赤い突起が...
**センサー [#wc56cdaf]
&ref(2014a/Member/fuji/Mission2/25.jpg);
正面を向いている、赤いLEDが見て取れる青いブロックがコ...
(何番のコップかを識別するために、コップには番号ごとに色...
下を向いている青いブロックがライントレイスするためのセン...
(ラインの上を走ってコップを見つけるため)~
*プログラム [#u7c938b2]
**定義 [#w25040d8]
#define HIPOWER 1 //直線用のパワー
#define LOWPOWER 3 //カーブ用のパワー
#define set_power_H SetPower(OUT_AC,HIPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_forward set_power_H; OnFwd(OUT_AC); //直進
#define turn_left1 set_power_L;\
OnFwd(OUT_C); OnRev(OUT_A); //turn_left1を左に...
#define turn_left0 set_power_L;\
OnFwd(OUT_C); Off(OUT_A); // turn_left0左に信...
#define turn_right0 set_power_L;\
OnFwd(OUT_A); Off(OUT_C); //turn_right0を右に...
#define turn_right1 set_power_L;\
OnFwd(OUT_A); OnRev(OUT_C); //右折 //turn_right1を右に...
#define SIGNALON 13
#define cross set_power_H; OnFwd(OUT_AC);Wait(20); //交...
#define c1 if (SENSOR_3 < 37) {Off(OUT_AC); SendMessage(...
**メインタスク [#d5a810b0]
task main() {
SetSensor(SENSOR_2,SENSOR_LIGHT); //光センサーセット
SetSensor(SENSOR_3,SENSOR_LIGHT);
int nl=0;//交差点を判断するために、何回連続で黒線を感知...
int cc=0;//交差点の数を数えるための変数ccを定義
**A地点まで行くためのプログラム
go_forward;
Wait(460);
turn_left1;
Wait(140);
go_forward;
Wait(280);
ここまでのプログラムにより図のA地点まで来ます。
ClearTimer(0);//タイマーゼロをセット(交差点でないところ...
while (true) {
while ((nl < 5) ||(FastTimer(0)<500)){// 黒線を5回を連...
if (SENSOR_2 < 37) { //黒線を判断
turn_left1; //左に局地旋回
nl++;
} else if (SENSOR_2 < 41) { //黒線と白線の中間(黒線よ...
turn_left0;
nl=0;//nlをリセット
} else if (SENSOR_2 < 45) { //黒線と白線のちょうど中...
go_forward;
nl=0;
} else if (SENSOR_2 < 50) { //黒線と白線の中間(白線...
turn_right0;
} else { //ロボットが白線の上にい...
turn_right1;
nl=0;
}
Wait(1);
}
turn_right1; Wait(35);
cross;
cc++;
if (cc == 1) { //一つ目の交差点に出会ったと判断
go_forward;
Wait(50);
c1;
OnRev(OUT_AC);
Wait(150);
turn_left1;
Wait(40);
go_forward;
Wait(280);
c1;
OnRev(OUT_AC);
Wait(500);
turn_left1;
Wait(100);
go_forward;
Wait(200);
c1;
OnRev(OUT_AC);
Wait(100);
turn_left1;
Wait(330);
go_forward;
Wait(1000);
} } }
*参考文献:http://yakushi.shinshu-u.ac.jp/robotics/?2014a%...
終了行:
目次
#contents
* 課題の説明 [#kb717e6d]
&ref(2014a/Member/fuji/Mission2/2014a-mission2.png);
図の黄色いところに置いてある数字が書いてある紙コップを、A...
図の黄色い場所には、その数字と同じ数字が書かれた紙コップ...
またA,B,C書かれた場所にも1から3までの数字が書かれている紙...
またA,B,C書かれた場所にも1から3までの数字が書かれている紙...
ルール、得点の算出方法は[[2014a/Mission2]]を参照してくだ...
* メンバー [#j0ee8e63]
藤岡芳弥 秋山和哉 岩佐暁史
* ロボット本体 [#g0b2bc6e]
**全体像 &ref(2014a/Member/fuji/Mission2/new_17.jpg); [#...
コップをつかむ機構が大きさを取りすぎてしまったためRCXを高...
**コップをつかむ機構 [#w2b23a33]
&ref(2014a/Member/fuji/Mission2/new_14.jpg);
コップの上からかぶせることによりコップをつかむ。
コップをつかんだ時の写真
&ref(2014a/Member/fuji/Mission2/new_20.jpg);
**タイヤのゴムを上下運動させる機構 [#adca6713]
&ref(2014a/Member/fuji/Mission2/new_55.jpg);
↙写真では切れていますがここにタイヤのゴムが付いてい...
?のギアとモーターのギアがかみ合っているので(下の写真を参...
&ref(2014a/Member/fuji/Mission2/new_23.jpg);
**コップを外す機構 [#tb058f71]
&ref(2014a/Member/fuji/Mission2/24.jpg);
タイヤのゴムに挟まったコップをに上げていくと、赤い突起が...
**センサー [#wc56cdaf]
&ref(2014a/Member/fuji/Mission2/25.jpg);
正面を向いている、赤いLEDが見て取れる青いブロックがコ...
(何番のコップかを識別するために、コップには番号ごとに色...
下を向いている青いブロックがライントレイスするためのセン...
(ラインの上を走ってコップを見つけるため)~
*プログラム [#u7c938b2]
**定義 [#w25040d8]
#define HIPOWER 1 //直線用のパワー
#define LOWPOWER 3 //カーブ用のパワー
#define set_power_H SetPower(OUT_AC,HIPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
#define go_forward set_power_H; OnFwd(OUT_AC); //直進
#define turn_left1 set_power_L;\
OnFwd(OUT_C); OnRev(OUT_A); //turn_left1を左に...
#define turn_left0 set_power_L;\
OnFwd(OUT_C); Off(OUT_A); // turn_left0左に信...
#define turn_right0 set_power_L;\
OnFwd(OUT_A); Off(OUT_C); //turn_right0を右に...
#define turn_right1 set_power_L;\
OnFwd(OUT_A); OnRev(OUT_C); //右折 //turn_right1を右に...
#define SIGNALON 13
#define cross set_power_H; OnFwd(OUT_AC);Wait(20); //交...
#define c1 if (SENSOR_3 < 37) {Off(OUT_AC); SendMessage(...
**メインタスク [#d5a810b0]
task main() {
SetSensor(SENSOR_2,SENSOR_LIGHT); //光センサーセット
SetSensor(SENSOR_3,SENSOR_LIGHT);
int nl=0;//交差点を判断するために、何回連続で黒線を感知...
int cc=0;//交差点の数を数えるための変数ccを定義
**A地点まで行くためのプログラム
go_forward;
Wait(460);
turn_left1;
Wait(140);
go_forward;
Wait(280);
ここまでのプログラムにより図のA地点まで来ます。
ClearTimer(0);//タイマーゼロをセット(交差点でないところ...
while (true) {
while ((nl < 5) ||(FastTimer(0)<500)){// 黒線を5回を連...
if (SENSOR_2 < 37) { //黒線を判断
turn_left1; //左に局地旋回
nl++;
} else if (SENSOR_2 < 41) { //黒線と白線の中間(黒線よ...
turn_left0;
nl=0;//nlをリセット
} else if (SENSOR_2 < 45) { //黒線と白線のちょうど中...
go_forward;
nl=0;
} else if (SENSOR_2 < 50) { //黒線と白線の中間(白線...
turn_right0;
} else { //ロボットが白線の上にい...
turn_right1;
nl=0;
}
Wait(1);
}
turn_right1; Wait(35);
cross;
cc++;
if (cc == 1) { //一つ目の交差点に出会ったと判断
go_forward;
Wait(50);
c1;
OnRev(OUT_AC);
Wait(150);
turn_left1;
Wait(40);
go_forward;
Wait(280);
c1;
OnRev(OUT_AC);
Wait(500);
turn_left1;
Wait(100);
go_forward;
Wait(200);
c1;
OnRev(OUT_AC);
Wait(100);
turn_left1;
Wait(330);
go_forward;
Wait(1000);
} } }
*参考文献:http://yakushi.shinshu-u.ac.jp/robotics/?2014a%...
ページ名: