VYSOKE ´ UCˇENI´ TECHNICKE´ V BRNEˇ
BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA INFORMAC ˇ NI´CH TECHNOLOGII´
U ´ STAV POCˇI´TACˇOVE´ GRAFIKY A MULTIME´DII´
FACULTY OF INFORMATION TECHNOLOGY
DEPARTMENT OF COMPUTER GRAPHICS AND MULTIMEDIA
AEROWORKS:
GRAFICKE ´ ROZHRANI´ SYSTE´MU AUTOPILOTA
AEROWORKS: GRAPHIC USER INTERFACE FOR AUTOPILOT
BAKALA ´ RˇSKA´ PRA´CE
BACHELOR’S THESIS
AUTOR PRA ´ CE VIKTORIYA DURYAGINA
AUTHOR
VEDOUCI´ PRA ´ CE Ing. PETER CHUDY ´ , Ph.D. MBA
SUPERVISOR
BRNO 2012
Abstrakt
Tato bakala´rˇska´ pra´ce se zameˇrˇuje na na´vrh graficke´ho uzˇivatelske´ho rozhranı´ pro obsluhu autopilota.
Prvnı´ cˇa´st pra´ce obsahuje kra´tky´ prˇehled teorie automaticky´ch syste´mu˚ pro rˇı´zenı´ letu. Da´le jsou analyzova´ny pozˇadavky na rozhranı´ a prozkouma´ny proble´my komunikace mezi pilotem a syste´mem.
Na´sledneˇ je popsa´n proces na´vrhu a vy´voje nove´ho graficke´ho rozhranı´ syste´mu. Vy´sledne´ rˇesˇenı´ je implementova´no do simula´toru v laboratorˇi SimStar.
Abstract
The objective of the bachelor thesis is to design a graphical user interface for autopilot control system.
The first chapter is dedicated to automatic flight control system theory overview. The next part discusses the user interface requirements and human-computer interaction problems. Subsequently, the design process and the development of new user interface are described. The final solution is implemented in the SimStar simulator.
Klı´cˇova´ slova
autopilot, automaticke´ syste´my rˇı´zenı´ letu, graficke´ rozhranı´, CANaerospace, AW-COM, laboratorˇ SimStar, AeroWorks
Keywords
autopilot, automatic flight control system, graphical user interface, CANaerospace, AW-COM, Sim- Star laboratory, AeroWorks
Citace
Viktoriya Duryagina: Aeroworks: Graficke´ rozhranı´ syste´mu autopilota, bakala´rˇska´ pra´ce, Brno, FIT VUT v Brneˇ, 2012
Aeroworks: Graficke´ rozhranı´ syste´mu autopilota
Prohla´sˇenı´
Prohlasˇuji, zˇe tato bakala´rˇska´ pra´ce je my´m pu˚vodnı´m autorsky´m dı´lem, ktere´ jsem vypracovala samostatneˇ. Vsˇechny zdroje, prameny a literaturu, ktere´ jsem prˇi vypracova´nı´ pouzˇı´vala nebo z nich cˇerpala, v pra´ci rˇa´dneˇ cituji s uvedenı´m u´plne´ho odkazu na prˇı´slusˇny´ zdroj.
. . . . Viktoriya Duryagina
14. kveˇtna 2012
Podeˇkova´nı´
Na tomto mı´steˇ bych chteˇla podeˇkovat Ing. Peteru Chude´mu, Ph.D. MBA za odborne´ vedenı´ te´to pra´ce a za cenne´ rady a na´meˇty. Da´le bych chteˇla podeˇkovat ty´mu laboratorˇe AeroWorks za pomoc a cˇas, ktery´ mi veˇnovali prˇi zpracova´nı´ te´to bakala´rˇske´ pra´ce.
c
Viktoriya Duryagina, 2012.
Tato pra´ce vznikla jako sˇkolnı´ dı´lo na Vysoke´m ucˇenı´ technicke´m v Brneˇ, Fakulteˇ informacˇnı´ch technologiı´. Pra´ce je chra´neˇna autorsky´m za´konem a jejı´ uzˇitı´ bez udeˇlenı´ opra´vneˇnı´ autorem je neza´konne´, s vy´jimkou za´konem definovany´ch prˇı´padu˚.
Obsah
1 U´ vod 3
2 Teorie autopilotu˚ 4
2.1 Pohyb v prostoru . . . 4
2.2 Gyroskop . . . 6
2.2.1 Princip gyroskopu . . . 6
2.2.2 Gyroskopicky´ efekt . . . 6
2.2.3 Precese gyroskopu . . . 7
2.3 Prvnı´ autopilot . . . 7
2.4 Modernı´ autopiloty . . . 9
2.5 Za´kladnı´ velicˇiny . . . 9
2.5.1 Rychlost . . . 9
2.5.2 Kurz letu . . . 10
2.5.3 Vy´sˇka . . . 12
2.6 Pozˇadavky na autopilota . . . 12
2.7 Proble´my syste´mu˚ automaticke´ho rˇı´zenı´ letu . . . 13
3 Interakce pilota se syste´mem automaticke´ho pilotova´nı´ 14 3.1 Obecne´ za´sady . . . 15
3.2 Touch screen displej . . . 15
4 Analy´za existujı´cı´ch autopilotu˚ 17 5 Aplikace 19 5.1 Specifikace pozˇadavku˚ . . . 19
5.1.1 Funkcˇnı´ pozˇadavky . . . 19
5.1.2 Jine´ pozˇadavky . . . 21
5.2 Laboratorˇ SimStar . . . 21
5.2.1 Hlavnı´ letovy´ displej . . . 22
6 Na´vrh aplikace 23
6.1 Na´vrh interakce . . . 23
6.1.1 Diagram prˇı´padu˚ uzˇitı´ . . . 24
6.1.2 Skicova´nı´ . . . 26
6.1.3 Prototypova´nı´ . . . 26
6.1.4 Vizua´lnı´ na´vrh . . . 29
7 Implementace 32 7.1 Pouzˇite´ na´stroje . . . 32
7.1.1 Programovacı´ jazyk C++ . . . 32
7.1.2 Knihovna Qt . . . 32
7.1.3 Qt Style Sheets . . . 32
7.2 Komunikacˇnı´ protokoly . . . 33
7.2.1 Protokol CANaerospace . . . 33
7.2.2 Protokol AW-COM . . . 36
7.3 Nasazenı´ syste´mu˚ . . . 38
8 Testova´nı´ 39
9 Za´veˇr 41
A Obsah prˇilozˇene´ho CD 44
Kapitola 1
U ´ vod
V dnesˇnı´ dobeˇ jsou modernı´ letadla vybavena velky´m mnozˇstvı´m letecky´ch prˇı´stroju˚ a automatu˚, ktere´ zajisˇt’ujı´ neprˇetrzˇitou kontrolu rezˇimu letu a rˇesˇı´ slozˇite´ u´koly automaticke´ho rˇı´zenı´ a navigace.
Vy´znam teˇchto na´stroju˚ se kazˇdy´m rokem zvysˇuje. Spolu s naru˚stajı´cı´m vy´znamem roste i celkova´
slozˇitost, rozsah a na´rocˇnost na´vrhu a vy´voje teˇchto syste´mu˚. Syste´my do sebe sdruzˇujı´ vı´ce informacı´, pilotu˚m poskytujı´ dalsˇı´ nove´ funkce a na´stroje pro ulehcˇenı´ pra´ce. Cele´ cˇa´sti informacˇnı´ch syste´mu˚ se pak spojujı´ do logicky´ch celku˚, do ktery´ch prˇiby´vajı´ nove´ moduly s novou funkcionalitou. I zkusˇeny´
pilot musı´ prˇed prvnı´ letem s jiny´m letadlem absolvovat dlouha´ sˇkolenı´ a sezna´mit se s obsa´hly´mi manua´ly pro ovla´da´nı´ a chova´nı´ letadla.
Pro tyto du˚vody smeˇrˇuje pozornost vy´voja´rˇu˚ zejme´na k vytva´rˇenı´ jednoduchy´ch, prˇehledny´ch a intuitivnı´ch ovla´dacı´ch rozhranı´ syste´mu˚. Prˇi vy´voji letecke´ho informacˇne´ho syste´mu je potrˇeba kla´st velky´ du˚raz na kvalitu na´vrhu graficke´ho rozhranı´ tak, aby syste´my pilotu˚m poskytovali vsˇechny potrˇebne´ informace jednotny´m zpu˚sobem a v prˇehledne´ podobeˇ.
A pra´veˇ na´vrhem a implementacı´ graficke´ho uzˇivatelske´ho rozhranı´ syste´mu autopilota se zaby´va´
tato bakala´rˇska´ pra´ce. V prvnı´ kapitole pra´ce je uveden kra´tky´ prˇehled historie a teorie automaticky´ch syste´mu˚ rˇı´zenı´ letu. Uvedeny jsou za´kladnı´ fyzika´lnı´ principy, na ktery´ch je zalozˇeno fungova´nı´
autopilotu˚. Pro lepsˇı´ pochopenı´ problematiky pilotnı´ch syste´mu˚ jsou take´ popsa´ny za´klady pohybu letadla v prostoru a vysveˇtleny pojmy s tı´mto souvisejı´cı´. Dalsˇı´ kapitola se veˇnuje obecny´m za´sada´m a proble´mu˚m na´vrhu uzˇivatelsky´ch rozhranı´ pro letecke´ aplikace. Popsa´ny jsou take´ specifikace a pozˇadavky na noveˇ vznikajı´cı´ syste´m.
Hlavnı´ cˇa´st pra´ce je veˇnova´na popisu na´vrhu a vy´voje aplikace, zejme´na designu interakce – procesu komunikace cˇloveˇka se syste´mem. Sledova´n je vy´voj graficke´ho uzˇivatelske´ho rozhranı´, jednotlivy´ch na´vrhovy´ch verzı´ syste´mu˚ a jejich prˇı´nos pro celkovy´ vy´sledek. Vy´sledek na´vrhu je na´sledneˇ implementova´n a nasazen do prostrˇedı´ letecke´ho simula´toru v laboratorˇi SimStar. V poslednı´
kapitole se pak nacha´zı´ shrnutı´ vy´sledku˚ pra´ce a testova´nı´.
Kapitola 2
Teorie autopilotu ˚
Spolu s prudky´m rozvojem letadel na zacˇa´tku 20. stoletı´ se zacˇı´najı´ objevovat a pouzˇı´vat prvnı´
syste´my automaticke´ kontroly a rˇı´zenı´ letu. Potrˇeba automatizace rˇı´zenı´ letu letadla byla vynucena nedostatecˇnou stabilitou a ovladatelnostı´ letadla – letadla bez automaticky´ch pilotu˚ a syste´mu˚ pro stabilizaci letu byla ve vzduchu ma´lo stabilnı´ a bylo nutne´ neusta´le upravovat spra´vnou pozici letounu, tak aby bylo mozˇne´ zachovat bezpecˇny´ let. Let na letadlech bez automaticke´ho rˇı´zenı´ vyzˇadoval vysokou technickou u´rovenˇ pilotova´nı´, velkou koncentraci vnı´ma´nı´ a soustrˇedeˇnı´ pilota.
Modernı´ konstruova´nı´ letadel se vyznacˇuje sˇiroky´m pouzˇı´va´nı´m syste´mu˚ automaticke´ho letu.
Uplatneˇnı´ automaticky´ch na´stroju˚ je diktova´no vylepsˇenı´m letecky´ch charakteristik letadla, jeho sta- bility a ovladatelnosti. V dany´ moment se syste´my automaticke´ho letu jevı´ jako prostrˇedek poma´hajı´cı´
pilotu ovla´dat letadlo.
Sˇiroka´ automatizace procesu ovla´da´nı´ letadla nevylucˇuje pilota z rˇı´zenı´, ale necha´va´ pro neˇj funkce ovla´da´nı´ ru˚zny´ch rezˇimu˚ autopilota, nastavenı´ autopilota a take´ kontrolu procesu pilotova´nı´ letadla.
Z du˚vodu neprˇetrzˇite´ho technicke´ho pokroku a zlepsˇova´nı´ technicky´ch charakteristik letadel, ktere´
umozˇnˇovaly mnohem delsˇı´ dobu pobytu letadla ve vzduchu, docha´zelo ke sta´le veˇtsˇı´mu zatı´zˇenı´ pilota.
Proto bylo nutne´ podniknout kroky k ulehcˇenı´ pra´ce pilota a posa´dky od unavujı´cı´ch a jednotva´rny´ch u´konu˚ nutny´ch pro stabilizaci a rˇı´zenı´ letadla. A pra´veˇ tyto du˚vody se staly hlavnı´m impulsem pro vznik a rychly´ rozvoj syste´mu˚ automaticke´ho rˇı´zenı´ letadla tzv. autopilotu˚.
2.1 Pohyb v prostoru
Letadlo kona´ v prostoru velmi slozˇity´ pohyb, ktery´ mu˚zˇeme popsat v pravou´hle´ sourˇadnicove´ soustaveˇ jako posuvny´ pohyb se slozˇkami posuvu ve smeˇru vsˇech trˇı´ os a jako ota´cˇivy´ pohyb kolem teˇchto os [1]. Pro popis pohybu letadla v prostoru se pouzˇı´va´ letadlova´ sourˇadnicova´ soustava, ktera´ je pevneˇ spojena´ s letadlem a jejı´zˇ pocˇa´tek lezˇı´ v teˇzˇisˇti letadla (obra´zek 2.1).
Z hlediska pohybu letadla lze rozlisˇit trˇi za´kladnı´ pohyby kolem jeho os.
Obra´zek 2.1: Letadlova´ sourˇadnicova´ soustava [2]
• Klopenı´ (pitch)– pohyb letadla kolem bocˇnı´ osy, vedoucı´ prˇes letadlo od jednoho krˇı´dla ke druhe´mu. Udrzˇuje pode´lnou stabilitu letu – naklopenı´ nosu letadla ve vertika´lnı´ ose (nahoru, dolu˚).
• Zata´cˇenı´ (yaw)– pohyb letadla kolem kolme´ osy, vedoucı´ letadlem shora dolu˚. Tento parametr ukazuje odchylku letu od zadane´ho kurzu. Pohybem kolem kolme´ osy meˇnı´me vybocˇenı´ nosu letadla doleva nebo doprava.
• Kloneˇnı´ (roll)– pohyb letadla kolem pode´lne´ osy, ktera´ vede od nosu k ocasu letadla. Kloneˇnı´m meˇnı´me orientaci krˇı´del letadla (jedno krˇı´dlo stoupa´ nahoru, druhe´ klesa´ dolu˚). [3].
Pomocı´ teˇchto trˇı´ pohybu˚ mu˚zˇeme popsat polohu letadla ve vzdusˇne´m prostoru. Pro automaticke´
rˇı´zenı´ letadla tedy musı´ existovat jednoduchy´ zpu˚sob zı´ska´va´nı´ teˇchto trˇı´ za´kladnı´ch u´hlu˚. Takovy´
zpu˚sob existuje, je zalozˇeny´ na vlastnostech rychle se ota´cˇejı´cı´ho prˇedmeˇtu – gyroskopu, ktery´
zachova´va´ nemeˇnnou polohu sve´ osy v prostoru.
2.2 Gyroskop
Gyroskop (obra´zek 2.2) je zarˇı´zenı´, urcˇene´ k navigaci a urcˇova´nı´ smeˇru. Princip gyroskopu je zna´m uzˇ od roku 1817, kdy jej objevil Johann Bohnenberger. Jako konstrukte´r gyroskopu je vsˇak oznacˇova´n azˇ Le´on Foucault, ktery´ na skutecˇne´m modelu prˇedva´deˇl v roce 1852 du˚kaz rotace Zemeˇ kolem sve´
osy [4].
Obra´zek 2.2: Trˇı´osy´ gyroskop [5]
Za´kladnı´m principem gyroskopu je vyuzˇitı´ fyzika´lnı´ch vlastnostı´ rychle se ota´cˇejı´cı´ch prˇedmeˇtu˚.
Nejjednodusˇsˇı´m gyroskopem je zna´ma´ deˇtska´ hracˇka ka´cˇa. Gyroskopy pouzˇı´vane´ v letectvı´ fungujı´
na stejne´m principu, ale majı´ mnohem sofistikovaneˇjsˇı´ tvar.
2.2.1 Princip gyroskopu
Setrvacˇnı´k (rychle rotujı´cı´ prˇedmeˇt) je ulozˇen v tzv. kardanove´m za´veˇsu. Kardanu˚v za´veˇs je soustava trˇı´ v sobeˇ umı´steˇny´ch kovovy´ch prstencu˚, ktere´ jsou spojeny otocˇny´mi cˇepy takovy´m zpu˚sobem, zˇe osy cˇepu˚ sousedı´cı´ch prstencu˚ jsou na sebe navza´jem kolme´. Takovy´ gyroskop mu˚zˇe vykona´vat neza´visly´ pohyb kolem vsˇech trˇı´ os, protı´najı´cı´ch se ve strˇedu za´veˇsu, ktery´ zu˚sta´va´ sta´le nehybny´
vu˚cˇi sve´mu za´kladu.
2.2.2 Gyroskopicky´ efekt
Jednou z vlastnostı´ gyroskopu, kterou mu˚zˇeme vy´hodneˇ vyuzˇı´t pro sestrojenı´ autopilota je gyrosko- picky´ efekt. Gyroskopicky´ efekt vznika´ dı´ky rychle se ota´cˇejı´cı´mu setrvacˇnı´ku v gyroskopu, ktery´
klade odpor proti jake´koliv zmeˇneˇ sve´ rotacˇnı´ osy a bez pu˚sobenı´ jiny´ch vneˇjsˇı´ch sil si jeho osa ota´cˇenı´
udrzˇuje sta´le stejny´ smeˇr. Velikost sı´ly pu˚sobı´cı´ proti zmeˇneˇ je prˇı´mo u´meˇrna´ velikosti pru˚meˇru se- trvacˇnı´ku a rychlosti jeho ota´cˇek – cˇı´m veˇtsˇı´ je pru˚meˇr setrvacˇnı´ku a rychlost jeho ota´cˇenı´, tı´m veˇtsˇı´
a silneˇjsˇı´ je gyroskopicky´ efekt.
Jestlizˇe naprˇı´klad byla osa setrvacˇnı´ku na zacˇa´tku smeˇrova´na na neˇjakou hveˇzdu, tak prˇi jake´koliv zmeˇneˇ polohy prˇı´stroje (tedy i zmeˇneˇ polohy letounu), bude osa sta´le ukazovat na pu˚vodneˇ zvolenou hveˇzdu, i kdyzˇ se zmeˇnı´ orientace gyroskopu vu˚cˇi zemsky´m osa´m.
Gyroskopicky´ efekt poprve´ objevil francouzsky´ fyzik Jean Bernard Le´on Foucault. V roce 1852 vyuzˇil te´to fyzika´lnı´ vlastnosti pro experimenta´lnı´ du˚kaz ota´cˇenı´ Zemeˇ kolem sve´ osy a sestrojil zna´me´
Foucaultovo kyvadlo. Dı´ky tomuto experimentu vznikl i na´zev slova
”gyroskop“, cozˇ v prˇekladu z rˇecˇtiny znamena´
”pozorovat ota´cˇenı´ “.
2.2.3 Precese gyroskopu
Druhou du˚lezˇitou vlastnost rotujı´cı´ho gyroskopu nejle´pe pozna´me, pokud na neˇj zacˇneme pu˚sobit dalsˇı´ vneˇjsˇı´ silou. Kazˇdou vneˇjsˇı´ sı´lu pu˚sobı´cı´ na rotujı´cı´ prˇedmeˇt mu˚zˇeme rozlozˇit na dvojici sil – sı´lu rovnobeˇzˇnou na osu rotace prˇedmeˇtu a sı´lu kolmou na osu rotace. Sı´la kolma´ s osou rotace rychlost rotace bud’urychluje (pokud sı´la pu˚sobı´ po smeˇru rotace) nebo zpomaluje (pokud sı´la pu˚sobı´
proti smeˇru rotace). Prˇi zpomalova´nı´ rotace gyroskopu nebo vlivem pu˚sobenı´ vneˇjsˇı´ sily na gyroskop se zacˇne odchylovat osa rotace teˇlesa od pocˇa´tecˇnı´ho smeˇru. To prˇiva´dı´ gyroskop k rotaci kolem vertika´lnı´ osy [4].
Tento jev se nazy´va´ precese gyroskopu – pohyb rotujı´cı´ho teˇlesa kolem volne´ osy, ktera´ opisuje tvar kuzˇele. Rychlost precese nejvı´ce ovlivnˇuje rychlost ota´cˇenı´ setrvacˇnı´ku – cˇı´m rychleji se setrvacˇnı´k ota´cˇı´ kolem sve´ osy, tı´m pomalejsˇı´ bude precese. Pokud na setrvacˇnı´k prˇestane pu˚sobit vneˇjsˇı´ sı´la zpu˚sobujı´cı´ precesi, tak dojde k okamzˇite´mu na´vratu setrvacˇnı´ku do pu˚vodnı´ polohy a precese koncˇı´.
Na teˇchto vlastnostech gyroskopu je zalozˇeno neˇkolik na´stroju˚, ktere´ se pouzˇı´vajı´ pro automaticke´
pilotova´nı´ letadla a jeho stabilizaci ve vzdusˇne´m prostoru.
2.3 Prvnı´ autopilot
Prvnı´ automaticky´ stabiliza´tor letu byl vytvorˇen Lawrencem Sperrym v roce 1912. Pro tento syste´m Sperry pouzˇil cˇtyrˇi gyroskopy pro stabilizaci referencˇnı´ roviny. S pomocı´ elektricke´, mechanicke´
a pneumaticke´ slozˇky umozˇnˇoval Sperryho gyrokompas detekovat pozici letadla relativneˇ k referencˇnı´
rovineˇ a prova´deˇt signa´ly pro korekci polohy. Syste´m byl sestaven tak, aby poskytoval prˇiblizˇnou reakci na skokovou zmeˇnu polohy letadla. Speeryho syste´m byl zalozˇen na intuitivnı´m chova´nı´ letadla, nebyl zalozˇen na zˇa´dny´ch teoreticky´ch za´kladech [6].
V le´teˇ roku 1914 se v Parˇı´zˇi konal mezina´rodnı´ pru˚myslovy´ veletrh, na ktere´m Sperry verˇejnosti prˇedvedl prvnı´ syste´m pro stabilizaci letadla. Spolu s mechanikem svu˚j novy´ vyna´lez prezentovali kra´tkou leteckou uka´zkou. Letadlo vzle´tlo a udeˇlalo okruzˇnı´ let nad vy´stavisˇteˇm, beˇhem ktere´ho vysˇel
Obra´zek 2.3: Autopilot Wileyho Posta [7]
na krˇı´dlo letadla mechanik. Lawrence Sperry, ktery´ rˇı´dil letadlo pustil rˇı´zenı´ a dal ruce nahoru, tak aby na´vsˇteˇvnı´ci veletrhu mohli videˇt, zˇe letadlo letı´ rovneˇ samo i bez pilotova za´sahu do rˇı´zenı´ a ani mechanik, stojı´cı´ na krˇı´dle, nemu˚zˇe ovlivnit jeho rovnova´hu [7].
Francouzska´ arma´da meˇla ihned po skoncˇenı´ zkusˇebnı´ demonstrace velky´ za´jem o vynalezeny´
syste´m. Tento syste´m Sperryho firma da´le rozvı´jela a vylepsˇovala a v 20. letech vytvorˇila jizˇ skutecˇny´
autopilot. Tento autopilot Wiley Post v roce 1933 pouzˇil pro prvnı´ samostatny´ let kolem sveˇta, ktery´
zvla´dl vykonat za me´neˇ nezˇ 8 dnı´. Fotografie tohoto autopilota je na obra´zku 2.3[8].
Uzˇ od poloviny 30. let pouzˇı´valo velke´ mnozˇstvı´ letecky´ch dopravnı´ch spolecˇnostı´ Sperryho syste´m autopilota pro lety na dlouhe´ vzda´lenosti. V ra´mci dalsˇı´ho vy´voje autopilota byli zlepsˇeny algoritmy rˇı´zenı´ a hydraulicke´ servomechanismy. Dı´ky rozsˇı´rˇenı´ autopilota o dalsˇı´ dodatecˇne´ na´stroje, zejme´na o radionavigaci bylo mozˇne´ uskutecˇnˇovat lety i beˇhem noci a ve sˇpatne´m pocˇası´ [9].
Beˇhem 2. sveˇtove´ va´lky se znovu zvy´sˇily pozˇadavky v letectvı´ (zejme´na kvu˚li velky´m bombar- de´ru˚m vykona´vajı´cı´m neˇkolikahodinove´ lety na dlouhe´ vzda´lenosti). To vedlo k nutnosti vypracovat dokonalejsˇı´ autopiloty. Dalsˇı´ zvysˇova´nı´ pozˇadavku˚ na bezpecˇnost a regularitu letu˚ vynucovalo au- tomatizaci dalsˇı´ch letecky´ch cˇinnostı´ a na´rocˇneˇjsˇı´ch cˇa´stı´ letu – jako je prˇı´prava k prˇista´nı´, prˇista´nı´
a vzlet.
2.4 Modernı´ autopiloty
Modernı´ syste´my autopilota majı´ mnohem slozˇiteˇjsˇı´ konstrukci, kromeˇ stabilizace letadla v prostoru a udrzˇova´nı´ kurzu letu umozˇnˇujı´ realizovat programovane´ ovla´da´nı´ v ru˚zny´ch fa´zı´ch letu: vzlet, stoupa´nı´ do letove´ hladiny, udrzˇova´nı´ letadla v letove´ hladineˇ, klesa´nı´, prˇiblı´zˇenı´ na prˇista´nı´ a prˇista´nı´.
Nejslozˇiteˇjsˇı´ syste´my automaticke´ho ovla´da´nı´ na sebe berou znacˇnou cˇa´st ovla´dacı´ch funkcı´ i v rucˇnı´m rezˇimu a deˇlajı´ ovla´da´nı´ pro pilota jednodusˇsˇı´m – zmı´rnˇujı´ u´cˇinky turbulence, zabranˇujı´ una´sˇenı´
veˇtrem, poma´hajı´ rˇesˇit kriticke´ situace letu a dokonce zakazujı´ nebo ignorujı´ neˇktere´ cˇinnosti pilota.
Stejneˇ jako pro ovla´da´nı´ letadla jsou autopiloti nezbytnı´ v letecke´m pru˚myslu, protozˇe umozˇnˇujı´
snizˇova´nı´ na´kladu˚ letecke´ dopravy a zvysˇova´nı´ jejı´ bezpecˇnosti. Let letadla na autopilot spotrˇebova´va´
vy´razneˇ me´neˇ paliva nezˇ let rˇı´zeny´ pilotem, take´ docha´zı´ k mensˇı´mu zateˇzˇova´nı´ konstrukce letadla beˇhem letu, vzletu i prˇista´nı´. Modernı´ automaticke´ syste´my obsahujı´ komplikovane´ soucˇa´sti, ktere´
jsou schopny rozpoznat a adekva´tneˇ zareagovat na hrozı´cı´ kolizi s jiny´mi objekty, mohou take´ umozˇnit prˇista´t v situacı´ch sˇpatne´ nebo zˇa´dne´ viditelnosti [10].
Soucˇasne´ syste´my pouzˇı´vajı´ pocˇı´tacˇove´ programy pro rˇı´zenı´ letadla. Program cˇte aktua´lnı´ pozici letadla a zı´ska´va´ data z cele´ sı´teˇ senzoru˚ rozmı´steˇny´ch v letadle, na za´kladeˇ teˇchto vstupnı´ch informacı´
potom ovla´da´ zarˇı´zenı´ letadla a syste´m rˇı´zenı´ letu. Kromeˇ klasicke´ letove´ kontroly jsou syste´my take´
schopny ovla´dat rˇı´zenı´ tahu motoru pro optimalizaci rychlosti, da´le prˇesun paliva v na´drzˇı´ch tak, aby dosˇlo k optima´lnı´mu vyva´zˇenı´ letounu ve vzduchu.
Aktua´lnı´ pozice letadla v prostoru, jeho letova´ hladina a dalsˇı´ informace o pohybu letadla zı´ska´va´
autopilot pomocı´ inercia´lniho navigacˇnı´ho syste´mu, ktery´ pouzˇı´va´ gyroskopy a akcelerometry pro meˇrˇenı´ zrychlenı´ ve vsˇech 3 osa´ch. Z teˇchto meˇrˇenı´ se na´sledneˇ vypocˇı´ta´va´ pozice letounu.
2.5 Za´kladnı´ velicˇiny
2.5.1 Rychlost
Spra´vna´ rychlost letu je du˚lezˇita´ pro bezpecˇnost cele´ho letu – let letadla v rychlostech nizˇsˇı´ch nezˇ je dovolena´ minima´lnı´ rychlost prˇiva´dı´ letadlo ke ztra´teˇ stability a ovla´da´nı´. Naopak zvysˇova´nı´ rychlosti letu nad povolenou rychlost je spojeno s nebezpecˇı´m znicˇenı´ letadla [11]. Rozlisˇuje se vzdusˇna´
a trat’ova´ rychlost, ktere´ se meˇrˇı´ v km/h.
• Skutecˇna´ vzdusˇna´ rychlost– rychlost letadla vu˚cˇi okolnı´mu vzdusˇne´mu prostrˇedı´. Tuto rych- lost letadlo zı´ska´va´ vlivem tazˇne´ sı´ly motoru˚. Vzdusˇna´ rychlost za´visı´ na aerodynamicky´ch charakteristika´ch letadla, jeho va´ze a hustoteˇ vzduchu. Vı´tr nema´ vliv na jejı´ hodnotu a smeˇr.
• Trat’ova´ rychlost – rychlost letadla vu˚cˇi povrchu zemeˇ. Jejı´ velikost ovlivnˇuje vı´tr, ktery´
zmensˇuje nebo zveˇtsˇuje rychlost pohybu letounu vu˚cˇi zemske´mu povrchu.
Skutecˇna´ vzdusˇna´ rychlost, stejneˇ jako trat’ova´ jsou rychlosti v prˇı´me´m fyzika´lnı´m smyslu. Prˇı´stroje pro jejich bezprostrˇednı´ meˇrˇenı´ vsˇak v soucˇasne´ dobeˇ nejsou vytvorˇeny, proto je potrˇeba skutecˇnou vzdusˇnou rychlost vypocˇı´ta´vat neprˇı´my´m zpu˚sobem pomocı´ rychlomeˇru˚.
• Prˇı´strojova´ rychlostnenı´ rychlostı´ pohybu letadla vu˚cˇi jine´mu objektu na zemi, to znamena´ zˇe ve fyzika´lnı´m smyslu toto vu˚bec nenı´ rychlost. Prˇı´strojova´ rychlost je v podstateˇ velicˇina dy- namicke´ho tlaku (tj. tlaku vytvorˇene´m rychlostı´ vzdusˇne´ho proudeˇnı´ okolo letadla), vyja´drˇena´
v rychlostnı´ch jednotka´ch. Prˇı´strojova´ rychlost se meˇrˇı´ pomocı´ Pitotovy nebo Venturiho trubice, ktere´ jsou umı´steˇny v prˇednı´ cˇa´sti letadla nebo na krˇı´dlech tak, aby byly pokud mozˇno v neovliv- neˇne´m proudu vzduchu. Tyto trubice nemeˇrˇı´ rychlost letu prˇı´mo, ale pouze meˇrˇı´ tlak vyvola´vany´
tlakem proudı´cı´ho vzduchu. Na rychlost je tento zmeˇrˇeny´ tlak nutne´ prˇeve´st. Prˇı´strojova´ rych- lost, kterou pilot cˇte z rychlomeˇru, je zatı´zˇena´ neˇkolika chybami - prˇı´strojove´, aerodynamicke´
a metodicke´. Z tohoto du˚vodu ma´ pilot v letadle k dispozici hned neˇkolik ru˚zny´ch rychlostı´.
[1].
• Indikovana´ rychlost letu (IAS) – je to u´daj z rychlomeˇru vestaveˇne´ho v letadle opraveny´
pouze o prˇı´strojovou chybu, zpu˚sobenou konstrukcı´ rychlomeˇru. Tato chyba je vsˇak beˇzˇneˇ zanedbatelneˇ mala´, proto IAS prakticky prˇedstavuje prˇı´strojovou rychlost letu, kterou cˇte pilot z rychlomeˇru.
2.5.2 Kurz letu
Kurz letu ma´ velky´ vy´znam pro navigaci, protozˇe je za´rovenˇ pilota´zˇnı´m a navigacˇnı´m elementem.
Kurz ukazuje, kam smeˇrˇuje pode´lna´ osa letadla. Vı´tr ovlivnˇuje smeˇr letu, proto kurz letadla se shoduje se skutecˇny´m smeˇrem jeho pohybu vu˚cˇi Zemi pouze v bezveˇtrˇı´. Ve veˇtru mu˚zˇe by´t smeˇr pode´lne´ osy letadla jiny´ nezˇ kurz letu [12].
Existujı´ dva zpu˚soby meˇrˇenı´ kurzu – zemeˇpisny´ a magneticky´. Pro pochopenı´ jejich rozdı´lu je nutne´ nedrˇı´ve definovat pojem zemeˇpisny´ a magneticky´ polednı´k.
Zemeˇpisny´ polednı´k
Prolozˇı´me-li rovinu zemskou osou, dostaneme na obvodu zemeˇkoule, kde tato rovina protı´na´ jejı´ po- vrch, mysˇlenou kruzˇnici, kterou nazy´va´me polednı´kova´ kruzˇnice. Polovina te´to kruzˇnice je polednı´k.
Polednı´k je nekratsˇı´m spojem polu˚ na Zemi, a proto urcˇuje zemeˇpisny´ sever a jih. Za´kladnı´ nulty´
polednı´k prochazı´ londy´nskou hveˇzda´rnou v Greenwich.
Magneticky´ polednı´k
Projekce silocˇar geomagneticke´ho pole na povrchu Zemeˇ. Jsou to slozˇite´ krˇivky, shodujı´ se na severnı´m a jizˇnı´m magneticke´m poli Zemeˇ.
Obra´zek 2.4: Magneticke´ po´ly Zemeˇ [13]
Zemeˇpisny´ kurz
Zemeˇpisny´ kurz je u´hel, ktery´ svı´ra´ smeˇr zemeˇpisne´ho severu dane´ho polednı´kem v mı´steˇ vy´pocˇtu se smeˇrem projekce podelne´ osy letadla na horizontalnı´ plochu. Meˇrˇı´me ho od polednı´ku ve smeˇru pohybu hodinovy´ch rucˇicˇek ve stupnı´ch od 0◦ do 360◦. V podstateˇ kurz ukazuje smeˇr nosu letadla vu˚cˇi zemeˇpisne´mu severu. Cˇı´selny´ u´daj musı´ podle pravidel mı´t vzˇdy pra´veˇ trˇi cifry. Kurz 000 ukazuje smeˇr objektu na sever, 090 na vy´chod, 180 na jih, 270 na za´pad.
Magneticky´ kurz
Polohy magneticky´ch po´lu˚ Zemeˇ, ke ktery´m smeˇrˇujı´ strˇelky kompasu˚ urcˇujı´cı´ch magneticky´ kurz, nejsou totozˇne´ s polohami zemeˇpisny´ch po´lu˚ zemeˇkoule. Vzda´lenost zemsky´ch magneticky´ch po´lu˚
od zemeˇpisny´ch po´lu je prˇiblizˇneˇ 2000 km. Poloha magneticky´ch po´lu˚ na zemeˇkouli navı´c nenı´ sta´la´
– meˇnı´ se s cˇasem.
Magneticky´ kurz je u´hel, ktery´ svı´ra´ smeˇr magneticke´ho severu dane´ho magneticky´m polednı´kem v mı´steˇ vy´pocˇtu se smeˇrem projekce pode´lne´ osy letadla na loka´lnı´ horizonta´lnı´ plochu. Meˇrˇı´me od magneticke´ho polednı´ku ve smeˇru pohybu hodinovy´ch rucˇicˇek, ve stupnı´ch od 0◦do 360◦. Zemeˇpisne´
smeˇry nelze v za´sadeˇ slucˇovat se smeˇry magneticky´mi, jak ukazuje i obra´zek 2.4.
2.5.3 Vy´sˇka
Pro jednoznacˇnou definici polohy letadla je nutno kromeˇ zemeˇpisny´ch sourˇadnic zna´t take´ spra´vnou vy´sˇku letu. Vy´sˇkou letu se nazy´va´ horizontalnı´ vzda´lenost letadla od pocˇa´tecˇnı´ u´rovneˇ. Znalost vy´sˇky je nezbytna´ pro udrzˇova´nı´ rezˇimu letu, rˇı´zenı´ letadla a zajisˇteˇnı´ bezpecˇnosti letu. Vy´sˇka letu se meˇrˇı´
v metrech nebo ve stopa´ch (feet).
Obra´zek 2.5: Klasifikace vy´sˇky letu podle pocˇa´tecˇnı´ u´rovneˇ [14]
Klasifikace vysˇky letu podle pocˇatecˇnı´ urovneˇ (obra´zek 2.5):
• skutecˇna´– odpocˇı´ta´vana´ od u´rovneˇ mı´sta, do ktere´ho letı´me,
• relativnı´– odpocˇı´ta´vana´ od neˇjake´ dohodnute´ u´rovneˇ, naprˇı´klad letisˇteˇ,
• vy´sˇka letove´ hladiny– odpocˇı´ta´vana´ od u´rovneˇ s tlakem 1013,25 hPa,
• absolutnı´ vysˇku– odpocˇı´ta´vana´ od u´rovneˇ morˇe.
Podle podmı´nek letu rozlisˇujeme vy´sˇky velmi male´ (do 200 m), male´ (200-1000 m), strˇednı´ (1000- 4000 m), velke´ (4000-12000 m) a stratosfericke´ (vı´ce nezˇ 12000 m).
2.6 Pozˇadavky na autopilota
Hlavnı´ funkcı´ autopilota a jeho hlavnı´ u´lohou prˇi automaticke´m pilotova´nı´ je spra´vne´ udrzˇova´nı´
orientace letadla pohybujı´cı´ho se ve vzdusˇne´m prostoru. Dı´ky stabilizaci polohy letounu ve vzduchu nedocha´zı´ k odchylova´nı´ od zadane´ho kurzu, protozˇe trajektorie letu za´visı´ na spra´vne´ orientaci letadla.
Autopilot udrzˇuje letadlo v zadane´m rezˇimu letu bez za´sahu pilota. Proto je nutne´, aby parametry, ktere´ charakterizujı´ dany´ rezˇim letu, zu˚sta´valy nemeˇnne´ nebo alesponˇ jejich odchylova´nı´ bylo co nejmensˇı´. Kromeˇ toho je potrˇeba odstranˇovat kmita´nı´ letadla kolem vsˇech jeho trˇı´ os.
Neˇktere´ parametry, charakterizujı´cı´ stav rovnova´hy letadla vu˚cˇi jeho osa´m, se mohou meˇnit beˇhem letu (vyva´zˇenı´, hmotnost, tah motoru), autopilot musı´ bez za´sahu pilota udrzˇovat letadlo v zadane´
poloze i prˇes tyto dynamicke´ zmeˇny probı´hajı´cı´ za letu. Autopilot musı´ vykona´vat vsˇechny za´kladnı´
letecke´ mane´vry – prˇı´my´ let v letove´ hladineˇ, stoupa´nı´ cˇi klesa´nı´ do nove´ letove´ hladiny, prave´ a leve´
zata´cˇky a take´ umeˇt prove´st automaticke´ prˇista´nı´ a vzlet.
Soucˇasna´ stabilizace cˇtyrˇ za´kladnı´ch parametru˚ letu – rychlosti, vy´sˇky, kurzu a na´klonu˚ je mozˇna´
s vyuzˇitı´m cˇtyrˇ za´kladnı´ch ovla´dacı´ch prvku˚ letadla – tahu motoru, vy´sˇkovky, smeˇrovky a krˇide´lek.
Autopilot proto musı´ tyto cˇtyrˇi za´kladnı´ prvky letadla obsluhovat [15].
2.7 Proble´my syste´mu ˚ automaticke´ho rˇı´zenı´ letu
Za´kladnı´m proble´mem prˇi konstruova´nı´ autopilotu˚ a automaticky´ch syste´mu˚ rˇı´zenı´ je bezpecˇnost letu. V jednoduchy´ch autopilotech je prˇedpokla´da´na velka´ kontrola pilotem – v prˇı´padeˇ nestandardnı´
situace musı´ dojı´t k rychle´mu odpojenı´ autopilotnı´ho syste´mu pilotem. Podobneˇ prˇi jake´koliv porusˇe jeho norma´lnı´ho fungova´nı´ je zvolen okamzˇity´ prˇechod na rucˇnı´ ovla´da´nı´ letounu.
U slozˇiteˇjsˇı´ch autopilotu˚ se vsˇak jizˇ od pocˇa´tku˚ vy´voje klade velky´ du˚raz na spolehlivost a za- chova´nı´ funkcˇnosti i v kriticky´ch situacı´ch. Prˇedpokla´dajı´ se opatrˇenı´ pro zvy´sˇenı´ bezpecˇnosti letu.
Syste´my jsou mnohokana´love´, tj. soucˇasneˇ pracujı´ 2, 3 vy´jimecˇneˇ i 4 stejne´ kana´ly rˇı´zenı´. Vy´padek jednoho nebo dvou kana´lu˚ zˇa´dny´m zpu˚sobem neovlivnˇuje funkcˇnost syste´mu jako celku. V prˇı´padeˇ vzniku vy´padku syste´m samostatneˇ rozhoduje o mozˇnostech zachova´nı´ cˇinnosti autopilota, prˇepnutı´
na rezervnı´ kana´l nebo prˇeda´nı´ rˇı´zenı´ pilotu.
Vzhledem v celkove´ slozˇitosti automaticky´ch syste´mu˚ rˇı´zenı´ existuje mozˇnost, zˇe neˇktera´ cˇa´st syste´mu mu˚zˇe selhat. Byly dokonce prˇı´pady, kdy letadlo havarovalo pra´veˇ kvu˚li selha´nı´ syste´mu autopilota. Dlouhodobe´ za´znamy ale ukazujı´, zˇe k hava´rii, ktera´ je zpu˚sobena poruchou autopilota, typicky dosˇlo z du˚vodu, zˇe pilot neodpojil autopilot prˇed pokusem o manua´lnı´ ovla´da´nı´. Veˇtsˇinou se tedy nejedna´ o fata´lnı´ selha´nı´ autopilotnı´ho syste´mu, ale o selha´nı´ komunikace mezi pilotem a tı´mto syste´mem, jeho sˇpatne´ pochopenı´ cˇi nespra´vne´ pouzˇitı´.
Kapitola 3
Interakce pilota se syste´mem automaticke´ho pilotova´nı´
Pro na´vrh spra´vne´ho graficke´ho rozhranı´ je potrˇeba bra´t v u´vahu typicke´ zpu˚soby interakce mezi programem a jeho uzˇivatelem. Informace poskytovana´ programem a zobrazenı´ te´to informace na displeji musı´ umozˇnˇovat uzˇivateli prova´deˇt svou cˇinnost u´speˇsˇneˇ a spolehliveˇ.
Jizˇ od vzniku prvnı´ch syste´mu˚ pro automaticke´ rˇı´zenı´ letu byli vyna´lezci znepokojeni jejich pro- ble´my a zejme´na proble´my s interakcı´ mezi pilotem a autopilotnı´m syste´mem. Ve zpra´va´ch o letecky´ch nehoda´ch a porucha´ch se neusta´le objevovaly dva faktory, ktere´ byly za tyto nehody zodpoveˇdne´ – rozhranı´ poskytovalo autopilotu nedostatecˇne´ informace o stavu stroje, pilot meˇl nespra´vne´ prˇed- stavy o fungova´nı´ a chova´nı´ stroje. Oba tyto faktory prˇiva´deˇly posa´dku letadla k neocˇeka´vane´mu chova´nı´, zmatku a chyba´m [16]. Nicme´neˇ vinı´ky teˇchto chyb spolupra´ce mezi autopiloty a piloty nelze cˇasto jednoznacˇneˇ oznacˇit. Nelze jednoznacˇneˇ rozhodnout, zda za tyto chyby bylo zodpoveˇdne´
pouze rozhranı´ autopilota a jeho interakce s pilotem nebo zda byla chyba zpu˚sobena lidskou chy- bou, nedostatecˇny´m sˇkolenı´m, sˇpatny´m uveˇdomeˇnı´m si krizove´ situace nebo nespra´vneˇ zvoleny´m postupem.
V interakci mezi pilotem a autopilotem hrajı´ klı´cˇovou roli trˇi prvky. Tyto trˇi prvky spolu zajisˇt’ujı´
korektnı´ a spolehlivou interakci mezi uzˇivatelem a syste´mem:
1. mnozˇina u´konu˚, ktere´ musı´ pilot prove´st pro ovla´da´nı´ na´strojem,
2. uzˇivatelsky´ model chova´nı´ na´stroju˚, ktery´ pilot zna´ a ma´ naucˇeny´ z tre´nova´nı´ na simula´toru a z manua´lu˚,
3. tozhranı´, pomocı´ ktere´ho pilot zı´ska´va´ informace o chovanı´ na´stroju˚.
3.1 Obecne´ za´sady
Z du˚vodu velke´ho mnozˇstvı´ ru˚zny´ch informacˇnı´ch panelu˚ v kokpitu letadla a jejich slozˇitosti je potrˇeba dodrzˇovat za´sady spra´vne´ho zobrazova´nı´ informacı´ tak, aby se povedlo co nejvı´ce zjednodusˇit a zabezpecˇit interakci pilota s programem. Americke´ veˇdeˇcke´ studie ukazujı´, zˇe dobre´ graficke´ rozhranı´
s leteckou informacı´ mu˚zˇe vy´razneˇ zmensˇit proble´my s chybami a letecky´m incidenty. Vy´sledkem teˇchto studiı´ je neˇkolik obecny´ch za´sad a doporucˇenı´ [17]:
1. zobrazovat letovou informaci co nejjednodusˇsˇı´m a nejprecizneˇjsˇı´m zpu˚sobem,
2. navrhovat ovla´dacı´ na´stroje autopilota tak, aby se minimalizoval pocˇet kroku˚, ktere´ musı´ pilot vykonat pro pozˇadovanou akci,
3. vsˇechny rutinnı´, nekriticke´ informace musı´ by´t u´plneˇ zautomatizovane´ tak, aby zbytecˇneˇ ne- zateˇzˇovaly a nekomplikovaly konfiguraci autopilota,
4. odstranit vsˇechny nepodstatne´ a zbytecˇne´ operace na ovla´dacı´ konzoli autopilota,
5. symboly a zpra´vy musı´ by´t logicky umı´steˇny a musı´ pracovat se souvisejı´cı´mi informacemi, 6. pro zvy´razneˇnı´ informace nepouzˇı´vat pouze zmeˇnu barvy, informace musı´ by´t identifikovatelna´
minima´lneˇ pomocı´ dvou ru˚zny´ch parametru˚ (naprˇı´klad rozmeˇr, tvar, barva, umı´steˇnı´),
7. varovne´ informace se musı´ objevovat na stejne´m mı´steˇ ve ktere´m jsou za norma´lnı´ch okolnostı´
beˇzˇna´ data.
3.2 Touch screen displej
Touch screen technologie se v dnesˇnı´ dobeˇ uplatnˇujı´ v sˇiroke´ sˇka´le ru˚zny´ch informacˇnı´ch syste´mu˚
a aplikacı´. Jejich pouzˇitı´ je zejme´na vhodne´ v syste´mech obsluhy zarˇı´zenı´ – prodejnı´ termina´ly, samoobsluzˇne´ automaty a podobneˇ. Pro autopilota v letadle lze take´ vyuzˇı´t vy´hod dotykovy´ch displeju˚.
Vy´hody
• Prˇı´mocˇarost – na rozdı´l od neprˇı´my´ch zpu˚sobu˚ ovla´da´nı´ (mysˇ, joystik, kla´vesnice) uzˇivatel prˇı´mo komununikuje s objektem, ktery´ jej zajı´ma´. Nenı´ trˇeba vyhleda´vat vstupnı´ zarˇı´zenı´, pomocı´ ktere´ho nejdrˇı´ve vybereme pozˇadovany´ objekt a ztra´cet vizua´lnı´ soustrˇedeˇni na objekt.
Stejneˇ tak uzˇivatel nemusı´ mapovat rucˇnı´ pohyb na pohyb kurzorem, jak to vyzˇaduje klasicke´
ovla´da´nı´ naprˇı´klad pomocı´ mysˇi cˇi joystiku.
• Rychlost – pro mnoho u´kolu˚ je ovla´da´nı´ pomocı´ touch screen rychlejsˇı´, protozˇe uzˇivatel nemusı´
vyhleda´vat vstupnı´ zarˇı´zenı´, mu˚zˇe prˇı´mo vybrat pozˇadovany´ objekt.
• Jednodusˇsˇı´ ucˇenı´ – rychlejsˇı´ pro pochopenı´. Uzˇivatelska´ rozhranı´ pro dotykove´ displeje mı´vajı´
jednoduchou strukturu a nepozˇadujı´ slozˇite´ ovla´da´nı´ pomocı´ mysˇi.
• Flexibilita – touch screen podporuje mozˇnosti, ktere´ nejsou dosazˇitelne´ pomocı´ kla´vesnice.
Uzˇivatel si mu˚zˇe vybrat, jake´ rozlozˇenı´ kla´vesnice preferuje, preferovana´ kla´vesnice se pote´
zobrazuje na displeji.
• Nepotrˇebuje zˇa´dne´ dodatecˇne´ mı´sto – nenı´ potrˇeba zˇa´dny´ch dalsˇı´ch vstupnı´ch zarˇı´zenı´, postacˇuje pouze displej.
Nevy´hody
• Nenı´ hapticka´ (hmatova´) odezva. Prˇi ovla´da´nı´ klasicky´ch tlacˇı´tek je mozˇne´ cı´tit spoustu infor- macı´ i pomocı´ hmatu – je tak naprˇı´klad mozˇne´ rozeznat zma´cˇknute´ tlacˇı´tko od nezma´cˇknute´ho, poznat konec rozsahu u otocˇny´ch voleb a podobneˇ.
• Prˇi ovla´da´nı´ vertika´lnı´ho displeje musı´ uzˇivatel drzˇet ruku ve vzduchu, proto jsou vertika´lnı´
displeje vhodne´ pouze pro epizodickou pra´ci (naprˇı´klad pro bankomaty). Prˇi dlouhodobeˇjsˇı´m ovla´da´nı´ displeje by hrozila nadmeˇrna´ u´nava uzˇivatele syste´mu.
• Prˇi ovla´da´nı´ horizonta´lnı´ displeje omezujı´ ruce, ktere´ ovla´dajı´ displej, rozhled na zby´vajı´cı´ cˇa´sti displeje. Pokud ovla´da´me prvky v jedne´ cˇa´sti displeje, mu˚zˇeme si za´rovenˇ zastinˇovat informace zobrazovane´ v druhe´ cˇa´sti.
• Paralax – omezuje prˇesnost pozicova´nı´ u´konu˚ uzˇivatele na dipleji bez kurzoru. Pouzˇitı´ kurzoru ale prˇida´va´ dodatecˇnou slozˇitost, ktera´ zmensˇuje u´spornost cele´ho rˇesˇenı´.
Kapitola 4
Analy´za existujı´cı´ch autopilotu ˚
Pro lepsˇı´ pochopenı´ syste´mu˚ automaticke´ho pilotovanı´ se podı´va´me na autopilot ve skutecˇne´m letadle Boeing 737 (obra´zek 4.1). Zameˇrˇı´me se pouze na hlavnı´ funkce autopilota.
Obra´zek 4.1: Rozhranı´ autopilota Boeing 737
1. Autopilot master switch – zapı´na´ autopilota, udrzˇuje sta´vajı´cı´ klopenı´ a klopenı´. Pokud je autopilot zapnut, nenı´ mozˇne´ rˇı´dit letadlo, pilot mu˚zˇe pouze kontrolovat a monitorovat nastavenı´
autopilota. Jestli jsou spolu se zapnuty´m autopilotem zapnuty rezˇimy Heading mode, Altitude mode nebo Navigation mode, letadlo zacˇne ihned vykona´vat aktivovane´ prˇı´kazy. Proto je dobre´
prˇed zapnutı´m autopilota zkontrolovat jeho nastavenı´, zejme´na aktivaci funkcı´.
2. Heading selection window/bug – umozˇnˇuje nastavit Heading mode. Pro aktivaci rezˇimu je potrˇeba zma´cˇknout tlacˇı´tko HDG SEL, hned potom letadlo prˇijme pozˇadovany´ kurz. Nastaveni HDG ukazuje magneticky´ kurz.
3. Altitude selection window– nastavenı´ letove´ hladiny. Letadlo zacˇne klesat nebo stoupat na nastavenou vy´sˇku.
4. Altitude hold mode selector button– po zapnutı´ je aktivova´n rezˇim Altitude hold. To znamena´, zˇe autopilot bude udrzˇovat sta´vajı´cı´ vy´sˇku letu.
5. Vertical speed selection window– nastavenı´ vertika´lnı´ rychlosti. Umozˇnˇuje nastavit rychlost, kterou bude letadlo klesat nebo stoupat.
6. Course selection window/knob– umozˇnˇuje nastavit kurz letu, ktery´ odpovı´da´ zemeˇpisne´mu kurzu.
7. Airspeed/Mach selection window– nastavenı´ letove´ rychlosti.
Kapitola 5
Aplikace
5.1 Specifikace pozˇadavku ˚
V prvnı´ cˇa´sti pra´ce byli prozkouma´ny teoreticke´ za´klady syste´mu˚ pro automaticke´ rˇı´zenı´ letadla, obecne´ pozˇadavky kladene´ na syste´m autopilota, cˇaste´ proble´my spojene´ s obsluhou tradicˇnı´ch roz- hranı´ a take´ za´kladnı´ za´sady pouzˇı´vane´ prˇi navrhova´nı´ graficke´ho rozhranı´ pro zobrazova´nı´ informacı´
a rˇı´zenı´ letadla. Pomocı´ teˇchto informacı´ lze prove´st specifikaci pozˇadavku˚ na noveˇ navrhovane´ gra- ficke´ rozhranı´. Aplikace by meˇla odpovı´dat potrˇeba´m pro prˇehledne´ zobrazenı´ informacı´ a umozˇnˇovat pohodlnou a jednoduchou interakci s uzˇivatelem pomocı´ touch screen displeje. Noveˇ vyvinuta´ aplikace by meˇla by´t postavena na graficke´m rozhranı´ Qt a implementova´na v jazykove´m prostrˇedı´ C++.
Aplikace by meˇla umozˇnˇovat vy´stup a prˇı´jem dat pomocı´ protokolu vyvı´jene´ho v prostrˇedı´
laboratorˇe SimStar a jako rozsˇı´rˇenı´ take´ pomocı´ protokolu CANaerospace, ktery´ je pouzˇı´va´n pro letecke´ aplikace. Vy´sledna´ aplikace bude pouzˇı´va´na v simula´toru v laboratorˇi SimStar.
5.1.1 Funkcˇnı´ pozˇadavky
Musı´ by´t umozˇneˇno prˇepı´na´nı´ jednotek jednotlivy´ch velicˇin mezi metrickou SI soustavou a imperia´lnı´
soustavou. Kazˇda´ zmeˇna hodnoty musı´ by´t v urcˇite´m cˇasove´m intervalu potvrzena, jinak dojde k na´vratu na pu˚vodnı´ hodnotu prˇed zmeˇnou. Autopilot lze zapnout azˇ po potvrzenı´ vsˇech nastaveny´ch hodnot.
Rozhranı´ autopilota umozˇnˇuje ovla´da´nı´ peˇti za´kladnı´ch velicˇin:
• rychlost (IAS)– je zobrazena v jednotka´ch knots nebo v mph. Pilot mu˚zˇe nastavovat rychlost pouze v urcˇite´m intervalu, ktery´ je dany´ aktua´lnı´ polohou klapek, jak ukazuje tabulka 5.1.
• vy´sˇka (ALT)– uva´deˇna´ v jednotka´ch feet nebo metrech. Pilot mu˚zˇe aktivovat funkci udrzˇova´nı´
aktua´lnı´ letove´ vy´sˇky pomoci tlacˇı´tka ALT HOLD.
• vertika´lnı´ rychlost (VS)– uva´deˇna´ v jednotka´ch ft/min nebo m/s.
• magneticky´ kurz (HDG)– uva´deˇny´ ve stupnı´ch.
• zemeˇpisny´ kurz (TRK)– uva´deˇny´ ve stupnı´ch.
Rozsah nastavova´nı´ rychlosti je za´visly´ na poloze klapek, proto je pro tuto velicˇinu samostatna´
tabulka 5.1.
Velicˇina Zkratka Jednotky Klapky Minimum Maximum
Rychlost IAS
uzly
Zasunuty 37 146
Vysunuty 37 70
km/h
Zasunuty 68 270
Vysunuty 68 130
Tabulka 5.1: Specifikace rychlosti
Zby´vajı´cı´ velicˇiny, rozsahy a jejich jednotky jsou zobrazeny v na´sledujı´cı´ tabulce 5.2.
Velicˇina Zkratka Jednotky Minimum Maximum
Vy´sˇka ALT
feet 0 10000
m 0 3000
Vertika´lnı´ rychlost VS
ft/min -2000 2000
m/s -10 10
Magneticky´ kurz HDG stupneˇ 0 360
Zemeˇpisny´ kurz TRK stupneˇ 0 360
Tabulka 5.2: Specifikace velicˇin autopilota
5.1.2 Jine´ pozˇadavky
• Jednoduchost a prˇehlednost– navrhovana´ aplikace by meˇla by´t co mozˇna´ nejjednodusˇsˇı´, aby obsluhujı´cı´ piloti mohli rychle najı´t a prove´st akce, ktere´ potrˇebujı´.
• Implementace– syste´m bude implementova´n v jazyce C++, s pomocı´ graficke´ho rozhranı´ Qt
5.2 Laboratorˇ SimStar
Vyvı´jena´ aplikace je soucˇa´stı´ syste´mu v multimedia´lnı´ vy´zkumne´ laboratorˇi SimStar. Laboratorˇ se zaby´va´ vy´zkumem bezpecˇnosti le´ta´nı´ a vyvı´jı´ na´stroje pro vy´cvik a tre´nova´nı´ pilotu˚. Laboratorˇ je vybavena trupem letounu SportStar (obra´zek 5.1) a kompletnı´m hardwarovy´m a softwarovy´m vyba- venı´m pro simulaci letu. V druhe´ cˇa´sti mı´stnosti se nacha´zı´ vy´pocˇetnı´ vybavenı´ a stanovisˇteˇ opera´tora.
Vy´pocˇty a zobrazova´nı´ simulacˇnı´ch dat majı´ na starosti dva pocˇı´tacˇe, jeden pocˇı´tacˇ zajisˇt’uje beˇh si- mulacˇnı´ho ja´dra a jeho vizualizaci na projektor, druhy´ pocˇı´tacˇ ma´ na starosti zobrazova´nı´ informacı´ na displejı´ch, ktere´ se nacha´zejı´ v kabineˇ letounu a na stanovisˇti opera´tora. Sche´ma simula´toru SimStar je zakresleno na obra´zku 5.2.
Obra´zek 5.1: Simula´tor SportStar v laboratorˇi SimStar [18]
Kabina letounu je vybavena dveˇma modernı´mi dotykovy´mi displeji, na ktery´ch se zobrazujı´
informace o pru˚beˇhu letu. Tyto informacˇnı´ prvky jsou oznacˇova´ny jako hlavnı´ letovy´ displej (PFD – Primary Flight Display).
Obra´zek 5.2: Sche´ma simula´toru SimStar [19]
5.2.1 Hlavnı´ letovy´ displej
Hlavnı´ letovy´ displej je modernı´ letecky´ na´stroj vyhrazeny´ pro zobrazova´nı´ letecky´ch informacı´.
Kombinuje zobrazenı´ sˇesti hlavnı´ letecky´ch u´daju˚ – rychlost letu, ukazatel kurzu, vy´sˇka letu, vertika´lnı´
rychlost, umeˇly´ horizont a zata´cˇkomeˇr na jednom displeji. Dı´ky tomu ma´ pilot vsˇechny du˚lezˇite´
informace prˇehledneˇ a jednodusˇe zobrazeny na jednom mı´steˇ. V prˇı´padeˇ poruchy hlavnı´ho letove´ho displeje vsˇak v kokpitu vzˇdy zu˚sta´vajı´ i mechanicke´ ukazatele.
Letovy´ displej v laboratorˇi SimStar tento koncept da´le rozvı´jı´ a zdokonaluje. Na displeji je tak mozˇne´ kromeˇ sˇesti za´kladnı´ch prˇı´stroju˚ videˇt i provoznı´ informace jako jsou ota´cˇky motoru, vy´kon motoru, mnozˇstvı´ paliva v palivovy´ch na´drzˇı´ch cˇi letovou mini-mapu se sourˇadnicemi aktua´lnı´ polohy.
Umeˇly´ horizont je navı´c zobrazen ve skutecˇne´m tere´nu, nad ktery´m letoun pra´veˇ prole´ta´.
Noveˇ vyvı´jena´ aplikace rozhranı´ autopilota je dalsˇı´m rozsˇı´rˇenı´m hlavnı´ho letove´ho displeje.
Kapitola 6
Na´vrh aplikace
6.1 Na´vrh interakce
Obra´zek 6.1: Diagram za´vislostı´ designu interakcı´ [20]
Slovo interakce pu˚vodneˇ v latinske´m prˇekladu znamena´ jednat mezi sebou. Interakcı´ v pocˇı´tacˇo- ve´m designu rozumı´me jedna´nı´ mezi uzˇivatelem aplikace a pocˇı´tacˇovy´m syste´mem. Design interakce je oblast odborny´ch znalostı´ zameˇrˇeny´ch na na´vrh chova´nı´ syste´mu˚, se ktery´mi uzˇivatel interaguje.
V na´vrhu interakce na´s zajı´ma´ cely´ proces komunikace, ovla´da´nı´ a rˇı´zenı´ syste´mu, a take´ vza´jemna´
oboustranna´ aktivita obou interagujı´cı´ch subjektu˚. Na diagramu 6.1 vidı´me vztahy na´vrhu interakcı´
(interaction design) s ostatnı´mi inzˇeny´rsky´mi obory, ktere´ ovlivnˇujı´ na´vrh interakce. Mezi tyto obory patrˇı´ zejme´na – user experience design, pru˚myslovy´ design, informacˇnı´ architektura, inzˇeny´rstvı´ uzˇi- vatelsky´ch rozhranı´ (user interface engineering), interakce pocˇı´tacˇe s cˇloveˇkem (human computer interaction). Tyto inzˇeny´rske´ disciplı´ny majı´ sve´ specificke´ u´zke´ zameˇrˇenı´ na rˇesˇenı´ dı´lcˇı´ch u´kolu˚.
Proces na´vrhu interakce v sobeˇ zahrnuje vsˇechny tyto obory a jejich kombinacı´ umozˇnˇuje vytvorˇit kompletnı´ na´vrh syste´mu.
Na´vrh interakce se skla´da´ z neˇkolika cˇa´stı´, jak ukazuje obra´zek 6.2. Pro komplexnı´, kvalitnı´
a vyva´zˇeny´ na´vrh je du˚lezˇite´ dodrzˇova´nı´ porˇadı´ vy´voje designu aplikace – kazˇda´ etapa vy´voje ma´
svu˚j prˇı´nos pro celkovou kvalitu navrhovane´ho syste´mu a kazˇda´ dalsˇı´ etapa navazuje na tyto prˇı´nosy.
Zejme´na je du˚lezˇite´ nevynecha´vat etapy skicova´nı´ a prototypova´nı´, protozˇe jsou za´kladem procesu na´vrhu interakce.
Obra´zek 6.2: Etapy na´vrhu uzˇivatelske´ho rozhranı´
6.1.1 Diagram prˇı´padu˚ uzˇitı´
Diagram prˇı´padu˚ uzˇitı´ je jeden z diagramu˚, ktery´ pouzˇı´va´ forma´lnı´ modelovacı´ jazyk UML (Unified Modeling Language). Pomocı´ diagramu mu˚zˇeme jednodusˇe popsat vneˇjsˇı´ pohled na modelovany´
syste´m a nale´zt a vymezit hranici mezi syste´mem a okolı´m – definovat rozsah syste´mu. V na´vrhu interakce na´s na diagramu prˇı´padu uzˇitı´ zajı´majı´ interakce mezi uzˇivatelem a syste´mem.
Uzˇivatele´ syste´mu a dalsˇı´ vneˇjsˇı´ objekty, ktere´ interagujı´ se syste´mem, jsou na diagramu prˇı´- padu uzˇitı´ zobrazeny jako figurky. Modelovany´ syste´m je zobrazen jako velky´ obde´lnı´k, v neˇmzˇ jsou obsazˇeny jednotlive´ prˇı´pady uzˇitı´ syste´mu. Pokud se uzˇivatel u´cˇastnı´ prˇı´padu uzˇitı´, tak je to na dia- gramu zna´zorneˇno cˇa´rou – asociacı´. Asociace neznamena´ provedenı´ primitivnı´ funkce, ale zna´zornˇuje komplexnı´ interakci akte´ra se syste´mem, vedenou k urcˇite´mu cı´li.
Diagram prˇı´padu˚ uzˇitı´ syste´mu autopilota
Se syste´mem autopilota interagujı´ dva externı´ akte´rˇi – pilot a simula´tor. Pilot je uzˇivatel rozhranı´
syste´mu autopilota. Role simula´toru zastupuje externı´ syste´m (letecky´ simula´tor), se ktery´m autopilot komunikuje – prˇebı´ra´ aktua´lnı´ letove´ hodnoty a vracı´ nastavenı´ autopilota. Nejvı´ce pouzˇı´vany´m prˇı´padem uzˇitı´ v syste´mu je nastavenı´ hodnoty, kdy uzˇivatel nejdrˇı´ve musı´ nastavit hodnotu, potvrdit ji a azˇ pote´ se zmeˇneˇna´ hodnota odesˇle do simula´toru.
Obra´zek 6.3: Use case diagram syste´mu autopilota
Specifikace prˇı´padu uzˇitı´ – nastavova´nı´ hodnoty
Popis: Pilot provede zmeˇnu hodnoty velicˇiny a odesˇle data do simula´toru.
Vstupnı´ podmı´nky: zˇa´dne´
Vy´stupnı´ podmı´nky: Syste´m nastavil novou hodnotu velicˇiny.
Sce´na´rˇ uzˇitı´:
1. OPAKUJ
(a) Pilot s pomocı´ posuvnı´ku a tlacˇı´tek
”+“ a
”-“ nastavı´ novou hodnotu velicˇiny.
2. Syste´m po nastavenı´ nove´ hodnoty ocˇeka´va´ jejı´ potvrzenı´.
3. POKUD pilot v prˇedem definovane´m cˇasove´m intervalu zma´cˇkne tlacˇı´tko
”CONF“.
(a) Dojde k potvrzenı´ nove´ hodnoty a jejı´ho zapamatova´nı´ syste´mem.
(b) Syste´m pilotovi zvy´raznı´ tlacˇı´tko
”CONF“, cˇı´mzˇ signalizuje potvrzenı´ nove´ hodnoty.
(c) POKUD je autopilot aktivnı´ (tlacˇı´tko
”AP“ svı´tı´ zeleneˇ) i. Dojde k odesla´nı´ noveˇ nastavene´ hodnoty do simula´toru.
4. JINAK
(a) Z du˚vodu nepotvrzenı´ nove´ hodnoty syste´m noveˇ nastavenou hodnotu ignoruje a na displej zobrazı´ naposledy potvrzenou hodnotu.
6.1.2 Skicova´nı´
Proces tvorby uzˇivatelske´ho rozhranı´ zacˇı´na´ papı´rovy´m prototypova´nı´m – skicova´nı´m. Vy´hodou te´to metody na´vrhu rozhranı´ je rychlost a jednoduchost tvorby za´kladnı´ho konceptu navrhovane´ho programu. Beˇhem te´to etapy se snazˇı´me definovat potrˇebnou mnozˇinu prvku˚ programu, najı´t jejich nejoptima´lneˇjsˇı´ rozvrzˇenı´ a umı´steˇnı´ v prostoru. Pouzˇitı´ papı´rove´ metody je pro tyto na´vrhy nej- rychlejsˇı´m a nejprˇirozeneˇjsˇı´m zpu˚sobem. Prˇi pouzˇiti digita´lnı´ch na´stroju˚ v te´to etapeˇ vy´voje mu˚zˇe analytikovu pozornost odva´deˇt od konceptu syste´mu k nedu˚lezˇity´m detailu˚m prezentace rˇesˇenı´ (na- prˇı´klad ke graficky´m efektu˚m). Naopak pouzˇitı´ skicova´nı´ od teˇchto detailu˚ oprosˇt’uje a umozˇnˇuje se soustrˇedit na strukturu, logiku a koncept vyvijene´ho programu, nikoliv na jeho grafickou podobu.
6.1.3 Prototypova´nı´
Prototypova´nı´ je proces vytva´rˇenı´ prototypu programu, tj. sˇablony – zkusˇebnı´ verze programu s cı´lem oveˇrˇit pouzˇitelnost navrhovane´ koncepce. Prototyp imituje funkce a chova´nı´ vy´sledne´ho syste´mu s vy´razneˇ nizˇsˇı´mi na´klady na vy´voj nezˇ by meˇla skutecˇna´ implementace programu. Tı´m umozˇnˇuje
zı´skat zpeˇtnou vazbu od budoucı´ch uzˇivatelu˚ syste´mu drˇı´ve nezˇ dojde k na´kladne´mu vy´voji. Dı´ky nı´zky´m na´kladu˚m na vy´voj prototypu mu˚zˇeme navı´c prova´deˇt iterativnı´ prototypova´nı´ a postupneˇ tak nale´zt optima´lnı´ uzˇivatelske´ rozhranı´.
Vyvı´jena´ aplikace je urcˇena do prostrˇedı´ letecky´ch syste´mu˚, ktere´ spı´sˇe preferujı´ standardizovana´
uzˇivatelska´ rozhranı´ prˇed novy´mi inovativnı´mi. Dalsˇı´m omezenı´m designu interakce prˇedstavuje nasazenı´ aplikace na dotykove´ displeje. Z teˇchto du˚vodu˚ je nutne´ pouzˇı´t rˇadu standardnı´ch ovla´dacich prvku˚ a dodrzˇovat za´sady vy´voje uzˇivatelske´ho rozhranı´ pro dotykove´ displeje:
• dostatecˇna´ velikost ovla´dacı´ch prvku˚ (dotykova´ plocha ovla´dacı´ho prvku nesmı´ by´t mensˇı´ nezˇ prst cˇloveˇka),
• ovla´dacı´ prvky by nemeˇly by´t umı´steˇny prˇı´lisˇ blı´zko u sebe a prˇı´lisˇ blı´zko k okraji obrazovky.
V te´to etapeˇ vy´voje beˇhem hleda´nı´ optima´lnı´ho rozhranı´ bylo vytvorˇeno neˇkolik prototypu˚.
Prvnı´ fa´ze prototypova´nı´
Obra´zek 6.4: Prvnı´ a druhy´ prototyp syste´mu
V prvnı´m prototypu syste´mu (obra´zek 6.4) hleda´m za´kladnı´ orientaci aplikace: vertika´lnı´ nebo horizonta´lnı´m. Tlacˇı´tka+a-jsou pro zmeˇnu velikosti hodnoty velicˇiny, posuvnı´k nastavuje velikost kroku, po ktere´m se meˇnı´ hodnota prˇi stisknutı´ tlacˇı´tek + a -. Tlacˇı´tko s obra´zkem za´mku je pro potvrzenı´ nastavene´ hodnoty. Uka´zalo se, zˇe obeˇ verze jsou nevyhovujı´cı´ – aplikace je prˇı´lisˇ sˇiroka´
nebo prˇı´lisˇ vysoka´ pro zobrazenı´ na displeji.
Druha´ fa´ze prototypova´nı´
V druhe´ fa´zi prototypova´nı´ (obra´zek 6.4) zkousˇı´m najı´t kompaktneˇjsˇi rozvrzˇenı´ aplikace. Oproti prˇedchozı´mu na´vrhu zveˇtsˇuji velikost tlacˇı´tek pro nastavenı´ hodnot tak, abych dodrzˇela za´sady vy´voje rozhranı´ pro dotykove´ displeje. Po te´to u´praveˇ rozhranı´ sta´le obsahuje prˇı´lisˇ mnoho prvku˚ a tlacˇı´tka pro potvrzenı´ hodnoty nejsou umı´steˇna na spravne´m mı´steˇ – vytva´rˇejı´ vizua´lnı´ sˇum.
Trˇetı´ fa´ze prototypova´nı´
Obra´zek 6.5: Trˇetı´ a cˇtvrty´ prototyp syste´mu
Hleda´m nova´ rˇesˇenı´, ktera´ pomohou rozmı´stit prvky prˇehledneˇ na male´ obrazovce (obra´zek 6.5), a za´rovenˇ se snazˇı´m zmensˇit pocˇet ovla´dacı´ch prvku˚ rozhranı´. Sta´le je ale zobrazeno prˇı´lisˇ mnoho zbytecˇny´ch informacı´, ktere´ bude potrˇeba da´le redukovat.
Poslednı´ fa´ze prototypova´nı´
Vy´sledkem fa´ze prototypova´nı´ (obra´zek 6.6) je konecˇny´ na´vrh uzˇivatelske´ho rozhranı´. Byly od- straneˇny zbytecˇne´ informace: informace o pouzˇı´vany´ch jednotka´ch, nastavova´nı´ kroku. Protozˇe se
aplikacı´ pouzˇı´va´ vzˇdy pouze jedna z hodnot kurzu – bud’ pouze magneticky´ kurz nebo pouze zemeˇ- pisny´ kurz, tak bylo zvoleno rozmı´steˇnı´ hodnotHDGaTRKna stejne´ mı´sto. Pro prˇepı´na´nı´ mezi nimi je zavedeno nove´ tlacˇı´tkoSEL. Byla optimalizova´na funkcionalita nastavova´nı´ hodnot: posuvnı´k slouzˇı´
pro rychlejsˇı´ zmeˇnu hodnoty ve veˇtsˇı´ch krocı´ch, naopak operacˇnı´ tlacˇı´tka majı´ mensˇı´ krok a slouzˇı´
pro zprˇesnˇova´nı´ hodnoty. Krok nastavovanı´ je pevny´ pro kazˇdou velicˇinu.
Obra´zek 6.6: Fina´lnı´ prototyp syste´mu
6.1.4 Vizua´lnı´ na´vrh
Ve vy´voji graficke´ho rozhranı´ hraje vizua´lnı´ na´vrh za´kladnı´ roli. Komunikace mezi programem a cˇloveˇkem probı´ha´ vizua´lneˇ. Dobry´ graficky´ design programu pu˚sobı´ na cˇloveˇka pozitivneˇ a v prˇı´padeˇ GUI desktopove´ aplikace je zodpoveˇdny´ za celkovy´ dojem z programu. Spra´vneˇ navrzˇeny´ graficky´
design zjednodusˇuje proces interakce mezi programem a cˇloveˇkem a mu˚zˇe vy´razneˇ snı´zˇit pocˇet uzˇivatelsky´ch chyb a u´navu obsluhujı´cı´ho cˇloveˇka. Na´vrh vizua´lnı´ho stylu rozhranı´ by se meˇl rˇı´dit za´kladnı´mi pravidly typografie a graficke´ho designu:
• pouzˇı´vat pouze jeden vizua´lnı´ jazyk– vsˇechny cˇa´sti designu musı´ by´t prova´zane´ mezi sebou,
• omezit pocˇet typu˚ pı´sma– pouzˇı´vat maxima´lneˇ 3 typy,
• musı´ mı´t akcent – soustrˇedit pohled uzˇivatele na jednu hlavnı´ veˇc pomocı´ volby spra´vne´ho kontrastu, barvy cˇi typu pı´sma. Pro kazˇdy´ dalsˇı´ element informace postupneˇ snizˇovat u´rovenˇ zvy´razneˇnı´ od akcentu k obycˇejne´ informaci. To poma´ha´ uzˇivateli se postupneˇ zorientovat v aplikaci,
• barva musı´ vyvola´vat spra´vne´ emoce– prˇedevsˇı´m musı´ by´t vhodne´ pro druh aplikace,
• kontrast a rytmus– seskupovat bloky obsahujı´cı´ prˇı´buzne´ infrormace, rozmı´st’ovat bloky blı´zˇ cˇi da´l od sebe, zmensˇovat nebo zveˇtsˇovat bloky informacı´ a tı´mto zpu˚sobem vytva´rˇet kontrast a rytmus.
Vizua´lnı´ na´vrh rozhranı´ autopilota
Pro navrhovanou aplikaci bylo rozhodnuto modernizovat klasicky´ vizua´lnı´ styl pouzˇı´vany´ na sta´va- jı´cı´ch rozhranı´ch autopilotu˚. Noveˇ navrhovane´ rozhranı´ v sobeˇ bude sdruzˇovat klasicke´ i modernı´
prvky designu.
Design by v sobeˇ meˇl zohlednˇovat na´sledujı´cı´ klasicke´ elementy:
• neutra´lnı´ paleta sˇedo-modry´ch barev tmavsˇı´ho odstı´nu,
• drzˇet akcent na zobrazovany´ch hodnota´ch,
• zdu˚raznˇovat kontrast pozadı´ a operacˇnı´ch prvku˚,
• sveˇtle´ barvy pro pı´smo.
Modernizovany´m elementem designu je vyhy´ba´nı´ se hranaty´m a plochy´m prvku˚m.
Vzhledem k tomu, zˇe aplikace bude beˇzˇet na dotykovy´ch displejı´ch, ve ktery´ch chybı´ hmatova´
odezva, bylo navı´c jednı´m z u´kolu˚ graficke´ho designu bylo co nejvı´ce simulovat objem ovla´dacı´ch prvku˚ programu. Toho bylo dosa´zˇeno pomocı´ gradientu, sveˇtla a stı´nu a take´ pomocı´ spra´vne´ graficke´
odezvy na stisknutı´ a pusˇteˇnı´ tlacˇı´tek.
Pro zvy´raznˇova´nı´ aktua´lneˇ du˚lezˇity´ch tlacˇı´tek jsou pouzˇite´ barvy: zˇluta´ barva pro stav potvrzova- cı´ch tlacˇı´tek, zelena´ pro aktivacˇnı´ stav tlacˇı´tekHOLDaAP(aktivacˇnı´ tlacˇı´tko autopilota). Tlacˇı´tkoAP je navı´c zvy´razneˇno sveˇtly´m ra´mecˇkem kolem tlacˇı´tka.
Vy´beˇr neutra´lnı´ barvy a celkoveˇ tmave´ palety byl rˇı´zen doporucˇeny´mi vlastnostmi uzˇivatelske´ho rozhranı´ pro letecke´ aplikace. V kabineˇ pilota se nacha´zı´ velke´ mnozˇstvı´ ru˚zny´ch na´stroju˚ zobra- zujı´cı´ch du˚lezˇite´ informace o stavu letadla a take´ velke´ mnozˇstvı´ informacı´ zobrazujı´cı´ch beˇzˇne´
provoznı´ informace. Je du˚lezˇite´ dodrzˇovat pravidla pro tvorbu designu pro letecke´ prostrˇedı´, proto bylo nezˇa´doucı´ neˇjaky´m zpu˚sobem zvy´raznˇovat pomeˇrneˇ nedu˚lezˇitou informaci z rozhranı´ autopilota.
Vy´sledek na´vrhu
Cı´lem na´vrhu bylo realizovat takove´ uzˇivatelske´ rozhranı´, ktere´ by co nejvı´ce zjednodusˇovalo interakci pilota s aplikacı´. Rozhranı´ bylo vyvı´jeno pro mala´ sportovnı´ letadla, ktera´ nepotrˇebuji podporovat velkou mnozˇinu funkcı´, jenzˇ je prˇı´tomna´ u autopilotu˚ velky´ch dopravnı´ch letadel. Z tohoto du˚vodu rozhranı´ obsahuje pouze za´kladnı´ funkcˇnı´ prvky autopilota. Dı´ky jednoduche´mu a minimalisticke´mu designu aplikace neprˇedstavuje jejı´ pouzˇı´va´nı´ ve fa´zi sezna´menı´ uzˇivatele s aplikacı´ ani ve fa´zi jejı´ho pouzˇı´va´nı´ velke´ proble´my.
Pro nastavova´nı´ hodnoty je vyuzˇit posuvnı´k, ktery´ ma´ pevneˇ nastaveny´ krok. Jako doplneˇnı´
posuvnı´ku jsou na obrazovce prˇı´tomna´ tlacˇı´tka pro uprˇesneˇnı´ hodnoty. Vy´znam teˇchto tlacˇı´tek je ve zrychlenı´ procesu nastavova´nı´ prˇesne´ hodnoty. Pouze s pomocı´ posuvnı´ku na dotykove´m displeji
nenı´ mozˇne´ rychle nastavit u´plneˇ prˇesnou hodnotu. Proto pilot nejdrˇı´ve nastavı´ posunem prˇiblizˇnou hodnotu, kterou na´sledneˇ s pouzˇitı´m tlacˇı´tek+a-uprˇesnı´.
Aplikace byla vyvı´jena pro dotykove´ displeje, proto bylo nutne´ zave´st opatrˇenı´ proti sˇpatne´mu (na- prˇı´klad na´hodne´mu) zada´va´nı´ hodnoty. Implementova´n tak byl mechanismus potvrzova´nı´ nastavene´
hodnoty. K potvrzova´nı´ je urcˇeno tlacˇı´tko CONF, po jeho stisknutı´ dojde k potvrzenı´ a zapamato- va´nı´ nastavene´ hodnoty. Pokud na´sledneˇ potrˇebujeme tuto hodnotu zmeˇnit, je nutne´ nejdrˇı´ve pomocı´
posuvnı´ku a tlacˇı´tek zvolit novou hodnotu a v cˇasove´m intervalu tuto hodnotu potvrdit. Teprve po po- tvrzenı´ zacˇne syste´m autopilota pracovat s noveˇ nastavenou hodnotou. Pokud nenı´ hodnota potvrzena v urcˇene´m cˇasove´m limitu, dojde k na´vratu pu˚vodnı´, naposledy zapamatovane´ hodnoty.
Obra´zek 6.7: Vy´sledek na´vrhu graficke´ho rozhranı´ aplikace
Kapitola 7
Implementace
7.1 Pouzˇite´ na´stroje
7.1.1 Programovacı´ jazyk C++
Program byl implementova´n v objektoveˇ orientovane´m jazyce C++. V soucˇasne´ dobeˇ se jedna´ o jeden z nejrozsˇı´rˇeneˇjsˇı´ch programovacı´ch jazyku˚. Du˚vodem pro volbu tohoto jazyku byla pra´veˇ jeho velka´
rozsˇı´rˇenost, dostupnost kvalitnı´ch knihoven pro tvorbu graficke´ho rozhranı´ aplikace a jeho vhodnost pro podobny´ typ u´loh.
7.1.2 Knihovna Qt
Knihovna Qt je multiplatformnı´ framework urcˇeny´ pro vy´voj aplikacı´ s graficky´m uzˇivatelsky´m roz- hranı´. Programovacı´ jazyk C++ tento framework nativneˇ pouzˇı´va´, je mozˇne´ jej ale pouzˇı´t i v dalsˇı´ch programovacı´ch jazycı´ch jako jsou C#, Java, Perl, Python. Knihovna nabı´zı´ velke´ mnozˇstvı´ standard- nı´ch ovla´dacı´ch prvku˚ a komponent pro graficky´ design rozhranı´. Poskytuje mozˇnosti programova´nı´
interakcı´ programu s uzˇivatelem. Hlavnı´ charakteristickou vlastnosti Qt knihovny je pouzˇı´va´nı´ signa´lu˚
a slotu˚ pro komunikaci mezi objekty. Slot se vyvola´va´ jako reakce na signa´l, ktery´ je generova´n zmeˇ- nou stavu objektu. Jednı´m slotem lze spojit neˇkolik signa´lu˚, a stejneˇ tak pro jeden signa´l lze definovat neˇkolik ru˚zny´ch slotu˚. Sloty lze pouzˇı´t i jako obycˇejnou metodu objektu a take´ pro vyvola´vanı´ signa´lu˚
[21].
7.1.3 Qt Style Sheets
Pro vytva´rˇenı´ vizua´lnı´ho stylu prvku˚ programu je mozˇne´ v knihovneˇ Qt pouzˇı´va´t Qt Style Sheets (QSS). Tyto styly jsou syntaxı´ i svou filosofiı´ podobne´ kaska´dovy´m stylu˚m CSS pouzˇı´vany´m pro webdesign. QSS umozˇnˇujı´ rychle, jednotneˇ a jednodusˇe nastavovat graficky´ vzhled vsˇech ovla´dacı´ch prvku˚ aplikace. Stejneˇ jako v CSS lze meˇnit tvar objektu, barvu, pru˚hlednost, vizua´lnı´ reakci na uda´lost
(naprˇ. prˇejetı´ mysˇı´ nad tlacˇı´tkem) a dalsˇı´ graficke´ parametry objektu˚. Objekty, ke ktery´m chceme tı´mto zpu˚sobem definovat styl, lze vybrat pomocı´ specia´lnı´ch selektoru˚. Metodou::setStyleSheet() lze prˇipojit vizua´lnı´ styl k libovolne´mu objektu nebo k cele´ aplikaci [22].
7.2 Komunikacˇnı´ protokoly
Pro komunikaci se simula´torem jsou pouzˇity dva ru˚zne´ komunikacˇnı´ protokoly: CANaerospace a AW- COM. Prˇepı´na´nı´ mezi teˇmito protokoly v programu lze prova´deˇt pomocı´ vstupnı´ch parametru˚ aplikace.
7.2.1 Protokol CANaerospace
Protokol CANaerospace je vı´cevrstvy´ model zalozˇeny´ na se´riove´m komunikacˇnı´m protokolu Con- troller Area Network (CAN), ktery´ zajisˇt’uje vysokou spolehlivost komunikace a zabezpecˇenı´, diky ktere´mu lze tento protokol pouzˇit ve vestaveˇny´ch letecky´ch syste´mech.
CANaerospace je nadstavbou nizˇsˇı´ho protokolu CAN, a proto definuje dalsˇı´ vrstvy modelu ISO/OSI a takovy´m zpu˚sobem umozˇnˇuje adresova´ni uzlu, potrˇebne´ho pro stanovenı´ komunikace Peer to Peer. Protokol je zalozˇen na architekturˇe klient-server [23].
Typy zpra´v
CANaerospace definuje 6 za´kladnı´ch typu˚ zpra´v podle du˚lezˇitosti. Kazˇdy´ druh zpra´v se pouzˇı´va´ pro ru˚zne´ druhy sluzˇeb. Pomoci teˇchto zpra´v probı´ha´ komunikace mezi u´cˇastnı´ky. Kazˇdy´ typ zpra´vy je spojen s identifika´torem CAN-ID, ktery´ definuje prioritu zpra´vy.
Struktura zpra´v
Kazˇda´ zpra´va obsahuje 4 bytovou hlavicˇku obsahujı´cı´ identifikaci zpra´vy. Da´le obsahuje 1 azˇ 4 bytu˚ dat. Pro prezentaci dat jsou definova´ny beˇzˇneˇ pouzˇı´vane´ datove´ typy. Byty ve zpra´va´ch jsou usporˇa´da´ny v ko´dova´nı´ Big Endian.
Forma´t zpra´vy
1. Node-ID– ma´ rozsah 0-255. Definuje stanici, pro kterou je zpra´va urcˇena. Node-ID 0 znamena´, zˇe zpra´va je urcˇena pro vsˇechny stanice,
2. Data type– specifikuje datovy´ typ prˇena´sˇeny´ch dat, 3. Service Code– slouzˇı´ pro specia´lnı´ data,
4. Message Code– cˇı´slo zpra´vy, slouzˇı´ pro monitorova´nı´ vstupnı´ch sekvencı´ dat.
Obra´zek 7.1: Forma´t zpra´vy protokolu CANaerospace [23]
Implementace protokolu
Pro implementaci komunikace pomocı´ CANaerospace protokolu byla pouzˇita volneˇ dostupna´ C++
knihovna libcanaero 1[24]. Knihovna poskytuje jednoduchy´ a rychly´ prˇı´stup k protokolu na sı´ti.
Pro komunikaci se pouzˇı´va´ UDP multicast komunikaci. Pomocı´ te´to knihovny je mozˇne´ rozhranı´
autopilota propojit s nejrozsˇı´rˇeneˇjsˇı´mi simula´tory – Microsoft Flight Simulator a X-Plane.
Uka´zka pouzˇitı´ knihovny CANaerospace
Pouzˇitı´ knihovny zacˇı´na´ vytvorˇenı´m a inicializacı´ nove´ho objektu SCS::Receiver – hlavnı´
trˇı´da pro vytva´rˇenı´ CANaerospace komunikacı´, zpracova´va´ a rˇı´dı´ sı´t’ove´ prˇipojenı´ protokolu. Trˇı´da Receiverspravuje seznam dostupny´ch CAN datovy´ch promeˇnny´ch (uka´zka 7.1).
SCS::Scscom::Scscom() {
//inicializace SCS::Receiver
const unsigned char required_sw_revision = 2;
my_receiver = new SCS::Receiver(required_sw_revision);
//registrace pozadavku rychlost
my_receiver->requestData(SCS::AP_SPD_M_S::Id(), &apspeed);
//registrace pozadavku vyska
my_receiver->requestData(SCS::AP_ALT_M::Id(), &apalt);
//registrace pozadavku vertikalni rychlost
1Knihovna libcanaero je volneˇ dostupna´ ke stazˇenı´ na adrese http://cross-simulator.com/download.php
my_receiver->requestData(SCS::AP_VS_M_S::Id(), &apvs);
//registrace pozadavku kurz HDG
my_receiver->requestData(SCS::AP_HDG_DEG::Id(), &aphdg);
//registrace pozadavku pozice kridelek
my_receiver->requestData(SCS::FLAPS_POS_DEG::Id(),
boost::bind(&SCS::Scscom::handle_flaps,this,_1), &flaps);
//registrace pozadavku pozice vyskat
my_receiver->requestData(SCS::TRUE_ALT_M::Id(),
boost::bind(&SCS::Scscom::handle_althold,this,_1), &althold);
//registrace pozadavku rezim autopilota
my_receiver->requestData(SCS::AP_MODE_BITFIELD::Id(), &apon);
}
Zdrojovy´ ko´d 7.1: Uka´zka inicializace SCS::Receiver
Na tomto objektu mu˚zˇeme volat dveˇ za´kladnı´ funkcerequestData()asendData(). Pomocı´
prˇı´kazu requestData propojujeme pozˇadovana´ data v trˇı´deˇ CAN s promeˇnny´mi v nasˇem programu urcˇeny´mi pro jejich ukla´da´nı´ - probı´ha´ registrace odbeˇru dat. Pokud jizˇ ma´me zaregistrovane´ vsˇechny datove´ promeˇnne´, ktere´ chceme zı´ska´vat, mu˚zˇeme zacˇı´t volat metodurun(), ktera´ prova´dı´ aktualizaci dat v nasˇich promeˇnny´ch. Tuto metodu je nejlepsˇı´ volat v nekonecˇne´m cyklu (uka´zka 7.2), ktery´ beˇzˇı´
jako neza´visly´ proces a v zadane´m intervalu prova´dı´ aktualizaci dat. Aktualizaci dat mu˚zˇeme take´
sledovat pomocı´ handle, ktera´ na´s upozornı´ na zmeˇnu dat a provede prˇı´slusˇnou obsluhu.
void running::run() {
while(1){
can->my_receiver->run();
Sleep(1000);
} }
Zdrojovy´ ko´d 7.2: Zı´ska´va´nı´ dat
Pokud chceme naopak data odeslat z programu do simula´toru, mu˚zˇeme pouzˇı´t metodusendData().
Touto metodou nastavı´me hodnotu prˇı´slusˇne´ promeˇnne´ v simula´toru a potvrdı´me jejı´ odesla´nı´ metodou run(). Kra´tka´ uka´zka ko´du 7.3.
void SCS::Scscom::SendIAS(int IAS){
my_receiver->run();
apspeed = IAS;
my_receiver->sendData(AP_SPD_M_S::Id());
}
Zdrojovy´ ko´d 7.3: Uka´zka odesla´nı´ dat
7.2.2 Protokol AW-COM
Protokol AW-COM byl specia´lneˇ vytvorˇen pro u´cˇely komunikace mezi softwarovy´mi aplikacemi a simula´torem v laboratorˇi SimStar. Protokol je zalozˇen na architekturˇe klient-server a pouzˇı´va´ ko- munikaci pomocı´ TCP/IP. Komunikace probı´ha´ pomocı´ zpra´v [25].
Forma´t zpra´v
Komunikacˇnı´ protokol AW-COM pouzˇı´va´ dva za´kladnı´ typy zpra´v - zpra´va SET a zpra´va GET. Zpra´va SET slouzˇı´ pro odesla´nı´ dat na server, zpra´va SET pro zı´ska´nı´ dat ze serveru. Obeˇ zpra´vy obsahujı´
hlavicˇku, data a ukoncˇovacı´ sekvenci. Datova´ cˇa´st se da´le deˇlı´ na cˇa´st obsahujı´cı´ identifikace velicˇiny a cˇa´st obsahujı´cı´ hodnotu. Forma´t zpra´v 7.1.
Hlavicˇka zpra´vy Data Ukoncˇovacı´ sekvence
Hlavicˇka Obsah Ukoncˇovacı´ sekvence
SET DATA :velicˇina:hodnota :END :END
GET DATA :velicˇina:hodnota :END :END
Tabulka 7.1: Forma´t zpra´v AW-COM protokolu [25]
Uka´zka pouzˇitı´ protokolu AW-COM
Spojenı´ se serverem inicializujeme pomocı´ prˇı´kazuinit(). Parametry spojenı´, server a port nasta- vı´me pomocı´ funkcesetServer()asetPort(). Uka´zka inicializace 7.4.
Aerocom::Aerocom(int port, string server) {
hMutex = CreateMutex( NULL, FALSE, NULL );
netcom.init();
netcom.setServer(server);
netcom.setPort(port);
netcom.setMutex(hMutex);
simrun = 2;
}
Zdrojovy´ ko´d 7.4: Uka´zka inicializace AW-COM
Pro odesı´la´nı´ dat musı´me nejdrˇı´ve vytvorˇit zpra´vu funkcı´ setQuery(). Na´sledneˇ prˇı´kazem SetData()odesˇleme zpra´vu na server (uka´zka ko´du – odesla´nı´ hodnoty autopilota (vy´sˇky) 7.5).
void Aerocom::SendALT(int ALT){
//nastavime nazev veliciny jenz chceme odeslat string text=”SET:APALT:”;
//pridame hodnotu
text.append(netcom.DToStr(ALT));
//ukoncime format zpravy text.append(”:END:\n”);
//provedeme odeslani netcom.setQuery(text);
netcom.SetData(&simrun);
}
Zdrojovy´ ko´d 7.5: Uka´zka odesla´nı´ dat
Pro zı´ska´va´nı´ dat ze serveru slouzˇı´ funkceGetData(), ktera´ take´ pozˇaduje nejdrˇı´ve sestavenı´
pozˇadavku a odesla´nı´ zpra´vy s pozˇadavkem na server. Funkce GetData() vracı´ data do datove´
strukturyfsx, ze ktere´ potom hodnotu mu˚zˇeme da´le pouzˇı´vat (uka´zka ko´du – prˇijetı´ aktua´lnı´ vy´sˇky 7.6).
int Aerocom::getAltHold(){
//nastavime nazev promenne kterou chceme ziskat string text=”GET:AP:END:\n”;
netcom.setQuery(text);
//ziskame a vratime hodnotu vysky netcom.GetData(&simrun);