Open Source Robotics

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

Cascaded Control

  • 別名: cascade control, nested-loop control, inner-outer loop control
  • カテゴリ: Control › Feedback control
  • タグ: feedback-control, pid, flight-control, motor-control, control-architecture

入れ子になったフィードバックループを持つ制御構造で、外側のループがより速い内側のループの目標値を計算する。ドローンでの位置、姿勢、機体角速度の階層がその例である。

定義

カスケード制御(Cascaded control)は、制御問題を入れ子になったフィードバックループに分割する。外側のループはユーザーが関心を持つ遅い量、たとえば位置を調整し、その出力はアクチュエータへの指令ではなく、より速い中間量、たとえば速度、姿勢、電流を調整する内側のループへの目標値となる。各ループはダイナミクスの一部だけを扱えばよいため、コントローラの設計と調整が簡単になり、内側のループは突風や負荷トルクなどの外乱を外側の変数に届く前に抑え込む。

この構造は、内側のループが外側よりはるかに速いときに最もよく機能する。そうであれば、外側のループは内側のループが目標値に即座に追従するものとして扱える。よく使われる経験則は、各内側ループの帯域幅をそれを囲むループの数倍、多くの場合およそ 5 倍から 10 倍にすることである。ループは内側から外側へ順に調整する。まず最も内側のループを調整し、次に内側のループを閉じた状態で外側のループを 1 つずつ調整する。最大傾斜角や最大電流などの制限は階層間で受け渡す必要があり、外側のループには、内側のループが飽和している間に誤差を積分し続けないようアンチワインドアップが必要である。

ロボティクスでは 2 つの例がほぼ普遍的に見られる。電動モーターのドライブは、電流(トルク)ループを速度ループの内側に、速度ループを位置ループの内側に置く。マルチロータのフライトコントローラは、目標加速度を出力する位置コントローラを使い、その目標加速度を総推力と目標姿勢に変換する。次に姿勢コントローラが機体角速度の指令を出力し、角速度コントローラがトルクを生成し、それをミキサが個々のモーター指令に変換する。外側のループには PD、PID、モデルベースのコントローラが使われ、位置のレベルは、内側の姿勢ループと角速度ループを残したまま、モデル予測制御に置き換えられることもある。カスケード制御の限界は階層間の結合を無視することである。内側のループの帯域幅に近い性能を要求する激しい機動や、強く結合したダイナミクスは、システム全体を一度に考慮するコントローラのほうがうまく扱える。

重要な理由

市販のドローン、モータードライブの大半、そして多くのロボット関節はカスケードループで制御されているため、エンジニアは実機を調整、デバッグ、拡張するたびにこの構造に出会う。帯域幅の分離とループ間のインターフェースを理解すれば、位置追従の鈍さから、調整不良の内側ループが引き起こす振動まで、多くのよくある問題が説明できる。

主な用途

  • 位置、姿勢、角速度ループを持つマルチロータのフライトコントローラ
  • 電流、速度、位置ループを持つサーボモータのドライブ
  • ロボットアームや脚ロボットの関節制御
  • 温度や流量の調整などのプロセス制御
  • モデル予測制御による外側ループと高速な内側の追従ループの組み合わせ

実際の使われ方

レース用ドローンで、チームのプランナが位置、速度、加速度の参照値を送る。低めのレートで動く外側の PD 位置ループが目標加速度を計算し、重力とフィードフォワード加速度を加えて、その結果を総推力と目標推力方向に変換する。内側の比例姿勢ループが姿勢誤差を機体角速度の指令に変換し、フライトコントローラの角速度ループがジャイロスコープのフィードバックを使ってはるかに高いレートでそれに追従する。ホバリング中にドローンが振動したとき、チームは調整不良の内側ループを外側ループで補おうとするのではなく、まず角速度ループ単独で再調整し、次に姿勢ループ、最後に位置ゲインを調整する。

よくある誤解

  • どんなコントローラでも積み重ねてカスケードにできる — この構造は内側のループがかなり速いことを前提としており、その分離がなければループ同士が干渉し、不安定になりうる
  • カスケードループはどの順番で調整してもよい — 外側のループの挙動は内側のループの応答に依存するため、内側のループを先に調整すべきである
  • カスケード制御はモデル予測制御と比べて時代遅れである — MPC ベースの多くのシステムは今も姿勢、角速度、電流のカスケード内側ループを動かしており、MPC が置き換えるのは外側のレベルだけである

知っておくべき人

  • ドローンと飛行制御のエンジニア
  • モーター制御とドライブのエンジニア
  • 関節や移動台車のコントローラを調整するロボティクスエンジニア
  • 実践的なフィードバック制御を学ぶ学生

関連技術

  • PID 制御(PID Control)
  • PX4 Autopilot
  • Betaflight
  • ベクトル制御(Field-Oriented Control)
  • アンチワインドアップ(Anti-Windup)

関連用語

  • PID Controller
  • UAV
  • Differential Flatness
  • Model Predictive Control
  • Thrust-to-Weight Ratio
  • Fault-Tolerant Control

関連プロジェクト

  • MAVROS: ROS gateway for MAVLink-compatible autopilots (PX4, ArduPilot)

動画

  • Introduction to Cascade Control: LearnChemE

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