ライントレースサンプルプログラム。左モータにてデジタル閾値GRAYの調整を可能とした。GRAY調整により、旋回の反応性・マーカの判別精度に変化が見られるか検証すること。
Dependencies: mbed AQM0802 CRotaryEncoder TB6612FNG
Revision 13:899b2842ef95, committed 2019-08-29
- Comitter:
- GGU
- Date:
- Thu Aug 29 04:33:39 2019 +0000
- Parent:
- 12:dc4c569248d7
- Commit message:
- test;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r dc4c569248d7 -r 899b2842ef95 main.cpp --- a/main.cpp Thu Aug 29 00:59:01 2019 +0000 +++ b/main.cpp Thu Aug 29 04:33:39 2019 +0000 @@ -6,13 +6,13 @@ //☆★☆★各種パラメータ調整箇所☆★☆★☆★ -#define DEFAULT_SPEED 800 //1走目の基本速度[mm/sec] +#define DEFAULT_SPEED 950 //1走目の基本速度[mm/sec] #define TURN_POWER 0.5 //コースアウト時の旋回力 -#define PULSE_TO_UM 30 //エンコーダ1パルス当たりのタイヤ移動距離[um] +#define PULSE_TO_UM 28 //エンコーダ1パルス当たりのタイヤ移動距離[um] #define INTERRUPT_TIME 1000 //割りこみ周期[us] #define DEFAULT_GRAY 0.5f //フォトリフレクタデジタル入力の閾値 //シリアル通信でSensor_Digital値を確認し調整する。 -#define MARKER_WIDTH 15 //マーカ幅[mm](ビニルテープ幅19[mm]以内) +#define MARKER_WIDTH 11000 //マーカ幅[um](ビニルテープ幅19000[um]以内) //コースの傷によってマーカ誤検知する場合は値を大きくする。 #define CROSS_JUDGE 4 //ラインセンサいくつ以上白線検知で交差点認識するか設定。 //モータ速度のゲイン関連(むやみに調整しない) @@ -21,12 +21,12 @@ //フォトリフレクタのゲイン(外側に行くにつれ値を何倍させたいか調整する。) #define S_K1 1.0f //float演算させる値には必ずfを付ける -#define S_K2 2.0f //2倍 -#define S_K3 4.0f //4倍 +#define S_K2 2.4f //2倍 +#define S_K3 4.7f //4倍 //ラインセンサ各種制御成分 -#define S_KP 0.5f //ラインセンサ比例成分。大きいほど曲がりやすい -#define S_KD 0.3f //ラインセンサ微分成分。大きいほど急なラインずれに強くなる。 +#define S_KP 1.2f //ラインセンサ比例成分。大きいほど曲がりやすい +#define S_KD 0.5f //ラインセンサ微分成分。大きいほど急なラインずれに強くなる。 //////////☆★☆★☆★☆★☆★////////////// @@ -311,7 +311,7 @@ while(1){ Old_Sw_Ptn=Sw_Ptn; //過去のスイッチ入力情報を退避 Sw_Ptn=push_sw; //現在のスイッチ入力情報の取得 - if((!(Old_Machine_Status&=STOP))&&(Machine_Status&=STOP)){//走行終了時 + if((!(Old_Machine_Status&STOP))&&(Machine_Status&STOP)){//走行終了時 lcd.locate(0,0); lcd.print(" "); lcd.locate(0,0);