Pytanie:
Jak mogę triangulować pozycję za pomocą dwóch DME?
user107577
2017-11-27 16:18:31 UTC
view on stackexchange narkive permalink

Jaki jest wzór do określania pozycji statku powietrznego (szerokość, długość geograficzna) na podstawie wysokości barometrycznej i zakresów do dwóch DME?

Uważam, że najłatwiejszą formułą jest wyciągnięcie mapy i pary cyrkli (z jednym ostrym końcem i jednym ołówkiem) i narysowanie łuków.
To, czego szukasz, to przecięcie dwóch sfer (określonych przez lokalizacje DME i ich zakresy) i powierzchni izobarycznej. To da ci 2, 1 lub 0 rozwiązań. Można go uprościć do przecięcia 2 okręgów i rozwiązać matematycznie. Zwykle znajdziesz dwa rozwiązania i potrzebujesz innych informacji, aby określić, które z nich są pozycjami samolotu.
Jeden odpowiedź:
mins
2017-11-28 06:16:01 UTC
view on stackexchange narkive permalink

Dokładną metodę możemy znaleźć online, w końcu jest to powszechny problem z trygonometrią 3D. Posłużę się raportem Michaela Geyera US DoT: Analiza nawigacji i monitoringu statków powietrznych na podstawie Ziemi. Zasada jest taka:

  • Dwie odległości DME określają dwie sfery, których przecięcie jest okręgiem. Dron znajduje się na tym okręgu.

  • Wysokość lotu drona określa powierzchnię (w zależności od sposobu pomiaru wysokości może to być quasi-płaszczyzna lub powierzchnia o stałej ciśnienie), który przecina okrąg w dwóch punktach. Współrzędne punktów można obliczyć z dwóch odległości DME i wysokości.

  • W rzeczywistości sygnały DME w obu punktach są identyczne, dlatego należy je wyeliminować jakąś metodą.

Przetnij dwie sfery, aby uzyskać okrąg

Skośna odległość określona za pomocą DME mówi nam, że samolot znajduje się na powierzchni kuli wyśrodkowanej na stacji DME, o promieniu równym odległości skośnej. Przesłuchując dwa DME, określa się dwie przecinające się sfery. Przecięcie to okrąg (różowe kółko na poniższym rysunku). Im bliżej linii łączącej dwie stacje DME ( linia bazowa ) znajduje się samolot, tym mniejszy okrąg, aż do pojedynczego punktu, w którym samolot znajduje się dokładnie na linii podstawowej.

enter image description here

Przetnij okrąg z powierzchnią, aby uzyskać dwa punkty

Dron leci w quasi poziomym samolot. Płaszczyzna ta przecina okrąg w dwóch miejscach (zielone punkty na powyższym rysunku), które są symetryczne do linii bazowej iw których musi znajdować się samolot. Korzystając z bezpośrednich informacji, które posiadamy (zakresy wysokości i nachylenia), możemy obliczyć współrzędne dwóch punktów.

Eliminacja lokalizacji ducha

W danym momencie statek powietrzny może znajdować się w obu punktach i nadal odbierać te same sygnały DME. W rozwiązaniu matematycznym pojawi się to podczas korzystania z funkcji takiej jak $ \ arcsin (x) $ , która daje dwa kąty dla tej samej wartości x, np. 40 ° (90 ° -50 °) i 140 ° (90 ° + 50 °).

Istnieje kilka metod wyeliminowania pozycji wirtualnej:

  • Monitoruj postęp samolotu: Jeśli dron leci na północ, górny punkt przesuwa się na północ, a dolny na południe. Możemy wykryć taką nielogiczną trajektorię (np. Używając predykcyjnego filtru Kalmana).

  • Użyj trzeciego DME: trzecia sfera zasięgu przecina pozostałe dwa tylko w jednym punkcie.

  • Określ namiar statku powietrznego za pomocą VOR, najlepiej połączonego z jednym z DME.

W duży statek powietrzny, położenie jest określane przy użyciu wielu środków, w tym bezwładności i GNSS, więc nie jest trudno określić, gdzie w przybliżeniu znajduje się samolot.

Określenie współrzędnych punktów

Przypadek DME / DME / Elevation sprowadza się do:

enter image description here

  • Dwie stacje DME $ \ small U $ i $ \ small S $ ze znanymi szerokościami geograficznymi, długościami geograficznymi i wysokościami ( $ \ small L_U $ , $ \ small \ lambda_U $ , $ \ small h_U $ i $ \ small L_S $ , $ \ small \ lambda_S $ , $ \ small h_S $ ).
  • Samolot A ze znaną wysokością ( $ \ small h_A $ ).
  • Dwie zmierzone odległości ukośne ( $ \ small d_ {UA} $ i $ \ small d_ {SA} $ )

