35
1 © 2012 The MathWorks, Inc. モデルベースデザイン・制御系設計のため のシステム同定入門 Teja Muppirala

Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

1 © 2012 The MathWorks, Inc.

モデルベースデザイン・制御系設計のためのシステム同定入門

Teja Muppirala

43

22

ss

st

y(t

)

Page 2: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

2

実行可能な仕様書

コード生成に

よる実装

連続した

テスト・検証 モデル

シミュレー

ションに

よる設計

モデルベースデザイン…

正確なモデルがあることが

大前提

Page 3: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

3

動的システムのモデリング

データドリブンモデリング 第一原理モデリング

Simscape

SimMechanics

SimHydraulics

SimPowerSystems

SimDriveline

SimElectronics

Simulink

モデリング手法

Neural Network Toolbox

Simulink Design

Optimization

System Identification

Toolbox

Page 4: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

4

実際のシステム

・補助翼

・推力

・速度

・ピッチ

入力 出力 システム

Page 5: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

5

モデル

入力 出力 u y

u, y:計測された信号

(時間領域もしくは周波数領域)

・補助翼

・推力

・速度

・ピッチ

モデル

𝑥 𝑡 + 1 = 𝐴𝑥 𝑡 + 𝐵𝑢(𝑡)

𝑦 𝑡 = 𝐶𝑥 𝑡

Page 6: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

6

システムとモデル

システム

モデル

+

- 最小化

誤差 入力値

Page 7: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

7

モデルの推定と比較

モデルのパラメータを調節することにより、モデルの誤差を最小化する

DEMO: 電気モーター 入力信号: 印加電圧

出力信号: 速度(回転数)

Page 8: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

8

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 9: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

9

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 10: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

10

推定と評価の重要性

どんなデータでも、パラメータを増やせば、モデルの誤差がゼロに収束する。だから、同じシステムの、他のデータを利用して、モデルを評価する必要がある。

誤差

モデルのパラメータ数

学習データ

評価データ

DEMO: 新しいデータを利用して、電気モーターのモデルを評価する

Page 11: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

11

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 12: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

12

システム同定のプロセス

実験データを収集

データからモデルを推定 – モデルの構造を 選択

– その構造の パラメータを推定

別のデータセットを 利用したモデルの性能評価

システム

モデル

𝑥 𝑡 + 1 = 𝐴𝑥 𝑡 + 𝐵𝑢(𝑡)

𝑦 𝑡 = 𝐶𝑥 𝑡

Input data Output dataReal System

Gather Sets of Experimental Data

Input data

Outut data

Estimated SystemSystem Identification Toolbox

Estimate Mathematical Model of System

Input data

Validate Mathematical Model of System

Estimated System

Real System

Compare Real

and Estimated

Outputs

Page 13: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

13

さまざまの形のデータ

– サンプルされた時系列 IDDATA

– 周波数領域で得られたデータIDFRD

“いい” 入力信号が必要

– サンプリング周波数がシステムに合っているか?

– 入力は、システムを十分に励起しているか?

– 入力信号を自動的に生成する IDINPUT

データのプリプロセシング

– トレンドやDCオフセットを除去 DETREND

– 異常値を除去 MISDATA

– ノイズを除去 IDFILT

入出力データを収集 入出力データ の収集

モデルの構造を 選択

その構造の最適な モデルを求める

モデルを評価する

Page 14: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

14

一番難しい問題

– モデル構造によって、モデリングの結果が大きく変わる

構造が多数ある

– 伝達関数, 状態空間, ARX, 非線形ネットワーク,…

IDTF, IDSS, IDROC, IDNLARX, IDNLHW, IDPOLY, IDGREY,…

どれを使うか?

– 過去の経験

– 何より試行錯誤!

モデルの構造を選択 入出力データ の収集

モデルの構造を 選択

その構造の最適な モデルを求める

モデルを評価する

Page 15: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

15

入出力データ の収集

モデルの構造を 選択

その構造の最適な モデルを求める

モデルを評価する モデルのパラメータを決定する

– これこそ、System Identification Toolboxの役目! TFEST, SSEST, ARX, ARMAX, OE, PEM, NLARX, …

その構造の最適な モデルを求める

Page 16: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

16

入出力データ の収集

モデルの構造を 選択

その構造の最適な モデルを求める

モデルを評価する いろいろ試したあと、モデルを選択する

– モデルの構造・サイズ・遅れ

システム同定で得られたモデルに納得できるか?

– シミュレーションでモデルの出力を確認 SIM, COMPARE

– 残差、不確かさの解析…

RESID, SIMSD, BODE, STEP, PZMAP, …

モデルを評価する

Page 17: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

17

システム同定のプロセス

データ収集

モデル構造の 選択

