Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
コントローラの形式:状態フィードバック
P-D コントローラ
目標値
…… アームの P-D
…… 振子の P-D
状態フィードバック制御
回転型クレーン
コントローラ
で
状態フィードバック制御
回転型クレーン
コントローラ
>> rotary_para;
>> h = 0.01; Tf1 = 0.02; Tf2 = 0.05;
>> K = [-10 -10 0 0];
sfbk_crane.slx
状態フィードバック制御
各自で適当にゲイン
ただし,
:アームの比例ゲイン
:振子の比例ゲイン
を与えてみよう
:アームの微分ゲイン
:振子の微分ゲイン
状態フィードバック制御
動画:NXT_crane.wmv
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
7.2 節(7.2.2)
モデルベース設計
シミュレーション
評価
実機実験
評価
モデリング
コントローラ設計
開始
終了
Good
Good
Bad
Bad
状態方程式の導出
振子
アーム
振子の角度の基準:真下
振子を真下で静止(振子の振れ止め)
安定
状態方程式の導出
振子
アーム
線形近似 (近似線形化)
状態方程式の導出
振子
アーム
非線形補償
状態方程式の導出
振子
アーム
状態変数:アームの角度
:振子の角度
:アームの角速度
:振子の角速度
状態方程式の導出
状態方程式の導出
状態方程式の導出
状態方程式
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
7.4 節(7.4.1)(7.4.2)
コントローラの形式:状態フィードバック
P-D コントローラ
…… アームの P-D
…… 振子の P-D
目標値
コントローラの形式:状態フィードバック
状態フィードバック形式のコントローラ
状態フィードバック制御 状態方程式
コントローラ
状態フィードバック制御
閉ループ系
状態フィードバック制御
閉ループ系の解
閉ループ系
微分信号のラプラス変換
:遷移行列 (行列指数関数)
遷移行列 (行列指数関数) の求め方:例 1
遷移行列 (行列指数関数)
の固有値 (システムの極)
特性方程式
の解 (互いに異なる負の実数)
遷移行列 (行列指数関数) の求め方:例 1
遷移行列 (行列指数関数)
遷移行列 (行列指数関数) の求め方:例 1
の固有値 (システムの極)
(互いに異なる負の実数)
振動せずに収束
遷移行列 (行列指数関数) の求め方:例 2
遷移行列 (行列指数関数)
の固有値 (システムの極)
特性方程式
の解 (実部が負の共役複素数)
遷移行列 (行列指数関数) の求め方:例 2
遷移行列 (行列指数関数)
遷移行列 (行列指数関数) の求め方:例 2
の固有値 (システムの極)
(実部が負の共役複素数)
実部:収束の速さ 虚部:振動周期
振動しながら収束
システムの極と時間応答
の固有値: (実数)
漸近安定性
の固有値の実部がすべて負
で
の固有値: (共役複素数)
過渡特性
固有値の実部が負側に大きい
固有値の虚部が大きい
収束が速い
振動周期が短い
システムの極と時間応答
の固有値
Im
Re
0
収束が速くなる
振動周期が短くなる
コントローラの設計:極配置法
極配置法
制御対象
が与えられたとき, の極 が指定した値 となるようにコントローラ
を設計
MATLAB 関数:acker, place
コントローラの設計:極配置法
rotary_crane_acker1.m
コントローラの設計:極配置法
rotary_crane_acker1.m
rotary_crane_acker2.m
rotary_crane_acker3.m
設計例 1
設計例 2
設計例 3
状態フィードバック制御
>> rotary_crane_acker1
sfbk_crane.slx
>> rotary_crane_acker2
>> rotary_crane_acker3
注)離散化の方法:双一次変換
制御なし
動画:NXT_crane_free.wmv
状態フィードバック制御(極配置)
動画:NXT_crane_acker1.wmv
設計例 1
状態フィードバック制御(極配置)
動画:NXT_crane_acker2.wmv
設計例 2
状態フィードバック制御(極配置)
動画:NXT_crane_acker3.wmv
設計例 3
状態フィードバック制御
各自で適当に固有値
を指定してみよう
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
7.5 節(7.5.1)(7.5.2)
コントローラの設計:最適レギュレータ
極配置法の問題点
固有値の選び方が不明瞭
振子の収束性を変えずにアームの収束性を向上させるには
各状態 の収束性を定量的に評価
入力の大きさは
入力 の大きさを定量的に評価
コントローラの設計:最適レギュレータ
状態 の収束の速さの評価
の 0 への収束が速い
二乗面積
が小さい
コントローラの設計:最適レギュレータ
入力 の大きさの評価
のエネルギー消費の抑制
二乗面積
が小さい
コントローラの設計:最適レギュレータ
: (アーム角度) の収束性
: (振子角度) の収束性
: (アーム角速度) の収束性
: (振子角速度) の収束性
: のエネルギー消費の抑制
コントローラの設計:最適レギュレータ
重みの選び方
評価関数
: の収束性に関する重み
・・・・・・ 大きな値に選ぶと の収束性を重視
: の消費エネルギーに関する重み
・・・・・・ 大きな値に選ぶと の消費エネルギーの抑制を重視
コントローラの設計:最適レギュレータ
評価関数
コントローラの設計:最適レギュレータ
最適レギュレータ問題
制御対象
と重み が与えられたとき,評価関数が
を設計
となるようにコントローラ
MATLAB 関数:lqr
コントローラの設計:最適レギュレータ
を最小化する を設計
rotary_crane_lq1.m
状態フィードバック制御
>> rotary_crane_lq1
sfbk_crane.slx
>> rotary_crane_lq2
>> rotary_crane_lq3
>> rotary_crane_lq_final
状態フィードバック制御(最適レギュレータ)
rotary_crane_lq1.m
1 に固定することが多い
設計例 1
状態フィードバック制御(最適レギュレータ)
動画:NXT_crane_lq1.wmv
設計例 1
状態フィードバック制御(最適レギュレータ)
アームの収束が遅いので,
アーム角
の重み を大きくする
設計例 1
設計例 2
設計例 1
状態フィードバック制御(最適レギュレータ)
rotary_crane_lq2.m
設計例 2
負側に大きくなった!
状態フィードバック制御(最適レギュレータ)
動画:NXT_crane_lq2.wmv
設計例 2
状態フィードバック制御(最適レギュレータ)
設計例 2
振子の収束が遅くなった
ので,振子角
の重み を大きくする
設計例 3
設計例 2
状態フィードバック制御(最適レギュレータ)
rotary_crane_lq3.m
設計例 3
負側に大きくなった!
状態フィードバック制御(最適レギュレータ)
動画:NXT_crane_lq3.wmv
設計例 3
まずまずの結果
状態フィードバック制御(最適レギュレータ)
rotary_crane_lq_final.m
設計例 4 最後に重みを微調整
状態フィードバック制御(最適レギュレータ)
動画:NXT_crane_lq_final.wmv
設計例 4
状態フィードバック制御
各自で適当に重み
を与えてみよう
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
7.2 節(7.2.1)
回転型倒立振子の数学モデル:状態方程式
振子
アーム振子を真上で安定化
線形近似 (近似線形化)
不安定
回転型倒立振子の数学モデル:状態方程式
振子
アーム
非線形補償
回転型倒立振子の数学モデル:状態方程式
振子
アーム
状態変数
回転型倒立振子の数学モデル:状態方程式
状態方程式
回転型クレーン/倒立振子の制御 回転型クレーンの制御
状態方程式
回転型倒立振子の制御
状態方程式
コントローラ設計
コントローラ設計 (極配置法)
コントローラ設計 (最適レギュレータ)
7.4 節(7.4.3)
7.5 節(7.5.3)
状態フィードバック制御
rotary_ip_acker.m
極配置法
最適レギュレータ
rotary_ip_lq.m
の固有値:
状態フィードバック制御
ビープ音が鳴ったら 10 秒以内に振子を手動で真上に
>> rotary_ip_acker
>> rotary_ip_lq
sfbk_ip.slx
状態フィードバック制御 (最適レギュレータ)
非線形補償 あり 非線形補償 なし
振動抑制
動画:NXT_ip_lq1.wmv 動画:NXT_ip_lq2.wmv