操縦行動を追跡する際の周回の回避


9

私はその(静止した)ターゲットを追跡する(そして試みて影響を与える)行動を追跡するミサイルを持っています。

あなたがミサイルを発射するとき、あなたが機銃乱射していない限り、それはうまく働きます。あなたが機銃掃射している場合、ミサイルはその目標を周回する傾向があります。

ここに画像の説明を入力してください

最初にターゲットに接線方向に加速し、最初に速度の接線成分を削除してから、ターゲットに向けてビーラインすることで、これを修正しました。

ここに画像の説明を入力してください

したがって、vTがほぼ0になるまで-vTで加速します。次に、vNの方向で加速します。

それが機能している間、私はミサイルが最初に接線コンポーネント明示的に殺すことなくターゲットに影響を与えることができるよりエレガントな解決策を探しています。


ステアリングアルゴリズムについて説明しないと、満足のいく答えは得られないと思います。問題はあなたの経験則にあると確信しています。
sam hocevar

1
実際、これは私が使用した答えでした
bobobobo

回答:


5

問題のように見えるのは、ミサイルが現在の速度に関係なく、単にターゲットを向けていることです。ミサイルに、推力が動線から外れる最大角度を割り当てます。

各ガイダンスの反復で、ターゲットに垂直な速度を計算します。速度のこのコンポーネントをゼロにするために、エンジンをどれだけ傾けなければならないかを把握し、エンジンを傾けることができる最大値までクリップします。

飛行の最初の部分では、図2の直線のいくらか右に移動しますが、エンジンが飛ぶと、このコンポーネントがゼロになり、最終的にターゲットに向かいます。

このシナリオでは、エンジンにゼロまたは最大以外の偏向があるフレームは1つだけであることに注意してください。移動するターゲットを追跡している場合は、ターゲットが移動するたびに、各サイクルでの偏向が小さくなる可能性があります。


4

それはあなたが望んでいるエレガントな解決策ではないかもしれませんが、私がミサイルを遅くすると、それがターゲットに近づくと、それがミスすると、効果的に追跡し、より速く回転し、ターゲットにヒットできることがわかりました。速度を落とすのではなく、近づくにつれてミサイルの回転速度を上げることもできますが、これはプレイヤーに「すごいミスになるだろう」と意外な驚きを与えるかもしれません。

見た目はそれほど良くないかもしれませんが、ミサイルが軌道を回ったり、燃料がなくなるまで敵がミサイルを取り囲んだりするのを確実に防ぎます。

ここに私が私の実装をまとめたデモがあります(3番目または4番目のミサイルはこれを示し、1:05に再び):http : //www.youtube.com/watch? v=9uiGMC_nH2w

また、ミサイルがターゲットに近づくにつれて、ミサイルの精度を高めることもできます(ミサイルには、ロックする署名がより近いため)。これはビデオにも1分ほどで示されています。赤い円はミサイルの実際のターゲットを示しています。これにより、遠距離では混沌とした飛行経路が得られ、近づくほどまっすぐになります。

私が言うように、あなたが探している答えではないかもしれませんが、少しでも役に立てば幸いです。


かなりかっこいいです。私は最大加速を目指していますが、ミサイルの速度を遅くすることは
巧妙

4

直感

これが1つの方法です。図を回転させましょう。

元の問題のイラストの回転

今ロケットは砲弾です!

物理

「下向き」の固定加速度、つまり発砲位置からターゲットへのベクトルに垂直です。緑色の破線で上に描きました。それを参照範囲と呼びましょう。(この参照範囲は一定であることに注意してください。ロケットは、固定位置をターゲットとして固定位置から発砲されました。)

私たちは(ウィキペディアから)空気抵抗のない砲弾を知っていますd = v^2 * sin(2 * theta) / g

  • d 水平方向の移動距離(射撃場所とターゲット間の距離)
  • v 発射体が発射された速度です
  • theta発射体が発射された地平線に関する角度です参照地平線からの発射方向ベクトルの角度

の方程式を並べ替えると、になりgますg = v^2 * sin(2 * theta) / d

砲弾式の定数はg、ある重力加速度ロケットの推進力による加速と言えます。それはまだだ-の罰金があまりにも一定の加速度一定の方向

それで?

gロケットを発射するときのためにその方程式を実行します。ターゲットを攻撃するために、基準地平線に向かって垂直にロケットをどれだけ加速するかを教えてくれます。その加速度の方向は一定なので、軌道は形成されません。

ブーム。


これはきちんとしたアプローチです。これにより、ロケットが円を描くようになると思います。ターゲットに衝突する円を周回させるのに必要な求心力を供給しています。これはマリオカートの赤い貝殻に使われている方法だったのではないかと思います。なぜなら、私はそれらが円形に弧を描く傾向があるといつも思っていたからです
bobobobo

ここで加えられる力は求心力ではありません。力の方向は基準地平線に垂直であり、ターゲットが静止している場合は変更されません。これは、軌道運動が起こらないことを意味します。
Anko

答えをわかりやすくするために編集しました。
Anko

@アンコ:OPケースの引き金と思われるように、ここであなたの数学が動くターゲットに対して機能するかどうかはわかりません。
Mooing Duck

@Mooingそうですね、これは移動するターゲットが予測通りに動いていて、予測をターゲットにしている場合にのみ機能します。最初の文では、質問ターゲットが静止していることを明確に述べてます。
Anko
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.