スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

制御とか。

では今日は制御の話をしたいと思います。

誘導は以下の3つのフェイズから成っています。
1.発射直後、姿勢を保持したまま上昇する
2.水平飛行に移行し、慣性航法装置を用いて目標へ向かう
3.赤外線センサーからの出力を元に目標へ向かう


フェイズ1では、発射した瞬間の姿勢を記憶し、この値を目標値とし、PD制御を用いて姿勢を制御します。
このとき、センサー出力値からミサイルの姿勢を推定する必要があります。
使っているセンサーは加速度、磁気、ジャイロをそれぞれ3軸で、
これらのセンサーの値をオリエンテーションフィルタと呼ばれる手法を使って統合し、姿勢の推定を行なっています。
また姿勢はクォータニオンという表現方法を使って計算し、特異点が発生しないようにしています。

発射の瞬間から一定時間経過するとフェイズ2へ移行します。
フェイズ2へ移行するまでの最適な時間は、発射時の空気圧などによって変化します。4気圧程度のときに正常に動作するようフェイズ1の時間を設定したため、5気圧以上の空気圧で発射した場合は飛距離や安定性に悪影響が出ていたようでした。
なお速度を直接計測できるセンサを搭載していなかったため、フェイズ2に進む条件を時間経過にしていますが、本来は速度が一定以下になるとフェイズ2へ移行するようにするのが理想かと思います。



フェイズ2では、フェイズ1と同様にセンサーからの値を元に現在の姿勢を推定し、目標の方向へ向くよう制御しています。
目標値はピッチ角-10°、ロール角0°、ヘディングは発射時に向いていた方角です。
尚、航空機等に搭載されている慣性航法装置では加速度センサの値を積分することにより自身の位置を計算することができますが、このミサイルでは、位置や速度は推定しておらず、方角のみを計算しています。
慣性センサから位置を推定しようとすると時間と共に誤差が蓄積するため、実用的な位置推定を行うためには非常に高精度なセンサが必要となります。
したがってこのミサイルで用いられているような軽量・安価なMEMSセンサでは難しいようです。
余談ですが、使用している加速度センサの値を積分して位置推定ができるかどうか実験してみましたが、10分程度で誤差が数10kmとなりました。

フェイズ2の状態で赤外線センサー目標からの赤外線を捉え、かつピッチが10°以下であればフェイズ3へ移行します。



最後にフェイズ3ですが、赤外線センサーからの出力が上下左右どちらも中央となるようピッチとヘディングに対してPID制御を行なっています。また、ロールに対してはフェイズ1、2と同様に慣性センサからの値を元にロール角が0°となるよう制御しています。
重力の分の補正はIパラメータでどうにかなると思い、現段階では明示的な補正は行なっていません。
ここは検証が不足している部分で、Iパラメータをしっかり調整すれば解決するのか、明示的な重力補正があった方がいいのかはまだわかりません。

フェイズ3では、目標を常に機体正面に捉えながら飛行することから、航法としては純粋航法となっています。
したがって移動目標へは対処できません。まあ出来ないってことは無いですが相当に非効率的な経路で飛ぶことになります。
次回作作るなら比例航法もやってみたいです。




以上の制御は、ピッチ、ロール、ヘディングはそれぞれ独立しており、また尾翼を動かした角度に比例してモーメントが発生すると仮定しています。
実際には全然そんなことはなく、迎え角だったりとかの要素を介した複雑な応答をするはずなのですが、それでもちゃんと誘導してくれているあたり、PID制御は素晴らしいです。
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。