Direksiyon davranışı peşinde yörüngeden kaçınma


9

Onun (sabit) hedefini izlemek (ve denemek ve etkilemek) için davranış peşinde bir füze var .

Füze fırlattığınızda strafing değilseniz sürece iyi çalışıyor . Eğer küfür ediyorsanız, füze hedefinin yörüngesinde dönme eğilimindedir.

resim açıklamasını buraya girin

Ben hedefe teğet hızlandırarak bu sabit ilk hedef için beelining sonra, ilk hızın teğet bileşeni öldürme.

resim açıklamasını buraya girin

Bu yüzden vT neredeyse 0 oluncaya kadar -vT içinde hızlanıyorum. Sonra vN yönünde hızlanıyorum.

Bu eserlerin, ben füze hedefini etkileyecek yapabiliyor daha şık bir çözüm arıyorum olmadan açıkça ilk teğet bileşeni öldürme.


Direksiyon algoritmanızın ne olduğunu açıklamadan tatmin edici bir cevap alabileceğinizi sanmıyorum. Sorunun orada sezgisel taramalarınızda olduğundan eminim.
sam hocevar

1
Aslında bu kullandığım cevabı oldu
bobobobo

Yanıtlar:


5

Sorun şu ki, füzenin mevcut hızına bakılmaksızın kendisini hedefe işaret ediyor olması. Füzeye itme kuvvetinin hareket çizgisinden sapabileceği bir maksimum açı atayın.

Her yönlendirme yinelemesinde, hızını hedefe dik olarak hesaplarsınız. Hızının bu bileşenini sıfırlamak için motorunun ne kadar bahşiş vermesi gerektiğini anlayın ve daha sonra motoru devirebileceği maksimum değere kırpın.

Uçuşunun ilk bölümünde, şekil # 2'deki düz çizginin sağına doğru bir şekilde hareket edecek, ancak uçtuğu için motor bu bileşeni sıfırlayacak ve doğrudan hedefe doğru yol alacak.

Bu senaryoda, motorun sıfır veya maks. Dışında herhangi bir sapmaya sahip olduğu tek bir kare olacağını unutmayın. Hareketli bir hedefi izliyorsanız, hedef hareket ettikçe her döngüde daha az sapma elde edebilirsiniz.


4

Senin peşinde olduğun zarif bir çözüm olmayabilir, ama füzeyi yavaşlatırsam, kaçıracaksa, hedefe yaklaştıkça, etkili bir şekilde daha hızlı izler ve hedefe vurabilir. Hızı azaltmak yerine, yaklaştıkça füzenin dönüş oranını artırabilirsiniz, ancak bu oyunculara 'sürpriz olacak eminim' sürpriz verebilir.

Bu çok iyi görünmeyebilir, ancak füzelerin yörüngede durmasını ve yakıt bitene kadar füzenin çemberini çalmasını kesinlikle durdurur.

Uygulamamı bir araya getirdiğim bir demo (üçüncü veya dördüncü füze bunu gösteriyor ve yine 1:05'te): http://www.youtube.com/watch?v=9uiGMC_nH2w

Hedefe de yaklaştıkça füzenin doğruluğunu da artırabilirsiniz (kilitlemek için daha yakın bir imzası olduğundan). Bu videoda yaklaşık bir dakika içinde gösterilir. Kırmızı daire füzenin gerçek hedefini gösterir. Bu, uzun menzilde kaotik bir uçuş yolu sağlar ve daha sonra yaklaştıkça düzeltir.

Dediğim gibi, aradığınız cevap olmayabilir, ama umarım biraz yardımcı olur.


Oldukça havalı. Maksimum hızlanma için gidiyorum, ama füze yavaşlatmak düzgün bir hile (ve onlara "hile füzeleri"
diyorsan kullanılabilir

4

Sezgi

İşte bir yol: diyagramınızı döndürelim.

orijinal problemin bir dönüşü

Şimdi roket bir top mermisi !

Fizik

Sabit bir ivme "aşağıya doğru" yani ateşleme konumundan hedefine vektöre diktir. Yukarıda kesikli yeşil bir çizgi olarak çizdim. Buna referans ufuk diyelim . (Bu referans ufkunun sabit olduğunu unutmayın! Roket, hedef olarak sabit bir konuma sahip sabit bir konumdan ateşlendi.)

Hava direncine sahip olmayan bir top mermisi için ( wikipedia'dan ) biliyoruz d = v^2 * sin(2 * theta) / g,

  • d katedilen yatay mesafe (atış yeri ile hedef arasındaki mesafe)
  • v merminin ateşlendiği hızdır
  • thetaMermi (fırınlanmıştır ufka olarak açı yangın yön vektörünün açısı ile ilgili referans ufuk )

Denklemi yeniden düzenleyerek gverir g = v^2 * sin(2 * theta) / d.

Gülle denklemde sabit, golduğu yerçekimi ivmesi nedeniyle . Roket tahrikinden dolayı hızlanma anlamına gelebiliriz . Bu da gayet - hala var sürekli ivme bir de sabit yönünde .

Şimdi ne olacak?

gRoketi ateşlediğinizde bu denklemi çalıştırın . Hedefi vurmak için roketi referans ufka doğru dik olarak ne kadar hızlandıracağınızı söyleyecektir. Bu ivmenin yönü sabit olduğundan bir yörünge oluşmaz.

Boom.


Bu düzgün bir yaklaşım. Bence bu roketin bir çemberin izini sürmesine neden olacak, hedefi etkilemek için bir çemberin yörüngesinde dolaşmak için gereken merkezcil kuvveti sağlıyorsunuz. Bunun Mario
Kart'ta

Burada uygulanan kuvvet merkezcil değildir. Kuvvetin yönü, hedef sabitse değişmeyen referans ufka diktir. Bu yörüngesel davranışların gerçekleşemeyeceği anlamına gelir.
Anko

Cevabı daha açık hale getirmek için düzenledim.
Anko

@Anko: Buradaki matematiğinizin OPs davası için tetikleyici olduğu gibi hareketli bir hedef için çalıştığından emin değilim.
Mooing Ördek

@Mooing Bu, yalnızca hedefleri öngörülebilir şekilde hareket ediyor ve tahmini hedeflerseniz taşımak için işe yarar. Sorusu geliyor özellikle hedef söz ilk cümlesinde, durağan olsa.
Anko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.