各スレッドの実行周期
T_* として hardware.h 内で定義してしている。ディフォルト値は全て 20msec。
タイヤ、エンコーダ関連のパラメタ
TIRE_R(タイヤ半径)、BETWEEN_TIRE(タイヤ間距離)、ENC_PPS(エンコーダパルス数)をhardware.h 内で定義してしている。ディフォルト値は標準機のもの。
左右のタイヤの回転速度調整パラメータ
hardware.h 内で、TIRE_DIST_RATIO で定義。値の決定方法は MG3S 標準プログラムでの直進走行調整を参考にすること。
カメラと正面USS先端の距離差
CAM_USS_DIF として hardware.h 内で定義してしている。
モータの不感帯のPWM値
L_SHIFT(左モータの不感帯)、R_SHIFT(右モータの不感帯)を motor.c 内で定義している。
速度制御のパラメータ
// PI 速度制御のゲイン
Kp_l (左モータの比例ゲイン), Ki_l(左モータの積分ゲイン)
Kp_r (右モータの比例ゲイン), Ki_r(右モータの積分ゲイン)
を verl_ctrl.c で与えている。
走行制御のパラメータ
Kp_s, Kd_s : 直進制御における左右のタイヤの距離差に対するPDゲイン
Kp_r, Kd_r : 回転制御において、左右のタイヤの距離差に対するPDゲイン
Kf_s : 直進停止制御において、残り距離に対する速度指定値を決める係数
Kf_r : 回転停止制御において、残り角度に対する速度指定値を決める係数
dist_vel_down //直進停止制御において、減速を開始する残り距離
angle_vel_down //回転停止制御において、減速を開始する残り角度
を、run_ctrl.c 内で与えている。
超音波
//超音波センサの測定誤差(= 実際の距離 - 計測値)[cm]
int uss_error[8] = {2, 4, 0, 0, 0, 0, 0, 0};
を uss.c で与えている。超音波センサの番号順にその値を入れる。
正体補正のパラメータ
int c_count_max=10; // 正体補正を諦めるまでの回数
//所定距離:距離補正に入る際の超音波センサの測定範囲
int uss_max = 80; //所定距離の最大値[cm]
int uss_min = 30; //所定距離の最小値[cm]
float str_speed = 10.0; //距離補正時の速度[cm/s]
float rot_speed = 5.0; //正体補正時の回転速度[rad/s]
float angle_coef = 0.8; //正体補正時の回転角度調整係数
//正体補正したと判断する条件 : USSの差を 0 とするか abs(1) とするか
//if(diff_uss == 0) break;
if( (diff_uss >= -1) && (diff_uss <=1) ) break;
を direcdtion.c で与えている。
数字認識に関するパラメータ