Matematyka i fizyka od podstaw
PLEN

Astronautyka › IV. Orientacja satelity › 12 szkic · PDF do druku

Zanim zaczniesz Dynamika lotu 3 Fuzja czujników w 3D: estymacja orientacji na kwaternionach11 Satelita bez sterowania: wirowanie, dwuspin i gradient grawitacyjny

Nowe pojęcia w tej lekcji (1)

wyznaczanie orientacji

Astronautyka 12

Wyznaczanie orientacji: czujniki, TRIAD i filtr

Zanim satelita obróci się w stronę celu, musi wiedzieć, jak jest ustawiony teraz. Nie ma pionu z akcelerometru ani kompasu w zwykłym sensie: są kierunki do Słońca, do gwiazd, do środka Ziemi i wektor pola magnetycznego, każdy z inną dokładnością, oraz żyroskopy, które mierzą tylko obroty. Ta lekcja pokazuje, jak z dwóch kierunków dostać pełną orientację (TRIAD), jak zrobić to optymalnie z wielu (problem Wahby, metoda q) i jak żyroskop połączony z trackerem gwiazd daje dokładność lepszą niż każdy z nich osobno.

Czas
ok. 2 h teorii + ok. 2 h zadań
Zadania
14 zadań w treści + 5 do przemyślenia, z odpowiedziami
Źródła
F. L. Markley, J. L. Crassidis, Fundamentals of Spacecraft Attitude Determination and Control, rozdz. 4–6; G. Wahba, SIAM Review 7 (1965); M. D. Shuster, S. D. Oh, „Three-axis attitude determination from vector observations” (1981)

0 Prolog: Hubble na jednym żyroskopie

Kosmiczny Teleskop Hubble’a musi utrzymać kierunek z dokładnością do kilku tysięcznych sekundy kątowej przez wiele minut ekspozycji. Robi to, łącząc żyroskopy (mierzą obrót między pomiarami) z czujnikami prowadzenia, które śledzą gwiazdy w polu widzenia. Żyroskopy się zużywają: teleskop ma ich sześć, misje serwisowe je wymieniały, a od 2024 roku NASA prowadzi obserwacje w trybie jednego żyroskopu, żeby zachować sprawne w rezerwie. Teleskop dalej działa, ale wolniej się przestawia i nie może obserwować części nieba w danym momencie.

Ta historia zawiera całą lekcję w skrócie. Czujniki kierunku (gwiazdy, Słońce, pole magnetyczne) mówią, jak satelita jest ustawiony, ale rzadko, z szumem i nie zawsze. Żyroskopy mówią, jak się obraca, często i gładko, ale z dryfem. Dobra orientacja to połączenie jednych z drugimi. Ten sam problem rozwiązywaliśmy dla samolotu (dynamika lotu, lekcja 3 Fuzja czujników w 3D: estymacja orientacji na kwaternionach); w kosmosie nie ma pionu z akcelerometru, więc zaczniemy od tego, co jest zamiast niego.

1 Czujniki orientacji

Czujniki dzielą się na dwie grupy. Czujniki wektorowe mierzą kierunek czegoś znanego w osiach satelity: jednostkowy wektor b\mathbf b w osiach ciała, który odpowiada wektorowi r\mathbf r znanemu w układzie odniesienia (np. inercjalnym). Orientacja to macierz AA, dla której b=Ar\mathbf b = A\mathbf r. Czujniki prędkości kątowej (żyroskopy) mierzą ω\boldsymbol\omega i pozwalają przenieść znaną orientację w czasie.

Typowe dokładności (rzędy wielkości, 1σ1\sigma)
CzujnikCo mierzyDokładnośćUwagi
Czujnik Słońca, zgrubnykierunek do Słońcaok. 1°fotodiody na ściankach; nie działa w cieniu Ziemi
Czujnik Słońca, dokładnykierunek do Słońca0,01–0,1°maska i matryca
Czujnik horyzontukierunek do środka Ziemi0,05–0,3°podczerwień; zakłócenia od atmosfery
Magnetometrwektor pola magnetycznego0,5–3° (z modelem pola)ograniczony błędem modelu pola i polem własnym satelity
Tracker gwiazdpełna orientacja1–10″ w poprzek osi, kilka razy gorzej wokół osioślepia go Słońce, Ziemia, Księżyc
Żyroskopprędkość kątowabias od 0,001 do kilku °/hdryf: trzeba korygować

Magnetometr mierzy pole bardzo dokładnie, ale do orientacji potrzebny jest też kierunek pola w układzie odniesienia, a ten bierze się z modelu (IGRF). Błąd modelu rzędu 100 nT przy polu ok. 30 000 nT to 0,2∘0{,}2^\circ; do tego dochodzi pole wytwarzane przez sam satelitę. Tracker gwiazd to kamera z katalogiem gwiazd: rozpoznaje wzór gwiazd w polu widzenia i podaje od razu całą orientację, z dokładnością rzędu sekund kątowych.

Zadania · część 1

3 zadania · ok. 20 min

  1. Model pola magnetycznego ma błąd 100 nT, a pole na orbicie ma 30 000 nT. Jaki błąd kierunku to daje w najgorszym przypadku?

    Odpowiedź

    Błąd prostopadły do pola obraca kierunek o 100/30000=3,3⋅10−3100/30000 = 3{,}3\cdot10^{-3} rad =0,19∘= 0{,}19^\circ.

  2. Tracker ma pole widzenia 20∘20^\circ i matrycę 1024 piksele. Ile sekund kątowych przypada na piksel? Jak tracker osiąga lepszą dokładność?

    Odpowiedź

    20⋅3600/1024=7020\cdot 3600/1024 = 70″ na piksel. Obraz gwiazdy jest celowo rozmyty na kilka pikseli, a jego środek (centroid) wyznacza się z dokładnością ok. 1/10 piksela (7″). Uśrednienie kilkunastu gwiazd poprawia to jeszcze ok. N\sqrt N razy.

  3. Żyroskop ma bias 0,01∘0{,}01^\circ/h, a satelita liczy orientację z samego żyroskopu przez godzinę. Jaki błąd narasta? A przy biasie 1∘1^\circ/h (tani żyroskop MEMS)?

    Odpowiedź

    0,01∘=360{,}01^\circ = 36″ w godzinę; przy 1∘1^\circ/h cały stopień. Dlatego bias trzeba szacować na bieżąco (część 4).

2 Orientacja z dwóch kierunków: TRIAD

Jeden kierunek nie wystarcza: obrót wokół samego kierunku do Słońca nie zmienia tego, co widzi czujnik Słońca. Dwa nierównoległe kierunki wyznaczają orientację jednoznacznie, a nawet z nadmiarem (cztery liczby na trzy niewiadome, bo kąt między wektorami jest taki sam w obu układach). Najprostszy algorytm, TRIAD (używany od lat 60.), buduje z obu par wektorów dwie ortonormalne trójki i składa je ze sobą.

TRIAD

t1=b1,t2=b1×b2∣b1×b2∣,t3=t1×t2;tak samo s1,s2,s3 z r1,r2,\mathbf t_1 = \mathbf b_1,\quad \mathbf t_2 = \frac{\mathbf b_1\times\mathbf b_2}{|\mathbf b_1\times\mathbf b_2|},\quad \mathbf t_3 = \mathbf t_1\times\mathbf t_2;\qquad \text{tak samo } \mathbf s_1, \mathbf s_2, \mathbf s_3 \text{ z } \mathbf r_1, \mathbf r_2, A=[t1 t2 t3] [s1 s2 s3]T.A = [\mathbf t_1\ \mathbf t_2\ \mathbf t_3]\,[\mathbf s_1\ \mathbf s_2\ \mathbf s_3]^{\mathsf T}.

Pierwszy wektor jest odtworzony dokładnie (Ar1=b1A\mathbf r_1 = \mathbf b_1); z drugiego bierze się tylko płaszczyzna. Dlatego pierwszym wektorem musi być ten dokładniejszy.

Kolejność ma znaczenie. Czujnik Słońca (0,05∘0{,}05^\circ) i magnetometr (1∘1^\circ), wektory pod kątem 90∘90^\circ: ze Słońcem jako pierwszym wektorem RMS błędu wynosi 1,02∘1{,}02^\circ, z magnetometrem jako pierwszym 1,41∘1{,}41^\circ. Ponadto obrót wokół kierunku Słońca widzi tylko magnetometr, więc błąd wokół tej osi wynosi σ2/sin⁡α\sigma_2/\sin\alpha, gdzie α\alpha to kąt między wektorami. Przy 20∘20^\circ to już 2,9∘2{,}9^\circ.

Zadania · część 2

