2015a/Member/Mr.Johanson/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015a/Member]]
*テーマ [#y7b72851]
今回のロボットのテーマは「確実にライントレースをすること...
**関数の定義 [#qebc5698]
今回のプログラミングではライントレースを確実にするために...
#define BLACK 36
#define WHITE 48
#define SPEED 18
#define go_forward OnRev(OUT_BC,SPEED);
#define turn_left OnRev(OUT_B,SPEED);Off(OUT_C);
#define turn_right OnFwd(OUT_B,SPEED2);OnRev(OUT_C,SPEED...
#define STEP 1 //センサーのデータの取得頻度を1[ms]に設定
#define SPEED2 15
#define SPEED3 25
#define grab OnFwd(OUT_A,SPEED3);Wait(1200);Off(OUT_A); ...
#define shoot turn_left;Wait(800);go_forward;Wait(300);O...
**ボールをキャッチ&シュートの構造とプログラミング [#q7ba...
今回私が作った中で最もよかった点がボールをつかむための機...
&ref(./17061.jpg,30%);
&ref(./th3MHHYTJ0.jpg,30%);
&ref(./15497.jpg,30%);
下の写真のように十字のギアをかませて縦方向のベクトルの向...
&ref(./18643.jpg,30%);
&ref(./18644.jpg,30%);
*全体のプログラミング [#lb070a2c]
これまでの定義づけやボールに関することを生かしつつ下記の...
task main(){
SetSensorLight(S3);
int n=0; //黒の上にいる時間を計測するための変数
int flgcross=0; //交差点通過前=0 交差点通過後=1
int flggoal=0; //ゴール判定用のフラグ
int flghave=0; //ボールキャッチ前=0 ボールキャッチ後=1
long t0=CurrentTick();
while(flggoal==0){
if(CurrentTick()-t0>28500 && flghave==0){ //NXTを起動...
grab;
flghave=1;
}else if(SENSOR_3 < BLACK){ //黒の上なら
turn_left;
n++;
if(flgcross==0){
if(n>1500 && CurrentTick(...
Off(OUT_BC);
n=0; //黒の上にいるカウンターのリセット
flgcross=1; //交差点通過フラグをたてる。ここでフラグ...
go_forward;
Wait(1000);
}else if(n>2400 && flgcross==1){ //黒...
flggoal=1; //ゴール判定用のフラグをたてる
}
}else if(SENSOR_3 < WHITE){ //グレーなら
turn_left;
n=0; //黒の上にいるカウンターのリ...
}else{ //それ以外(白)なら
turn_right;
n=0; //黒の上にいるカウンターのリ...
}
Wait(STEP); //ここでデータの値が1[ms]になっている
}
shoot;
}
*今回の反省点&良かった点 [#q5a37a02]
やはり最も問題になったのがセンサーの位置とタイヤの位置が...
終了行:
[[2015a/Member]]
*テーマ [#y7b72851]
今回のロボットのテーマは「確実にライントレースをすること...
**関数の定義 [#qebc5698]
今回のプログラミングではライントレースを確実にするために...
#define BLACK 36
#define WHITE 48
#define SPEED 18
#define go_forward OnRev(OUT_BC,SPEED);
#define turn_left OnRev(OUT_B,SPEED);Off(OUT_C);
#define turn_right OnFwd(OUT_B,SPEED2);OnRev(OUT_C,SPEED...
#define STEP 1 //センサーのデータの取得頻度を1[ms]に設定
#define SPEED2 15
#define SPEED3 25
#define grab OnFwd(OUT_A,SPEED3);Wait(1200);Off(OUT_A); ...
#define shoot turn_left;Wait(800);go_forward;Wait(300);O...
**ボールをキャッチ&シュートの構造とプログラミング [#q7ba...
今回私が作った中で最もよかった点がボールをつかむための機...
&ref(./17061.jpg,30%);
&ref(./th3MHHYTJ0.jpg,30%);
&ref(./15497.jpg,30%);
下の写真のように十字のギアをかませて縦方向のベクトルの向...
&ref(./18643.jpg,30%);
&ref(./18644.jpg,30%);
*全体のプログラミング [#lb070a2c]
これまでの定義づけやボールに関することを生かしつつ下記の...
task main(){
SetSensorLight(S3);
int n=0; //黒の上にいる時間を計測するための変数
int flgcross=0; //交差点通過前=0 交差点通過後=1
int flggoal=0; //ゴール判定用のフラグ
int flghave=0; //ボールキャッチ前=0 ボールキャッチ後=1
long t0=CurrentTick();
while(flggoal==0){
if(CurrentTick()-t0>28500 && flghave==0){ //NXTを起動...
grab;
flghave=1;
}else if(SENSOR_3 < BLACK){ //黒の上なら
turn_left;
n++;
if(flgcross==0){
if(n>1500 && CurrentTick(...
Off(OUT_BC);
n=0; //黒の上にいるカウンターのリセット
flgcross=1; //交差点通過フラグをたてる。ここでフラグ...
go_forward;
Wait(1000);
}else if(n>2400 && flgcross==1){ //黒...
flggoal=1; //ゴール判定用のフラグをたてる
}
}else if(SENSOR_3 < WHITE){ //グレーなら
turn_left;
n=0; //黒の上にいるカウンターのリ...
}else{ //それ以外(白)なら
turn_right;
n=0; //黒の上にいるカウンターのリ...
}
Wait(STEP); //ここでデータの値が1[ms]になっている
}
shoot;
}
*今回の反省点&良かった点 [#q5a37a02]
やはり最も問題になったのがセンサーの位置とタイヤの位置が...
ページ名: