先の分析で示したPID制御信号について、D制御のギザギザがあるという話をした。それでも、P制御よりも先行した制御信号になっているはずだと書いた。その辺りを確かめてみよう。
以下の図は、PID信号をそれぞれに分解したものだ。
D信号は、Roll データの細かい信号を拾ってギザギザになっているが、平均すればP信号よりも先行する制御信号を出していることがわかる。すなわち、いわば、SINカーブに対して微分したCOSカーブである。ただ、このような信号がESCに与えられた時に、モータがその大きな流れを反映したものになるかどうかはやや不安である。D信号が弱められてしまう懸念がある。
このD信号の細かい揺らぎについては、IMU(慣性計測装置)から送られてくる信号の実際の揺らぎと、サンプリングの問題で取られてきた値が変わらなかった時に微分値がゼロになってしまうという二つの問題が含まれていて、後者は、ゼロの時は前の日ゼロの値を採用するというロジックで改善する。前者は、移動平均をとってなめらかにしていくしかない。
データ上だけで(実際の飛行ではなくの意)、このように対応した結果は次の図のようになる。
赤の線が処理済みデータで、灰色の線が0だけを取り除いたデータである。移動平均の期間は10期である。
いい感じでなめらかになっている。移動平均で最も困るのが変化の遅れが発生することだが、問題になるほどの遅れは、図では見えていない。
これをコントロールプログラムに組み込もう。
0 件のコメント:
コメントを投稿