2014a/Member/kowhich/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
**目次 [#g3e1d4cb]
#contents
#clear
**ロボットの紹介 [#f3597fb9]
#clear
&ref(./image.jpeg,50%,Mission1用ロボット);~
#clear
~NXT本体を縦に接合した。当初は横に接合する予定だったが、&...
縦に接合してみたところ、安定したので、こちらを採用した。&...
ボールを掴む機構として、モーターを利用したりせずに枠をつ...
&br;
また、カーブにボールがあった際に長過ぎるとホールドする部...
&br;
○利用したセンサ類&br;
モータ2個&br;
光センサ1個(ライントレース用)&br;
&br;
ボールがあるかどうかは検知していない。超音波センサなどを...
**コース攻略方法 [#q1fd6c1b]
&ref(./2014a-mission1.png,100%,攻略ルート);
赤・・・ライントレース&br;
青・・・交差点検知&br;
黄色・・・シュート&br;
ライントレース&br;
授業中に教わったOn/Off制御のライントレースで走行する。&br;
本来は、さらに滑らかに走行するためにPID制御を用いたライン...
ところだが、実装の時間が足りないため課題1ではOn/Offで走行...
&br;
&br;
交差点検知&br;
交差点検知の手法として、光センサーの値の変化を見る。正直...
少しの調整を見誤ることが命取りとなるため、慎重に調整を行...
&br;
&br;
シュート&br;
4度目の交差点検知を瞬間にシュートフェーズに移行する。シュ...
ただ急停止するのみである。押し出さなくても急停止するだけ...
**プログラム [#qa5fbc41]
#define THERHOLD 42 //閾値
task main(){
SetSensorLight(S3);
int count=0; //交差点を何度検知したかをカウントするため...
OnFwd(OUT_BC,75);//スタート地点の枠を突破するために直進...
Wait(300);
while (true) {
/*デバッグ用 光センサの値と交差点カウントをLCDに表示す...
ClearScreen();
TextOut(0,LCD_LINE1,"LightSensor:");//1行目
TextOut(0,LCD_LINE2,"CrossCount:"); //2行目
NumOut(80,LCD_LINE1,SENSOR_3); //光センサの値を表示...
NumOut(80,LCD_LINE2,count);//交差点カウントの回数を...
/*デバッグ用プログラムここまで*/
if(SENSOR_3 < THERHOLD){ //以下ライントレース・・・?
OnFwd(OUT_C,30);
Off(OUT_B);
}
else{
OnFwd(OUT_B,40);//急カーブを曲がるために左右で値を変え...
Off(OUT_C);
}//ライントレースここまで
if(SENSOR_3<32){//32の値は調整必要 交差点を検知するた...
count++; //検知したらcountを増加させる
}
if(count==4){//4回目で停止する
Off(OUT_BC);
}
}
}
? スタートエリアの枠を無視して走るために直進走行を入れた...
交差点検知する必要がなくなり、スタートが安定した。&br;
&br;
? デバッグ用のプログラム。走行中にNXT本体の画面に光セン...
&br;
? ON/OFF制御のライントレース。光センサキャリブレーション...
&br;
? 交差点検知&シュート。交差点に入った瞬間に光センサの値...
この交差点検知の欠点は、通常のライントレース時も交差点と...
&br;
&br;
変数の説明&br;
THERHOLD・・・ラインの閾値&br;
count・・・交差点を何度検知したかをカウントする。&br;
**今後の課題 [#d6f5bb6a]
&br;
&br;
●ロボットの仕組みついての課題●&br;
&br;
・ボールをホールドするためのパーツが長くて幅が狭かったの...
&br;
・ボールを運ぶ時に、必然的に光センサとボールが衝突しなが...
&br;
&br;
&br;
●プログラムについての課題●&br;
&br;
・まずライントレースは高速でもライントレースできるように...
Pゲイン値、Iゲイン値、Dゲイン値など、調整するものが多くな...
それに見合う価値 があると思うので、是非切り替えたい。&br;
またライントレースについてだが、光センサ値のキャリブレー...
手動で値調整を行う必要がなくなり、&br;
スムーズに且つ信頼性が高い競技を行うことが出来るので次回...
&br;
&br;
・続いて交差点検知では、光センサの値は環境によって変わる...
そこで、モーターの回転数の差で検知する方法を利用するこ...
また、プログラムは通常高速ループをしており、たとえ交...
&br;
&br;
・最後にシュートだが、機体の向きによって成功率が変わるの...
&br;
・実装に使える時間が少なかった。今後はチームと時間の調整...
終了行:
**目次 [#g3e1d4cb]
#contents
#clear
**ロボットの紹介 [#f3597fb9]
#clear
&ref(./image.jpeg,50%,Mission1用ロボット);~
#clear
~NXT本体を縦に接合した。当初は横に接合する予定だったが、&...
縦に接合してみたところ、安定したので、こちらを採用した。&...
ボールを掴む機構として、モーターを利用したりせずに枠をつ...
&br;
また、カーブにボールがあった際に長過ぎるとホールドする部...
&br;
○利用したセンサ類&br;
モータ2個&br;
光センサ1個(ライントレース用)&br;
&br;
ボールがあるかどうかは検知していない。超音波センサなどを...
**コース攻略方法 [#q1fd6c1b]
&ref(./2014a-mission1.png,100%,攻略ルート);
赤・・・ライントレース&br;
青・・・交差点検知&br;
黄色・・・シュート&br;
ライントレース&br;
授業中に教わったOn/Off制御のライントレースで走行する。&br;
本来は、さらに滑らかに走行するためにPID制御を用いたライン...
ところだが、実装の時間が足りないため課題1ではOn/Offで走行...
&br;
&br;
交差点検知&br;
交差点検知の手法として、光センサーの値の変化を見る。正直...
少しの調整を見誤ることが命取りとなるため、慎重に調整を行...
&br;
&br;
シュート&br;
4度目の交差点検知を瞬間にシュートフェーズに移行する。シュ...
ただ急停止するのみである。押し出さなくても急停止するだけ...
**プログラム [#qa5fbc41]
#define THERHOLD 42 //閾値
task main(){
SetSensorLight(S3);
int count=0; //交差点を何度検知したかをカウントするため...
OnFwd(OUT_BC,75);//スタート地点の枠を突破するために直進...
Wait(300);
while (true) {
/*デバッグ用 光センサの値と交差点カウントをLCDに表示す...
ClearScreen();
TextOut(0,LCD_LINE1,"LightSensor:");//1行目
TextOut(0,LCD_LINE2,"CrossCount:"); //2行目
NumOut(80,LCD_LINE1,SENSOR_3); //光センサの値を表示...
NumOut(80,LCD_LINE2,count);//交差点カウントの回数を...
/*デバッグ用プログラムここまで*/
if(SENSOR_3 < THERHOLD){ //以下ライントレース・・・?
OnFwd(OUT_C,30);
Off(OUT_B);
}
else{
OnFwd(OUT_B,40);//急カーブを曲がるために左右で値を変え...
Off(OUT_C);
}//ライントレースここまで
if(SENSOR_3<32){//32の値は調整必要 交差点を検知するた...
count++; //検知したらcountを増加させる
}
if(count==4){//4回目で停止する
Off(OUT_BC);
}
}
}
? スタートエリアの枠を無視して走るために直進走行を入れた...
交差点検知する必要がなくなり、スタートが安定した。&br;
&br;
? デバッグ用のプログラム。走行中にNXT本体の画面に光セン...
&br;
? ON/OFF制御のライントレース。光センサキャリブレーション...
&br;
? 交差点検知&シュート。交差点に入った瞬間に光センサの値...
この交差点検知の欠点は、通常のライントレース時も交差点と...
&br;
&br;
変数の説明&br;
THERHOLD・・・ラインの閾値&br;
count・・・交差点を何度検知したかをカウントする。&br;
**今後の課題 [#d6f5bb6a]
&br;
&br;
●ロボットの仕組みついての課題●&br;
&br;
・ボールをホールドするためのパーツが長くて幅が狭かったの...
&br;
・ボールを運ぶ時に、必然的に光センサとボールが衝突しなが...
&br;
&br;
&br;
●プログラムについての課題●&br;
&br;
・まずライントレースは高速でもライントレースできるように...
Pゲイン値、Iゲイン値、Dゲイン値など、調整するものが多くな...
それに見合う価値 があると思うので、是非切り替えたい。&br;
またライントレースについてだが、光センサ値のキャリブレー...
手動で値調整を行う必要がなくなり、&br;
スムーズに且つ信頼性が高い競技を行うことが出来るので次回...
&br;
&br;
・続いて交差点検知では、光センサの値は環境によって変わる...
そこで、モーターの回転数の差で検知する方法を利用するこ...
また、プログラムは通常高速ループをしており、たとえ交...
&br;
&br;
・最後にシュートだが、機体の向きによって成功率が変わるの...
&br;
・実装に使える時間が少なかった。今後はチームと時間の調整...
ページ名: