過去入力から出力が決まる動的システムを制御する
ラズパイとPythonで一緒に!センサ・フュージョン入門
制御で扱うのは動的システム
|
|---|
| 図1 現在の出力が,現在の入力だけでなく,過去の入力や状態の履歴に依存するシステム.この性質があるため,動的システムは「記憶」をもつシステムとして整理される.画像クリックで動画を見る.または記事を読む.詳細はVOD/Pi KIT/data]ラズパイとPythonで一緒に!カルマン・フィルタ&センサ・フュージョン入門 |
状態推定やフィードバック制御を理解するためには,まずモデルの考え方を整理する必要があります.オブザーバやカルマン・フィルタは,必ずモデルを前提として動きます.モデルを使わずに状態を推定することはできません.制御のための状態推定では,対象がどのような性質をもつかを把握することが出発点です.
ここで扱う対象は動的システムです.動的システムとは,現在の出力が,現在の入力だけでなく,過去の入力や状態の履歴に依存するシステムです.この性質があるため,動的システムは「記憶」をもつシステムとして整理されます.
過去入力が現在の出力を決める
動的システムの特徴は,過去から現在までの入力が蓄積され,その結果として現在の出力が決まる点です.入力を与えた瞬間に出力が一意に決まる静的な関係とは異なります.静的なシステムでは,入力と出力の関係は単純です.入力が決まれば,その場で出力が決まります.
一方で動的システムでは,入力を変えても出力はすぐに変わらない場合があります.内部に蓄えられた状態が影響を与えるためです.この内部状態は,時間とともに更新されます.制御では,この状態を明示的に扱い,状態の変化を追いかけます.
- 動的システム:過去の入力や状態を保持s
- 静的システム:現在の入力だけで出力が決まる
- 制御対象:内部状態の変化が重要
モデルは状態の時間変化を表す
動的システムは,時間変化を表すモデルで記述されます.連続時間では微分方程式として整理されます.離散時間では差分方程式として整理されます.ラズパイやPythonで扱う制御では,差分として時間を刻みながら計算します.この形式は,実装と相性がよいです.
モデルは,状態がどのように更新されるかを示します.入力が状態にどのような影響を与え,状態が出力へどう反映されるかを整理します.この整理があると,制御入力を与えたときの将来のふるまいを考えやすくなります.
- モデル:状態の更新規則を表す
- 差分表現:周期的な計算と相性がよい
- 将来予測:制御設計の基礎になる
状態推定と制御をつなぐ視点
状態推定は,直接観測できない内部状態を推量する技術です.動的システムでは,状態が過去の入力を含んでいます.このため,現在の観測だけでは状態を完全に把握できません.モデルを使い,過去からの流れを考慮して状態を推定します.
ラズパイとPythonの環境では,センサ入力を周期的に取得し,モデルに基づいて状態を更新します.推定された状態を使い,制御入力を決めます.この一連の流れが,動的システムを制御する基本構造です.過去入力から現在の出力が決まるという性質を理解すると,状態推定と制御の役割が明確になります.
〈ZEPマガジン〉参考文献
- [VOD/Pi KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
- [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]確率・統計処理&真値推定!自動運転時代のカルマン・フィルタ入門,ZEPエンジニアリング株式会社.