【倒立振子part28】モータのシステム同定
part26にて求めたモデルを使用してシステム同定を行ってみる。
手探り状態なので間違っているかも。。。
今回システム同定をするにあたりMATLABが必要となりそうなのでお試しで評価版を使用していく。
SITB含めても2万ちょいなので買ってもいいかもしれない。
プリ同定
今回使用したモータはID-549XWである。
まずシステム(今回は回路内蔵のモータ)の支配的な立ち上がりや定常のゲインといった大まかなダイナミクスをつかむことが目的となる。
プリ同定のやり方としてシステムに、ステップ応答試験やランダム加振試験をして応答値を確認する方法があるが今回はステップ応答試験での結果を参照する。
またシステム同定にて求めたモデルに対して結果と実験値を比較して妥当性の検証を行う。
試験方法としてはduty100%(12V印可計算)になるようにモータにステップ入力して応答値(角速度)を確認する。
無負荷状態
同定実験の設計
伝達関数を同定するためには各周波数における正弦波入力の応答値からボード線図を使用してカーブフィッティングを行い周波数伝達関数を導出することができるが試験回数が多くなり大変である。
そこで制御対象が持つ全てのモードを励起させるために多数の周波数をもつ信号を印可することで一括で求められる。
一番望ましい入力信号は白色信号であるが物理的には実現できないので疑似的に白色信号を作成する。また線形システム同定には2値信号のみで問題ないので、疑似白色2値信号であるM系列信号を使用してシステム同定を行う。
M系列信号はMATLABでコマンド一つで作ることができる。
その時に使用する引数について検討する。
・シフトレジスタの個数
・信号の振幅
シフトレジスタの個数n
ここでM系列信号の周期に対して+1(立ち上がり状態)をn回繰り返すのは1回だけなのでその際が最大持続パルスとなり、これが対象の立ち上がり時間より大きくすることで定常ゲインを正確に出力できる。
つまり、1周期が完了するまでにn個のシフトが行われるため各シフトにサンプリング周期Tの時間がかかるため
⇒
ただしM系列信号のサンプリング周期とモータへの入力のサンプリング周期(マイコン側)が同じが一番望ましいがモータへの入力のサンプリング周期が短いためM系列信号のシフトレジスタが大きくなりデータ数が莫大になってしまう。そこでM系列信号のために下記のクロック周波数を使用することでnをある程度小さくする。
pを増加させることでnは小さくなるが、増加させすぎるとパワースペクトルが一定である周波数帯域が減少するため、一般的にはぐらいがちょうど良いらしい。
マイコン側での入力はサンプリング周期Tで行い、データ取りはクロック周期Tmで行うことである程度のデータ数の取得ができるようになる。
今回は立ち上がり時間Trとサンプリング周期Tより下記のようなM系列信号を使用して試験を行うことにする。
またシステム同定する際にデータを半分にして、同定用と検証用として使用するため元の信号に周期を反転させた信号を合わせたものを入力信号とする。
システム同定の進め方
「システム同定の基礎」を読んでいると、データの読み込みや外れ値を削除したりの前処理が必要であるが、MATLABのSystem Identification Toolboxを使えばGUIで簡単に行える。
GUIの使い方
下記にSystem Identification Toolboxについてまとめられているのでこれを参考にする。
jp.mathworks.com
今回はSISOなので下記を参考にGUIの使い方を学んでいく
jp.mathworks.com
システム同定(無負荷状態)
入力データのM系列の条件
サンプリング周期 | シフトレジスタ係数 | クロック周期 | シフトレジスタ個数 | データ数 |
---|---|---|---|---|
入出力データをまとめると
システム同定の比較
System Identification Toolboxを使用して1次遅れ系(sys1)と2次遅れ系(sys2)でシステム同定を行う。
1次遅れ系の伝達関数
2次遅れ系の伝達関数
整合性
1次遅れ系の推定データへの適合は94.47%
2次遅れ系の推定データへの適合は99.62%
システム同定(ロータ装着状態)
入力データのM系列の条件
サンプリング周期 | シフトレジスタ係数 | クロック周期 | シフトレジスタ個数 | データ数 |
---|---|---|---|---|
入出力データをまとめると
システム同定の比較
System Identification Toolboxを使用して1次遅れ系(sys1)と2次遅れ系(sys2)でシステム同定を行う。
1次遅れ系の伝達関数
2次遅れ系の伝達関数
整合性
1次遅れ系の推定データへの適合は93.74%
2次遅れ系の推定データへの適合は99.65%
パラメータ計算
上記の結果から1次遅れ系でも2次遅れ系でもほぼ同等の整合性が得られることからインダクタンス成分を無視して考える。
ここでpart27で求めた無負荷状態でのモータの運動方程式では粘性項を無視していたが必要そうなので追加すると、角速度と入力電圧の伝達関数は
となる。
従ってシステム同定の結果より
となる。
モータの逆起電力定数とトルク定数は同値としてであり、回転子の慣性モーメントはであるため、上式を計算することで未知パラメータが判明する。
次にロータを装着状態での粘性項をD'とすると同様に計算できる。