3 zadania · ok. 30 min

  1. W układzie odniesienia r1=[1;0;0]\mathbf r_1 = [1;0;0], r2=[0;1;0]\mathbf r_2 = [0;1;0]; w osiach ciała zmierzono b1=[0;1;0]\mathbf b_1 = [0;1;0], b2=[−1;0;0]\mathbf b_2 = [-1;0;0]. Policz AA algorytmem TRIAD i sprawdź wynik.

    Odpowiedź

    t=([0;1;0], [0;0;1], [1;0;0])\mathbf t = ([0;1;0],\ [0;0;1],\ [1;0;0]), s=([1;0;0], [0;0;1], [0;−1;0])\mathbf s = ([1;0;0],\ [0;0;1],\ [0;-1;0]). A=∑itisiT=[0−10100001]A = \sum_i\mathbf t_i\mathbf s_i^{\mathsf T} = \begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}: obrót o 90∘90^\circ wokół zz. Sprawdzenie: Ar1=[0;1;0]=b1A\mathbf r_1 = [0;1;0] = \mathbf b_1, Ar2=[−1;0;0]=b2A\mathbf r_2 = [-1;0;0] = \mathbf b_2.

  2. Dlaczego błąd obrotu wokół kierunku Słońca wynosi σ2/sin⁡α\sigma_2/\sin\alpha? Policz go dla σ2=1∘\sigma_2 = 1^\circ i α=60∘\alpha = 60^\circ.

    Odpowiedź

    Obrót o δϕ\delta\phi wokół r1\mathbf r_1 przesuwa wektor r2\mathbf r_2 o δϕsin⁡α\delta\phi\sin\alpha (tylko składowa prostopadła do osi obrotu się porusza). Błąd pomiaru σ2\sigma_2 odpowiada więc błędowi kąta σ2/sin⁡α=1,155∘\sigma_2/\sin\alpha = 1{,}155^\circ.

  3. W cieniu Ziemi czujnik Słońca nie działa. Co zostaje satelicie z magnetometrem i czujnikiem Słońca?

    Odpowiedź

    Jeden kierunek (pole magnetyczne) nie wyznacza orientacji. Trzeba propagować orientację żyroskopami albo modelem dynamiki do wyjścia z cienia, albo dodać trzeci czujnik (np. horyzontu). Pole magnetyczne zmienia jednak kierunek wzdłuż orbity, więc filtr z modelem ruchu wyciąga z niego informację o wszystkich trzech osiach w dłuższym czasie.

3 Problem Wahby i metoda q

TRIAD nie umie wykorzystać trzech wektorów ani zważyć dwóch o podobnej dokładności. Grace Wahba postawiła w 1965 roku problem ogólnie: znaleźć macierz obrotu, która najlepiej przekształca wszystkie wektory odniesienia w zmierzone, z wagami aia_i.

Problem Wahby i metoda q Davenporta

min⁡A L(A)=12∑iai ∣bi−Ari∣2=∑iai−tr⁡(ABT),B=∑iaibiriT.\min_A\ L(A) = \tfrac12\sum_i a_i\,|\mathbf b_i - A\mathbf r_i|^2 = \sum_i a_i - \operatorname{tr}(AB^{\mathsf T}),\qquad B = \sum_i a_i\mathbf b_i\mathbf r_i^{\mathsf T}.

Z kwaternionem q=(q0,qv)q = (q_0, \mathbf q_v): tr⁡(ABT)=qTKq\operatorname{tr}(AB^{\mathsf T}) = q^{\mathsf T}Kq, gdzie

K=[tr⁡BzTzB+BT−tr⁡B I],z=∑iai bi×ri.K = \begin{bmatrix}\operatorname{tr}B & \mathbf z^{\mathsf T}\\ \mathbf z & B + B^{\mathsf T} - \operatorname{tr}B\,I\end{bmatrix},\qquad \mathbf z = \sum_i a_i\,\mathbf b_i\times\mathbf r_i .

Tu qq to kwaternion obrotu ciało → odniesienie w konwencji z lekcji 1 Orientacja w 3D: macierz obrotu, kąty Eulera, oś i kąt, kwaterniony (Hamilton, skalar na początku), a A=R(q)TA = R(q)^{\mathsf T}; w podręczniku Markleya i Crassidisa konwencja jest inna i znak z\mathbf z może się różnić. Optymalny kwaternion to wektor własny KK dla największej wartości własnej λmax⁡\lambda_{\max}; Lmin⁡=∑ai−λmax⁡L_{\min} = \sum a_i - \lambda_{\max}. Wagi: ai=1/σi2a_i = 1/\sigma_i^2.

Szukanie maksimum formy kwadratowej na sferze jednostkowej to dokładnie problem wartości własnych (mnożnik Lagrange’a dla więzu ∣q∣=1|q| = 1). Algorytm QUEST (Shuster, 1979–1981) przyspiesza go: wie, że λmax⁡\lambda_{\max} jest bliskie ∑ai\sum a_i, więc szuka go kilkoma krokami metody Newtona na wielomianie charakterystycznym zamiast pełnego rozkładu. Na komputerach pokładowych lat 80. to była różnica decydująca.

Czego lepiej się nie da? Dla małych błędów kowariancja błędu orientacji optymalnego estymatora to

P=(∑iI−bibiTσi2)−1.P = \Big(\sum_i \frac{I - \mathbf b_i\mathbf b_i^{\mathsf T}}{\sigma_i^2}\Big)^{-1}.

