Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1© 2015 The MathWorks, Inc.
実験データを活用したモデリング手法
MathWorks Japan
アプリケーションエンジニアリング部 制御
張 莉
2
仮想環境
制御装置
実環境
制御対象
プラントモデル(制御対象モデル)
制御モデル
はじめに:モデルベースデザイン
構想・設計・試作・検証といった一連の開発プロセスにモデルを活用した開発手法
3
プラントモデルの作成方法
物理特性ベース(1D, 3D)
1
323
1
)(
2
2
23
ss
sss
s
sHCAD/CAE
教科書
マルチ物理ドメインシミュレーション モデル
実験・シミュレーションデータベース
データドリブンモデリング第一原理モデリング
4
データドリブンモデリング第一原理モデリング 統一モデリング環境
MATLAB®/Simulink®は、統一モデリング環境を提供
ニューラルネットワーク
物理モデリング
システム同定
パラメータチューニング
プログラミング
ブロック線図
数式処理
統計的手法(MATLAB)
(Simulink)
(Symbolic MathToolbox)
(Simscapeなど)
(Neural NetworkToolbox)
(Model BasedCalibration Toolbox)
(Simulink Design Optimization)
(System Identification
Toolbox)
5
モデル作成によくある課題
モデリング対象の構造が未知– 外部調達品、black box system
モデリング対象は物理法則で表現することが困難– 膨大なシステム、専門知識不足
モデリング対象の構造が既知だが未知パラメータがある– 摩擦、乱流、無駄時間
細かいモデルを作成する時間がない
精度を保ちつつ高速度なプラントモデルが欲しい
etc..
6
実験データベースのモデリング手法とは?
実験データを用いて、プラントの数式モデルやパラメータを推定する方法
素早くモデルを作成できる
細かい専門知識が不要
精度を保ちつつ、高速度なモデルができる
7
アジェンタ
システム同定によるBlack Boxシステムのモデリング
パラメータ推定によるモデル精度向上
制御設計との連携Optimizer
Model
8
入力信号: 印加電圧
0 1 2 3 4 5 6 7 80
500
1000
1500
2000
2500
3000
y1
Input and output signals
0 1 2 3 4 5 6 7 8-0.5
0
0.5
1
1.5
2
Time
u1
出力信号: 回転速度
0 1 2 3 4 5 6 7 80
500
1000
1500
2000
2500
3000
y1
Input and output signals
0 1 2 3 4 5 6 7 8-0.5
0
0.5
1
1.5
2
Time
u1
システム同定とは?
システム数式モデル
対象の入出力データから、ある目的のもとで、対象と同一であることを証明できるような何らかの数学モデルを作成すること
※ 線形システム同定理論はLennart Ljung 博士によりほぼ体系づけられたLennart Ljung : System identification – Theory for the Users – (1999)
9
目的:制御設計、異常診断、信号処理、画像解析、etc.
同一(Identification):・プラントとの完全一致は不可能・制御系を構成する上で重要な特性が表現できていること
数学モデル:・伝達関数モデル・状態空間モデル・多項式モデル・非線形モデルetc.
システム同定とは?
対象の入出力データから、ある目的のもとで、対象と同一であることを証明できるような何らかの数学モデルを作成すること
10
MATLAB/Simulinkにおけるシステム同定:System Identification Toolbox™
※ このツールボックスの主な設計は、システム同定の分野で世界的な権威である Lennart Ljung 博士によるものです。
11
システム同定の基本的な流れ
入出力データの収集、前処理
システム同定
モデル妥当性の検証
同定結果を出力
12
1.入出力データをimport、前処理 2.システム同定
4.同定結果を出力
システム同定の基本的な流れ
3.モデル妥当性の検証
13
デモ①:電気モーターのシステム同定
入力信号: 印加電圧
出力信号: 回転速度
実機数式モデル
0 1 2 3 4 5 6 7 80
500
1000
1500
2000
2500
3000
y1
Input and output signals
0 1 2 3 4 5 6 7 8-0.5
0
0.5
1
1.5
2
Time
u1
0 1 2 3 4 5 6 7 80
500
1000
1500
2000
2500
3000
y1
Input and output signals
0 1 2 3 4 5 6 7 8-0.5
0
0.5
1
1.5
2
Time
u1
14
Step 1 :入出力データの収集、前処理
入力信号(周波数特性・振幅特性)を選定
– 対象のすべてのモードを励起したいため、ほとんどすべての周波数成分を持っている信号は望ましい
サンプリング周期を選定
– ステップ応答から決定: 同定対象の立ち上がり時間の間に5~8サンプル点が入るぐらいの間隔を
サンプリング周期にする
– 周波数応答から決定: 同定対象のバンド幅の10倍程度
Tip: 「advice」関数の活用・信号の励起レベルとモデル階数への影響・オフセットと線形トレンドの除去に意味があるかどうか・データの中に出力フィードバックの兆候はあるかどうか・線形ARXモデルより非線形ARXモデルを使用した方がいいかどうか
15
選択可能な前処理:・チャネル選択・実験の選択・実験のマージ・データ範囲選択・平均値の除去・トレンドの除去・フィルター・リサンプル・データの変換・クイックスタート
前処理:同定に必要な情報を取り出し、必要ないものを除去
Step 1 :入出力データの収集、前処理
16
Step 2 : システム同定
1.モデルの構造を選択
一番難しい問題。
モデル構造によって、モデリングの結果が大きく変わる。
試行錯誤 が必要な場合が多い。
2.その構造の最適なモデルを求める
⇒ これこそ、System Identification Toolboxの役目!
17
Step 2 : システム同定
同定したいモデルのタイプを選択・伝達関数モデル・状態空間モデル・プロセスモデル・多項式モデル・非線形モデル・スペクトルモデル・相関モデル・既存モデル改良・クイックスタート
同定用データ
18
Tip1. 無駄時間を加味して同定
無駄時間入力が遅れて伝わる時間
角度
時間
制御入力
無駄時間
←無駄時間を加味←無駄時間なし
0.1秒の無駄時間を加味して同定
19
Tip2. 状態空間モデルの次数を自動選択Order selectionを使用し、同時に多くの次数をテストできます
最適なモデル次数
X軸:モデルの次数Y軸:特異値の対数
1次から10次までの状態空間をテストする
20
Step 3: モデル妥当性の検証
検証用データ
同定出力(青)と検証データ(黒)のFit 率 を表示
※
: 検証データ: y の平均値: 同定出力
同定データと別のデータを利用して、モデルを評価
21
推定と評価の重要性
どんなデータでも、パラメータを増やせば、モデルの誤差がゼロに収束する。
同じシステムの、他のデータを利用して、モデルを評価する必要がある。
誤差
モデルのパラメータ数
学習データ
評価データデモ②: 新しいデータを利用して、電気モーターのモデルを評価する
22
Step4.同定結果を出力
同定結果をWorkspaceやLTI Viewerに出力し、MATLAB/Simulink上でシステム解析/制御設計などに活用
23
Tip. 同定結果をWorkspace出力した後、Simulink上で活用する例 ①
System Identification Toolboxのブロックを利用
Workspace上の同定モデルをSimulink上に読込み、シミュレーションを実行可能
24
Tip. 同定結果をWorkspace出力した後、Simulink上で活用する例 ②
Simulinkの基本ブロックを利用
Simulink上で状態空間モデルを表現
状態空間以外、伝達関数や、ゼロ-極モデルも表現可能
状態空間の係数をモデルに入力
25
応用例
産業用ロボット アームのモデル化 (標準サンプル)
車両運動システムのモデル化 (標準サンプル)
2 タンク システムのモデル化 (標準サンプル)
26
アジェンタ
システム同定によるBlack Boxシステムのモデリング
パラメータ推定によるモデル精度向上
制御設計との連携Optimizer
Model
27
Simulink Design OptimizationTM
実験データを用いた制御対象パラメータ推定
期待出力値による制御パラメータ調節
System Identification Toolbox 入出力値から線形/非線形
動的モデルを同定 同定のための前処理/後処理
グレーボックス・モデル
数式・パラメータが一部不明
ダンパ要素(c)が不明
ブラックボックス・モデル
数式・パラメータが不明
何も分からない
28
スロットルシステムのモデリング図
バタフライバルブイナーシャ:J
トルク:T(DCモータ)
減衰係数:c
バネ定数:k剛性:Kh
角度
例題:スロットルシステムのパラメータ推定
スロットルの概略構成図
DCモータ バタフライバルブ
ポジションセンサー
管
モータの応答遅延
バネ定数
バルブ慣性
減衰係数
29
プラントの入出力実験データ
ファイルIO
0 0.1 0.2 0.3 0.4 0.510
20
30
40
50
60
70
80
90
100
Time
Am
pli
tud
e
最適化によるパラメータ推定
結果検証データ前処理
• トレンド除去• フィルタリング• 異常値の間引き等
• 実機データとシミュレーションの比較
• 残差プロット
最適化ソルバ―
Optimization ToolboxTM(必須)
Global OptimizationToolboxTM (推奨)
Simulinkモデル
統合化されたGUISimulink Design Optimization
プラントモデルのパラメータ推定Simulink Design Optimization
※ Parallel Computing ToolboxTMにより計算を高速化することも可能
30
実験データの導入と前処理
Excel, CSV, ASCII ファイルから直接導入可能
前処理
オッフセットの除去
フィルターでノイズ除去
データのリサンプリング
etc.
31
パラメータ推定の設定と実行
モデルの異なる部分の複数パラメータを推定可能
推定結果の検証
Parallel Computing Toolboxと併用で高速化可能
32
パラメータ推定 使用可能な最適化手法
メソッド アルゴリズム 使用関数 使用Toolbox
非線形最小二乗(デフォルト)
• 信頼領域法(デフォルト)• レーベンバーグ・マルカート法
lsqnonlin Optimization Toolbox
勾配降下 • 有効制約法(デフォルト)• 内点法• 信頼領域法
fmincon Optimization Toolbox
パターン探索 探索法• なし• Positive Basis Np1• Positive Basis 2N• 遺伝的アルゴリズム• ラテン超方格• Nelder-Mead法
patternsearch Global Optimization Toolbox
シンプレックス探索 fminsearch Global Optimization Toolbox
33
応用例
バッテリーのパラメータ推定 4:48 (ビデオ)
油圧システムのパラメータ推定 3:22 (ビデオ)
倒立振子のパラメータ推定 (標準サンプル)
Em(SOC,T)
+
-
C1(SOC,T)
R0(SOC,T)R1(SOC,T)
+
-
V
I
0 0.5 1 1.5 2 2.5 33.6
3.7
3.8
3.9
4
4.1
4.2
Time (hours)
Vo
lta
ge
電圧
面積A 面積B
面積V
未知パラメータ
34
アジェンタ
システム同定によるBlack Boxシステムのモデリング
パラメータ推定によるモデル精度向上
制御設計との連携Optimizer
Model
35
アクチュエータ
センサー
物理システム
制御対象
制御器
モデルを用いた制御システム設計
+-
フローチャート状態遷移図
数式
既存Cコード
ECUC/HDL
36
制御設計との連携
目標値 制御量
C+-
x_ref xP
Simulink Design Optimization
最適化による制御パラメータ自動調整
1
System Identification Toolbox
システム同定とPID自動調整の併用
2
Simulink Control
DesignTM
オンライン推定と適応制御
3
System Identification Toolbox
Model Predictive Control ToolboxTM
Optimizer
Model
37
設計仕様
最適化による制御パラメータ自動調整
最適化ソルバ―
Optimization Toolbox (必須)
Global OptimizationToolbox (推奨)
統合化されたGUI (sdotool)Simulink Design Optimization
• 応答上下限値• ステップ応答特性• トラック参照信号
最適化の実行(応答最適化)
Simulinkモデル
・設計変数・最適化オプション
設計仕様定義ブロック
※ Parallel Computing Toolboxにより計算を高速化することも可能
1
38
調整したい制御パラメータを指定3
プラントのバラつきを指定2
応答波形に制約条件を付加1
例題:モータ応答の最適化
速度
電流
39
例題:モータ応答の最適化
モーター電流 モーター速度
速度制御器(PI制御器) 比例ゲイン Kp
積分ゲイン Ki
40
様々な制約条件による応答の最適化
時間応答 任意境界線 参照波形追従
41
応用例
飛行制御システムを最適化する 4:53 (ビデオ)
最適サスペンションシステム性能 6:41 (ビデオ)
風力タービンのブレードピッチ制御システムの最適化 4:32 (ビデオ)
42
システム同定とPID自動調整の併用
+-
目標値
Yref
操作量
U
制御量
Y
IN OUT
× ?制御器 制御対象
2
43
例題:不連続要素を含むシステムの補償器設計
PWM要素(線形化できない)
補償器
44
ソリューション:システム同定と併用した制御パラメータの自動調整
1 シミュレーションデータを利用したシステム同定で、プラントを線形化
プラントの同定結果
45
ソリューション:システム同定と併用した制御パラメータの自動調整
2 PID調整器を利用し、制御パラメータを自動調整
不連続要素を含むシステムの補償器設計にも、自動調整が適用可能に!
46
オンライン推定とは? オフライン推定: データを収集し、後で処理
オンライン推定: データを取得しながら処理を行う
オンライン推定と適応制御3
適応制御とは? 時々刻々と変化する制御対象の特性に合わせて、
制御装置の制御定数を変化させ制御を行う方式
オンライン推定
プラント適応制御
外乱に影響を受けやすいシステムや、不確定性を持っているシステムに対して、高い制御性能を発揮できる
47
オンライン推定機能
プラントの回帰モデルを内蔵 線形回帰モデル(ARX)、 疑似線形回帰モデル(ARMAX)、の係数を時々刻々と推定する
プラントの回帰モデルを外部に自作最小二乗法を用いて、 線形回帰モデルの係数を時々刻々と推定する
線形回帰モデル
System Identification ToolboxはR2014aから、オンライン推定用のブロックが追加
48
適応型モデル予測制御(Adaptive MPC)機能
制御器の状態を更新するため、ビルトインの状態観測器 (LTV カルマンフィルタ)を使用
ワークフローは簡単– 初期操作点で、MPC制御器を設計
– 適応型MPCブロックに入れる
– 実行時、モデルのinポートを経由して
プラントモデルを更新
Model Predicative Control ToolboxはR2014bから、適応型MPCブロックが追加
49
例題:連続攪拌タンク反応器(CSTR)の制御設計
目的:反応器温度(Y2)が目標に対していい追従性を保つこと
供給温度(測定された外乱)
供給濃度(定数)
反応物Aの濃度反応器温度
冷却水温度(操作変数)
オンライン推定
適応型MPC
プラント
50
従来型 MPC
例題:連続攪拌タンク反応器(CSTR)の制御設計
適応型 MPC
※もっと詳しく知りたい方へ:オンライン推定と適応制御のWebセミナー
― 反応器温度目標値― 反応器温度― 供給温度(外乱)― 冷却水温度(操作変数)
51
まとめ
物理法則で表現することが困難なシステム、または未知パラメータが存在するシステムに対して、実験データを活用したモデリング手法は有効な手段です。
素早くモデルを作成できる
細かい専門知識が不要
精度を保ちつつ、高速度なモデルができる
52
© 2015 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of
The MathWorks, Inc. See www.mathworks.com/trademarks for a list of additional
trademarks. Other product or brand names may be trademarks or registered
trademarks of their respective holders.
Accelerating the pace of engineering and science