沼津高専 電子制御工学科
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;

数字認識に関するパラメータ