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を用いたパラメータ設定