Każdy wektor daje informację tylko o obrotach prostopadłych do siebie (macierz I−bbTI - \mathbf b\mathbf b^{\mathsf T} zeruje obrót wokół b\mathbf b). Przy dwóch pomiarach po 0,5∘0{,}5^\circ i kącie 60∘60^\circ: granica z kowariancji to 0,890∘0{,}890^\circ, metoda q osiąga 0,888∘0{,}888^\circ (Monte Carlo, 6000 prób), TRIAD 0,955∘0{,}955^\circ.

Symulacja 1 Czujnik Słońca i magnetometr: 500 losowych orientacji z szumem pomiarów. Lewy panel: błąd orientacji (obrót wokół kierunku Słońca i wokół normalnej do obu wektorów) dla wybranej metody i elipsa 3σ3\sigma z kowariancji. Prawy panel: RMS całkowitego błędu trzech metod i granica z kowariancji. Zmniejszaj kąt między wektorami i wyrównuj dokładności.

Zadania · część 3

3 zadania · ok. 30 min

  1. Pokaż, że L(A)=∑ai−tr⁡(ABT)L(A) = \sum a_i - \operatorname{tr}(AB^{\mathsf T}) dla wektorów jednostkowych.

    Odpowiedź

    ∣b−Ar∣2=1+1−2bTAr|\mathbf b - A\mathbf r|^2 = 1 + 1 - 2\mathbf b^{\mathsf T}A\mathbf r (obrót zachowuje długość). Zatem L=∑ai−∑aibiTAriL = \sum a_i - \sum a_i\mathbf b_i^{\mathsf T}A\mathbf r_i, a bTAr=tr⁡(ArbT)=tr⁡(A(brT)T)\mathbf b^{\mathsf T}A\mathbf r = \operatorname{tr}(A\mathbf r\mathbf b^{\mathsf T}) = \operatorname{tr}(A(\mathbf b\mathbf r^{\mathsf T})^{\mathsf T}). Suma daje tr⁡(ABT)\operatorname{tr}(AB^{\mathsf T}).

  2. Dwa prostopadłe wektory: b1=x^\mathbf b_1 = \hat x z σ1=0,05∘\sigma_1 = 0{,}05^\circ i b2=y^\mathbf b_2 = \hat y z σ2=1∘\sigma_2 = 1^\circ. Policz PP. Wokół której osi błąd jest największy?

    Odpowiedź

    ∑(I−bbT)/σ2=diag⁡(1/σ22, 1/σ12, 1/σ12+1/σ22)\sum (I - \mathbf b\mathbf b^{\mathsf T})/\sigma^2 = \operatorname{diag}(1/\sigma_2^2,\ 1/\sigma_1^2,\ 1/\sigma_1^2 + 1/\sigma_2^2). Odchylenia: wokół xx (Słońce) σ2=1∘\sigma_2 = 1^\circ, wokół yy σ1=0,05∘\sigma_1 = 0{,}05^\circ, wokół zz 0,0499∘0{,}0499^\circ. Największy wokół kierunku dokładnego wektora, bo ten obrót widzi tylko gorszy czujnik.

  3. Bez szumu, dla trzech pomiarów z wagami 1, jaka jest λmax⁡\lambda_{\max}? Co oznacza λmax⁡\lambda_{\max} wyraźnie mniejsze od ∑ai\sum a_i?

    Odpowiedź

    λmax⁡=3\lambda_{\max} = 3 (Lmin⁡=0L_{\min} = 0). Duża różnica oznacza, że pomiary są niespójne: zły pomiar, błąd modelu pola, pomylona gwiazda. To prosty test wiarygodności.

4 Tracker gwiazd i żyroskop: filtr

Metody statyczne biorą pomiary z jednej chwili. Filtr łączy je w czasie: między pomiarami trackera orientację niesie żyroskop, a każdy pomiar trackera poprawia orientację i bias żyroskopu. W satelitach standardem jest multiplikatywny filtr Kalmana (MEKF), który znasz z dynamiki lotu (lekcja 3 Fuzja czujników w 3D: estymacja orientacji na kwaternionach): stanem jest mały błąd orientacji i błąd biasu, sześć liczb. Dla małych błędów trzy osie są prawie niezależne, więc wiele daje analiza jednej osi.

Filtr jednej osi: stan (kąt, bias)

Żyroskop: ωm=ω+b+ηv\omega_m = \omega + b + \eta_v, bias błądzi: b˙=ηu\dot b = \eta_u. Szum kątowy (ARW) σv\sigma_v [rad/√s], błądzenie biasu (RRW) σu\sigma_u [rad/s3/2], tracker σn\sigma_n co Δt\Delta t.

W stanie ustalonym, gdy σv2Δt≪σn2\sigma_v^2\Delta t \ll \sigma_n^2:

