制御工学ブログ

制御工学の研究者を20年やっている国立大学教員が制御工学の基礎から専門まで広く説明します。記事内では、動画やMATLABコードを交えながらわかりやすく解説する方針です。

状態方程式表現の基礎から学ぶ

この記事ではシステムの状態方程式表現(状態空間実現, State-Space Realization)についてまとめます。状態方程式の表現について説明した動画は最下部に置いております。ここでは、状態方程式表現に関する式の説明と制御システムの分類、状態空間表現の導出方法(モデル化、常微分方程式伝達関数からの変換)について述べます。

なお、状態フィードバック制御の全体像は次の記事でまとめています。

状態フィードバック制御・状態方程式に基づく制御のまとめ

状態空間実現

それではシステムの状態方程式表現について説明していきます。状態方程式表現は制御工学において重要な制御対象の表現形式です。ここでまず状態方程式の主な記号について説明していきます。

状態方程式の式を示した図

状態方程式の記号

 

は時間であり、応答を表すグラフの横軸で用いることになります。x状態ベクトルuは制御入力、yは制御出力です。

状態方程式では状態ベクトルを使ってシステムのダイナミクスを表現します。n がシステムのは次数であり、この次数が状態ベクトルの要素数に対応します。また ABC はそれぞれ行列とベクトルであり Aは n次の正方行列です。

Bは入力が1個の場合は n次 の縦ベクトル、入力が複数の場合は行列形式になります。Cは出力が一つの場合はn 次の横ベクトル複数の出力がある場合は行列になります。

そして状態方程式は左辺に状態ベクトル微分、右辺にAx+Buという以下の形で表現されます。

連続時間状態方程式

図ではn が3の例も示しています 。n が3の場合には、状態の要素数は3つになり、 A 行列は3×3の行列(ここでは可制御正準形)、B と C はそれぞれベクトル形式になります。状態ベクトルが縦長のベクトルなのでその微分値も縦長のベクトルになります。(以下は n = 3の例)

xの微分

なお、本記事では連続時間状態方程式について説明していますが、離散時間の状態方程式もあり、以下の形式で記述されます。

離散時間状態方程式

状態方程式の分類(時不変,時変,非線形

次に状態方程式表現における制御システムの分類について説明します。

まず線形システムというのは先ほど示したようなA, B, C行列によって特徴づけられる形式になります。そして線形時不変システムと書いた場合は、この A, B, Cがそれぞれ固定の行列ベクトルとなっている場合を指しています。他方、線形時変システムという時にはこの A, B, C がそれぞれ時間の関数になっている場合を示しています。

基本的に線形システムといわれた時には線形時不変システムと思っておおよそ間違いないです。

次に非線形システムですが、非線形システムは一般的に図の下部ような形式で書かれます。このような形式で書けるものには線形システムのこの構造も含みますが、一般的に上部のシステムとは別形式で表します。

システムの分類を表現した図

状態方程式の分類

またこの非線形システムの中でも分類があります。右辺が f(x) + g(x)uと書かれている、uに関してアフィンな構造を持っている形式は非線形制御の分野で広く利用されている形式です。この他、ハンマシュタイン型非線形システムなどがあります。

モデリング

次に制御対象の状態方程式表現によるモデル化について考えます。通常、制御対象のモデルを求める際には2種類の方法を用います。ひとつは物理法則などから数理モデルを求める方法。もう一つは入力uと出力yのデータ列の組み合わせを利用することによって、数理モデルを求める方法です。これはシステム同定と呼ばれています。これらの手法によって、A, B, C のそれぞれの行列およびベクトルを求めることになります。

システム同定とモデリングの説明図

制御対象のモデル化


次に2階の常微分方程式状態方程式に変換する、変換の手法について説明します。

まずこのような常微分方程式を与えられた場合、z を状態のうちの1つ 、z の時間微分の状態のうちの2つ目、と定義すると、状態方程式表現は図のように可制御正準形と呼ばれる形式として求まります。

ただし、ここでは出力として z を用いた場合には、C = [1 0]となります。これが仮に z の時間微分値を出力信号としたい場合には、C = [0 1] とすれば良いです。

常微分方程式から状態方程式に変換するイメージ図

常微分方程式状態方程式

最後に伝達関数状態方程式に変換するケースを紹介したいと思います。
例えばこのように伝達関数が与えられているときに、一つのアプローチとしてはこれを部分分数分解し、対角正準系呼ばれる一つの状態方程式表現に変換する方法があります。
部分分数展開することで 1/(s + a)の係数と、1/(s + b)の係数のそれぞれが求まります。求まった値はγ1、γ2としています

A,B,C の行列は図のように得られます。ここでは2次の例を示していますがより高次元の場合にも同じような流れでモデルを状態空間表現として得ることが可能です。

伝達関数と状態方程式の係数関係を表した図

伝達関数から状態方程式への変換

状態方程式表現に関する動画

以下は、状態方程式表現に関する動画になります。

youtu.be

関連ページ(状態方程式

>>制御工学チャンネル:500本以上の制御動画ポータルサイト Control Engineering Channel - 01-Prof.Okajima (control-theory.com)

本記事は以上です。

次の記事:

 

blog.control-theory.com

 

人工知能・AIランキング
人工知能・AIランキング

 

自己紹介

岡島 寛 (熊本大学工学部情報電気工学科准教授)

制御工学の研究をしています。モデル誤差抑制補償器,状態推定,量子化制御など

研究室HP

岡島研究室(システム制御 control-theory.com)

制御動画ポータルサイト

制御工学チャンネル(伝達関数・状態方程式・MATLABなど)

電気動画ポータルサイト

電気電子チャンネル (半導体・電気・電子工作など)

YouTube 

制御工学チャンネル (制御YouTubeチャンネル)

 

本記事をお読みいただきありがとうございます。役に立った、と思われましたら、ブックマーク・シェア等のアクションをしていただければ嬉しいです。