回転型クレーン 倒立振子の制御...動画:NXT_crane_lq3.wmv 設計例3 まずまず...

Preview:

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

Recommended