σθ≈σnσv  Δt1/4.\sigma_\theta \approx \sqrt{\sigma_n\sigma_v}\;\Delta t^{1/4}.

Bez pomiarów (sam żyroskop): σθ2(t)=σ02+σb2t2+σv2t+σu2t3/3\sigma_\theta^2(t) = \sigma_0^2 + \sigma_b^2t^2 + \sigma_v^2t + \sigma_u^2t^3/3.

Liczby (wartości z podręcznika Markleya i Crassidisa: σv=10⋅10−7\sigma_v = \sqrt{10}\cdot10^{-7} rad/√s, czyli 0,0011∘/h0{,}0011^\circ/\sqrt{\text{h}}, σu=10⋅10−10\sigma_u = \sqrt{10}\cdot10^{-10} rad/s3/2, tracker σn=17\sigma_n = 17 µrad =3,5= 3{,}5″ co 1 s): filtr daje 0,490{,}49″, siedem razy lepiej niż pojedynczy pomiar trackera. Przybliżenie daje 0,480{,}48″. Przy pomiarach co 10 s: 0,900{,}90″ (przybliżenie 0,850{,}85″), co 60 s: 1,51{,}5″. Jeśli tracker zgaśnie (Słońce w polu widzenia), po 10 min błąd rośnie do 2,2″, po godzinie do 12″, po trzech do 49″; na długich przerwach dominuje błądzenie biasu, które rośnie jak t3/2t^{3/2}.

Symulacja 2 Trzy godziny pracy filtru w jednej osi: tracker gwiazd i żyroskop z biasem 1∘1^\circ/h. Niebieska linia to prawdziwy błąd estymaty, czerwone przerywane to ±3σ\pm 3\sigma z kowariancji filtru. Zmieniaj szum trackera, odstęp pomiarów i jakość żyroskopu; włącz przerwę w pomiarach.

Zadania · część 4

3 zadania · ok. 30 min

  1. Policz σθ\sigma_\theta z przybliżenia dla σn=17\sigma_n = 17 µrad, σv=3,16⋅10−7\sigma_v = 3{,}16\cdot10^{-7} rad/√s, Δt=1\Delta t = 1 s i Δt=10\Delta t = 10 s.

    Odpowiedź

    17⋅10−6⋅3,16⋅10−7=2,32⋅10−6\sqrt{17\cdot10^{-6}\cdot 3{,}16\cdot10^{-7}} = 2{,}32\cdot10^{-6} rad =0,48= 0{,}48″; dla 10 s razy 101/4=1,7810^{1/4} = 1{,}78: 0,850{,}85″. Dokładna wartość z równania Riccatiego: 0,490{,}49″ i 0,900{,}90″.

  2. Skąd przybliżenie? Rozważ sam kąt (bez biasu): między pomiarami wariancja rośnie o q=σv2Δtq = \sigma_v^2\Delta t, pomiar ma wariancję r=σn2r = \sigma_n^2. Pokaż, że dla q≪rq \ll r wariancja w stanie ustalonym to ok. qr\sqrt{qr}.

    Odpowiedź

    Stan ustalony przed pomiarem: P−=P++qP^- = P^+ + q, P+=P−r/(P−+r)P^+ = P^-r/(P^- + r). Stąd P−(P−+r)−P−r=q(P−+r)P^-(P^- + r) - P^-r = q(P^- + r), czyli (P−)2=q(P−+r)(P^-)^2 = q(P^- + r). Dla P−≪rP^- \ll r: (P−)2≈qr(P^-)^2 \approx qr, P−≈qr=σvσnΔtP^- \approx \sqrt{qr} = \sigma_v\sigma_n\sqrt{\Delta t}, a σ=P\sigma = \sqrt{P} daje wzór z ramki.

  3. W godzinnej przerwie błąd rośnie do 11,8″. Z czego się składa, jeśli bias oszacowano z dokładnością 0,0021∘0{,}0021^\circ/h?

    Odpowiedź

    Bias: 0,0021∘/h⋅1 h=7,60{,}0021^\circ/\text{h}\cdot 1\,\text{h} = 7{,}6″; ARW: σv3600=3,9\sigma_v\sqrt{3600} = 3{,}9″; RRW: σu36003/3=8,1\sigma_u\sqrt{3600^3/3} = 8{,}1″. Suma kwadratów: 7,62+3,92+8,12+0,52=11,8\sqrt{7{,}6^2 + 3{,}9^2 + 8{,}1^2 + 0{,}5^2} = 11{,}8″.

5 Od czujników do systemu

