では、(1)式で示される伝達関数の安定性を判別してみます。ここで、m=1、c=1、k=10、kd=10、ki=10とします。従って、特性多項式の係数は次数の高い方から、m=1、c+kd=11、k+kp=10+kp、ki=10となるため、比例定数kpが10では、
--> plot(roots([1,11,20,10])+0*i,'o',roots([10,10,10])+0*i,'x')
とすると、図4のように、解の実部は全て負となり、系は安定であることが分かります。
上のコマンドで「+0*i」としているのは、解が実数でも複素プロットができるように虚数部を追加させるためです。
比例定数kpが-9.09では、
--> plot(roots([1,11,0.91,10])+0*i,'o',roots([10,-9.09,10])+0*i,'x');
とすると、図5のように、実部が0の解が存在し、出力は図2(前ページ)のように振動し続けます。
比例定数kpが−10では、
--> plot(roots([1,11,0,10])+0*i,'o',roots([-10,10,10])+0*i,'x')
とすると、これは図3の条件と同じで、前述のように、実数部が正の箇所に「○」が2か所あり、「×」とは重ならないため、不安定となることが分かります。図2でも、出力は発散しています。
このように、FreeMatを用いれば、簡単に安定性を判別できます。では、従来の安定判別法は不要なのかというとそうではなく、どこが原因で不安定なのかとか、安定化させるにはどのようにすればよいのかといったことを考えるには、各種の安定判別法が必要になります。詳しくは記事末の参考文献を参照してください。
次回は、フィードバック制御系の過渡特性と定常特性について説明します。
伊藤孝宏(いとう・たかひろ)
1960年生。小型モーターメーカーのエンジニア。博士(工学)。専門は流体工学、音・振動工学。現在は、LabVIEWを使って、音不良の計測・診断ソフト、特性自動検査装置などの開発を行っている。
Copyright © ITmedia, Inc. All Rights Reserved.