ごうたいぶろぐ

いろいろ

1年ぶりの更新

2017/12/31に更新が止まっていた無人機を編隊飛行へ向けて大幅な改修をした。

 

  4年もかかったロール制御の安定化

 翼の制御を角速度によるものとし、ロール角算出式に改良を施した。これにより前バージョンで問題になっていた、

 

  • 操舵の精度を上げるとエルロンの挙動が不安定になる
  • 上の問題を解消しても差角が小さくなるとエルロンの反応が鈍くなる

 

が一度に解消できた。特に一つ目は、機首に機銃が付いてる機体をatan2とpidで制御しようとすると必ずついて回る問題である。

 機体の各翼の角度は、目標座標と自機座標の差をローカル化して(lx, ly, lz)atan2に代入することによって求めているが、私が良く使うエルロンの角度を求める式は、

 

          AIL = math.deg(atan2( lx, ly))

 

である。機首に機銃を積む以上、目標に命中させるためには目標に機銃を向けなければならないが、そうするとlx,lyがともに小さくなっていき、目標に完全に機銃が向くとlx,lyが0になる。この状態で目標が横方向にスライドすると、lx >> lyとなり、計算される角度が過大になる。これが、操舵の精度を上げるとエルロンの挙動が不安定になる原因であった。

 

これを解消するために、以前はlxとlyの絶対値が一定以下になたらロールを水平にする制御を入れてごまかしていた。これが原因でエルロンの反応が鈍くなっていた。

しかし今回は、lyの正と負の両方に下限を設けることにした。これだけで、挙動が一気に安定し、無人機視点にしても全く問題がなくなった。

 

群制御アルゴリズムの改良

 群制御のアリゴリズムを見直すことで、それらしい群飛行をすることに成功した。具体的には、「反発距離・平行距離・接近距離を設ける」ことである。これは、群行動をする無人機ではわりとメジャーな制御方式らしい。

 

以上の二つの改良で、30機以上の無人機を安定して群飛行させることができた。

34機のUCAVで群飛行

34機の無人機が群飛行する様子

 

編隊飛行がいつになるかわからないが、それまでには母機ともに完全な状態にしておきたい