Microsoft Word - ClassicalControl_Matlab.doc

Similar documents
The open source platform for numerical computation

Microsoft PowerPoint - ce07-13b.ppt

Microsoft Word - ModernControl_Matlab.doc

Microsoft PowerPoint - chap8.ppt

Microsoft Word - ModernControl_Scilab.doc

Microsoft PowerPoint - H22制御工学I-10回.ppt

Microsoft PowerPoint - ce07-12c.ppt

Microsoft PowerPoint - ce07-09b.ppt

航空機の運動方程式

Microsoft PowerPoint - H22制御工学I-2回.ppt

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (

Microsoft PowerPoint - 6.PID制御.pptx

PowerPoint プレゼンテーション

システム工学実験 パラメータ推定手順

2012 September 21, 2012, Rev.2.2

Introduction to System Identification

Microsoft PowerPoint - ce07-04e.ppt

第 11 回 R, C, L で構成される回路その 3 + SPICE 演習 目標 : SPICE シミュレーションを使ってみる LR 回路の特性 C と L の両方を含む回路 共振回路 今回は講義中に SPICE シミュレーションの演習を併せて行う これまでの RC,CR 回路に加え,L と R

Microsoft Word - 第9章 PID制御.doc

Microsoft Word - Matlab使用法

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

(Microsoft Word - PLL\203f\203\202\216\221\227\277-2-\203T\203\223\203v\203\213.doc)

PowerPoint プレゼンテーション

Microsoft Word - 実験テキスト2005.doc

Microsoft PowerPoint - 15ROC_R_R2.pptx

Microsoft Word MATLAB制御系設計基礎.doc

Microsoft PowerPoint - EXPO2012_AKASAKA_rev.2.pptx

第 4 週コンボリューションその 2, 正弦波による分解 教科書 p. 16~ 目標コンボリューションの演習. 正弦波による信号の分解の考え方の理解. 正弦波の複素表現を学ぶ. 演習問題 問 1. 以下の図にならって,1 と 2 の δ 関数を図示せよ δ (t) 2

Microsoft Word - NumericalComputation.docx

Microsoft PowerPoint - spe1_handout10.ppt

Microsoft Word - 第2章 ブロック線図.doc

MATLAB説明

Microsoft PowerPoint - spe1_handout11.ppt

ToDo: 今回のタイトル

<4D F736F F D208D5C91A297CD8A7793FC96E591E631318FCD2E646F63>

Clipboard

マニュアルの表記 呼称について本マニュアルでは以下の呼称を使用しています DataNature Smart 管理ツール :DN 管理ツール DataNature Smart クライアント :DN クライアント 画面に表示されるコマンド名などの文字コマンド名やダイアログボックス名など 画面上の固有の文

データ解析

eq2:=m[g]*diff(x[g](t),t$2)=-s*sin(th eq3:=m[g]*diff(z[g](t),t$2)=m[g]*g-s* 負荷の座標は 以下の通りです eq4:=x[g](t)=x[k](t)+r*sin(theta(t)) eq5:=z[g](t)=r*cos(the

周波数特性解析

Microsoft Word - 知能機械実験・実習プリント_ docx

CONTENTS マニュアルの表記... S01-13_01 1.DataNature Smart 全体概要図... S01-13_11 2. 基本操作... S01-13_ Web レポートの表示... S01-13_ 画面構成... S01-13_ 集計表 /

RLC 共振回路 概要 RLC 回路は, ラジオや通信工学, 発信器などに広く使われる. この回路の目的は, 特定の周波数のときに大きな電流を得ることである. 使い方には, 周波数を設定し外へ発する, 外部からの周波数に合わせて同調する, がある. このように, 周波数を扱うことから, 交流を考える

正誤表(FPT1004)

運動解析プログラム

GSLetterNeo vol 年 7 月 形式手法コトハジメ TLA + Toolbox を使って (2)- 熊澤努 sra.co.jp はじめに GSLetterNeo Vol.130 で TLA + Toolbox を紹介しました 今回からより詳しく T

DVIOUT

スライド 1

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

補足資料

理工学図書館後期 LS 講習会 きれいなグラフを作ろう! gnuplot 入門

2018 年 5 月 31 日版 知能機械実験 実習 Ⅳ Ⅳ-1. 制御工学実験 1. 実験概要と目的 ロボットをはじめとするメカトロニクス機器において 高度な動作を実現している背景には 制御技術がある 制御とは 物体の運動を意図した位置や速度で動かす技術である 精度の高い制御を行うためには 正しく

DVIOUT

初めてのプログラミング

Microsoft PowerPoint - MATLABの使い方.ppt

Microsoft Word - H26mse-bese-exp_no1.docx

板バネの元は固定にします x[0] は常に0です : > x[0]:=t->0; (1.2) 初期値の設定をします 以降 for 文処理のため 空集合を生成しておきます : > init:={}: 30 番目 ( 端 ) 以外については 初期高さおよび初速は全て 0 にします 初期高さを x[j]

PowerPoint Presentation

Taro-Basicの基礎・はじめに(公

オペアンプの容量負荷による発振について

Microsoft Word - VB.doc

pp2018-pp9base

s とは何か 2011 年 2 月 5 日目次へ戻る 1 正弦波の微分 y=v m sin ωt を時間 t で微分します V m は正弦波の最大値です 合成関数の微分法を用い y=v m sin u u=ωt と置きますと dy dt dy du du dt d du V m sin u d dt

目次 第 1 章はじめに 取扱いについて 記載内容について... 6 第 2 章基本操作 Excel Online を開く ファイル ( ブック ) を作成する ファイル ( ブック ) を開く..

Si 知識情報処理

Microsoft Word - planck定数.doc

PowerPoint プレゼンテーション

Microsoft Word - Chap17

演習2

ダウンロードページアップデートマニュアル.ppt

プログラミング基礎

Scilab 勉強会 ( 第 3 回 ) 高橋一馬, 十文字俊裕, 柏倉守 平成 17 年 11 月 15 日 関数 ファイルはエディタを用いて作成する.Scilab にはエディタ SciPad が附属している.SciPad では なく他のエディタを利用してもよい. 作成した関数は Scilab に

航空機の運動方程式

医用工学概論  Medical Engineering (ME)   3年前期の医用工学概論実習と 合わせ、 医療の現場で使用されている 医用機器を正しく安全に使用するために必要な医用工学(ME)の 基礎知識を習得する。

0.0 Excelファイルの読み取り専用での立ち上げ手順 1) 開示 Excelファイルの知的所有権について開示する数値解析の説明用の Excel ファイルには 改変ができないようにパスワードが設定してあります しかし 読者の方には読み取り用のパスワードを開示しますので Excel ファイルを読み取

実験指導書

Microsoft PowerPoint - H21生物計算化学2.ppt

JavaScriptで プログラミング

21世紀型パラメータ設計―標準SN比の活用―

Microsoft Word -

. はじめに 本文書は, ジャイロもしくは周波数発振器などの性能評価にしばしば用いられるアラン分散 について記したものである.. 目的 本文書は, アラン分散の概念及び計算方法, そして評価方法について述べ, アラン分散を 用いた解析のノウハウを習得することを目的とする 3. 参考文書 参考文書を以

多変量解析 ~ 重回帰分析 ~ 2006 年 4 月 21 日 ( 金 ) 南慶典

数値計算で学ぶ物理学 4 放物運動と惑星運動 地上のように下向きに重力がはたらいているような場においては 物体を投げると放物運動をする 一方 中心星のまわりの重力場中では 惑星は 円 だ円 放物線または双曲線を描きながら運動する ここでは 放物運動と惑星運動を 運動方程式を導出したうえで 数値シミュ

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

今日の話のメインターゲット R を ( 入れてみたが ) 使い方が分からない人 そもそも使ったことが無い人 R の存在を知らなかった人 2

Microsoft Word - VBA基礎(3).docx

アナログ回路 I 参考資料 版 LTspice を用いたアナログ回路 I の再現 第 2 回目の内容 電通大 先進理工 坂本克好 [ 目的と内容について ] この文章の目的は 電気通信大学 先進理工学科におけるアナログ回路 I の第二回目の実験内容について LTspice を用

PowerPoint Presentation

行列、ベクトル

航空機の運動方程式

Microsoft PowerPoint - 画像工学2007-2印刷用++++

Format text with styles

Microsoft Word - 第6章 H∞制御.doc

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - CSA_B3_EX2.pptx

「統 計 数 学 3」

エクセルによる数値計算と化学への応用

Microsoft Word - 操作マニュアル(PowerPoint2013)

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 )

Transcription:

MATLAB による古典制御の学習 4 年 4 月 7 日 目次. はじめに.MATLAB の導入 3. ステップ応答, インパルス応答, 一般の応答 4. とナイキスト軌跡 5. 根軌跡 6. 設計例 7. 積分器と定常偏差. はじめに 制御性能の解析や制御系設計では, 時間応答のシミュレーションや周波数応答などを数値計算し, それをグラフに表示することが必要となる. この目的に適した数値計算ツールに MATLAB/SIMULIK( 有料 ) や類似機能の Scilab( 無料 ) がある.MATLAB は広く世界の大学で用いられており, 企業の開発にも用いられている.SIMULINK はブロック線図で表された制御系のシミュレータである. ここでは,MATLAB を利用した古典制御の解析設計の入門的な内容を説明する. 章では MATLAB を導入する.3 章から5 章では, 古典制御の解析に必要なステップ応答の計算や周波数応答の表示を MATLAB で行えるようにするために,, ベクトル軌跡, 根軌跡を描画するプログラム例を示す.6 章ではこれらを用いて古典制御による制御系設計例を示す.7 章では積分器と定常偏差の関係について 次系を例に説明する. 感度関数と相補感度関数によるフィードバック制御系の特性解析法は, 下記の参考図書の 章と 章に記している. 現代制御による解析設計の入門的な内容も下記の URL に掲載している. [] 佐伯正美, 制御工学 ( 古典制御からロバスト制御へ ), 朝倉書店,3 [] http://home.hiroshima-u.ac.jp/saeki/index_ja.html 広島大学佐伯正美

.MATLAB の導入数値計算のためのプラットホーム MATLAB 行列計算を主体とした数値計算やグラフ表示ができ, レポート作成にも有用である. 使い方はコマンド入力による電卓風の使い方と一連のコマンドをファイル ( すなわちプログラム ) に入力し一度に実行する使い方がある. 制御系で用いるプログラムがツールボックスに用意されており, これらのツールを用いることで制御系の時間応答シミュレーション, 周波数特性の表示, 制御系設計などが効率よく行える... 電卓風な使い方 ( ひとつのコマンドを画面で入力し実行し結果を表示 ) )MATLAB をクリックして起動すると図 のコマンドウインドウが表示される. 図 コマンドウインドウ ) 図 のコマンドウインドウのプロンプト >> にコマンドを入力する. >> help のように入力すれば,help コマンドによりツールボックスの一覧表が表示される. 制御系設計関連のツールボックスは control control にあり, >> help control を入力すれば, 制御に用いるコマンド名が表示される. コマンド名がわかっている場合にそのコマンドの意味を知るには, >> help コマンド名 と入力する. たとえば,help コマンドの機能を知るには, >> help help と入力すればよい. 図 >> help control の実行結果