最適モデル の計算

評価

Page 18: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

18

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 19: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

19

System Identification Toolboxで

利用可能なモデル構造

• 線形パラメトリック

• 伝達関数

• 状態空間

• プロセスモデル

•線形ノンパラメトリック

• インパルス応答モデル IMPULSE, STEP

• 周波数応答モデル SPA, SPAFDR, ETFE

•非線形 NLARX, NLHW

Page 20: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

20

伝達関数(TF)と状態空間(SS)モデル

線形モデルは、伝達関数か状態空間としてモデル化することが多い

状態空間

Number of states: n

𝑥 𝑡 + 1 = 𝐴𝑥 𝑡 + 𝐵𝑢(𝑡)

𝑦 𝑡 = 𝐶𝑥 𝑡

両方とも、入力(u)と出力(y)の間の線形微分方程式を 書く手法である

伝達関数

B-order: nb (zeros)

F-order: nf (poles)

𝑌 𝑧 = 𝐵(𝑧)

𝐹(𝑧)𝑈(𝑧)

Page 21: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

21

TF/SS モデルの遅れ

入力に対して出力が反応するまでの時間

nk サンプルの遅れ

y

u

nk

時間

𝑦 𝑡 = 𝐶𝑥 𝑡

𝑥 𝑡 + 1 = 𝐴𝑥 𝑡 + 𝐵𝑢 𝑡 − 𝑛𝑘

𝑌 𝑧 = 𝐵(𝑧)

𝐹(𝑧)𝑧−𝑛𝑘𝑈(𝑧)

状態空間

伝達関数

線形パラメトリックモデルの構造は、ポールの数 np 、ゼロの数nz 、遅れ nk で定義される

デモ: 遅れを含めた伝達関数を見てみよう

Page 22: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

22

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 23: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

23

残差の解析

DEMO: 残差解析

System

Model

+

-

残差 input e(t

)

t

いいのか

残差の自己相関 入力と残差の相互相関

残差 シミュレーションの誤差

いいモデルは

残差に相関がない

Page 24: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

24

System Identification Toolboxで

利用可能なモデル構造

• 線形パラメトリック

• 伝達関数

• 状態空間

• プロセスモデル

•線形ノンパラメトリック

• インパルス応答モデル IMPULSE, STEP

• 周波数応答モデル SPA, SPAFDR, ETFE

•非線形 NLARX, NLHW

Page 25: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

25

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 26: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

26

ノンパラメトリック モデル

線形システムの特性を、曲線で完全に説明することができる:

– 過渡応答 (インパルス応答、ステップ応答)

– 周波数応答

データから簡単に直接推定することができる

モデルを作成する前に、システムの基本的な特性が分かる

Page 27: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

27

過渡応答

インパルスやステップ入力に対する、時間応答

システム u y

Page 28: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

28

周波数応答

線形システムは、正弦波を入力すれば、同じ周波数の正弦波が出力される

ボード線図で表現できる

DEMO: 電気モーターのノンパラメトリック システム同定

システム u y

Page 29: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

29

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 30: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

30

モデルの不確かさ

推定されたモデルは、外乱の影響で不確かさがある

– 他のデータセットを利用すれば、推定の結果が違う

モデルの不確かさを定量的に信頼区間として表示することができる

DEMO: 作成されたモデルの信頼区間を表示

Page 31: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

31

アジェンダ

1. Introduction

2. モデル推定

3. モデル評価

4. システム同定のワークフロー

5. 線形パラメトリックモデル

6. 残差解析

7. ノンパラメトリック法

8. 不確かさ解析

9. 次のステップ

Page 32: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

32

モデルを推定した後

システムの挙動を理解し、さまざまな入力に対しての応答の

シミュレーションを行う

Simulinkにブロックとして

インポートできる

制御系設計:Simulink Design

Optimization, SISOTOOLや、

MPC Toolboxなど

Page 33: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

33

制御系設計

システム

モデル

電流 位置

位置決め制御

コントローラ

Control System Toolbox

Simulink Control Design

Robust Control Toolbox

Model Predictive Control Toolbox

Page 34: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

34

複雑なシステムをより簡単にモデル化する

データ モデル

• Simulinkのデータを利用して、システム同定を行う

Page 35: Introduction to System Identification - MathWorks...12 システム同定のプロセス 実験データを収集 データからモデルを推 定 –モデルの構造を 選択

35

動的システムのモデリング

データドリブンモデリング 第一原理モデリング

Simscape

SimMechanics

SimHydraulics

SimPowerSystems

SimDriveline

SimElectronics

Simulink

モデリング手法

Neural Network Toolbox

Simulink Design

Optimization

System Identification

Toolbox

ご清聴ありがとうございました