沼津高専 電子制御工学科 |
MG3S 標準プログラム内の調整パラメータ |
MIRSMG3D-MG3S-0016 |
|
改訂記録 |
版数 |
作成日 |
作成者 |
承認 |
改訂内容 |
A01 |
2014/07/14 |
牛丸 |
|
初版 |
A02 |
2014/07/18 |
牛丸 |
|
正体補正の条件変更について追加した |
A03 |
2014/07/23 |
牛丸 |
|
タイヤの回転速度調整パラメータについて記述を加えた |
1. はじめに
本ドキュメントは MG3S 標準プログラム Ver 2.1 での調整パラメータについて説明する。標準機に対応する値、調整した値を入れているが、それぞれの機体によって調整が必要になるパラメータがある。
2. 調整パラメータ
各スレッドの実行周期
hardware.h 内で定義してしている。ディフォルト値は全て 20msec。
タイヤ、エンコーダ関連のパラメタ
hardware.h 内で定義してしている。ディフォルト値は標準機のもの。
左右のタイヤの回転速度調整パラメータ
hardware.h 内で、TIRE_DIST_RATIO で定義。値の決定方法は MG3S 標準プログラムでの直進走行調整を参考にすること。
カメラと正面USS先端の距離差
hardware.h 内で定義してしている。
モータの不感帯のPWM値
motor.h 内で定義している。
速度制御(vel_ctrl.c)のパラメータ
// PID 速度制御のゲイン
static float Kp = 1.0 ; //
static float Ki = 0.25 ; //
static float Kd = 0.0 ; //
走行制御(run_ctrl.c)のパラメータ
// Kp_s : 直進制御において、左右のタイヤの距離差に対する補正速度の係数
// Kp_r : 回転制御において、左右のタイヤの距離差に対する補正速度の係数
static float Kp_s = 1.0;
static float Kp_r = 0.5;
// Kf_s : 直進停止制御において、残り距離に対する速度指定値を決める係数
// Kf_r : 回転停止制御において、残り角度に対する速度指定値を決める係数
static float Kf_s = 1.0;
static float Kf_r = 0.3;
float dist_vel_down = 10; //直進停止制御において、減速を開始する残り距離
float angle_vel_down = 20; //回転停止制御において、減速を開始する残り角度
超音波(uss.c)
//超音波センサの測定誤差(= 実際の距離 - 計測値)[cm]
int uss_error[8] = {2, 4, 0, 0, 0, 0, 0, 0};
正体補正(direction.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;
数字認識に関するパラメータ