MATLAB は基本的な行列演算を高速かつ高精度に実行できる. 基本演算として, 行列の加減乗除 (+-*/) や行列式 (det), 逆行列 (inv), 固有値 (eig) の数値計算などが挙げられる. 3) 実行例 ( 直接に以下のコマンドを打ち込んでみよう.) 行列 A, ベクトル B を入力し,C=A*B,B の転置を計算. 行列 A の行列式, 固有値と固有ベクトルを計算する. 4 A, B 3 出力例 >> A=[ 4;3 ] 行列 A の入力, コロン ; は改行 A = 4 3 >> B=[;-] 列ベクトル B の入力 B = - >> C=A*B Aと B の積を C へ代入 C = -7 - >> B' ベクトル B の転置はダッシュ を使う ans = - >> det(a) 行列式の計算 ans = - >> [T,D]=eig(A) 行列 A の固有値と固有ベクトルを計算し,D と T へ代入する T = -.8 -.77.6 -.77 D = - 5 3

.. プログラムの作成と実行による使い方上記の実行例では, 以下の作業を逐次行った. これをファイルに入力し, そのファイル ( すなわちプログラム ) を実行することで, 一度に実行できる. その方法を述べる. プログラム A=[ 4;3 ] B=[;-] C=A*B B' det(a) [T,D]=eig(A) )MATLAB を起動すると図 が表示される. ) ウインドウの 新規スクリプト をクリックすると, エディター-Untitled の名前のウインドウ ( 図 ) が新たに開かれる. 3) このウインドウに上記のプログラムを入力する. 図 3 エディター -Untitled 4) 入力が終了後に, ファイルを保存する ( ファイル 別名で保存 を選択し, ファイル名をたとえば, test.m として保存する ). 5) 実行する. すなわち, コマンドウインドウで >> test と入力することにより, プログラムが実行され, 結果が表示される. 出力結果 >> test A = 4 3 B = 途中は省略する 4

