1
W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego
Zintegrowane Systemy Nawigacyjne
Ćwiczenie laboratoryjne:
Analiza działania INS
autor instrukcji: mgr inż. Michał Łabowski
Warszawa, 2017
2 1. Opis platformy pomiarowej
System nawigacyjny składa się z dwóch przyrządów pomiarowych: IMU KVH 1750 oraz zintegrowanego systemu nawigacyjnego INS/GNSS SBG Ekinox-D. Czujnik IMU KVH 1750 jest inercjalną jednostką pomiarową klasy taktycznej, składającą się z trzech przyspieszeniomierzy MEMS i trzech giroskopów FOG.
Danymi wyjściowymi z urządzenia są: wektor przyspieszenia pozornego oraz wektor zmiany kątów orientacji przestrzennej.
Ekinox-D firmy SBG jest zintegrowanym systemem nawigacyjnym INS/GNSS, posiadającym dwuantenowy odbiornik GNSS. Część inercjalna urządzenia SBG składa się z trzech przyspieszeniomierzy oraz trzech giroskopów typu MEMS. Odbiornikiem GNSS zabudowanym wewnątrz czujnika Ekinox jest model OEM-615 firmy Novatel. Jest to odbiornik dwuantenowy z możliwością uwzględniania poprawek RTK. Pozwala on na śledzenie sygnałów L1 i L2 konstelacji GPS oraz sygnałów L1 i L2 konstelacji GLONASS. Dzięki dwóm antenom możliwe jest określenie kursu geograficznego (KG) obiektu, czyli kąta pomiędzy osią anten (która pokrywa się z osią podłużną BSP) a lokalnym południkiem geograficznym.
Lokalny układ odniesienia związany z samolotem oznaczono jako b-frame (ang. body frame). Początek układu – punkt 𝑂
𝑏znajduje się w pobliżu środka ciężkości obiektu. Oś 𝑂𝑋
𝑏układu b-frame skierowana jest wzdłuż osi podłużnej BSP, tj. w stronę jego części przedniej, oś 𝑂𝑌
𝑏skierowana jest w stronę prawego skrzydła, natomiast oś 𝑂𝑍
𝑏dopełnia układ prawoskrętny. Z przyrządami KVH i SBG związane są z kolei układy lokalne nazwane odpowiednio s1-frame oraz s2-frame (s-frame od ang. sensor frame), co przedstawiono na rys.1. Osie układu odniesienia związanego z czujnikiem IMU (s1-frame) posiadają kierunki i zwroty zgodne z kierunkami i zwrotami jego osi pomiarowych.
Rys. 1. Uogólniony schemat samolotu z rozmieszczeniem urządzeń nawigacyjnych i radarowych
Badania opisanego systemu przeprowadzono z wykorzystaniem naziemnej platformy kołowej
przedstawionej na rys. 2.
3
Rys. 2. Testy naziemne podsystemu nawigacyjnego - platforma kołowa
2. Opis wyników pomiarów IMU i GPS
W ćwiczeniu wykorzystane zostaną wyniki pomiarów wykonanych przez przyspieszeniomierze i giroskopy IMU KVH (plik imu.mat) oraz odbiornik GPS (plik gps.mat). Wyniki poszczególnych pomiarów zapisywane są w wektorach kolumnowych, których opis przedstawiono w tab. 1.
Tab. 1. Opis wybranych kolumn macierzy z wynikami pomiarów
Czujnik Kolumna Opis
IMU
8 czas danych [µs od początku doby]
9 przyspieszenie pozorne w osi OX s-frame [g]
10 przyspieszenie pozorne w osi OY s-frame [g]
11 przyspieszenie pozorne w osi OZ s-frame [g]
12 zmiana kąta wokół osi OX s-frame [rad]
13 zmiana kąta wokół osi OY s-frame [rad]
14 zmiana kąta wokół osi OZ s-frame [rad]
GPS
8 czas danych [µs od początku doby]
9 szerokość geograficzna [deg]
10 długość geograficzna [deg]
11 wysokość [m n.p.m.]
20 kurs [rad]
3. Macierz kosinusów kierunkowych
Macierz DCM (ang. Direction Cosine Matrix) transformacji wektora z układu 𝛼-frame do β-frame, dana jest zależnością:
−
−
−
=
cos sin
0
sin cos
0
0 0
1 cos
0 sin
0 1 0
sin 0 cos
1 0
0
0 cos
sin
0 sin
cos
1 1
bs bs
C
(1)4
Macierz ta składa się z trzech macierzy obrotów, z których pierwszy wykonywany jest obrót układu β-frame wokół jego osi OZ o kąt Ψ
βα, następnie wykonywany jest obrót wokół osi OY układu powstałego w kroku poprzednim oraz obrót wokół osi OX. W wyniku przeprowadzenia tych trzech obrotów uzyskuje się pokrycie osi układu β-frame z osiami układu 𝛼-frame.
Mając macierz 𝐂
αβmożna dokonać przeliczeń w kierunku odwrotnym, tzn. wyznaczyć wartości kątów Eulera:
(
)
=
atan2 C
3,2, C
3,3 (2)( )
= −
arcsin C
3,1 (3)(
)
=
atan2 C
2,1, C
1,1 (4)4. Inicjalizacja INS
W nawigacji inercjalnej wyznaczane są zmiany prędkości, zmiany położenia i zmiany orientacji kątowej, jednak w celu określenia bieżących wartości tych elementów nawigacyjnych wymagane jest przyjęcie ich początkowych wartości względem których realizowane jest następnie sumowanie.
4.1. Poziomowanie
W przypadku inicjalizacji wykonywanej w warunkach stacjonarnych, podczas tzw. ciszy mechanicznej (wyłączony silnik i inne elementy mechaniczne, brak oddziaływania ze strony załogi/personelu obsługującego) możliwe jest wyznaczenie początkowych wartości kątów pochylenia Θ
𝑛𝑏i przechylenia Φ
𝑛𝑏na podstawie pomiarów przyspieszenia pozornego:
(
isb z)
b y is
nb
= arctan 2 − f
1,, − f
1,
(5)( ) ( )
= +
2, 1 2 , 1
, 1
f f
arctan f
b z is b
y is
b x is
nb (6)
gdzie: [f
𝑖𝑠1,𝑥𝑏f
𝑖𝑠1,𝑦𝑏f
𝑖𝑠1,𝑧𝑏]
𝑇to wektor przyspieszenia pozornego układu s1-frame, względem i-frame, wyrażony w b-frame.
4.2. Kurs początkowy
Inicjalizacja kursu ruchu obiektu może być realizowana poprzez pomiar składowych wektora natężenia pola magnetycznego Ziemi, lub za pomocą dwuantenowego odbiornika GPS. W tym drugim przypadku anteny umieszcza się najczęściej wzdłuż osi podłużnej pojazdu. Jedna z anten jest tzw. anteną główną (ang.
master) i to dla niej wyznaczane są pseudoodległości do satelitów, druga z anten (ang. slave) pełni funkcję pomocniczą (wyznaczanie kursu).
4.3. Początkowe położenie i prędkość
Położenie i prędkość początkowa określane są najczęściej za pomocą odbiornika GPS, lub wpisywane są przez użytkownika w przypadku, w którym warunki początkowe są znane.
5. Obliczenia nawigacyjne
Obliczenia wykonywane w systemie nawigacji inercjalnej można podzielić na cztery etapy, co
przedstawiono na rys. 3. Celem obliczeń aktualizacji orientacji przestrzennej jest wyznaczenie aktualnej
5
postaci macierzy 𝐂
𝑏𝑛oraz kątów pochylenia Θ
𝑛𝑏, przechylenia Φ
𝑛𝑏i odchylenia Ψ
𝑛𝑏. Dane wejściowe do tej procedury stanowi wektor zmiany orientacji kątowej mierzony przez giroskopy Δ𝚯
𝑖𝑠1𝑠1oraz wartość macierzy DCM z chwili 𝑘 − 1 𝐂
𝑏,𝑘−1𝑛.
Rys. 3. Schemat przepływu danych w INS
Dzięki znajomości aktualnej macierzy 𝐂
𝑏𝑛oraz macierzy 𝐂
𝑠𝑏możliwe jest przeliczenie wektora przyspieszenia pozornego mierzonego przez przyspieszeniomierze f
𝑖𝑠1𝑠1do układu b-frame oraz n-frame. Na podstawie uzyskanego wektora f
𝑖𝑠1𝑛oraz poprzedniego wektora prędkości v
𝑘−1𝑛wyznaczana jest prędkość aktualna. Aktualne położenie (wyrażone w układzie ECEF – szerokość geograficzna φ, długość geograficzna λ oraz wysokość nad elipsoidą odniesienia) obliczane jest poprzez całkowanie wektora prędkości przy znanym położeniu wyznaczonym w kroku poprzednim.
5.1. Aktualizacja orientacji przestrzennej Aktualna macierz 𝐂
𝑏𝑛wyznaczana jest z zależności:
( )
nbkt
n en n
ie k
b k b n
k b n
k
b,
C
, −1C
,, −1− Ω + Ω C
, −1
C
(7)gdzie 𝐂
𝑏,𝑘−1𝑏,𝑘to macierz aktualizacji orientacji przestrzennej, opisująca przekształcenie macierzy 𝐂
𝑏𝑛z chwili 𝑘 − 1 do chwili 𝑘. Macierz tą opisana jest równaniem:
− =
=
=
0 1 1
, 1
,
exp !
r
b r b is
is k
b k
b
r
Θ Θ
C
(8)Rozwinięcie równania (8) w szereg Tylora ogranicza się najczęściej do wyrazu związanego z wielomianem stopnia czwartego:
1
22 1 2
1 3
, 1
,
2 24
1
1 6
− +
− +
−
=
bis b
b is is b
k is b
k
b
Θ Θ
Θ Θ I
C
(9)Uzyskana postać jest zbliżona do tzw. równania Rodrigues’a wykorzystującego funkcje trygonometryczne:
2
1
21 1
1 1 3
, 1 ,
cos 1
sin
+ −
+
−
=
bb is is
b b is
b is is b k is
b k
b
Θ
Θ Θ Θ
Θ Θ I
C
(10)6
Występująca w równaniu (7) macierz Ω
𝑖𝑒𝑛to postać antysymetryczna wektora prędkości kątowej Ziemi względem układu i-frame (ang. Earth rate) 𝛚
𝑖𝑒𝑛, który określa równanie:
( ) ( )
=
sin 0 cos
ie n
ω
ie (11)gdzie φ stanowi szerokość geograficzną położenia IMU, natomiast ω
𝑖𝑒jest prędkością ruchu obrotowego Ziemi:
s 10 rad 292115 ,
7
−5=
ie (12)Postać antysymetryczną 𝛀 wektora 𝛚 wyznacza się z równania:
−
−
−
=
=
0 0 0
1 2
1 3
2 3
Ω
(13)Postać antysymetryczną Ω
𝑒𝑛𝑛wektora prędkości kątowej układu nawigacyjnego względem ziemskiego (ang.
transport rate) 𝛚
𝑒𝑛𝑛można wyliczyć ze wzoru:
( ) ( ) ( ) ( )
+
−
+
−
+
=
h R
v
h R
v h R
v
E n
E es
N n
N es E
n E es
n en
,
tg
1 , 1 , 1
ω
(14)gdzie 𝑅
𝑁i 𝑅
𝐸to promienie południkowy i równoleżnikowy elipsoidy ziemskiej, v
𝑒𝑠1,𝑁𝑛i v
𝑒𝑠1,𝐸𝑛stanowią składowe wektora v
𝑒𝑠1𝑛prędkości układu s-frame względem układu e-frame, wyrażonego w układzie n-frame, zaś ℎ to wysokość lotu nad elipsoidą odniesienia. Promień południkowy elipsoidy ziemskiej, według modelu WGS-84, można wyznaczyć z zależności:
( ) (
2 2( ) )
232 0
sin 1
1
−
= − e
e R
NR
(15)
gdzie 𝑅
0to promień równikowy elipsoidy WGS-84 (𝑅
0= 6378137 m), 𝑒 zaś stanowi mimośród elipsoidy (𝑒 = 0,081819108425). Promień równoleżnikowy elipsoidy WGS-84, w punkcie o zadanej szerokości geograficznej, określa wzór:
( )
= −
2 2
0
sin 1 e
R
ER
(16)5.2. Aktualizacja prędkości
Celem obliczeń etapu aktualizacji prędkości realizowanych w INS jest wyznaczenie wektora v
𝑒𝑠1𝑛prędkości obiektu (układu s-frame) względem Ziemi (układu e-frame), wyrażonego w układzie n-frame. Dane
7
wejściowe toru obliczeniowego stanowi wektor przyspieszenia pozornego f
𝑖𝑠1𝑠1, mierzony przez czujnik IMU z częstotliwością 1 kHz.
W pierwszym kroku wektor przyspieszenia pozornego przeliczany jest z układu s1-frame do b-frame:
1 , 1 1 ,
1
s k is b s b
k
is
C f
f =
(17)Następnie wektor ten przeliczany jest do układu n-frame z wykorzystaniem macierzy C
𝑏𝑛, uprzednio wyznaczonej w etapie aktualizacji orientacji przestrzennej:
b k is n
k b n
k
is1,
C
,f
1,f =
(18)Przyrost prędkości υ
𝑖𝑠1𝑛, powstający w wyniku występowania przyspieszenia pozornego obiektu, wyznaczany jest poprzez całkowanie przyspieszenia metodą trapezów:
(
isn k)
tn k is n
k
is1, = 1, + 1, −1
2
1 f f
υ (19)
gdzie Δ𝑡 = 𝑡
𝑘− 𝑡
𝑘−1. Korygując przyrost prędkości wyznaczony w (19) o składniki związane z przyspieszeniem wynikającym z siły ciężkości g
𝑏𝑛otrzymuje się następującą zależność:
n
t
k b n
k is n
k es n
k
es1,
= v
1,−1+ υ
,+ g
, −1
v
(20)gdzie g
𝑏𝑛to wektor przyspieszenia ziemskiego wyrażony w układzie n-frame. W powyższym równaniu pominięto wpływ ruchu układu n-frame względem układu e-frame (transport rate) oraz składnik związany z efektem Coriolisa.
5.3. Aktualizacja położenia
Celem obliczeń etapu aktualizacji położenia jest określenie wektora r
𝑠1𝑒położenia początku układu s1-frame, wyrażonego w układzie e-frame:
s s s
Te
s1
=
1
1h
1r
(21)W badanym systemie nawigacyjnym czujnik IMU znajduje się w pobliżu środka ciężkości obiektu (początku układu b-frame), dlatego przyjęto założenie, że w układzie e-frame współrzędne położenia początków tych układów (punkty 𝑂
𝑠1i 𝑂
𝑏) są takie same, tzn.:
e s e b
r
1r =
(22)Zakładając dodatkowo, że w trakcie jednego okresu pomiarowego zmiana prędkości jest liniowa, całkowanie numeryczne można wykonać metodą trapezów:
(
esn Dk esn Dk)
k s k s k
b
t v v
h h
h
, 1, 1, 1 1, , 1 1, ,2 +
−
=
=
− − (23)
+ + +
+
=
=
−
−
−
−
−
k s k N
n k N es k
s k N
n k N es k
s k s k
b
R h
v h
R t v
, 1 1 ,
, , 1
1 , 1 1 ,
1 , , 1 1
, 1 , 1
,
2
(24)( ) ( ) ( ) ( )
+ +
+
+
=
=
−
−
−
−
−
k s k
s k E
n k E es k
s k
s k E
n k E es k
s k s k
b
R h
v h
R t v
, 1 ,
1 ,
, , 1
1 , 1 1
, 1 1 ,
1 , , 1 1
, 1 , 1
,
2 cos cos
(25)8 6. Instrukcja ćwiczenia laboratoryjnego
Celem ćwiczenia jest zapoznanie z algorytmem oraz obliczeniami realizowanymi w systemie nawigacji inercjalnej. Zadanie Studenta polega na przeanalizowaniu kodu źródłowego napisanego w języku MATLAB oraz uzupełnienie jego brakujących fragmentów na podstawie równań przedstawionych w powyższej części niniejszej instrukcji.
6.1. Przeanalizuj kod programu: zidentyfikuj główne etapy obliczeń (zgodnie z rys. 3) oraz miejsca w których konieczne będzie uzupełnienie kodu (wskazówka – szukaj miejsc z napisem UZUPELNIJ).
6.2. Uzupełnij brakujące fragmenty programu.
6.3. Przygotuj sprawozdanie z ćwiczenia laboratoryjnego, a w nim:
a) Opisz sposób wyznaczenia orientacji układu s-frame względem b-frame (kąty Φ
𝑏𝑠1, Θ
𝑏𝑠1, Ψ
𝑏𝑠1).
b) Zinterpretuj wyznaczoną macierz C
𝑠1𝑏.
c) Opisz sposób przeliczania wektora przyspieszenia pozornego z układu s-frame do b-frame oraz zinterpretuj uzyskane przebiegi
d) Uzasadnij wartości przyjęte podczas inicjalizacji orientacji przestrzennej, prędkości i położenia obiektu.
e) Zinterpretuj uzyskane wyniki wyznaczania kątów Eulera, prędkości oraz położenia obiektu.
f) W funkcji odpowiedzialnej za aktualizację orientacji przestrzennej usuń składniki związane
z transport rate oraz earth rate oraz porównaj uzyskane wyniki wyznaczania położenia
z rezultatami, w których te czynniki korekcyjne są uwzględniane.
9
W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego
Zintegrowane Systemy Nawigacyjne
Ćwiczenie laboratoryjne:
Analiza błędów INS
Warszawa, 2017
11 1. Cel ćwiczenia
Celem ćwiczenia jest modelowanie, implementacja i symulacja komputerowa działania pojedynczego kanału systemu nawigacji inercyjnej.
2. Założenia
Analizowane będą błędy pojedynczego kanału horyzontalnego systemu INS. Model zawiera wiele uproszczeń w stosunku do rzeczywistego systemu INS. Uproszczenia opisano poniżej.
Nawigacja (określanie prędkości i położenia pojazdu) odbywa się w lokalnym horyzontalnym układzie współrzędnych, a więc w układzie obracającym się względem przestrzeni inercjalnej ze względu na ruch pojazdu i obrót Ziemi. W dalszych rozważaniach ruch obrotowy Ziemi pominięto.
Ruch pojazdu odbywa się wyłącznie w jednej płaszczyźnie, a jego położenie jest opisywane za pomocą dwóch współrzędnych x i z. Schemat INS nawigującego w pojedynczej płaszczyźnie, w obracającym się układzie współrzędnych, jest następujący:
Rys. 1. Uproszczony dwuwymiarowy INS nawigujący w obracającym się układzie współrzędnych
Równania nawigacji inercjalnej systemu INS nawigującego w pojedynczej płaszczyźnie, w obracającym się układzie współrzędnych, są następujące:
z R
v
xyb
− +
=
0
(1) +
= f cos f sin
f
x xb zb (2) +
−
= f sin f cos
f
z xb zb (3)12
z
z x
x
= + +
0 x
R v f v
v
(4)z
z
z
= + − +
0 2 x
R g v f
v
(5)v
xx = (6)
v
zz = (7)
Pojazd porusza się ruchem prostoliniowym jednostajnym lub pozostaje w spoczynku, dzięki czemu można założyć, że podlega on wyłącznie oddziaływaniom grawitacyjnym. Przyspieszeniomierze systemu INS mierzą zatem wyłącznie przyspieszenia pozorne niezbędne do pokonania grawitacji, a zatem: f
xg= 0 i f
zg= g. Dla uproszczenia przyjęto kąt pochylenia = 0. Na podstawie poprzedniego rysunku i równań, można podać schemat i równania przedstawiające propagację błędów:
Rys. 2. Schemat propagacji błędów w obracającym się układzie współrzędnych
Rys. 3. Równania propagacji błędów w obracającym się układzie współrzędnych
13
Na podstawie analizy równań propagacji można wyprowadzić następujące zależności opisujące wpływ poszczególnych błędów INS na błąd położenia:
Rys. 4. Wpływ poszczególnych błędów INS na błąd wyznaczania położenia
3. Zadania do wykonania
Utworzyć w Simulinku model symulujący propagację błędów uproszczonego pojedynczego kanału INS zgodnie z opisanymi uprzednio równaniami i następującym rysunkiem:
Rys. 5. Model symulacyjny błędów uproszczonego pojedynczego (horyzontalnego) kanału INS
Przyjąć następujące założenia i sposób postępowania:
• Czas symulacji 4 h.
• Początkowe wartości wszystkich błędów zerowe.
14
• Przeprowadzić wstępną symulację w celu sprawdzenia działania modelu.
Następnie:
• Wprowadzić początkowy błąd położenia x
0= 1000 m. Sprawdzić wpływ tego błędu na przebieg błędów położenia x, prędkości v i pochylenia .
• Wprowadzić początkowy błąd prędkości v
0= 1 m/s. Sprawdzić wpływ tego błędu na przebieg błędów położenia x, prędkości v i pochylenia . Określić na podstawie wyników symulacji amplitudę i okres oscylacji błędów położenia. Porównać uzyskane wyniki z obliczonymi w sposób analityczny (zależności z rys. 4).
• Wprowadzić początkowy błąd pochylenia
0= 0,1. Sprawdzić wpływ tego błędu na przebieg błędów położenia x, prędkości v i pochylenia . Określić na podstawie wyników symulacji amplitudę i okres oscylacji błędów położenia. Porównać uzyskane wyniki z obliczonymi w sposób analityczny (zależności z rys. 4).
• Wprowadzić błąd przyspieszeniomierza (błąd systematyczny) f
xb= 100 g (typowe dla przyspieszeniomierzy MEMS), a następnie f
xb= 1 g (typowe dla przyspieszeniomierzy mechanicznych). Sprawdzić wpływ tego błędu na przebieg błędów położenia x, prędkości v i pochylenia . Określić na podstawie wyników symulacji amplitudę i okres oscylacji błędów położenia. Porównać uzyskane wyniki z obliczonymi w sposób analityczny (zależności z rys. 4).
• Wprowadzić błąd giroskopu (błąd systematyczny)
yb= 100/h (typowe dla giroskopów MEMS), a
następnie
yb= 0,01/h (typowe dla giroskopów FOG i RLG). Sprawdzić wpływ tego błędu na
przebieg błędów położenia x, prędkości v i pochylenia . Określić na podstawie wyników
symulacji amplitudę i okres oscylacji błędów położenia. Porównać uzyskane wyniki z obliczonymi
w sposób analityczny (zależności z rys. 4).
15
W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego
Zintegrowane Systemy Nawigacyjne
Ćwiczenie laboratoryjne pt.:
Analiza działania systemu INS/GPS
Warszawa, 2018
17 1. Cel ćwiczenia
Celem ćwiczenia jest analiza systemu zintegrowanego INS/GPS. W ramach ćwiczenia należy:
• dokonać analizy działania systemu INS/GPS
• zaimplementować równania filtru Kalmana w oprogramowaniu Matlab,
• dokonać analizy uzyskanych rezultatów wyznaczania położenia.
2. Opis systemu nawigacyjnego
Modelowany zintegrowany system nawigacyjny składa się z systemu nawigacji inercjalnej INS oraz odbiornika GPS (rys.2.1). W systemie tym intergracja danych realizowana jest metodą filtracji pośredniej z korekcją w przód.
Rys.2.1. Model systemu INS/GPS
a. Model błędów INS
W prezentowanym systemie modelowane są błędy wyznaczania położenia w płaszczyźnie horyzontalnej, tzn. wzdłuż osi północnej:
+
−
=
+
=
=
E N E
BN E N
N
u v
u v
v N
R 1 g
(1)
oraz osi wschodniej:
+
=
+
−
=
=
N E N
BE N E
E
u v
u v
v E
R 1 g
(2)
gdzie:
N - błąd wyznaczenia położenia przez INS w osi północnej, v
N - błąd wyznaczenia prędkości przez INS w osi północnej,
E- błąd wyznaczenia orientacji kątowej b-frame względem n-frame, wyrażony wokół osi wschodniej,
Uncorrected INS errors
GPS errors
Corrected INS errors
Estimated INS errors
Comparison of North errors Comparison of East errors
--- Note:
Doub le-click b locks to change parameters or configure sub systems.
z(1) z(2)
x(1) x(4) Kalman Filter dN
dE INS
[dE_GPS]
[dN_GPS]
[dE_INS]
[dN_INS]
[dE_INSGPS]
[dN_INSGPS]
dN dE GPS
[dE_GPS]
[dE_INS]
[dE_INSGPS]
[dN_GPS]
[dN_INS]
[dN_INSGPS]
18
E - błąd wyznaczenia położenia przez INS w osi wschodniej, v
E - błąd wyznaczenia położenia przez INS w osi wschodniej,
N- błąd wyznaczenia orientacji kątowej b-frame względem n-frame, wyrażony wokół osi północnej, g – przyspieszenie ziemskie,
R – promień Ziemi (przy założeniu modelu kulistego, R = 6371 km).
Równania (1) i (2) zaimplementowano w środowisku Simulink (rys. 2.2 – 2.4). Parametrami wejściwymi modelu błędów są widmowe gęstości mocy szumu przyspieszeniomierzy (SBN, SBE), widmowe gęstości mocy szumu giroskopów (SWN, SWE) oraz błędy orientacji osi pomiarowych czujników. Szumy modelowane są jako ograniczone pasmowo szumy białe.
Rys. 2.2. Model błędów INS
Rys. 2.3. Model błędów INS - kanał N
19
Rys. 2.3. Model błędów INS - kanał E
b. Model błędów odbiornika GPS
Błędy wyznaczania położenia wzdłuż osi północnej i wschodniej przez odbiornik GPS modelowane są jako szumy o rozkładzie normalnym, z zerową wartością oczekiwaną. W modelu możliwe jest także ustawienie wartości wariancji ww. błędów.
Rys. 2.3. Model błędów odbiornika GPS
c. Ciągły model dynamiki systemu
Ciągły model dynamiki systemu dany jest zależnością:
( ) t Fx ( ) t Gu ( ) t
x = +
(3)gdzie:
G - macierz sterowań stochastycznych, F - macierz podstawowa (przejścia),
( ) t
x - n-wymiarowy wektor stanu systemu w chwili t,
20
( ) t
u - p-wymiarowy wektor wymuszeń stochastycznych (zakłóceń procesu).
Wektor stanu zawiera błędy wyznaczania położenia, prędkości i orientacji kątowej przez system INS, tzn.:
( )
=
N E E
N
v E v
N
t
x
(4)Uwzględniając zależności (1)-(4) otrzymuje się:
+
−
= −
N BE E BN
N E E
N
N E E
N
u u u u
v E v
N
v E v
N
1 0
0 1
0 0
0 0
0 0
0 0
0 0
0 0
0 0
1 0
0 1
0 0
R 0 0 1
g 0 0
0 1 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
R 0 0 1
g 0 0
0 1 0
(5)
Macierz kowariancji zakłóceń procesu:
=
N BE E BN
S 0
0 S 0 0
0 0
0 0
0 0 S
0 0 S
Q
c (6)Ciągły model systemu (3) często wygodnie jest zastąpić modelem dyskretnym, ponieważ dane z wielu urządzeń nawigacyjnych są dostępne jedynie w dyskretnych chwilach czasu, a do ich przetwarzania w systemach zintegrowanych zwykle stosuje się urządzenia mikroprocesorowe, realizujące dyskretne algorytmy filtracji. Dyskretny, liniowy model dynamiki dany jest zależnością:
( k ) x ( ) ( ) k w k
x + 1 = +
(7)Gdzie Φ to macierz tranzycyjna (przejścia) związana z macierzą podstawową poprzez zależność:
( ) ( ) ( )
... !
! 2
2
n T T T
e k
n
T
F F
F
Φ =
F= I + + + +
(8)Dyskretny model dynamiki systemu INS/GPS przyjmuje postać:
21
( )
( )
( )
( )
( )
( )
( )
( ) ( )
( ) ( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( )
+
=
+
+
+
+ +
+
k w
k w
k w
k w
k w
k w
k k v
k E
k k v
k N
k
k k v
k E
k k v
k N
N vE
E E vN
N
N E E
N
N E E
N
Φ
1 1 1 1 1 1
(9)
d. Model obserwacji
Dyskretny model obserwacji danych jest następującym równaniem:
( ) k H ( ) ( ) ( ) k x k v k
z = +
(10)gdzie:
( ) k
H - macierz obserwacji dyskretnego modelu systemu w chwili kT,
( ) k
v - m-wymiarowy wektor błędów pomiarowych w chwili kT,
( ) k
z - m-wymiarowy wektor pomiarowy w chwili kT.
W omawianym systemie INS/GPS wektor pomiarowy z(k) ma postać:
( )
−
−
=
GPS INS
GPS INS
E E
N k N
z
(11)gdzie: N
INSi E
INSto błędy wyznaczania położenia z modelu sytemu INS, natomiast N
GPSi E
GPSto błędy wyznaczania położenia z modelu odbiornika GPS.
Macierz kowariancji błędów pomiarowych R ( ) k określana jest dla wariancji danych pochodzących z odbiornika GPS i dana jest zależnością:
=
=
2 20 0
E N
E vv
TR
(12)3. Liniowy filtr Kalmana
W przentowanym systemie integracja danych INS i GPS realizowana jest za pomocą filtru Kalmana.
Ponieważ zarówno model dynamiki jak i model obserwacji są liniowe możliwe jest zastosowanie klasycznego, liniowego filtru Kalmana, który w omawianym przypadku jest algorytmem filtracji optymalnej.
Obliczenia realizowane w filtrze przedstawiono na rys. 3.1.
22
Rys. 3.1. Algorytm liniowego filtru Kalmana
Zmienne wykorzystane na rys. 3.1:
I - macierz jednostkowa,
( ) k k
xˆ - estymata wektora stanu w chwili kT – wynik filtracji,
( ) k k
P - macierz kowariancji błędów filtracji w chwili kT,
( k 1 k )
ˆ +
x - estymata wektora stanu w chwili (k+1)T – wynik predykcji,
( k 1 + k )
P - macierz kowariancji błędów predykcji w chwili (k+1)T,
( ) k
K - macierz wzmocnień Kalmana w chwili kT.
Kluczowe operacje wykonywane podczas pracy filtru to: inicjalizacja (1), predykcja wektora stanu i macierzy kowariancji błędów (2), wykonywanie pomiaru (3), obliczanie macierzy wzmocnień Kalmana i korekcja wyników predykcji w wykorzystaniem ostatnio wykonanego pomiaru (4).
4. Instrukcja ćwiczenia laboraatoryjnego Zadania do wykonania:
a. Zaimplementować równania filtru Kalmana (w funkcji z pliku mdlUpdate() Lab1_KF.m),
b. Wyznaczyć wartości elementów macierzy tranzycyjnej przy ograniczeniu rozwinięcia w szereg Fouriera do wyrazu związanego z wielomianem stopnia pierwszego,
c. Zinterpretować wyniki wyznaczania położenia (INS, GPS, INS/GPS w kanale północnym i wschodnim). Parametry symulacji:
Filtr Kalmana: PSD przyspieszeniomierzy 2𝑒 − 5
𝑚2𝑠3
, PSD giroskopów 1𝑒 − 8
𝑟𝑎𝑑2𝑠
, odchylenie standardowe błędów GPS 10 m,
INS: PSD przyspieszeniomierzy 2𝑒 − 5
𝑚2𝑠3
, PSD giroskopów 1𝑒 − 8
𝑟𝑎𝑑2𝑠
, GPS: wartość oczekiwana 0 m, wariancja błędów GPS 100 m,
d. Zinterpretować wyniki wyznaczania położenia (INS, GPS, INS/GPS w kanale północnym
i wschodnim). Parametry symulacji:
23 Filtr Kalmana: PSD przyspieszeniomierzy 2𝑒 − 6
𝑚2𝑠3
, PSD giroskopów 1𝑒 − 9
𝑟𝑎𝑑2𝑠
, odchylenie standardowe błędów GPS 10 m,
INS: PSD przyspieszeniomierzy 2𝑒 − 5
𝑚2𝑠3
, PSD giroskopów 1𝑒 − 8
𝑟𝑎𝑑2𝑠
, GPS: wartość oczekiwana 0 m, wariancja błędów GPS 100 m,
e. Wyznaczyć wartości elementów macierzy tranzycyjnej przy ograniczeniu rozwinięcia w szereg Fouriera do wyrazu związanego z wielomianem stopnia drugiego,
f. Zinterpretować wyniki wyznaczania położenia (INS, GPS, INS/GPS w kanale północnym i wschodnim). Parametry symulacji:
Filtr Kalmana: PSD przyspieszeniomierzy 2𝑒 − 5
𝑚2𝑠3
, PSD giroskopów 1𝑒 − 8
𝑟𝑎𝑑2𝑠
, Odchylenie standardowe błędów GPS 10 m,
INS: PSD przyspieszeniomierzy 2𝑒 − 5
𝑚𝑠32, PSD giroskopów 1𝑒 − 8
𝑟𝑎𝑑𝑠2,
GPS: wartość oczekiwana 0 m, wariancja błędów GPS 100 m,
24
W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego
Zintegrowane Systemy Nawigacyjne
Ćwiczenie laboratoryjne:
Analiza działania systemu nawigacji zliczeniowej
Warszawa, 2017
25 5. Cel ćwiczenia
Celem ćwiczenia jest analiza systemu nawigacji zliczeniowej wykorzystującego odometrię różnicową.
W ramach ćwiczenia należy dokonać pomiaru odpowiednich wymiarów geometrycznych robota kołowego, zaimplementować równania nawigacyjne w programie wykonywanym w sterowniku robota (wykorzystując język C oraz środowisko RobotC) oraz ocenić dokładność wyznaczania położenia i kursu.
6. Opis platformy pomiarowej
Platformą pomiarową wykorzystywaną w ćwiczeniu jest robot zbudowany w oparciu o zestaw LEGO Mindstorm EV3. Posiada on jedną oś napędową, której każde z kół wyposażone jest silnik DC z enkoderem o rozdzielczości 360 impulsów na jeden obrót koła. W części tylnej robota znajduje się metalowa kulka podporowa zapewniająca stabilność platformy. Prędkość obrotowa robota wokół osi pionowej mierzona jest przez giroskop, zaś jej całkowanie pozwala na wyznaczenie kursu niezależnie od sygnałów z enkoderów.
Sterowanie kierunkiem i prędkością jazdy robota odbywa się za pomocą pilota przesyłającego dane do robota w paśmie podczerwieni. Fotografię robota przedstawiono na rys. 1
Rys. 1. Platforma kołowa wykorzystywana podczas badań
Z platformą pomiarową związany jest układ b-frame, w którym oś OX
bskierowana jest w kierunku przedniej części pojadu, oś OY
bskierowana jest w jego prawą stronę, natomiast oś OZ
bdopełnia układ prawoskrętny, co przedstawiono na rys. 2. Na poniższym rysunku przez b oznaczono odległość pomiędzy kołami pojazdu, mierzoną wzdłuż osi OY
b, natomiast D stanowi średnicę koła.
Rys. 2. Schemat platformy kołowej
7. Odometria różnicowa
Położenie i kurs ruchu robota wyznaczane są w lokalnym układzie odniesienia oznaczonym jako n-frame.
W chwili początkowej osie układu n-frame (OX
n, OY
n, OZ
n) pokrywają się z osiami układu b-frame
związanego z robotem. Podczas ruchu robota układ nawigacyjny zachowuje jednak stałe położenie
26
i orientację względem Ziemi, natomiast zmianie ulega położenie i orientacja układu b-frame, co przedstawiono na rys. 3
Rys. 3. Ruch robota w układzie n-frame
Zmiana położenia prawego koła w jednym okresie pomiarowym wynosi:
1
D
,
,
−
=
−m n
d
Rn
Rk Rk (1)gdzie d
Rto zmiana położenia prawego koła pomiędzy pomiarem k-1 oraz k, n
Rto liczba impulsów z enkodera prawego koła, natomiast to m rozdzielczość enkodera. Zależność opisująca zmianę położenia lewego koła jest analogiczna:
1
D
,
,
−
=
−m n
d
Ln
Lk Lk (2)Zmiana położenia punktu O
bdana jest wzorem:
2
R
L
d
d = d +
(3)Dzięki zastosowaniu odometrów na obu kołach robota możliwe jest wyznaczenie kursu jego ruchu względem układu n-frame. W jednym okresie pomiarowym przyrost kursu wyznaczany jest z równania:
b
R
L
d
d −
=
(4)Położenie robota oraz jego kurs w chwili k wyznaczane są poprzez sumowanie przyrostów tych wielkości z
chwil poprzednich, zgodnie z zależnościami:
27
( + )
+
=
k−1cos
k−1k
x d
x
(5)( + )
+
=
k−1sin
k−1k
y d
y
(6)
+
=
k k−1 (7)8. Instrukcja laboratoryjna
Ćwiczenie laboratoryjne składa się z dwóch części: programistycznej i doświadczalnej.
W części pierwszej należy zaimplementować rówanania nawigacyjne w oprogramowaniu robota (w programie szukaj frazy „UZUPEŁNIJ”).
W części drugiej należy sprawdzić dokładność wyznaczania położenia i kursu obliczanych w ramach odometrii różnicowej:
a) wykonaj przejazd po linii prostej, na jak najdłuższym odcinku, porównaj wynik odometrii z wartością określoną za pomocą taśmy mierniczej; wnioski,
b) w miarę możliwości wykonaj obrót o 90º, 180º, 270º oraz 360º wokół osi OZ
b, po każdym obrocie zapisz wynik odometrii i wyznaczony za pomocą giroskopu oraz zmierz rzeczywisty kąt obrotu;
wnioski,
c) w miarę możliwości wykonaj obrót o -90º, -180º, -270º oraz -360º wokół osi OZ
b, po każdym obrocie zapisz wynik odometrii i wyznaczony za pomocą giroskopu oraz zmierz rzeczywisty kąt obrotu;
wnioski,
d) wykonaj 10 pełnych obrotów wokół osi OZ
bstarając zatrzymać się w pozycji zbliżonej do początkowej, zapisz wynik odometrii i wartość kursu wyznaczoną za pomocą giroskopu; wnioski, e) wykonaj przejazd po trasie z rys. 4, w każdym z narożników zapisz wyniki odometrii i wyznaczone za
pomocą giroskopu oraz porównaj je z wartościami zmierzonymi linijką i kątomierzem; wnioski.
Rys. 4. Trasa robota podczas badania
28
W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego
Zintegrowane Systemy Nawigacyjne
Ćwiczenie laboratoryjne:
Analiza działania systemu kursowego
Warszawa, 2018
29 1. Cel ćwiczenia
Celem ćwiczenia jest analiza systemu nawigacji zliczeniowej wykorzystującego giroskop jednoosiowy.
W ramach ćwiczenia należy zaimplementować wybrane metody całkowania numerycznego (wykorzystując język C oraz środowisko RobotC) oraz ocenić dokładność wyznaczania kursu.
2. Opis systemu pomiarowego
Platformą pomiarową wykorzystywaną w ćwiczeniu jest robot zbudowany w oparciu o zestaw LEGO Mindstorm EV3. Prędkość obrotowa robota wokół osi pionowej mierzona jest przez giroskop jednoosiowy.
Sterowanie kierunkiem i prędkością jazdy robota odbywa się za pomocą pilota przesyłającego dane do robota w paśmie podczerwieni. Fotografię robota przedstawiono na rys. 1
Rys. 1. Platforma kołowa wykorzystywana podczas badań
3. Metody całkowania numerycznego
Wartość kursu, czyli kąta mierzonego pomiędzy kierunkiem odniesienia a osią podłużną robota, jest wyznaczana poprzez całkowanie prędkości kątowej mierzonej przez giroskop. Całkowanie numeryczne może być realizowane różnymi metodami. W toku realizacji ćwiczenia laboratoryjnego należy wykorzystać całkowanie:
• metodą prostokątów,
• metodą trapezów.
3.1. Całkowanie metodą prostokątów
W metodzie tej funkcja podcałkowa f ( ) x interpolowana jest za pomocą wielomianu stopnia zerowego
( ) x
0= const
f
(1)zatem:
( ) x dx f ( ) ( x
0b a ) ( ) f x
0b
f
a
b
a