組込み PD (MIT mode) モータでの FF 項と同定
ファームを触れない MIT mode モータ (RobStride 等) で、FF スタックの各項をどこに置き、何を同定するか。定常誤差 τ_c/Kp、トルク feedback は減速機の手前、静的保持は 2 方向
要点: MIT mode のモータは FW を触れないので、FF 項は全部ホスト側の torque_ff と v_des に入れる。同定対象は duty でなく N·m。トルク feedback はモータ軸の推定値で減速機摩擦を含まないため、静的保持の同定は上下 2 方向から近づいて平均する。
FF 項の置き場 (duty ベース FW との対応)
FF スタック の各項は MIT mode では次に対応する。
| 項 | duty ベース FW | MIT mode |
|---|---|---|
| 位置 P | FW kp_p | Kp (モータ内、送るだけ) |
| velocity FF | FW velocity_ff | v_des に軌道速度 (Kd 経由、独立ゲイン無し。MIT mode) |
| 速度 P | FW kp_v | Kd |
| 加速度 FF | Host duty_ff = J/Kt · a | Host torque_ff += J_joint · a [N·m] |
| 重力 | Host duty_ff | Host torque_ff += τ_g(q) [N·m] |
| クーロン摩擦 | FW coulomb · sign(r_v) | Host torque_ff += τ_c · sign(v_des) |
| 粘性摩擦 | FW viscous · r_v | Host torque_ff += b · v_des |
摩擦項をホストに置くときは符号を指令速度 v_des (軌道生成器の出力) で決める。測定速度で決めると 10 ms 周期の遅延で零速度付近にチャタリングが出る。指令速度は決定的なので出ない。
摩擦を補償しないときの定常誤差
MIT mode は積分器を持たない。クーロン摩擦 に対する定常位置誤差は
例: N·m、 N·m/rad → mrad。腕長 0.5 m なら手先 8.3 mm。 必要精度がこれより厳しければ、 を上げるか摩擦補償を入れる。
トルク feedback の性質
RobStride 等の feedback torque はモータ電流 (Iq) からの推定値で、減速機の手前の値。
- 減速機の摩擦・効率は含まれない。出力軸トルクではない
- 静的保持でも、直前に動いた向きに応じて摩擦分 が乗る
対策: 同じ姿勢に上から下がって止まる場合と下から上がって止まる場合の 2 回を測り、 平均を重力トルク、差の半分を静止摩擦とする (1 軸 tuner の gravity stage と同じ)。
多関節の重力同定
1 軸ずつの cos fit は関節が連成すると使えない。2 リンク平面アームでは
の 4 パラメータが線形。 の格子 (5×5 程度) で静的保持し、最小二乗で出る。 質量と重心は積 でしか分離できないので、URDF へ書き戻すときは質量を CAD 値に固定して重心を動かす (URDF を正データにする構成の限界)。