D = >> - 5 5) 作成したファイル test.m を再度開いて修正したい場合には, コマンドウインドウの傍にある 現在のフォルダー の test.m をクリックすると, エディターが開く. 最初と同様に, ファイルを修正後に保存する. 3. ステップ応答, インパルス応答, 一般の応答 MATLAB の基本演算を組み合わせて各自で目的に合った応用プログラムが作成できる. 既に制御系の解析や設計などに用いるプログラム集が種々開発されており, ツールボックスとして有料あるいは無償で提供されている. 本稿では control system toolbox( 有料 ) を用いる. s y P( s) u, P( s) 3 s s 3s のステップ応答を計算し,(t, y(t)) を図示せよ. ただし, 時間 t は [,] 秒とする. プログラム stepresponse.m P=tf([ ],[ 3 ]) t=linspace(,,); y=step(p,t); figure() plot(t,y) title('step response') xlabel('time[s]') ylabel('y(t)') tf, linspace, step,plot などのコマンドの意味を知るには, コマンドウインドウにおいて, help コマンド を用いる. すなわち, >> help tf, >> help step などと入力する. プログラムの説明 ( 各コマンドの意味をコメント文 (% を先頭に書く ) で補足説明している. コメントは不要であれば書かなくても良い.) % MATLAB によるステップ応答の数値計算と表示 % システムの伝達関数 P(s) を与える P=tf([ ],[ 3 ]) % 最初のベクトルが分子係数, つぎのベクトルが分母係数 % 時間を. から 秒までで, 点のサンプル数 5

