Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

Feedback Linearization

  • 別名: exact linearization, nonlinear dynamic inversion, NDI
  • カテゴリ: Control › Feedback control
  • タグ: nonlinear-control, model-based-control, manipulator-control, dynamics, trajectory-tracking

システムのモデルを用いて状態フィードバックにより非線形性を打ち消し、その結果に標準的な線形制御設計を適用できるようにする非線形制御の手法。

定義

フィードバック線形化(feedback linearization)は、非線形システムを代数的に線形システムへ変換することで制御する手法である。コントローラはダイナミクスのモデルを用いて、非線形項を打ち消し新たな仮想入力を導入する入力を計算する。この仮想入力を通して、閉ループ系は単純な線形システム、多くの場合は積分器の連鎖のように振る舞う。そのうえで、比例微分則や極配置といった従来の線形コントローラを、この線形システムに対して設計する。動作点まわりの線形化とは異なり、モデルが成り立つところではどこでも、この打ち消しは厳密である。

ロボティクスで最もなじみ深い例は、ロボットアームの計算トルク制御である。アームの剛体ダイナミクスは M(q)q̈ + C(q, q̇)q̇ + g(q) = τ である。トルクを τ = M(q)v + C(q, q̇)q̇ + g(q) と選ぶと、慣性項、コリオリ項、重力項が打ち消され、すべての関節で q̈ = v が残る。新しい入力 v は、関節の位置誤差と速度誤差に対する PD 則に目標加速度を加えたものにでき、目標とする応答に合わせてゲインを直接選べる、非干渉化された線形の誤差ダイナミクスが得られる。操作空間制御は、同じ考え方をエンドエフェクタの座標系で適用する。

理論では、状態全体を線形にする入力・状態線形化と、入力と選んだ出力との関係だけを線形化する入力・出力線形化とを区別する。入力・出力の場合、入力が現れるまで出力を微分し、その微分の回数が相対次数となる。相対次数がシステムの次数より低い場合、ダイナミクスの一部、すなわち内部ダイナミクスまたはゼロダイナミクスが出力から隠れ、この手法が機能するにはそれが安定でなければならない。それが不安定なシステムは非最小位相系と呼ばれる。

主な弱点はモデルへの依存である。打ち消しはモデルが厳密な場合にのみ厳密であり、質量、摩擦、アクチュエータの挙動の誤差は、線形の外側ループが吸収しなければならない非線形性を残す。実用的なコントローラは、ロバスト項や適応項、積分動作、あるいは残差ダイナミクスの学習モデルを追加する。必要なトルクがアクチュエータの出せる範囲を超えると、入力飽和によっても打ち消しが崩れる。

重要な理由

フィードバック線形化は非線形なロボットのダイナミクスを線形制御の豊富な道具立てと結びつける。計算トルク制御が今もロボットアームの標準的な手法であり、多くの脚型や空中のコントローラが同じ考え方を使っているのはこのためである。その前提を理解すれば、モデルベースのコントローラがなぜ精密に追従できるのか、そしてモデルが誤っているとなぜ性能が落ちるのかの両方を説明できる。

主な用途

  • 計算トルク制御 — ロボットアームの軌道追従
  • 操作空間制御 — タスク座標でエンドエフェクタの運動と力を制御する
  • クアッドロータの制御 — 追従のために非線形な姿勢と推力のダイナミクスを打ち消す
  • 二足歩行 — ハイブリッドゼロダイナミクスコントローラで選んだ出力を線形化する
  • 移動ロボットの経路追従 — 車輪型車両の運動学モデルを線形化する

実際の使われ方

ロボットアームを制御するチームは通常、Pinocchio や RBDL などの剛体ダイナミクスライブラリを使って URDF から動力学モデルを構築し、テスト動作から慣性パラメータと摩擦パラメータを同定して、関節トルクのレベルでリアルタイムループに計算トルク制御を実装する。そのうえで、望ましい剛性と減衰が得られるように各関節の外側の PD ゲインを調整し、指令トルクと測定トルクを比較してモデルが不正確な箇所を見つける。高速時や負荷時に追従性能が落ちた場合は、単にフィードバックゲインを上げるのではなく、モデルを改良したり、摩擦補償を加えたり、学習した残差項を加えたりする。

よくある誤解

  • フィードバック線形化は動作点まわりの線形化と同じである — 1 点の近くで近似するのではなく、完全なモデルを使ってある領域にわたって非線形性を厳密に打ち消す
  • 閉ループが線形なので結果はロバストである — 正確なモデルに依存しており、モデル誤差は打ち消されない非線形項を残す
  • どんな非線形システムもフィードバック線形化できる — システムの構造に関する条件が成り立つ必要があり、非最小位相系は直接扱えない
  • フィードバックゲインを上げればモデル誤差は直る — 誤差を覆い隠すことはできても、ノイズを増幅し、モデル化されていない柔軟性を励起する。モデルを改善するほうが通常は効果的である

知っておくべき人

  • ロボットアームや脚型ロボットに取り組む制御エンジニア
  • 非線形制御やモデルベース制御を学ぶロボティクスの学生
  • ドローンのフライトコントローラの開発者
  • 学習モデルとモデルベース制御を組み合わせる研究者

関連技術

  • 計算トルク制御(Computed Torque Control)
  • 操作空間制御(Operational Space Control)
  • Pinocchio
  • 微分平坦性(Differential Flatness)
  • 適応制御(Adaptive Control)
  • スライディングモード制御(Sliding Mode Control)

関連用語

  • Differential Flatness
  • PID Controller
  • Torque Control
  • Model Predictive Control

関連プロジェクト

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics

動画

  • Easy Introduction to Feedback Linearization - Control Engineering Tutorials: Aleksandar Haber PhD

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。