線形制御系設計

    線形システムの表現
    線形システムの特性解析
    制御器設計
    観測器設計
    離散時間システム

    モーションコントロール

    加速度制御
    剛体の姿勢制御

    モータドライブ

    駆動制御法
    磁極位置推定法

    システム同定

    ホワイトボックスモデル

連続時間システムの離散化

コントローラが離散的に動作するのに対し,制御対象のプラントは連続時間系で動作し,コントローラのサンプル点間でも動作を続けている。 制御則に状態予測が必要なフィードフォワード制御器設計やモデル予測制御,状態観測器の設計ではサンプル点間の振る舞いについても考慮したシステムの離散モデルが要求される。

離散モデルの導出

次の状態空間表現によって支配される連続時間システムについて考える。
x˙(t)=Ax(t)+Bu(t)y(t)=Cx(t)\begin{align} \dot{\bm{x}}(t) &= \bm{A}\bm{x}(t) + \bm{B}\bm{u}(t) \\ \bm{y}(t) &= \bm{C}\bm{x}(t) \end{align}
ただし,A,B,C\bm{A},\bm{B},\bm{C} はシステム行列,入力行列,観測行列を表し,u,x,y\bm{u},\bm{x},\bm{y} は入力,状態量,観測量とする。また,u,x,y\bm{u},\bm{x},\bm{y} は時刻 t<0t<00\bm{0} を取るものとする。状態量に関する微分方程式について解くと,以下のようになる。
x(t)=eAtx(0)+0teA(tτ)Bu(τ)dτ\begin{align} \bm{x}(t) &= e^{\bm{A}t}\bm{x}(0) + \int^{t}_{0}e^{\bm{A}(t-\tau)}\bm{B}\bm{u}(\tau) d\tau \\ \end{align}
ここに周期 TsT_{\rm s} のサンプラを挿入することを検討する。また,離散モデルとして差分方程式の形式で記述するため,時刻 t=kTs, (k+1)Tst={\rm k}T_{\rm s},\ ({\rm k}+1)T_{\rm s} の時点における状態量について解くと,以下のようになる。
x(kTs)=eAkTsx(0)+0kTseA(kTsτ)Bu(τ)dτx((k+1)Ts)=eA(k+1)Tsx(0)+0(k+1)TseA((k+1)Tsτ)Bu(τ)dτ=eATs(eAkTsx(0)+0(k+1)TseA(kTsτ)Bu(τ)dτ)+kTs(k+1)TseA((k+1)Tsτ)Bu(τ)dτ=eATsx(kTs)+kTs(k+1)TseA((k+1)Tsτ)Bu(τ)dτ\begin{align} \bm{x}({\rm k}T_{\rm s}) &= e^{\bm{A}{\rm k}T_{\rm s}}\bm{x}(0) + \int^{{\rm k}T_{\rm s}}_{0}e^{\bm{A}({\rm k}T_{\rm s}-\tau)}\bm{B}\bm{u}(\tau) d\tau \\ \bm{x}(({\rm k}+1)T_{\rm s}) &= e^{\bm{A}({\rm k}+1)T_{\rm s}}\bm{x}(0) + \int^{({\rm k}+1)T_{\rm s}}_{0}e^{\bm{A}(({\rm k}+1)T_{\rm s}-\tau)}\bm{B}\bm{u}(\tau) d\tau \\ &=e^{\bm{A}T_{\rm s}}\left(e^{\bm{A}{\rm k}T_{\rm s}}\bm{x}(0) + \int^{({\rm k}+1)T_{\rm s}}_{0}e^{\bm{A}({\rm k}T_{\rm s}-\tau)}\bm{B}\bm{u}(\tau) d\tau \right) + \int^{({\rm k}+1)T_{\rm s}}_{{\rm k}T_{\rm s}}e^{\bm{A}(({\rm k} + 1)T_{\rm s}-\tau)}\bm{B}\bm{u}(\tau) d\tau \\ &=e^{\bm{A}T_{\rm s}}\bm{x}({\rm k}T_{\rm s}) + \int^{({\rm k}+1)T_{\rm s}}_{{\rm k}T_{\rm s}}e^{\bm{A}(({\rm k} + 1)T_{\rm s}-\tau)}\bm{B}\bm{u}(\tau) d\tau \end{align}
ここで,変数変換 γ=τkTs\gamma = \tau - {\rm k}T_{\rm s} を導入すると,以下を得る。
x((k+1)Ts)=eATsx(kTs)+0TseA(Tsγ)Bu(γ+kTs)dγ\begin{align} \bm{x}(({\rm k}+1)T_{\rm s}) &=e^{\bm{A}T_{\rm s}}\bm{x}({\rm k}T_{\rm s}) + \int^{T_{\rm s}}_{0}e^{\bm{A}(T_{\rm s}-\gamma)}\bm{B}\bm{u}(\gamma+{\rm k}T_{\rm s}) d\gamma \end{align}

ホールダを想定した離散化

一般に制御器から生成されたシステムへの入力はサンプル点間で一定値を取るため,この条件を基に整理することで以下の特殊解を得る。
x((k+1)Ts)=eATsx(kTs)+0TseA(Tsγ)dγBu(kTs)\begin{align} \bm{x}(({\rm k}+1)T_{\rm s}) &=e^{\bm{A}T_{\rm s}}\bm{x}({\rm k}T_{\rm s}) + \int^{T_{\rm s}}_{0}e^{\bm{A}(T_{\rm s}-\gamma)} d\gamma \bm{B}\bm{u}({\rm k}T_{\rm s}) \end{align}
ここで,変数変換 δ=γ+Ts\delta = - \gamma + T_{\rm s} を導入すると,以下を得る。
x((k+1)Ts)=eATsx(kTs)+Ts0eAδ(dδ)Bu(kTs)=eATsx(kTs)+0TseAδdδBu(kTs)\begin{align} \bm{x}(({\rm k}+1)T_{\rm s}) &=e^{\bm{A}T_{\rm s}}\bm{x}({\rm k}T_{\rm s}) + \int^{0}_{T_{\rm s}}e^{\bm{A}\delta} (-d\delta) \bm{B}\bm{u}({\rm k}T_{\rm s}) \\ &=e^{\bm{A}T_{\rm s}}\bm{x}({\rm k}T_{\rm s}) + \int^{T_{\rm s}}_{0}e^{\bm{A}\delta} d\delta \bm{B}\bm{u}({\rm k}T_{\rm s}) \end{align}
以上より,サンプル値を用いた状態空間表現の記述は以下のようになる。
x[k+1]=eATsx[k]+0TseAδdδBu[k]y[k]=Cx[k]\begin{align} \bm{x}[{\rm k} + 1] &=e^{\bm{A}T_{\rm s}}\bm{x}[{\rm k}] + \int^{T_{\rm s}}_{0}e^{\bm{A}\delta} d\delta \bm{B}\bm{u}[{\rm k}] \\ \bm{y}[{\rm k}] &= \bm{C}\bm{x}[{\rm k}] \end{align}
すなわち,離散モデルのシステム行列,入力行列,観測行列は次のように決定される。
Ad=eATsBd=0TseAδdδBCd=C\begin{align} \bm{A}_{\rm d} &= e^{\bm{A}T_{\rm s}}\\ \bm{B}_{\rm d} &= \int^{T_{\rm s}}_{0}e^{\bm{A}\delta} d\delta \bm{B}\\ \bm{C}_{\rm d} &= \bm{C} \end{align}