% 最後のセミコロンを省くと t の値を画面に表示する. t=linspace(,,); %P(s) のステップ応答を時間 t について数値計算し,y に結果が得られる y=step(p,t); % 横軸 t, 縦軸 y として, 結果をプロットする figure() % 図のウィンドウの番号を指定 plot(t,y) % グラフを描く xlabel('time[s]') % グラフの横軸にtimes[s] を記入 ylabel('y(t)') % グラフの縦軸にy(t) を記入 % グラフに罫線を描く 節で述べた方法でプログラムを入力し, ファイル名を stepresponse.m として保存する. そして, このファイルを実行する. 以下に復習も兼ねて手順を示す. ) MATLAB を起動する. ) コマンドエディタを用いてプログラムを入力し保存する. 図 4 プログラムの入力 3) 実行する. コマンドウインドウのメニューから >>stepresponse.sce を入力する. これでプログラムが実行され, 結果が表示される. 実行結果 >> stepresponse 伝達関数 : s + --------------------------- s^3 + s^ + 3 s + 6

図 5 ステップ応答 補足 ) インパルス応答を計算するには, y=impulse(p,t) とする. 補足 ) 一般の入力 u(t) に対して y(t) を求めるには, 時間ベクトル t に対応した入力ベクトル u(t) を与え,lsim を用いる. P=tf([ ],[ 3 ]) t=linspace(,,); u=sin(t);% 入力信号を与える y=lsim(p,u,t);% シミュレーションを行う figure() plot(t,y) xlabel('time[s]') ylabel('y(t)') 4. とナイキスト軌跡 4. の描画 P(s) のを [.,][rad/s] の周波数区間で描け MATLAB の control system toolbox で用意されているを描くプログラムは, bode である.bode(P) で直ちに描画できるが, つぎのプログラムでは周波数応答の値を求めて描画している. プログラム bode_test.m P=tf([ ],[ 3 ]) w=logspace(-,,);% サンプル周波数の設定 [gain,phase]=bode(p,w);% ゲインと位相の計算 figure() % 以下はの表示 7

subplot(,,) semilogx(w,*log(gain(:)), LineWidth,) xlabel('omega[rad/s]') ylabel('gain [db]') subplot(,,) semilogx(w,phase(:), LineWidth,) xlabel('omega[rad/s]') ylabel('phase [deg]') 結果 図 6 8

4. ナイキスト線図の描画ベクトル軌跡 ( ナイキスト軌跡 ) を表示せよ. nyquist(p) で簡単に描画できるが, つぎのプログラムでは周波数応答を求めて, 描画している. プログラム nyquist_test.m P=tf([ ],[ 3 ]) w=logspace(-,,); [realp,imagp]=nyquist(p,w); figure() %plot(realp(:),imagp(:),'linewidth',)% 周波数が正の範囲を描画 plot(realp(:),imagp(:),'k',realp(:),-imagp(:),'k--')% 周波数の正と負の範囲を描画 xlabel('real'); ylabel('imag'); 図 7 ベクトル軌跡 ( ナイキスト軌跡 ) 9

