notes
Control

PID と FF 項の自動チューニング

FF はプラント同定で全項が決まる。PID はモデル同定 + 極配置で 1 パラメータ (帯域) に集約できる

要点: FF スタックは 4 パラメータ (クーロン摩擦・粘性摩擦・慣性 J・重力 duty) を 30-40 秒の同定シーケンスで測れる。PID gain はモデル同定後の極配置で velocity 帯域 ω_v を選ぶだけで決まる。

FF 項の同定#

パラメータ測定法
クーロン摩擦、粘性摩擦等速 sweep で duty = c·sign(v) + b·v + gravity を LS fit
重力 duty上下 2 方向の同速度セグメントで duty 平均
慣性 J自由減衰 (duty=0) の から
accel_ff_gain (= J/Kt)上の J と仕様書 Kt から計算

順序:

等速 sweep → クーロン c、粘性 b、重力 g を同時 fit
自由減衰 → J (b, c 既知として)
accel_ff_gain = J/Kt (Kt はモータ仕様)

PID の自動チューニング手法#

手法概要適性
Ziegler-Nichols stepステップ応答の遅れ L と時定数 T単純だが gain 高め
リレーフィードバック (Åström-Hägglund)極限サイクル振動から Ku・Tu閉ループで安全
モデル同定 → 極配置J, Kt から パラメータ既知の系で最短
ILC (Iterative Learning Control)同じ軌道を繰り返して gain 学習反復動作
ベイズ最適化追従誤差 RMS を Kp/Ki で最小化シミュ向き、実機は破損リスク

モデル同定 → 極配置#

FF 同定と同じデータから gain を計算できる。velocity 帯域 ω_v を 1 個決めれば決まる:

の目安は機構が許す帯域 (例: 100 rad/s)。cascade で position 帯域を velocity 帯域の 1/5 に取るのが古典的な設計指針。

再測定の粒度#

対象頻度理由
PID gain保守時 (yaml 保存)J は積載で変わるが gain schedule で対応
摩擦係数毎回 or 日次温度・グリス劣化で変化
重力 duty積載状態ごと質量が変わる
J (慣性)保守時のみ短期変化はほぼ無い

安全性#

PID auto-tune は機構が振り切って壊れない範囲を先に決める必要がある。

  • リレー法は極限サイクルを意図的に起こす → 位置制御軸は soft limit で壁を作る
  • ステップ法は gain 過大で発振
  • 対策:
    • キャリブ専用モードで soft limit を厳しくする
    • 小振幅から開始、gain を徐々に上げる
    • watchdog 短めに、abort 条件を明示

シーケンス例#

総所要時間 30-40 秒。

関連#

最終更新:

On this page