M系列信号を用いたシステム同定

M系列信号を用いて回転方向のシステム同定をします。
マイクロマウスの機体を同定するを参考にしました。
1. M系列信号を決定する
シフトレジスタの長さ | 入力の長さ | シフトレジスタのクロック周期$[s]$ | M系列信号の振幅$[V]$ | サンプリング周期$[s]$ |
7 | 127 | 0.2 | 3.0 | 0.02 |
MATLABを用いてM系列信号を生成しました。シフトレジスタのクロック周期は$0.2[s]$です。
2. M系列信号入力の応答を得る
M系列信号1周期分の応答を得ました。サンプリング周期は$0.02[s]$です。
3. システム同定をする
MATLABのSystem Identification Toolboxを使用しました。
極1個、零点0個の伝達関数として同定しました。
同定した結果は次の通りです。推定データへの適合率は77.18%でした。
$$G(s)=\dfrac{105.1}{s+37.67}$$
4. 同定した結果を用いて超信地旋回する
曲線加速を用いた超信地旋回をします。2自由度制御で速度追従をします。ここでは180°旋回させます。
フィードバックにおけるPIDゲインは、MATLABのpidTunerで生成したゲインを元に調整します。
追従ができていない点については,同定精度がそこまで良くないこととゲインの調整ができていないことが原因だと思われます。
同定精度についてはM系列信号や極・零点が大きく影響しています。
より良い結果が得られ次第記事を更新します。