Kilka rzeczy, których nie widać we wzorach. Tracker po włączeniu nie wie nic: rozpoznaje gwiazdy, porównując kąty między nimi (trójkąty gwiazd) z katalogiem, i podaje orientację w kilka sekund bez żadnej wiedzy wstępnej (tryb „zagubiony w kosmosie”). Tracker oślepia Słońce, a także jasna Ziemia i Księżyc, w promieniu kilkudziesięciu stopni od osi, więc satelity mają zwykle dwa albo trzy trackery patrzące w różne strony. Dwa trackery prostopadłe do siebie dają też dobrą dokładność we wszystkich osiach: obrót wokół osi jednego to obrót w poprzek drugiego. Wreszcie czujniki są zamontowane z błędami ustawienia rzędu minut kątowych, więc ich kalibracja na orbicie (np. przez dodatkowe stany w filtrze) jest częścią projektu.

Zadania · część 5

2 zadania · ok. 20 min

  1. Dlaczego tracker mierzy obrót wokół swojej osi kilka razy gorzej niż w poprzek?

    Odpowiedź

    Obrót w poprzek osi przesuwa wszystkie gwiazdy w polu widzenia o ten sam kąt. Obrót wokół osi przesuwa gwiazdę oddaloną od osi o ρ\rho tylko o δϕ⋅ρ\delta\phi\cdot\rho, a ρ\rho jest co najwyżej połową pola widzenia (np. 10∘=0,1710^\circ = 0{,}17 rad). Ten sam błąd położenia gwiazdy daje więc kilka razy większy błąd kąta wokół osi.

  2. Satelita ma jeden tracker o 30∘30^\circ kącie wykluczenia dla Słońca. Ile czasu na orbicie może on być oślepiony, jeśli patrzy prostopadle do płaszczyzny orbity, a Słońce leży w tej płaszczyźnie? A jeśli patrzy w zenit?

    Odpowiedź

    Prostopadle do orbity: kąt do Słońca stale ok. 90∘90^\circ, tracker nie jest oślepiany (dlatego tak się je ustawia). W zenit: oś obraca się raz na obieg i przechodzi przez Słońce; kąt mniejszy niż 30∘30^\circ przez 60/36060/360 obiegu, ok. 16 min z 98, zawsze po stronie dziennej orbity.

6 Metoda i przykłady rozwiązane

Metoda: budżet dokładności orientacji

  1. Wymaganie w każdej osi i czujniki, które je mogą spełnić (tabela z części 1).
  2. Statycznie: kowariancja P=(∑(I−bbT)/σ2)−1P = (\sum (I - \mathbf b\mathbf b^{\mathsf T})/\sigma^2)^{-1}; uwaga na mały kąt między wektorami.
  3. Z żyroskopem: σ≈σnσvΔt1/4\sigma \approx \sqrt{\sigma_n\sigma_v}\Delta t^{1/4} w stanie ustalonym, wzrost w przerwach.
  4. Geometria: kiedy czujniki są oślepione albo w cieniu; ile trwają przerwy.

Przykład 6.1 Mały satelita: Słońce i magnetometr

CubeSat ma czujnik Słońca i magnetometr, oba z dokładnością 0,5∘0{,}5^\circ; kąt między wektorami 60∘60^\circ. Jaka jest dokładność orientacji z TRIAD i z metody q?

  1. Granica z kowariancji: 0,89∘0{,}89^\circ RMS całkowity.
  2. Metoda q z wagami 1/σ21/\sigma^2: 0,888∘0{,}888^\circ (Monte Carlo). TRIAD: 0,955∘0{,}955^\circ, ok. 7% gorzej, bo zachowuje pierwszy wektor dokładnie i odrzuca część informacji z drugiego.

Wynik: ok. 1∘1^\circ; przy równych dokładnościach metoda q ma niewielką przewagę.

Sprawdzenie: przy σ1≪σ2\sigma_1 \ll \sigma_2 TRIAD z dokładnym wektorem jako pierwszym i metoda q dają to samo (1,13° i 1,13° przy 0,05∘0{,}05^\circ/1∘1^\circ) ✓.

Przykład 6.2 Satelita obserwacyjny: tracker i żyroskop

Wymaganie: 11″ (1σ1\sigma) na osi. Tracker 3,5″ co 1 s, żyroskop ARW 0,0011∘/h0{,}0011^\circ/\sqrt{\text h}. Czy wystarczy? A z przerwą 10 min?

  1. Stan ustalony: 0,490{,}49″, spełnione z zapasem.
  2. Przerwa 10 min: 2,22{,}2″, niespełnione; przerwa 1 min: 0,70{,}7″, spełnione.

Wynik: trzeba drugiego trackera albo ograniczyć przerwy do minut.

Sprawdzenie: w Symulacji 2 przy tych parametrach koperta 3σ3\sigma w stanie ustalonym ma ok. 1,5″ ✓.

Przykład 6.3 Zły pomiar

