はじめに
最初の記事はわかりにくいと感じたので、書き直すことにしました。
回転系と直同系の変換とか、余計な要素が入っているので、無駄に難しくなってる感じがしたのです。
今回の記事では、「セミクローズドフィードバック」の制御系について書いていこうと思います。
工作機械は加工対象を工具で削るものがほとんどです。工作機械を大きなロボットアームとすると、先端は工具が占有しているので、位置センサーに類するものは搭載できなくなります。なので、先端部にはセンサーがなくて、途中のどこかに位置センサーを置いた制御系を考えます。
図1 1軸のモデル
こんな感じです。位置センサーはM2にあります。こういう絵でかくと倒立振子のようですが、
同様にM2を動かして、M3が思った位置に移動するように制御します。
そんなわけで、「フルクローズドフィードバックだ!」と言っているものでも、実際には工具やらロボットハンドやらの乗ってる部分とフィードバックセンサの乗ってる部分が完全に一致することはないので、上記のような制御系になります。
制御対象
まずは制御対象がどんな運動方程式になるか、考えてみましょう。3慣性系なので以下の図のような形になります。
M1からM3まで3つの慣性があります。
M1はモータの回転子に相当する部分です。モータが発生する力をfとします。モータにエンコーダがついていればx1は観測できます。
M2はモータの出力軸から位置センサーを取り付ける部品までの間の伝達関数を1つの慣性で表しています。位置センサーがあるので、x2は観測できます。
M3はセンサがないので、シミュレーションでは位置がわかりますが、実際は工作機械の加工物の品質でしかわかりません。
この系の特徴は以下のとおりです。
- M1に力を与えて制御する
- M3の位置が位置司令と一致するようにする
- M3は観測できない
- M2の位置は観測できる
- M1の位置は観測できる
- kxxはバネ係数
- Dxxは粘性係数
この3つの慣性をバネ要素Kxxと粘性摩擦Dxxで接続したものになります。
運動方程式
続いてM1からM3の質量に対する運動方程式を立てます。
\begin{align}
\frac{d^2x_1}{dt^2}-D_{12}(\frac{dx_1}{dt}-\frac{dx_2}{dt})-K_{12}(x_1-x_2)&=f(t) \;(1)\\
\frac{d^2x_2}{dt^2}-D_{12}(\frac{dx_2}{dt}-\frac{dx_1}{dt})-K_{12}(x_2-x_1)&=D_{23}(\frac{dx_2}{dt}-\frac{dx_3}{dt})+K_{23}(x_2-x_3) \;(2)\\
\frac{d2x_3}{dt^2} &= D_{23}(\frac{dx_3}{dt}-\frac{dx_2}{dt})+K_{23}(x_3-x_2) \; (3)\\
\end{align}
実数値の定義
変数の値を決めます。
実際の値として取れるのは質量のMxだけです。KxxとDxxは実験的に求める必要があります。
シミュレーションやらで数値解析をするために値を定めます。
M1 = 0.5 [kg]
M2 = 100 [kg]
M3 = 40 [kg]
K12 = 0.9
K23 = 0.6
D12 = 0.1
D23 = 0.05
まとめ
今回は運動方程式と実数値の定義をしました。
次回は状態方程式を作ります。
参考文献
野波健蔵 編著 「制御理論の基礎」 東京電機大学出版局