Documente Academic
Documente Profesional
Documente Cultură
1. Abstract
1
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
2. Scopul
2
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
3. Legislație
Aerofotogrametrie
Monitorizare scăpări gaze
Monitorizare eroziune costieră
Activități de cercetare-dezvoltare – zbor de prospectare/tehnic
Dată fiind creșterea traficului aerian din ultimul deceniu se resimte necesitatea
sporită pentru combustibil de aviație, dar și înăsprirea legilor de mediu privind
impactul operațional pe care acestea îl au asupra ecosistemului. Acest fapt a condus
prin introducerea legii nr. 421/2014 eliberată de Parlamentul Europrean și al
Consiliului la modificarea directivei 2003/87/CE de stabilire a unui sistem de
centralizare și monitorizare a emisilor de gaze cu efect de seră în cadrul Comunității
Europene. Această modificare impune tuturor aeronavelor din ramura aviației
3
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
4. Echipamente utilizate
Senzorul IMU este o unitate tip LRU formată dintr-un PCB (Printed Circuit
Board) de suport și o serie de senzori de stare și inerțiali MEMS (Micro
ElectroMechanical Sensors). Întreaga unitate LRU este fixată pe un PCB ce deține
rolul de fixare și centrare a senzorului. Rolul senzorului inerțial este acela de a furniza
unghiuri de atitudine, viteze unghiulare și accelerații către blocul de calcul al pilotului
automat. Cu acești parametrii se computează comenzile necesare menținerii unei
4
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Interfață I2C
Tensiune nominală de alimentare 5VDC
Curent de alimentare 6mA
Sensibilitate giroscop ±245DPS ÷ ±2000DPS (Degrees Per Second – viteză
unghiulară Ω)
Sensibilitate accelerometru ±2/±4/±6/±8/±16G
Sensibilitate busolă ±2/±4/±8/±12 gauss
Plajă măsură presiune barometru 26kPa ~ 126kPa
Plajă măsură temperatură termistor -60°C ~ +180°C
Gabarit (lungime, lățime, înălțime) 2.54mm x 12.06mm x 2.54mm
Masă 1.8g (Senzor IMU), 18g (LRU)
Sistemul radiotehnic al stației de sol este compus din sisteme electronice radio
care asigură colectarea informației transmise de dronă și interpretarea acestora. Prin
intermediul stației de radiocomandă se realizează comanda manuală a grupurilor
motopropulsoare. De asemenea sunt controlate și alte funcții auxiliare precum:
5
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
6
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
În imaginea din figura 4.4 este ilustrat un motor CCW alături de elementele de
asamblare aferente și cuplele de conectare la regulatorul de turație.
7
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Elicile folosite sunt realizate din GRP cu lonjeron central din roving de fibră
de carbon, rigide, capabile să suporte încărcări aerodinamice mari. Butucul acestora
este prevăzut cu un contrafilet cu autostrangere în vederea securizării montării pe
arborele motor dar și pentru a facilita montarea și demontarea acestora. Datorită
acestui aspect constructiv, elicile nu pot fi fixate pe un motor de sens CW dacă ele
sunt de tip CCW și vice versa. Parametrii elicilor sunt:
Diametru: 240mm
Pas: 127mm
Masă: 13g
Turație maximă admisibilă: 15.000rpm
8
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
9
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
10
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
11
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
12
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
De tip „+” – în care axa Ox a triedrului mobil legat de dronă este de-a lungul unui
braț de acroșare a grupului motopropulsor, axa Oy defazată cu 90 o în sens
trigonometric, în același plan, iar axa Oz perpendiculară pe planul dronei și
orientată în spre cer.
De tip „x” – axa Ox a triedrului mobil legat de dronă este bisectoarea unghiului
format de axele longitudinale a două dintre brațele de acroșare, axa Oy defazată cu
90o în sens trigonometric, în acelasi plan, iar axa Oz perpendiculară pe planul
dronei și orientată în spre cer.
Pentru ambele configurații sensul pozitiv de rotație în jurul axelor este dat de
regula mâinii drepte.
Pentru o bună analiză și sinteză a rezultatelor obținute privind dinamica dronei
se va extrage și un model experimental al dinamicii acesteia. Pentru a realiza aceasta
este necesară identificarea unor parametrii inerțiali din timpul unui zbor de încercare
și, în plus, extragerea dinamicii grupurilor motopropulsoare.
Pentru determinarea dinamicii grupurilor motopropulsoare se va proiecta și
realiza un banc de teste. Acesta din urmă va furniza informații referitoare la turație,
tracțiune, amplitudinea comenzii și răspunsul în timp la comanda treaptă a grupurilor
motopropulsoare. Pe baza datelor identificate se va determina o funcție de transfer cu
rol de modelare matematică a comportamentului dinamic al acestora.
Identificarea dinamicii experimentale a dronei se va realiza prin înregistrarea
într-un mediu electronic de stocare a anumitor parametrii de zbor precum:
13
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
14
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
∑ F=m∙ a(6.1)
∑ τ=J ∙ ω̇(6.2)
Este necesară determinarea matricii momentelor de inerție ale quadcopterului.
În cazul de față s-a folosit notația “J” pentru momentele de inerție. Este important de
menționat că structura dronei este perfect simetrică în jurul axelor X, Y, Z și are
centrul de masă în punctul de intersecție al centrului geometric cu axele de simetrie
longitudinale ale brațelor dronei. Conform celor mentrionate matricea momentelor de
inerție, Jacobiană, devine o matrice diagonală raportată la axele X, Y, Z ale triedrului
dronei. S-a notat cu JD matricea Jacobiană a momentelor de inerție ale structurii
vehiculului. Datorită simetriei structurii dronei termenii JDxx și JDyy sunt identici.
JD 0 0
[
J D= 0
0
xx
JD
0
yy
]
0 (6.3)
JDzz
15
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
fiecare corp s-a determinat greutatea, iar prin intermediul teoremei axelor paralele s-a
determinat contribuția componenței momentelor inerțiale, calculată în triedrul vehicul
al dronei, ale fiecărui corp asupra ansamblului.
Utilizând teorema axelor paralele s-au determinat momentele de inerție pentru
fiecare corp individual în jurul axelor de interes. Cunoscând momentul de inerție în
jurul unei axe paralele, raportat la centrul de masă al corpului, și distanța dintre două
axe, ecuația axelor paralele se scrie:
J AP=J CG +m ∙r 2 (6.4 )
unde JCG reprezintă momentul de inerție pentru un corp individual în jurul axei propii,
paralelă cu axa în jurul căreia se dorește realizarea rotației. În ecuația (6.4) m
reprezintă masa corpului, iar r este distanța dintre cele două axe.
16
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
17
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
r – raza motor
h – înălțime motor
dm – distanța de la axa de simetrie a motorului la axa Z a dronei
m – masă motor
M M 1 1
J CG =J CG = ∙m ∙ r 2+ ∙ m∙ h2 ( 6.5)
x
4 y
3
M 1
J CG = ∙m ∙r 2( 6.6)
2 z
1 1 1 1
J M =J M =2∙
x y [ 4 3 ] [ 4 3 ]
∙ m∙ r 2 + ∙ m∙ h2 +2∙ ∙ m∙ r 2 + ∙ m∙ h2+ m∙ d 2m (6.7)
18
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
1
J M =4 ∙
z [ 2 ]
∙ m∙ r 2 +m∙ d 2m ( 6.8)
1
J M =4 ∙
z [ 2 ]
∙ 0.056 ∙0.01412 +0.056 ∙ 0.2262 (6.10)
%modelarea motoarelor
phim=28.2*10^-3; %diametrul motorului
hm=25.8*10^-3; %inaltimea motorului
mm=56*10^-3; %masa in grame a motorului
dm=226*10^-3; %distanta de la axa de simetrie a motorului la axa Z a
dronei
Jmcgx=1/4*mm*phim/2+1/3*mm*hm^2;
Jmcgy=Jmcgx;
Jmcgz=1/2*mm*(phim/2)^2;
Jmx=2*(1/4*mm*(phim/2)^2+1/3*mm*hm^2)+2*(1/4*mm*(phim/2)^2+1/3*mm*hm^
2+mm*dm^2);
Jmy=Jmx;
Jmz=4*(1/2*mm*(phim/2)^2+mm*dm^2);
19
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
b – lungime ESC
a – lățime ESC
20
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
m – masă ESC
ds – distanța de la centrul de greutate al ESC-ului la cel al dronei
R 1
J CG = ∙ m∙ b2 (6.13)
x
12
R 1
J CG = ∙ m∙ a 2( 6.14)
y
12
R 1
J CG = ∙m ∙(a2 +b ¿ ¿2)(6.15)¿
z
12
1 1
J R =J R =2 ∙
x y [ 12 ] [
∙ m∙ a 2 + 2∙
12 ]
∙m ∙ b2+ m∙ d 2s (6.16)
În ecuația 6.16 se observă că termenii JRx și JRy sunt egali datorită simetriei
dispunerii ESC-urilor pe brațele dronei. Termenul din prima paranteză a ecuației 6.16
corespunde ESC-urilor 1 și 3, iar în mod analog motoarelor, iar termenul mr2 este nul.
Cea de-a doua paranteză a ecuației 6.16 corespunde ESC-urilor 2 și 4 care se rotesc în
jurul unei axe paralelă cu axa X a dronei.
1
J R =4 ∙
z [ 12 ]
∙ m∙ ( a 2+ b2 ) +m∙ d 2s (6.17)
21
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
ds=114.52 mm
m=13 g
Astfel ecuațiile (6.16) și (6.17) iau forma:
1 1
J R =J R =2 ∙
x y [ 12 ] [
∙ 0.013 ∙ 0.017832 + 2∙
12 ]
∙ 0.013∙ 0.04574 2+ 0.013∙ 0.114522 ( 6.18)
1
J R =4 ∙
z [ 12 ]
∙ 0.013 ∙ ( 0.017832+ 0.045742 ) +0.013 ∙ 0.114522 (6.19)
%modelarea ESC
a=17.83*10^-3; %latime ESC
b=45.74*10^-3; %lungime ESC
ds=114.52*10^-3; %distanta de la centrul de greutate al ESC la cel al
dronei
mr=13*10^-3; %masa ESC
Jrcgx=1/12*mr*b^2;
Jrcgy=1/12*mr*a^2;
Jrcgz=1/12*mr*(a^2+b^2);
Jrx=2*Jrcgy+2*(Jrcgx+mr*ds^2);
Jry=Jrx;
Jrz=4*(Jrcgz+mr*ds^2);
22
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
H H 1 1
J CG =J CG = ∙m ∙ r 2+ ∙ m∙ H 2 (6.22)
x
4 y
12
H 1
J CG = ∙m ∙r 2(6.23)
2 z
1 1
J H =J H =
x y [ 4 12 ]
∙m ∙r 2+ ∙ m∙ H 2 (6.24)
1
JH =z [ 2 ]
∙ m∙ r 2 (6.25)
23
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
m=1886 g
1 1
J H =J H =
x y [ 4 12 ]
∙1.886 ∙ 0.063282+ ∙ 1.886 ∙ 0.040282 (6.26)
1
JH =
z [ 2 ]
∙1.886 ∙ 0.063282 (6.27)
J H =J H =0.0021kg∗m2 (6.28)
x y
24
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
r – rază braț
m – masă braț
da – distanța acroșare braț
L – lungime braț
1
J BCG =J CG
B
= ∙m ∙r 2( 6.30)
x
2 y
1 1
J BCG = ∙ m∙ r 2+ ∙ m∙ L2 (6.31)
4z
3
1 1 1
J B =J B =2∙
x y [ 4 ] [ 4 3 ]
∙ m∙ r 2 +2 ∙ ∙ m∙ r 2 + ∙ m∙ L2+ m∙ d 2a (6.32)
1 1
J B =4 ∙
z [ 4 3 ]
∙ m∙ r 2 + ∙ m∙ L2 +m ∙ d 2a (6.33)
25
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Cel de-al doilea termen al ecuației 6.33 face referire la brațele 2 și 4 care se
rotesc în jurul unui diametru de acroșare, d a, față de axa x a vehiculului. Așadar,
termenul teoremei axelor paralele capătă forma mda2. Dată fiind simetria dronei,
termenii J B și J B sunt identici.
x y
jurul unui diametru de acroșare(figura 6.8). În acest caz, toate cele patru brațe, se
rotesc în jurul unui diametru da raportat la axa z a dronei. Astfel termenul teoremei
axelor paralele devine mda2. Totodată, datorită simetriei structurii dronei și a faptului
că brațele sunt de aceeași lungime, ecuația inerțială va fi multiplicată cu 4.
Cunoscand datele de gabarit si masa sunt:
L=184 mm
2*r=32.523 mm
da=62.18 mm
m=105 g
Astfel ecuațiile (6.32) și (6.33) iau forma:
1 1 1
J B =J B =2∙
x y [ 4 ] [ 4 3 ]
∙ 0.105∙ 0.01622 +2 ∙ ∙ 0.105 ∙ 0.01622+ ∙ 0.105 ∙ 0.1842 +0.105 ∙ 0.062182 ( 16.1 )
1 1
J B =4 ∙
z [ 4 3 ]
∙ 0.105 ∙0.01622 + ∙ 0.105 ∙0.184 2+ 0.105∙ 0.062182 ( 6.34)
%modelarea bratelor
rmediu=32.523*10^-3; %raza medie masurata a bratelor
L=184*10^-3; %lungimea bratelor
mb=105*10^-3; %masa bratelor
da=62.18*10^-3; %distanta de acrosare
Jbcgx=1/2*mb*rmediu^2;
Jbcgy=Jbcgx;
Jbcgz=1/4*mb*rmediu^2+1/3*mb*L^2;
Jbx=Jbcgx+2*Jbcgy+2*mb*da^2;
Jby=Jbx;
Jbz=4*Jbcgz+4*mb*da^2;
26
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
(6.37)
J xx 0 0
B
[
J = 0 J yy 0 (6.38)
0 0 J zz ]
Este necesara determinarea matricii momentelor de inertie ale quadcopterului.
In cazul de fata s-a folosit notatia “J” pentru momentele de intertie. Este important de
mentionat ca structura dronei este perfect simetrica in jurul axelor X, Y, Z si are
centrul de masa in punctul de intersectie al centrului geometric cu axele de simetrie
longitudinale ale bratelor dronei. Conform celor mentrionate matricea momentelor de
inertie, Jacobiana, devine o matrice diagonala raportata la axele X, Y, Z ale triedrului
dronei. S-a notat cu JD matricea Jacobiana a momentelor de inertie ale structurii
vehiculului. Datorita simetriei structurii dronei termenii JDxx si JDyy sunt identici.
27
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
JD 0 0
J D= 0
0 [ xx
JD
0
yy
0 (6.39)
JD zz
]
unde:
J D =J M +J R + J H + J B (6.40)
xx x x x x
J D =J M + J R +J H + J B (6.41)
yy y y y y
J D =J M +J R + J H + J B (6.42)
zz z z z z
0.0092 0 0
J D=
[0
0
0.0092
0
0
0.0224
(6.43)
]
%matricea Jacobiana
Jxx=Jmx+Jrx+Jbx+Jhx;
Jyy=Jxx;
Jzz=Jmz+Jrz+Jbz+Jhz;
J=[Jxx 0 0;0 Jyy 0;0 0 Jzz];
28
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
T =c T ρ A r r 2 ω2 (6.44 )
T =c T ω 2 (6.45)
Q=cQ ω2 (6.46)
29
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
ω 21
][ ]
∑T
[ ][
τ φ = cT c T c T 0 d
τθ
τΨ
¿ −c ¿
cT
0 ¿ ¿ c Q +¿ c ¿ Q −d +¿c ¿
0
cQ
T
T
ω 22
ω 23
ω 24
(6.47)
cT cT cT cT ω 21
][ ]
∑T
[ ][
τφ
τθ
τΨ
=
−d x cT d x c T d x c T −d x cT
−d x cT −d x cT d x c T d x c T
−c Q cQ −c Q c Q
ω 22
ω 23
ω24
(6.48)
ω ss =( Tractiune % ) c R +b (6.49)
τ φ =J m Q
gyro ( 30π ) (ω −ω + ω −ω ) (6.50)
1 2 3 4
τ θ =J m P
gyro ( 30π )(−ω +ω −ω + ω ) (6.51)
1 2 3 4
30
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
π
În ecuațiile 6.50 și 6.51 termenul este un factor de transformare din RPM
30
în radiani/secundă.
Cu transformările termenilor de forțe generate de motoare și elici se poate
obține matricea ecuațiilor ce vor deservi simulării comportamentului dinamic al
dronei. Matricea rezultată va lua în calcul, în cadrul ecuațiilor, forțele dinamice
globale precum:
Aerodinamice
Giroscopoce
Tracțiuni
Cupluri
Matricea 6.52 exprimă momentele structurii dronei.
M BA , T =¿
0
F B
A ,T =
[ 0
cT ( ω1 +ω 2+ ω3 +ω 4 )](6.53)
Matricea 6.53 face referire la forțele care acționează asupra structurii dronei,
generate de forțe aerodinamice și forțe de tracțiune(presupuse ca fiind orientate strict
în sensul pozitiv al axei z a dronei). Având la bază ecuațiile anterioare se poate
genera ecuația de stare a vitezelor unghiulare. Această ecuație descrie schimbările în
vitezele unghiulare ale mișcărilor de ruliu, tangaj și girație, luând în calcul inerția,
momentele și vitezele unghiulare aplicate de către grupurile moto-propulsoare.
(6.54)
(6.55)
31
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
0 −R Q
[
Ωbb ∨i = R
−Q P
0 −P (6.56)
0 ]
În ecuația 6.56 variabilele P, Q și R reprezintă vitezele unghiulare în jurul
axelor x, y, z.
Termenul ω bb∨i definește vitezele unghiulare ale structurii quadcopterului în
cadrul triedrului structurii și este definită direct de variabilele P, Q, R.
[]
ω bb∨i= Q (6.57)
R
φ̇
Φ̇=H ( Φ ) ω b
b ∨i
[]
= θ̇ (6.58)
ψ̇
[
u = 0 cos ( φ ) sin ( φ ) 0
][1 0
0 −sin ( φ ) cos ( φ ) sin (θ ) 0 cos ( θ ) ][
−sin ( ψ ) cos ( ψ ) 0 u
0 0 1
i
]
(6.59)
[
C b∨i= −cos ( θ ) sin ( ψ ) +sin ( φ ) sin ( θ ) cos ( ψ ) cos ( φ ) cos ( ψ ) +sin ( φ ) sin ( θ ) sin ( ψ ) sin ( φ ) cos ( θ )
(6.60)
sin ( φ ) sin ( ψ )+ cos ( φ ) sin ( θ ) cos ( ψ ) −sin ( φ ) cos ( ψ ) +cos ( φ ) sin ( θ ) sin ( ψ ) cos ( φ ) cos ( θ ) ]
Matricea Cb|i din ecuația 6.60 reprezintă secvența de rotație necesară pentru
rezolvarea ecuațiilor de viteză și poziție.
32
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
φ̇ 0 0
[ ] ([ ] [ ])
ω bb∨i= 0 +c φ θ̇ +c θ 0 (6.61)
0 0 ψ̇
[][ ][ ]
φ̇ P
0 cos ( φ ) −sin ( φ ) b
Φ̇= θ̇ = Q =H ( Φ ) ω b∨i (6.62)
sin ( φ ) cos ( φ )
ψ̇ 0 R
cos ( θ ) cos ( θ )
(6.63)
gb =Cb ∨i ∙ g i (6.64)
(6.65)
b
În ecuația 6.65 termenul vCM ∨i reprezintă viteza quadcopterului în triedrul
legat de structură care este rotit în triedrul inerțial folosind transpusa lui C b|i care este
notată Ci|b. Această ecuație permite determinarea vitezei dronei în lungul axelor x, y, z
ale triedrului inerțial.
7. Modelul dinamic în spațiul stărilor
33
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
ẋ s= A x s + Bu(7.1)
y s =C x s (7.2)
Pentru o dronă de tip quadcopter, modelul atitudinii în spațiul stărilor este descris de
ecuațiile 7.3 și 7.4.
Acest model folosește în calcul forțele generate de către GMP-uri care acționează
asupra structurii dronei, forțele giroscopice ale structurii, sub presupunerea că momentele de
inerție ale dronei sunt descrise de o matrice Jacobiana J=diagonala{Jdxx, Jdyy, Jdzz}.
Această presupunere este validă doar pentru dronele de tip quadcopter. Astfel modelul
în spațiul stărilor este de forma:
Φ̇ b
[ ][ ]
ψ˙ ∗J −J d
Φ̇b θ˙b b dyy dzz + ∗u
J dxx J dxx 1
Φ̈b
θ˙b
θ̇b
ẋ s= = ψ˙ ∗J −J d (7.3)
θ̈b Φ̇ b b dzz dxx + ∗u2
J dyy J dyy
ψ˙ b
ψ˙ b
ψ¨ b
Φ̇ ∗J −J d
θ˙b b dxx dyy + ∗u
J dzz J dzz 3
Φb
[]
y s = θ b (7.4)
ψb
34
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
35
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Se observă că pentru toate cele trei unghiuri de atitudine polii sistemului sunt
negativi, deci putem concluziona că sistemul dinamic al quadcopterului exprimat în spațiul
stărilor este stabil.
Răspunsul în timp la comanda treaptă unitate este ilustrat în figura următoare. Se
observă că timpul de răspuns este relativ scurt și fără suprareglaje. Să reținem totuși că acest
model nu este nici un model real, nici unul ideal, așadar s-a optat pentru o variantă de mijloc
între cele două. În cazul unui model ideal răspunsul s-ar fi realizat într-un timp mult mai scurt,
iar în cazul unui model fizic suprareglajele sunt prezente într-o pondere mai mare sau mai
mică.
8. Telemetrie
Pentru a obține un model dinamic optim, cât mai apropiat de cel real, s-a optat
pentru o dinamică identificată. Pentru interpretarea analitică a dinamicii identificate se
va compara cu un model dinamic pur analitic(ideal). Astfel pot fi determinați,
corectați și filtrați factorii perturbatori ce acționează asupra întregului sistem global.
Factorii perturbatori sunt listați mai jos în ordinea descrescătoare a ponderii de
influență asupra întregului sistem:
36
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Altitudine barometrică
Unghiuri de atitudine(ruliu, tangaj, girație)
Componente magnetometrice ale capului compas
Schema de achiziție este conturată în jurul unui PLC care preia datele de
interes de la un senzor de tip IMU 9DoF(Inerțial Measurement Unit with 9 Degrees of
Freedom) prin intermediul unei magistrale de date I2C(Inter Interface
Communication). IMU 9DoF are la bază un senzor giroscopic triaxial, un
accelerometru triaxial, un senzor magnetometric triaxial, un senzor barometric și un
senzor de temperatură.
Întregul ansamblu de achiziție este montat pe un suport PCB(Printed Circuit Board)
care, la rândul său, este fixat pe corpul central al dronei. Întreaga schemă de achiziție
este alimentată extern de un acumulator Lipo(Litiu Polimer) de 7.4V și 1Ah 2S1P.
Schema de achiziție de regăsește în figura 8.1. Alimentarea externă este folosită
pentru eliminarea zgomotelor din rețeaua de alimentare a ESC-urilor(Electronic Speed
Controller).
37
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
38
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
39
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Toate variațiile anterior listate se regăsesc în câte două grafice, primul realizat
cu datele stocate în cadrul unui zbor la punct fix, iar cel de-al doilea realizat cu datele
colectate în cadrul unei evoluții complete din punct de vedere al manevrelor efectuate.
În figura 8.3 este prezentată grafic variația presiunii statice în funcție de timp.
Pe grafic este reprezentată cu albastru presiunea statică nefiltrată, iar cu roșu este
reprezentată presiunea statică filtrată.
40
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
În figura 8.5 sunt prezentate grafic valorile filtrate ale variațiilor accelerațiilor
în lungul axelor triedrului legat de structură dronei. Cu albastru este reprezentată
grafic accelerația pe axa X a triedrului dronei, cu roșu este reprezentată grafic
41
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
În figura 8.6 sunt reprezentate grafic valorile filtrate ale variațiilor vitezelor
unghiulare în raport cu timpul. Pe grafic este reprezentată cu albastru variația vitezei
unghiulare în jurul axei Y, cu roșu este reprezentată variația vitezei unghiulare în jurul
axei X, iar cu galben este reprezentată variația vitezei unghiulare în jurul axei Z.
În figura 8.7 sunt reprezentate grafic valorile filtrate ale variațiilor unghiurilor
de atitudine θ și φ. Pe grafic este reprezentată cu roșu variația unghiului de ruliu, φ, în
raport cu timpul, iar cu albastru variația unghiului de tangaj, θ, în raport cu timpul.
42
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Figura 8.8 prezintă grafic valorile filtrate ale variației unghiului de girație ψ în
timpul zborului la punct fix.
43
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
de-al treilea grafic prezintă variația valorilor vitezei unghiulare în jurul axei Y a
triedrului dronei, convenția de culori rămânând valabilă și în acest caz.
44
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
45
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
În figura 8.13 sunt prezentate grafic valorile filtrate ale variațiilor accelerațiilor
în lungul axelor triedrului legat de structură dronei. Cu albastru este reprezentată
grafic accelerația pe axa X a triedrului dronei, cu roșu este reprezentată grafic
accelerația pe axa Y a triedrului dronei, iar cu galben este reprezentată grafic
accelerația pe axa Z a triedrului dronei.
În figura 8.14 sunt reprezentate grafic valorile filtrate ale variațiilor vitezelor
unghiulare în raport cu timpul. Pe grafic este reprezentată cu albastru variația vitezei
unghiulare în jurul axei Y, cu roșu este reprezentată variația vitezei unghiulare în jurul
axei X, iar cu galben este reprezentată variația vitezei unghiulare în jurul axei Z.
46
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Figura 8.16 prezintă grafic valorile filtrate ale variației unghiului de girație ψ
în timpul zborului.
47
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
48
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
float varVolt_ps = 2e-3; // variance determined using excel and reading samples of raw
sensor data
float varProcess_ps = 1e-3;
float Pc_ps = 0.0;
float G_ps = 0.0;
float P_ps = 1.0;
float Xx_ps = 0.0;
float Xy_ps=0.0;
float Xz_ps=0.0;
float Zx_ps = 0.0;
float Zy_ps=0.0;
float Zz_ps=0.0;
float pres = 0.0;
float alt = 0.0;
float temp = 0.0;
49
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
float Xy_mag=0.0;
float Xz_mag=0.0;
float Zx_mag = 0.0;
float Zy_mag=0.0;
float Zz_mag=0.0;
float mag_x = 0.0;
float mag_y = 0.0;
float mag_z = 0.0;
File mySensorData; //Data object you will write your sesnor data to
void setup() {
Serial.begin(57600);
Wire.begin();
pinMode(10, OUTPUT); //Must declare 10 an output and reserve it
SD.begin(4); //Initialize the SD card reader
if (!gyro.init()) {
Serial.println("Failed to autodetect gyro type!");
while (1); }
gyro.enableDefault();
if (!ps.init()){
Serial.println("Failed to autodetect pressure sensor!");
while (1); }
ps.enableDefault();
compass.init();
compass.enableDefault();}
void loop() {
float pressure = ps.readPressureMillibars();
float altitude = ps.pressureToAltitudeMeters(pressure);
float temperature = ps.readTemperatureC();
// kalman process pressure sensor
Pc_ps = P_ps + varProcess_ps;
G_ps = Pc_ps/(Pc_ps + varVolt_ps); // kalman gain
P_ps = (1-G_ps)*Pc_ps;
Xx_ps = pres;
Xy_ps=alt;
Xz_ps=temp;
Zx_ps = Xx_ps;
Zy_ps=Xy_ps;
Zz_ps=Xz_ps;
pres = G_ps*(pressure-Zx_ps)+Xx_ps; // the kalman estimate of the sensor voltage
alt = G_ps*(altitude-Zy_ps)+Xy_ps; // the kalman estimate of the sensor voltage
temp = G_ps*(temperature-Zz_ps)+Xz_ps; // the kalman estimate of the sensor voltage
gyro.read();
// kalman process gyro
Pc_gyro = P_gyro + varProcess_gyro;
G_gyro = Pc_gyro/(Pc_gyro + varVolt_gyro); // kalman gain
P_gyro = (1-G_gyro)*Pc_gyro;
50
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Xx_gyro = gx;
Xy_gyro=gy;
Xz_gyro=gz;
Zx_gyro = Xx_gyro;
Zy_gyro=Xy_gyro;
Zz_gyro=Xz_gyro;
gx = G_gyro*(gyro.g.x-Zx_gyro)+Xx_gyro; // the kalman estimate of the sensor voltage
gy = G_gyro*(gyro.g.y-Zy_gyro)+Xy_gyro; // the kalman estimate of the sensor voltage
gz = G_gyro*(gyro.g.z-Zz_gyro)+Xz_gyro; // the kalman estimate of the sensor voltage
compass.read();
float pitch, pitch_print, roll, roll_print, Heading, Xa_off, Ya_off, Za_off, Xa_cal, Ya_cal,
Za_cal, Xm_off, Ym_off, Zm_off, Xm_cal, Ym_cal, Zm_cal, fXm_comp, fYm_comp;
// kalman process accelerometer
Pc_compass = P_compass + varProcess_compass;
G_compass = Pc_compass/(Pc_compass + varVolt_compass); // kalman gain
P_compass = (1-G_compass)*Pc_compass;
Xx_compass = acc_x;
Xy_compass=acc_y;
Xz_compass=acc_z;
Zx_compass = Xx_compass;
Zy_compass = Xy_compass;
Zz_compass = Xz_compass;
acc_x = G_compass*(compass.a.x-Zx_compass)+Xx_compass; // the kalman estimate of
the voltage
acc_y = G_compass*(compass.a.y-Zy_compass)+Xy_compass; // the kalman estimate of
the voltage
acc_z = G_compass*(compass.a.z-Zz_compass)+Xz_compass; // the kalman estimate of the
voltage
// Accelerometer calibration
Xa_off = acc_x/16.0 + 6.008747;
Ya_off = acc_y/16.0 - 18.648762;
Za_off = acc_z/16.0 + 10.808316;
Xa_cal = 0.980977*Xa_off + 0.001993*Ya_off - 0.004377*Za_off;
Ya_cal = 0.001993*Xa_off + 0.998259*Ya_off - 0.000417*Za_off;
Za_cal = -0.004377*Xa_off - 0.000417*Ya_off + 0.942771*Za_off;
// kalman process magnetometer
Pc_compass = P_compass + varProcess_compass;
G_compass = Pc_compass/(Pc_compass + varVolt_compass); // kalman gain
P_compass = (1-G_compass)*Pc_compass;
Xx_mag = mag_x;
Xy_mag=mag_y;
Xz_mag=mag_z;
Zx_mag = Xx_mag;
Zy_mag = Xy_mag;
Zz_mag = Xz_mag;
mag_x = G_compass*(compass.m.x-Zx_mag)+Xx_mag; // the kalman estimate of the
sensor voltage
mag_y = G_compass*(compass.m.y-Zy_mag)+Xy_mag; // the kalman estimate of the
sensor voltage
51
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
// Arctangent of y/x
Heading = (atan2(fYm_comp,fXm_comp)*180.0)/M_PI;
if (Heading < 0)
Heading += 360;
mySensorData = SD.open("Gyro.txt", FILE_WRITE);
if (mySensorData) {
Serial.println("Cardul este scris");
// dpsX , dpsY , dpsZ , mbar, mASL, degC, Pitch, Roll, Heading, Xa_cal, Ya_cal, Za_cal
delay(250);
mySensorData.print(gyro.g.x*0.0087-0.45); //write temperature data to card
mySensorData.print(",");
mySensorData.print(gx*0.0087-0.45); //write temperature data to card
mySensorData.print(",");
mySensorData.print(-gyro.g.y*0.00875+8.18); //write pressure and end the line
(println)
mySensorData.print(",");
mySensorData.print(-gy*0.0087+8.18); //write temperature data to card
mySensorData.print(",");
mySensorData.print(-gyro.g.z*0.00875-0.03);
mySensorData.print(",");
mySensorData.print(-gz*0.00875-0.03);
mySensorData.print(",");
mySensorData.print(pressure);
52
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
mySensorData.print(",");
mySensorData.print(pres);
mySensorData.print(",");
mySensorData.print(altitude);
mySensorData.print(",");
mySensorData.print(alt);
mySensorData.print(",");
mySensorData.print(temperature);
mySensorData.print(",");
mySensorData.print(temp);
mySensorData.print(",");
mySensorData.print(pitch_print);
mySensorData.print(",");
mySensorData.print(roll_print);
mySensorData.print(",");
mySensorData.print(Heading);
mySensorData.print(",");
mySensorData.print(Xa_cal+18.7);
mySensorData.print(",");
mySensorData.print(Ya_cal+26.76);
mySensorData.print(",");
mySensorData.print(Za_cal-1048.6);
mySensorData.println();
mySensorData.close();
}}
53
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Schema HIL:
54
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Unde:
- A/P = activare autopilot
- SN = sistem de navigație
55
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
56
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
Unde:
- 1=Port RJ 45
- 2= Alimentare
- 3= Slot SD
- 4=Port RS-232
- 5=RS-485/422
- 6=Mini DisplayPort
- 7=USB Host Ports
- 8=USB Device Port
57
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
58
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
- 25kS/s/ch
- Eroare 0.05% din domeniu
- Timp răspuns cu CRIO 9030 3.7 us
- Zgomot sub 500uVrms
59
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
60
UNIVERSITATEA POLITEHNICA BUCUREȘTI
Facultatea de Inginerie Aerospațială
Avionică și Navigație Aeriană
61