Metoda q z trzema wektorami (wagi znormalizowane do sumy 1) daje λmax⁡=0,9990\lambda_{\max} = 0{,}9990. Typowy szum to ok. 0,5∘0{,}5^\circ. Czy to normalne?

  1. Lmin⁡=1−0,999=10−3L_{\min} = 1 - 0{,}999 = 10^{-3}. Każdy pomiar ma dwie składowe błędu o wariancji σ2\sigma^2, więc przed dopasowaniem L≈12∑ai⋅2σ2=σ2L \approx \frac12\sum a_i\cdot 2\sigma^2 = \sigma^2. Dopasowanie trzech kątów „zjada” trzy z sześciu składowych, więc oczekiwane Lmin⁡≈6−36σ2=12(0,0087)2=3,8⋅10−5L_{\min} \approx \frac{6 - 3}{6}\sigma^2 = \frac12(0{,}0087)^2 = 3{,}8\cdot10^{-5} (Monte Carlo: 3,86⋅10−53{,}86\cdot10^{-5}).
  2. Lmin⁡L_{\min} jest ok. 26 razy większe od oczekiwanego: jeden z pomiarów jest najpewniej błędny (np. magnetometr zakłócony przez prąd w satelicie).

Wynik: odrzucić pomiar o największym residuum i policzyć ponownie.

Sprawdzenie: Lmin⁡L_{\min} jest sumą kwadratów residuów, więc przy poprawnych pomiarach ma rozkład zbliżony do χ2\chi^2 (statystyka, matematyka) ✓.

7 Błędne intuicje, których trzeba się oduczyć

„Dwa dokładne czujniki zawsze dają dokładną orientację.”
Nie, jeśli wektory są prawie równoległe: obrót wokół wspólnego kierunku widać słabo, błąd rośnie jak 1/sin⁡α1/\sin\alpha.
„W TRIAD kolejność wektorów jest obojętna.”
Pierwszy wektor jest zachowany dokładnie; musi to być ten dokładniejszy.
„Filtr nie może być dokładniejszy niż jego najlepszy czujnik.”
Może: żyroskop wiąże kolejne pomiary trackera i jego szum się uśrednia (0,49″ z pomiarów po 3,5″).
„Magnetometr mierzy pole dokładnie, więc kierunek też.”
Kierunek w układzie odniesienia pochodzi z modelu pola, a ten ma błąd rzędu 0,1–0,5°; do tego pole własne satelity.
„Kwaternion można filtrować jak zwykły wektor czterech liczb.”
Więz ∣q∣=1|q| = 1 czyni taką kowariancję osobliwą; poprawny jest filtr błędu (MEKF), jak w dynamice lotu.

8 Zadania do przemyślenia

Te zadania wymagają więcej myślenia niż liczenia.

Zadania do przemyślenia

5 zadań · ok. 1,5 godziny

  1. Skąd wagi 1/σ21/\sigma^2? Uzasadnij, że minimalizacja L(A)L(A) z ai=1/σi2a_i = 1/\sigma_i^2 to estymacja największej wiarygodności przy gaussowskim szumie prostopadłym do wektora.

    Rozwiązanie
    1. Model: bi=Ari+νi\mathbf b_i = A\mathbf r_i + \boldsymbol\nu_i, νi\boldsymbol\nu_i prostopadły do bi\mathbf b_i, gaussowski z wariancją σi2\sigma_i^2 na składową.
    2. Logarytm wiarygodności to −∑∣bi−Ari∣2/(2σi2)+stała-\sum |\mathbf b_i - A\mathbf r_i|^2/(2\sigma_i^2) + \text{stała}; jego maksimum to minimum LL z wagami 1/σi21/\sigma_i^2 (Shuster nazwał to modelem pomiaru QUEST).
  2. Sam magnetometr. Czy satelita z samym magnetometrem i żyroskopami może wyznaczyć pełną orientację?

    Rozwiązanie
    1. W jednej chwili nie: obrót wokół kierunku pola jest niewidoczny.
    2. W czasie tak: kierunek pola w układzie inercjalnym zmienia się wzdłuż orbity (na orbicie polarnej obraca się dwa razy na obieg), a żyroskopy łączą pomiary z różnych chwil. Filtr widzi kilka różnych kierunków, czyli dostaje informację jak od kilku czujników. Dokładność jest ograniczona błędem modelu pola.
  3. Bez żyroskopów. Coraz więcej małych satelitów nie ma żyroskopów. Skąd biorą prędkość kątową i jaka jest cena?

    Rozwiązanie
    1. Z różnic kolejnych orientacji trackera (różniczkowanie) albo z modelu dynamiki w filtrze (równania Eulera ze znanymi momentami sił od kół).
    2. Różniczkowanie wzmacnia szum (σω∼2σn/Δt\sigma_\omega \sim \sqrt2\sigma_n/\Delta t); model dynamiki wymaga dobrej znajomości momentów bezwładności i zakłóceń. Przerwa w pomiarach trackera jest groźniejsza, bo nie ma czym jej przetrwać.
  4. Zbyt pewny filtr. Co się stanie, jeśli w filtrze ustawimy szum żyroskopu dziesięć razy za mały?

    Rozwiązanie
    1. Kowariancja filtru będzie za mała, wzmocnienie Kalmana też: filtr za bardzo ufa propagacji żyroskopem i za mało poprawia pomiarami.
    2. Prawdziwy błąd wyjdzie poza kopertę 3σ3\sigma; przy dużych kątach linearyzacja przestaje działać i filtr może się rozbiec. Test: znormalizowane innowacje powinny mieć wariancję 1; za duża oznacza za mały szum modelu.
  5. TRIAD a metoda q. Kiedy TRIAD jest równie dobry jak metoda q, a kiedy wyraźnie gorszy?

    Rozwiązanie
    1. Prawie równoważne, gdy jeden czujnik jest dużo dokładniejszy i ustawiony jako pierwszy: cała informacja o dwóch osiach pochodzi z niego, a o trzeciej z drugiego.
    2. Gorszy przy podobnych dokładnościach (kilka procent), przy złej kolejności (dziesiątki procent) i przy więcej niż dwóch wektorach, których TRIAD nie umie użyć.