5. 根軌跡根軌跡の計算.5s 例題 P, K ( s )( s 3) s 5 で一巡ループ伝達関数が L PK のときに根軌跡を描け. 関数 rlocus を用いる. ゲイン K は から Kmax まで描く. プログラム rlocus_test.m P=tf([-.5 ],[ 4 3]) K=tf(,[ 5]) L=P*K figure() rlocus(l) 図 8 根軌跡と漸近線

6. 設計例 つぎのプラントに対して, ステップ目標値に対して定常偏差がゼロで位相余裕が 6 度と なるように Ks () を設計せよ. P ( s) ( s ) ) 定常偏差がゼロとなるにはPKが 型であることが必要. そこで, 最も簡単な積分補償とする. a K( s) s ) 位相余裕が6 度になるように, ゲイン調整し a を決める. -) 一巡ループ伝達関数 L( ただし,a=) のを描く. L ( s ) s 図 9より, 位相余裕が3 度で c.* [rad/s] である. 4 - -4-6 -8-9 -35 位相 (deg) -8-5 -7 - - 図 9 P(s) と L(s)=P(s)*(/s) の

図 に閉ループ系のステップ応答を示す. 定常偏差がゼロであるが振動的である..6 step response.4. y.8.6.4. 5 5 5 3 time[s] 図 W=L/(+L) のステップ応答 ( 位相余裕 3 度なので振動的, 定常偏差 =) -) 位相余裕を6 度とするには,L のゲインを [db] 下に移動するとよい. すなわち, a [ db]. 8 である. このとき, c.4* [rad/s] である. 4 - -4-6 -8-9 -35 位相 (deg) -8-5 -7 - - 図 K=.8/s の補償により, 位相余裕が 6 度となる.

.6 step response.4. y.8.6.4. 5 5 5 3 time[s] 図 ステップ応答の比較 ( ゲイン余裕が 3 度と 6 度の違い ) 図 では応答は振動的でないので良いが, もう少し応答を速くするように Ks () を 設計せよ. ただし, 位相余裕が 6 度で定常偏差がゼロとする. )K(s) は積分補償に位相進み補償器を追加する. 位相進み補償器は.* [rad/s] で3 度進めるものを求めると.333, T.5 となり, となる. よって, 制御器は max.5s H ( s) 3.5s.5s a K( s) 3.5s s であり, この PK による位相余裕が6 度になるようにゲイン調整すると a=.4 が得られた. よって,.5s.4 K( s) 3.5s s このときのを図 3に示す. c.9* から c.9 * [rad/s] となり, ゲイン交差角周波数が約 倍になった. このことから, 過渡応答の速さが約 倍になったと期待できる. 実際, これはステップ応答 ( 図 4) により確認できる. 3

4 - -4-6 -8-9 -35 位相 (deg) -8-5 -7 - - 図 3 位相進み補償を追加した場合 ( 位相進み補償の追加前後.[Hz] で3 度進めた ).4 step response..8 y.6.4. 5 5 5 3 time[s] 図 4 ステップ応答の速応性の改善 ( c.9 * と c.4*, 共に位相余裕は6 度 ) 4

プログラム control_design.m % 制御系設計 % プラント P=zpk([],[- -],) % 制御器 K=tf(,[ ]) L=P*K % L=PKの (a=) % 周波数区間 [. ] figure() omega=logspace(-,,); bode(l,omega) % ステップ応答 T=feedback(L,) t=:.:3; y=step(t,t); figure() plot(t,y) title('step response') xlabel('time[s]') ylabel('y') %La=PKaの(a=.8) % 周波数区間 [. ] a=.8 La=L*a; figure(3) bode(l,la,omega) % ステップ応答の比較 t=:.:3; Ta=feedback(La,); ya=step(ta,t); figure(4) 5

plot(t,ya,t,y) title('step response') xlabel('time[s]') ylabel('y') %Lb=PKb % 周波数区間 [. ] Kb=tf([.5 ],[.5 3 ]) Lb=P*Kb figure(5) bode(la,lb,omega) % Lb=.4PKb % 周波数区間 [. ] Lb=P*Kb*.4 figure(6) bode(lb,lb,omega) % ステップ応答の比較 t=:.:3; Tb=feedback(Lb,) yb=step(tb,t); figure(7); plot(t,yb,t,ya) title('step response') xlabel('time[s]') ylabel('y') 6

