いかに速く安定して目標値に到達させるか無償ソフトで技術計算しよう【制御工学応用編】(3)(1/2 ページ)

【制御工学応用編】では、制御系の応答性や安定性を評価する方法とPIDコントローラーの設計について説明する。今回は、PIDコントローラー付バネ・マス・ダンパモデルを元に、指示された目標値に「いかに早く安定して」到達させるかについて解説する。

» 2015年07月23日 10時00分 公開
[伊藤孝宏MONOist]

 制御工学応用編として、前回は安定性について説明しました。安定に動作すると、次は、より良い制御が課題となります。今回は、指示された目標値に、いかに速く安定して到達させるかについて、PIDコントローラー付バネ・マス・ダンパモデルを元に説明します。

フィードバック制御系の過渡特性

 「いかに速く安定して」という定性的な目標を達成させるには、まず評価指標を明確にする必要があります。そこで、評価指標として過渡特性の表し方について説明します。

 フィードバック制御系の過渡特性は、速応性と安定性で評価されます。速応性は入力に対する応答の速さで、立ち上がり時間などで表されます。一方の安定性は応答の振動しにくさで、最大行過ぎ量や整定時間などで表されます。過渡特性を表す指標はこれ以外にもありますが、今回は最大行過ぎ量、立ち上がり時間、整定時間について、図1に基づいて説明し、FreeMatで算出してみます。

図1:過渡特性

 最大行過ぎ量Amaxは、出力が目標値を超え、最大となる値です。また、立上り時間Trは出力が目標値の10%を超え90%に達するまでの時間です。ここでは、目標値は1とします。整定時間Tsは、出力が目標値のある誤差範囲内に達するまでの時間です。一般に目標値の±2%や±5%が誤差範囲とされます。ここでは、±2%とします。

 グラフから読み取っても構いませんが、最大行過ぎ量、立上り時間、整定時間もFreeMatに計算させるように、ex510.m(前回参照)を改造したのがex511.mです。

clear;m=1;c=1;k=10;kp=5;ki=14.6;kd=5;yset=1;
dydt=@(t,y) [y(2);(-(c+kd)*y(2)-(k+kp)*y(1)+kp*yset+y(3))/m;ki*(yset-y(1))];
[t,y]=ode45(dydt,[0,20],[0;0;0]);yy=y(:,1);
plot(t,yy);grid('on');
xlabel('Time[s]');ylabel('Height[m]');
Amax=max(yy);
Tr=max(t(find(yy>0.1 & yy<0.9)))-min(t(find(yy>0.1 & yy<0.9)));
Ts=max(t(find(yy<0.98 | yy>1.02)));
title(['Amax=',num2str(Amax),' Tr=',num2str(Tr),' Ts=',num2str(Ts)]);
ex511.m

>>「ex511.m」ダウンロード

 変更点として、まず処理しやすいように、数値計算結果のうち、変位のデータである「y(:,1)」を「yy」という変数に代入します。次に最大行過ぎ量はyyの最大値と考え、「max(yy)」で最大値を求めます。立ち上り時間は、目標値(今回は1)の10〜90%となる時間であるため、「find(yy>0.1 & yy<0.9)」として、yyの値が0.1超え0.9未満となる箇所を求めて、時間配列tに渡します。次に、得られた時間配列の最大値から最小値を引けばyyが0.1超え0.9となる時間、すなわち立上り時間が求められます。整定時間は、目標値の±2%となる時間であるため、「find(yy<0.98 | yy>1.02)」として、yyが0.98を下回るか、1.02を上回る箇所を求めて、時間配列tに渡します。次に、得られた時間配列のうち最大値が整定時間となります。以上の結果をグラフのタイトル欄に表示させています。

Excelの重回帰分析とソルバーによる最適値の探索

 ex511.m内のkp、ki、kdを書き換えて動作させると、PIDコントローラーを任意の値に設定した結果が得られます。試行錯誤で最適な値を見つけるという手もありますが、変数が3種類もあるため、効率的とはいえません。そこで、Excelの重回帰分析とソルバーを用いて、PIDコントローラーの最適値を探索してみます。ここで、最適の目標としては、行過ぎ量が目標値に対して1.1倍以下、整定時間が3秒以内で、立上り時間ができるだけ短くなるようにします。

 概略を説明すると、適当なkp、ki、kdの組み合わせで、立上り時間Tr、行過ぎ量Amax、整定時間Tsをex511.mで求めます。次いで、重回帰分析で、Tr、Amax、Tsの回帰式を求めます。その後、ソルバーで目標を満足するkp、ki、kdをExcelに探索させます。

 では、順に説明して行きます。はじめに、Excelのデフォルトでは分析ツールとソルバーは表示されないため、これを設定します(既に設定済の方は以下は不要です)。ファイル→オプション→アドインと進んで、下にある「設定」ボタンをクリックすると、アドインの一覧が表示されます。ここで、「分析ツール」と「ソルバー」のチェックボックスをクリックしてチェックマークを入れて、OKをクリックすると、リボンのデータグループの右側に「ソルバー」「データ分析」という表示がでます。

 準備ができたら、Excelシートの適当な箇所に、図2に示すようにKp、ki、kdの組み合わせを入力します。

図2:条件設定と解析結果の入力

 ここでは、kp、ki、kdは5〜20の範囲とします。それぞれの組み合わせをex511.mに入力し、表示されたグラフタイトルから、Excelシートの立上り時間Tr、行過ぎ量Amax、整定時間Tsの欄に結果を転記します。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.