機構制御系のモデリング(その2) 〜回転1関節機構系を設計する〜1Dモデリングの勘所(37)(4/4 ページ)

» 2024年11月11日 09時00分 公開
前のページへ 1|2|3|4       

制御による振動抑制

※【更新:2024年11月14日】記事公開時点の内容を見直し一部改訂しました。主な変更点:図9、図9以下の説明および式、リスト6、図10、図10以下の説明(図11の削除含む)

 前節で述べたように、アームが弾性体の場合には振動が発生する。そこで、図9に示すような制御を行うことにする。

弾性軸を有する機構系の制御による振動抑制 図9 弾性軸を有する機構系の制御による振動抑制[クリックで拡大]

 制御入力をT、目標値をθtag、観測値を先端質量の角変位θtとすると、運動方程式は以下となる。なお、制御は前回述べた位置+速度フィードバックを適用する。

 モーターに関して、

式8 式8

 制御則として、

式9 式9

 モーターのトルクとアームの弾性力、減衰力のつり合いから、

式10 式10

 質量とアームから構成される振動系に関して、

式11 式11

となる。

 以上を、Modelicaでテキスト表現すると以下となる(リスト6)。

model flexControl
import Modelica.Constants.pi;
Real E;
Real i;
Real T;
Real J;
Real V;
Real theta;
Real thetav;
Real thetaa;
Real thetav0;
Real Id;
Real kc;
Real cc;
Real thetar;
Real thetarv;
Real thetara;
Real thetat;
Real thetatag;
Real thetatagv;
parameter Real R = 1;
parameter Real Ke = 1.2e-3;
parameter Real Kt = 1.2e-3;
parameter Real L = 1e-5;
parameter Real M = 0.01;
parameter Real r = 0.05;
parameter Real Tloss = 1e-5;
parameter Real theta0 = pi/4;
parameter Real t1 = 0.1;
parameter Real t2 = 0.13;
parameter Real t3 = 0.17;
parameter Real t4 = 0.2;
parameter Real tp = 5;
parameter Real td = 0.3;
parameter Real rr = 1e-3;
parameter Real Ey = 2.1e11;
parameter Real ita = 0.003;
equation
Id = pi*rr^4/4;
kc = 2*Ey*Id/r;
cc = ita*sqrt(J*kc);
thetav = der(theta);
thetaa = der(thetav);
thetarv = der(thetar);
thetara = der(thetarv);
thetat = theta + thetar;
thetatagv=der(thetatag);
E = V + R*i + L*der(i);
i = T/Kt;
V = Ke*der(theta);
-T=cc*thetarv + kc*thetar;
T = tp*(thetatag - thetat) + td*(thetatagv - der(thetat));
J*thetara +cc*thetarv + kc*thetar + Tloss = -J*thetaa;
J = M*r^2;
thetav0 = 1.43*theta0/(t4 - t1);
thetatagv = if (time < t1) then 0 elseif (time >= t1 and time < t2) then 0.5*thetav0*(1 - cos((pi/(t2 - t1))*time - (pi/(t2 - t1))*t1))
elseif (time >= t2 and time < t3) then thetav0
elseif (time >= t3 and time < t4) then 0.5*thetav0*(1 + cos((pi/(t4 - t3))*time - (pi/(t4 - t3))*t3))
elseif (time >= t4) then 0 else 0;
end flexControl;
リスト6 Modelicaでテキスト表現

 上記を解析した結果を、制御がない場合と比較して示す(図10)。

制御の有無の比較 図10 制御の有無の比較[クリックで拡大]

 このように制御することにより、電圧(角加速度)が振動的になっていないことが分かる。制御ゲインは運動方程式から分かるように、位置ゲインは回転ばね定数に、速度ゲインは回転減衰に対応している。ちなみに、アームの回転ばね定数、回転減衰定数は、

式12 式12

となる。振動が収まらないのは回転減衰定数が小さいためと考えられるので、制御の際の速度ゲインを図10の場合はtd=0.01とした。位置ゲインは、アームの回転ばね定数を参考に適宜調整した。

 次回は、2関節機構の運動学、動力学について考える。 (次回へ続く)

⇒連載バックナンバーはこちら

筆者プロフィール:

大富浩一(https://1dcae.jp/profile/

1Dモデリングの方法と事例(日本機械学会)

日本機械学会 設計研究会
本研究会では、“ものづくりをもっと良いものへ”を目指して、種々の活動を行っている。1Dモデリングはその活動の一つである。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.