9 Sprawdź się

Odpowiedz w myślach, zanim rozwiniesz odpowiedź.

1 Dlaczego jeden kierunek nie wystarcza?

Obrót wokół tego kierunku go nie zmienia; potrzeba dwóch nierównoległych.

2 Który wektor dać jako pierwszy w TRIAD?

Dokładniejszy: pierwszy jest odtwarzany dokładnie.

3 Jak metoda q znajduje orientację?

Wektor własny macierzy KK dla największej wartości własnej to optymalny kwaternion.

4 Jaka jest najlepsza możliwa kowariancja z wektorów?

P=(∑(I−bbT)/σ2)−1P = (\sum (I - \mathbf b\mathbf b^{\mathsf T})/\sigma^2)^{-1}.

5 Jak dokładność filtru zależy od odstępu pomiarów?

Jak Δt1/4\Delta t^{1/4}: σ≈σnσvΔt1/4\sigma \approx \sqrt{\sigma_n\sigma_v}\Delta t^{1/4}.

6 Co dominuje w długiej przerwie w pomiarach?

Błąd biasu (liniowo w czasie) i błądzenie biasu (jak t3/2t^{3/2}).

10 Karta wzorów i co dalej

Metody statyczne

TRIAD: A=[t1 t2 t3][s1 s2 s3]TA = [\mathbf t_1\ \mathbf t_2\ \mathbf t_3][\mathbf s_1\ \mathbf s_2\ \mathbf s_3]^{\mathsf T}

Wahba: L=∑ai−tr⁡(ABT)L = \sum a_i - \operatorname{tr}(AB^{\mathsf T}), B=∑aibiriTB = \sum a_i\mathbf b_i\mathbf r_i^{\mathsf T}

metoda q: Kq=λmax⁡qKq = \lambda_{\max}q

P=(∑(I−bbT)/σ2)−1P = (\sum (I - \mathbf b\mathbf b^{\mathsf T})/\sigma^2)^{-1}

Filtr

ωm=ω+b+ηv\omega_m = \omega + b + \eta_v, b˙=ηu\dot b = \eta_u

σθ≈σnσv Δt1/4\sigma_\theta \approx \sqrt{\sigma_n\sigma_v}\,\Delta t^{1/4}

przerwa: σ2=σ02+σb2t2+σv2t+σu2t3/3\sigma^2 = \sigma_0^2 + \sigma_b^2t^2 + \sigma_v^2t + \sigma_u^2t^3/3

tracker: wokół osi kilka razy gorzej

Do przeczytania

  • Obowiązkowo: F. L. Markley, J. L. Crassidis, Fundamentals of Spacecraft Attitude Determination and Control (Springer, 2014), rozdz. 4 (czujniki), 5 (statyczne wyznaczanie orientacji: TRIAD, metoda q, QUEST), 6 (filtracja, MEKF).
  • Dla chętnych: M. D. Shuster, S. D. Oh, „Three-axis attitude determination from vector observations”, Journal of Guidance and Control (1981): QUEST i model pomiaru w oryginale.

Satelita wie już, jak jest ustawiony, z dokładnością od stopnia do ułamka sekundy kątowej. Ostatnia lekcja kursu: jak go obrócić tam, gdzie trzeba, kołami reakcyjnymi, cewkami magnetycznymi i silniczkami, i co zrobić z momentem pędu, który koła zbierają od zakłóceń.

Korzystają z tej lekcji 13 Sterowanie orientacją: koła reakcyjne, magnetyki i silniczki