$ \ small C $ to środek Ziemi (promień Ziemi to $ \ small R_e $ . metoda wspomniana wcześniej, wykonujemy następujące kroki:

  • Krok 0: Konwertuj zakresy skosów na odległość kątową
  • Krok 1: Rozwiąż trójkąt sferyczny dla każdej stacji
  • Krok 2: Potwierdź, że wprowadzone dane są spójne i istnieje rozwiązanie
  • Krok 3: Rozwiąż trójkąt sferyczny USA
  • Krok 4: Oblicz szerokość i długość geograficzną samolotu

Krok 0: Konwersja skosów na odległość kątową

Przy znanych wysokościach i zakresach skosów można obliczyć kąty $ \ small \ theta_ {SA} $ ( $ \ small \ widehat {SCA} $ ) i $ \ theta_ {UA} $ ( $ \ small \ widehat {UCA} $ ) między DME a samolotem. Dla każdego DME $ \ small x $ ( $ \ small x $ to $ \ small U $ lub $ \ small S $ ):

$$ \ theta_ {xA} = 2 \ space \ arcsin \ left (\ frac {1} {2} \ sqrt {\ frac {(d_ {xA} -h_A + h_x) (d_ {xA} + h_A-h_x)} {(R_e + h_x) (R_e + h_A)}} \ right) $$

Zgodnie z konwencją, $ \ small U $ musimy nazwać stację, która jest na zachód. To pozwala nam odnieść się do pozycji samolotu, takiej jak „ta na południe od linii bazowej”.

Krok 1: Rozwiąż trójkąt sferyczny dla każdej stacji

Pierwszym faktycznym krokiem jest uzyskanie kąta $ \ small \ theta_ {US} $ utworzonego przez dwie stacje DME i środek ziemi:

$$ \ sin \ left (\ frac {1} {2} \ theta_ {US} \ right) = \ sqrt {\ sin ^ 2 \ left (\ frac {1} {2 } (L_S-L_U) \ right) + \ cos (L_S) \ cos (L_U) \ sin ^ 2 \ left (\ frac {1} {2} (\ lambda_S- \ lambda_U) \ right)} $$ span>

gdzie $ \ small L_U $ i $ \ small L_S $ to szerokości geograficzne $ \ small U $ i $ \ small S $ i $ \ small \ lambda_U $ i $ \ small \ lambda_S $ to długości geograficzne $ \ small U $ i $ \ small S $ .

Będziemy musieli znać jeden z azymutów na końcach linii bazowej między $ \ small U $ i $ \ small S $ :

$$ \ tan (\ psi_ {S / U}) = \ frac {\ cos (L_S) \ sin (\ lambda_S - \ lambda_U)} {\ sin (L_S) \ cos (L_U) - \ cos (L_S) \ sin (L_U) \ cos (\ lambda_S - \ lambda_U)} $$

Krok 2: Potwierdź, że dane wejściowe są spójne i istnieje rozwiązanie

Jeśli zakresy nachylenia wynoszą 10 NM i 15 NM, a znana odległość między statami ons to 30 mil morskich, to nie ma rozwiązania, coś musi być nie tak. Ten krok sprawdza, czy dwie sfery zakresu DME przecinają się. Obliczyliśmy już kąty $ \ small \ theta_ {UA} $ i $ \ small \ theta_ {SA} $ span> i ten między stacjami $ \ small \ theta_ {US} $ :

  • If $ \ small \ theta_ {UA} + \ theta_ {SA} < \ theta_ {US} $ , to kule nie przecinają się (centra zbyt odległe)
  • Jeśli $ \ small \ left | \ theta_ {UA} - \ theta_ {SA} \ right | > \ theta_ {US} $ , wtedy kule są koncentryczne, nie przecinają się.

Krok 3: Rozwiąż trójkąt sferyczny USA

Teraz, gdy znamy trzy boki trójkąta $ \ small \ widehat {USA} $ , możemy określić dowolny z jego kątów. Potrzebujemy tylko kąta z wierzchołkiem w jednej stacji:

$$ \ cos (\ beta_U) = \ frac {\ cos (\ theta_ {SA}) - \ cos (\ theta_ {US}) cos (\ theta_ {UA })} {\ sin (\ theta_ {US}) \ sin (\ theta_ {UA})} $$

Krok 4: Gdy wszystkie dane są już dostępne, oblicz samolot szerokość i długość geograficzna

Czas zdecydować, które z dwóch położeń samolotów chcemy, wybierając odpowiedni kąt azymutu na stacji $ \ small U $ (może to być $ \ small S $ , ale poprzedni krok wykonaliśmy dla $ \ small U $ ):

  • Jeśli $ \ small A $ znajduje się na południe od $ \ small US $ (zakładając, że $ \ small U $ jest na zachód od $ \ small S $ ): $ \ small \ psi_ {A / U} = \ psi_ {S / U} + \ beta_U $

  • Jeśli $ \ small A $ znajduje się na północ od $ \ small US $ baseline: $ \ small \ psi_ {A / U} = \ psi_ {S / U} - \ beta_U $ span>

Aircraft latitude $ \ small L_A $ :

$$ \ sin (L_A) = \ sin (L_U) \ cos (\ theta_ {UA}) + \ cos (L_U) \ sin (\ theta_ {UA}) \ cos (\ psi_ {A / U}) $$

Długość geograficzna statku powietrznego $ \ small \ lambda_A $ :

$$ \ tan (\ lambda_A - \ lambda_U) = \ frac {\ sin (\ psi_ {A / U}) \ sin (\ theta_ {UA})} {\ cos (L_U) \ cos (\ theta_ {UA}) - \ sin (L_U) \ sin (\ theta_ {UA}) \ cos (\ psi_ {A / U})} $$


Opublikowałem implementację Pythona na Stack Overflow.

naprawdę doceniam i szanuję twój wysiłek. To jest bardzo pouczające i wyjątkowe.
Niesamowita praca @mins


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...