7. 積分器と定常偏差 システムの型と周波数応答およびステップ応答の関係を調べる. 図 5 のフィードバック系について考える. 外乱 d= とする. d r + e u y K P - 図 5 フィードバック制御系 目的 : システムの型として 型, 型, 型があり, 時間応答, 周波数応答の特徴を理解する. 方法 : 特性方程式が s n s n であり, 型, 型, 型となる一巡伝達関数 PK として以下を取り上げる. 型 PK s a p n ap s a, p n n 型 PK s( s ) s 型 PK s n n n これらに対して ) PK のとベクトル軌跡 ) T PK のステップ応答とランプ応答 PK 3) 相穂感度関数 T と感度関数 S のゲイン特性 ( T S の関係あり ) PK を計算し図示する. 7

計算結果 型の場合 9 8 ramp response 位相 (deg) - -4-6 -8 - -45-9 -35 y 7 6 5 4 3 3 4 5 6 7 8 9 time[s] -8 - - 図 6- PK の 型 p=3 図 6-4 T のランプ応答 型 p=3 ナイキスト線図.5 - -.5-3 虚軸 -4-5 -.5-6 - -7 -.5-8 - - -.5.5.5.5 3 実軸 -9 - - 図 6- PK のベクトル軌跡 型 p=3 図 6-5T の 型 p=3.8 step response.7.6 -.5-4 y.4.3-6 -8. -. - 5 5 5 3 time[s] -4 - - 図 6-3T のステップ応答 型 p=3 図 6-6 感度関数 S のゲイン特性 型 8

型の場合 ramp response 9 4 8 - -4-6 -8 - -9 y 7 6 5 4 3 位相 (deg) -35-8 - - 図 7- PK の 型 3 4 5 6 7 8 9 time[s] 図 7-4T のランプ応答 型 8 6 ナイキスト線図 - - 4-3 -4 虚軸 - -4-5 -6-7 -6-8 - - -.9 -.8 -.7 -.6 -.5 -.4 -.3 -. -. 図 7- PK のベクトル軌跡 型 実軸 -8 - - 図 7-5 相補感度 T のゲイン特性 型.4 step response 5. -5 -.8 y.6-5 -.4-5 -3. -35 5 5 5 3 time[s] -4 - - 図 7-3T のステップ応答 型 図 7-6 感度関数 S のゲイン特性 型 9

型の場合 ramp response 9 8 6 4 - -4-9 y 8 7 6 5 4 3 位相 (deg) -35-8 - - 図 8- PK の 型 3 4 5 6 7 8 9 time[s] 図 8-4T のランプ応答 型 5 4 3 ナイキスト線図 -5 - -5 - 虚軸 -5 - -3 - -35-3 -4-5 -4-3 - - 図 8- PK のベクトル軌跡 型 実軸 -4 - - 図 8-5 相補感度 T のゲイン線図 型.4 step response. - -.8 y.6-3 -4.4-5 -6. -7 5 5 5 3 time[s] -8 - - 図 8-3T のステップ応答 型 図 8-6 感度関数 S のゲイン線図 型

プログラム control_design_ji.m % 制御系設計 % PKの積分器の数 =,,の設定 %%%% typeselect= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % プラントデータ 次系 wn= zeta=.7 % 計算区間 wmin=.;wmax=; tmax=3;dt=.; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if typeselect== % 型プラント p=3 a=wn*wn/(p+); PK=tf(p*a,[ *zeta*wn a]) elseif typeselect== % 型プラント PK=tf(wn^,[ *zeta*wn ]) elseif typeselect== % 型プラント PK=tf([*zeta*wn wn^],[ ]) end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PKの % 周波数区間 [wmin wmax] figure() omega=logspace(log(wmin),log(wmax)); bode(pk,omega) % ナイキスト軌跡 figure() nyquist(pk) % ステップ応答

S=/(+PK) T=-S t=:dt:tmax; y=step(t,t); figure(3) plot(t,y) title('step response') xlabel('time[s]') ylabel('y') % ランプ応答 integral=tf(,[ ]) T=T*integral t=:dt:tmax/3; y=step(t,t); figure(4) plot(t,y,t,t) title('ramp response') xlabel('time[s]') ylabel('y') % S,Tのゲイン線図 % 周波数区間 [wmin wmax] figure(5) bodemag(t,omega) figure(6) bodemag(s,omega)