= SH Spurをつかっての走行系の構築方法 本ページでは、SHSpurを用いての走行系の構築方法について説明していく予定です。 == 概要 SH-Spurを用いることで、様々な大きさ、速さの独立2輪駆動の移動ロボットの走行系を構築することができます。 ただし、現状では構築においていくつかハードウェアに依存する所があります。 具体的には * コントローラ - SH-2(Renesus SH7045) * 回転角検出 - 2相インクリメンタルロータリーエンコーダ(一周数百パルス程度、モータ軸直付け推奨) * モータ - DCモータ×2 * モータドライバ - 正逆転・PWM駆動(数k~28kHz程度で)できるもの 等があげられます。 今後、対応するハードウェアを増やしこれらの制約を減らして行きたいと思いますが、 しばらくは上記の制約が付きます。 == 回路 === SH-2ボード SH-Spurは秋月電子通商製のAKI-SH2を想定して作られており、 現在は教育研究用ロボットbeegoのボードに対応しています。 今後その他のボードにも対応する予定です。 == パラメータの設定方法 パラメータの設定は、他のロボットのパラメータファイル(robot.param)等をベースに、 変更の必要がありそうな所だけを変更するようにすると簡単です。 === 基本パラメータ 次のパラメータは使用しているエンコーダやバッテリーに合わせて設定してください。 * COUNT_REV -- エンコーダ分解能(4逓倍)(Counts/rev) * VOLT -- 電源電圧(V) 下記パラメータは特に問題なければ変更する必要はありません。 * PWM_MAX -- PWMの最大値です,1000,1400あたりが無難?(28000000/設定値でPWM周波数が変更できます) * CYCLE -- 制御周期(s)(基本的には0.001で固定) === モータ関連パラメータ モータ用パラメータは使用しているモータに合わせて設定してください。 * GEAR -- ギア比(in/out回数) * MOTOR_R -- 巻き線抵抗(ohm) * MOTOR_TC -- トルク定数(Nm/A) * MOTOR_VC -- 回転数定数(rpm/V) モータ制限トルクは、用途に合わせ設定してください(高トルク重視orオドメトリ重視) * TORQUE_MAX -- モータ制限トルク(Nm) 下記パラメータは摩擦補償用なので、必要なければ0で構いません。 * TORQUE_NEWTON -- 静止摩擦補償量(Nm) * TORQUE_VISCOS -- 粘性摩擦補償量(Nm/(count/1ms)) * TORQUE_OFFSET -- 定常的に出すトルク(Nm) == 速度制御パラメータ 速度制御用のパラメータは、試行錯誤で決めるか、後述するparam_tunerを用いて設定してください。 * GAIN_KP -- PI制御の比例項 * GAIN_KI -- PI制御の積分項 下記パラメータは特に問題なければ変更する必要はありません * INTEGRAL_MAX -- 最大積分値 * GAIN_A-F 動特性保障用パラメータ(デフォルト値推奨) === 本体パラメータ 本体パラメータは、設計図や後述するbody_param_tunerを用いて設定してください。 * RADIUS_R -- 右タイヤ半径(m) * RADIUS_L -- 左タイヤ半径(m) * TREAD -- タイヤ間距離(m) * MASS -- 本体重量(kg) === 経路追従パラメータ 経路追従パラメータは、おおむね特に変更しなくても動作するようです。 * L_C1 -- 角速度が大きい時に速度を抑えるパラメータ。大きいと角速度が大きい時に速度を抑えます。 * L_K1 -- 直線からの距離に関するパラメータ。離れている際、線によるように角速度をだそうとします。 * L_K2 -- 直線との角度に関するパラメータ。角度がずれている際。角度を修正するように角速度をだそうとします。 * L_K3 -- 角速度に関するパラメータ。角速度が出ている際、抑えようとします。 * L_DIST -- 直線との距離の係数をクリップングします。小さくすればスムーズに直線のりかえできるようになりますが、直線にのるまで時間がかかります。 === 制限パラメータ 制限パラメータは、用途に応じて変更してください。 最大加速度を小さくすると、なめらかに動くようになりますが、止まるのが遅くなります。 * MAX_VEL -- 最大速度(m/s) * MAX_W -- 最大回転角速度(rad/s) * MAX_ACC_V -- 最大加速度(m/ss) * MAX_ACC_W -- 最大回転角加速度(rad/ss) === param_tunerを用いたパラメータ設定