Vojenská akademie v Brně Vnitřní grantová agentura Počet listů : 42
ZÁVĚREČNÁ ZPRÁVA O ŘEŠENÍ PROJEKTU VGA
Název projektu:
Diagnostická ústředna automatizovaný systém sběru dat u bezpilotního prostředku
Uchazeč o projekt: por. Ing. Václav Křivánek Řešitelský kolektiv: npor. Ing. Zbyněk Bureš por. Ing. Pavel Čeleda por. Ing. Ivo Hrdlička por. Ing. Tomáš Mořkovský por. Ing. Václav Křivánek
20 % 20 % 20 % 20 % 20 %
Na projekt přiděleno celkem 100 000 Kč
BRNO 2003
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obsah 1 2
Výchozí stav _________________________________________________________________ 3 Podmínky a požadavky na řešení _________________________________________________ 4 2.1 Formulace cílů projektu ____________________________________________________ 4 2.2 Specifikace měřených veličin ________________________________________________ 4 3 Dosažené výsledky a poznatky ___________________________________________________ 7 3.1 Výškoměr _______________________________________________________________ 7
3.1.1 3.1.2 3.1.3 3.2
Přijímač GPS ____________________________________________________________ 8
3.2.1 3.2.2 3.2.3 3.2.4 3.3
Přijímač GPS 35 ________________________________________________ 8 Přijímač GPS 16 ________________________________________________ 9 Struktura NMEA vět____________________________________________ 10 Struktury paketů _______________________________________________ 11 Bezkardanový systém orientace _____________________________________________ 12
3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.4
Komunikační sběrnice UAV________________________________________________ 17
17 18 18 19 21
Modul MSM586SEV ___________________________________________ 22 Řadič sběrnice CAN ____________________________________________ 24 Operační systém pracující v reálném čase _____________________________________ 24 Jednočipové mikropočítače pro inteligentní senzory _____________________________ 25
3.8.1 3.8.2 3.8.3 3.8.4 4 5 6 7
Sběrnice pro víceprocesorové systémy______________________________ Srovnání jednotlivých sběrnic ____________________________________ Topologie sítě CAN v UAV ______________________________________ Simulátor sběrnice _____________________________________________ Dosažené výsledky _____________________________________________
Řídicí systém pracující v reálném čase________________________________________ 22
3.6.1 3.6.2 3.7 3.8
12 13 14 15 16 16
Honeywell HMR3300 __________________________________________ 17
3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6
Senzory ______________________________________________________ Návrh řešení projektu ___________________________________________ Výpočet______________________________________________________ Praktická realizace _____________________________________________ Vytvořený software ____________________________________________ Dosažené výsledky _____________________________________________
Magnetický kompas ______________________________________________________ 17
3.4.1 3.5
Snímač dynamického tlaku________________________________________ 7 Snímač statického tlaku __________________________________________ 7 Dosažené výsledky ______________________________________________ 7
Jednočipové mikropočítače s jádrem 8051___________________________ Jednočipové mikropočítače AVR__________________________________ Jednočipové mikropočítače řady H8S/2600 __________________________ Dílčí závěr ___________________________________________________
25 26 27 28
Využití výsledků pro praxi a pro další výzkum______________________________________ 29 Publikace a další aktivity_______________________________________________________ 30 Přehled nákupů z přidělených finančních prostředků _________________________________ 31 Přílohy _____________________________________________________________________ 32
A. Grantová přihláška B. Seznam použité literatury C. Seznam použitých zkratek D. Graf závislosti dynamického tlaku na rychlosti a výšce E. Graf závislosti statického tlaku na výšce F. Fotografie draku bezpilotního prostředku
VGA 2003
2
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
1 Výchozí stav V rámci projektu obranného výzkumu ZÁZNAM II je vyvíjen bezpilotní prostředek (angl. UAV – Unmanned Aerial Vehicle). Tento bezpilotní prostředek je určen pro sběr informací o stupni poškození objektů na něž byl veden vzdušný úder a předání těchto informací řídícímu stanovišti. Pro efektivní vyhodnocení situace se předpokládá příjem informace od působícího prostředku, která umožní upřesnit čas a místo (objekt) palebného působení. Stěžejní informace o průběhu a výsledku palebného působení bude získávána z čidel různé fyzikální povahy umístěných v prostoru bojové činnosti. Získané informace budou na palubě bezpilotního prostředku předzpracovány a ve vhodném formátu a ve zvolený čas předány na pozemní stanoviště ke konečnému zpracování a vyhodnocení. Rozvoj technologií v oblasti aerodynamiky, mikroelektroniky, optiky a navigace na konci 20. století umožnil realizaci bezpilotních prostředků. Jsou relativně mladým druhem techniky, kde došlo v posledních dvaceti letech k bouřlivému rozvoji. Obecně je bezpilotní prostředek představován létajícím prostředkem bez lidské posádky. V armádě většinou nalézá využití v operacích, kde je nevhodné a riskantní vystavovat pilotované prostředky a jejich obsluhu nebezpečí, pro velmi pravděpodobnou možnost zničení. Malá velikost umožňuje nepozorovaně proklouznout do střežených a rizikových oblastí. Pro nižší náklady na výrobu a absenci lidského organismu je snadno postradatelný. Dlouhá doba letu na větší vzdálenost ho předurčuje k nasazení na dlouhodobé úkoly. Odpadá nutný čas pro regeneraci sil posádky. Úloha bezpilotních prostředků v armádě: • • • • • •
transport, vedení bojové činnosti, podpora bojové činnosti, podpora komunikace stanovišť, zpravodajská činnost, dohled, průzkum, cvičné cíle.
Bezpilotní prostředky jsou mladou za to však dynamicky se rozvíjející oblastí letecké techniky. Aktivní použití v několika válečných konfliktech ukazují jejich slibnou budoucnost, kompletní rozsah možností jejich využití však zatím není zcela znám. Podle odborníků budou sehrávat mimořádně důležitou roli v moderním boji. Jsou zaváděny a používány ve většině vyspělých armád. Existují i názory, že v době, která není zas tak vzdálená, již nebudou existovat žádné pilotované letouny a všechny vzdušné operace převezmou právě autonomní létající prostředky. Každá moderní armáda, mezi něž se chce řadit i Armáda České republiky, se musí zabývat nejen taktickým použitím UAV, ale i jejich konstrukcí. V této oblastí již od samého počátku vývoje dominují především Spojené státy a Izrael.
VGA 2003
3
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
2 Podmínky a požadavky na řešení 2.1 Formulace cílů projektu V době podávání přihlášky o grant VGA 2003 Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku nebyla ještě zdaleka ucelena představa o konečné podobě a všech požadavcích na bezpilotní prostředek. V průběhu řešení byly klíčové parametry dopřesněny. Pochopitelně jak na K-301, tak ani na K-303 nebyly žádné konkrétní zkušenosti s výstavbou bezpilotního prostředku. Byly nutné konzultace s katedrami specializací na Vojenské akademii v Brně. Přesto se bylo možné opřít o zkušenosti získané z konstrukce jiných zařízeních založených na jednočipových mikropočítačích (JM) a programovatelných logických obvodech (FPGA – Field Programmable Gate Arrays). Hlavní body, které jsme si stanovili pro řešení projektu v rámci VGA, byly následující: • • • • • •
specifikace měřených veličin, jenž jsou podstatné pro řízení UAV, nalezení vhodných měřících metod a vhodných snímacích prvků, nalezení vhodných vyhodnocovacích metod, aplikace metod na navržený model, návrh vhodné komunikační sběrnice pro předávání krátkých zpráv v rámci UAV, vytvoření bezkardanového systému orientace.
Relevantní část grantové přihlášky je přiložena k této zprávě jako příloha A. Autoři tento projekt použili pro zadání dvou diplomových prací mající blízký vztah k řešené problematice a k odvození témat disertačních prací v oblasti spolehlivosti a diagnostiky elektronických systémů.
2.2 Specifikace měřených veličin Při volbě měřených veličin bylo nutné vyjít z požadavků kladených na vyvíjený bezpilotní prostředek. Především se jedná o schopnost přepínat mezi režimy letu. Start i přistání UAV je prováděno z pozemního stanoviště pomocí bezdrátového řízení. Vlastní let a plnění úkolu mise musí být zcela autonomní s minimální komunikací s pozemním personálem. Celý bezpilotní prostředek lze rozdělit do následujících podsystémů: • • • • • • • • •
senzorický – zajišťuje monitorování stavu vlastního systému, obsahuje čidla pro podporu své činnosti, motorický – zahrnuje všechny části, které se podílejí na pohonu bezpilotního prostředku, autopilot – obsahuje prvky pro stabilizaci pohybu, diagnostický – monitoruje chování UAV, hodnoty význačných provozních signálů porovnává s referenčními hodnotami a o výsledku zpravuje řídící podsystém UAV, palubní síť – její součástí jsou všechny prvky zapojené do procesu úpravy a distribuce napájecího napětí, řídící – uchovává v sobě úkol mise a podle něj řídí chování UAV, komunikační – umožňuje obousměrnou komunikaci s pozemním stanovištěm, černá skříňka – zaznamenává podstatná letová data, funkční – rozšiřující zařízení (kontejner) realizuje vlastní úkol mise UAV.
VGA 2003
4
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Senzorický podsystém
Palubní síť
Motory, pohony
Řízení UAV
Autopilot
Komunikace
Diagnostika
Černá skříňka
Obr. 1. Blokové schéma bezpilotního prostředku Pro část autonomního letu je třeba dodávat kontinuálně do autopilotu a řídícího subsystému následující letová data: • • • •
výška, rychlost, orientace v prostoru, geografické souřadnice.
V návrhu topologie bezpilotního prostředku bylo nutné zohlednit i aspekt spolehlivost jednotlivých komponentů a přistoupit k zálohování některých funkcí. Z výše uvedeného si lze udělat představu o celé struktuře UAV obr. 2. V projektu VGA jsme se zaměřili právě na senzorický podsystém, jenž je tvořen: • • • • •
snímačem inerciální navigační soustavy, obvodem zpracování signálů inerciální navigační soustavy, přijímačem GPS, kompasem, výškoměrem.
Dalším zohledňujícím faktorem byl také drak malého bezpilotního prostředku, který je koncipován jako model letadla v hornoplošním uspořádání o hmotnosti 12 kg, délce 2,18 m a rozpětí 2,8 m. Poháněn je benzínovým spalovacím motorem s čerpadlem. Užitečná zátěž je přibližně 1 – 2 kg. Napájení elektrických systémů zajišťují akumulátory.
VGA 2003
5
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Snímače inerciální navigační soustavy
GPS
Výškoměr
γ, ψ, υ
ωx, ωy, ωz ax, ay, az
ωx, ωy, ωz ax, ay, az
t, vx, vy, vz ψg, hg, Pss, Pvd
ψk
h
Zpracování signálů inerciální navigační soustavy
Kompas
Diagnostika zařízení
Tm(n), Im(n) ot_m(n)
Is(n), Us(n) Ts(n), Ub(n)
Palubní síť
Hlavní řízení
ot_p(n)
sp(n), zap
Sběrnice řízení, CAN BUS
Aplikační sběrnice
Pohonové elektromotory
Datový přenos 2 TRX 2 data/povely (řízení)
Řízení sběrnice CAN
Konvertor dat datového spoje 2
Autopilot
Řízení režimu letu
Datový přenos 1 TRX 3 data/povely
Modul ap. RX1 (řízení)
Aplikační SW & HW
Řízení servopohonů
Obr. 2. Detailní schéma bezpilotního prostředku
VGA 2003
6
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
3 Dosažené výsledky a poznatky V tomto oddíle závěrečné zprávy se pojednává o výsledcích dosažených v jednotlivých částí diagnostické ústředny.
3.1 Výškoměr Při výběru vhodného výškoměru jsme zvažovali nákup již hotového produktu některé z renomovaných firem nebo konstrukci vlastního zařízení. Po zvážení jednotlivých nabídek jsem se rozhodli pro vývoj vlastní pitotovy trubice. Pitotovu trubici tvoří konstrukce aerodynamického válcového tvaru z lehkého materiálu a snímač dynamického a statického tlaku. Funkce pitotovy trubice se částečně překrývá s informacemi, které nám skýtá přijímač GPS. Mohlo by se zdát, že jde o nadbytečnou redundanci. Z přijímače GPS získáváme informaci jak o nadmořské výšce, tak i o rychlosti vzhledem k zemskému povrchu. Pro řízení UAV je ovšem nezbytné znát především relativní rychlost vůči obtékanému proudu vzduchu, proto je použití pitotovy trubice nezbytné.
3.1.1 Snímač dynamického tlaku Jako snímač dynamického tlaku jsme zvolili senzor DC002NDC4 společnosti Honeywell pro jeho vhodné vlastnosti v naší aplikaci. Je určený především pro průmyslové použití, kde je vystavován náročným provozním podmínkám (teploty, kolísání napájecího napětí apod.). Měří rozdíl tlaku až do 2 MPa. Chování tohoto senzoru jsme ověřili kontrolním měřením pomocí vodního sloupce, viz příloha D. Podle pokynů výrobce se výška určí následujícím vztahem
Vi =
2 ⋅ 9,80665 ⋅ uV = 14,25 ⋅ uV 1,225 ⋅ 7,874 ⋅ 10− 2
[m ⋅ s −1 ]
(1)
kde uv [V] je hodnota napětí senzoru.
3.1.2 Snímač statického tlaku Snímač statického tlaku je taktéž od firmy Honeywell a to tlakový senzor XCA415AN. Má podobné vlastnosti jako výše uvedený snímač dynamického tlaku. Měří tlak až do hodnoty 15 MPa. Jeho naměřená charakteristika je v příloze E. Hodnota výšky se určí následujícím vztahem
u + 2,262344 ⋅ 10− 2 0,1902632 [ m] H m = 44330,77 ⋅ 1 − H −2 u0 + 2,262344 ⋅ 10
(2)
kde u0 [V] je napětí senzoru v nulové výšce, uH [V] napětí senzoru v aktuální výšce. Z tohoto vztahu jasně vyplývá požadavek na konstruované zařízení, je nezbytné změřit a zaznamenat hodnotu tlaku v místě startu a k ní vztahovat veškeré výpočty.
3.1.3 Dosažené výsledky Podařilo se nám úspěšně napsat software pro snímání hodnot z obou tlakových senzorů, který každých 720 µs načte hodnotu z analogově–číslicového převodníku mikropočítače. Po změření 14–ti vzorků vyloučí nejmenší a největší hodnotu, určí průměr a vypočítá fyzikální hodnotu měřené veličiny. Tu předává řídícímu systému UAV každých 100 ms. Pokusili jsme se aproximovat vztah pro výpočet výšky polynomem 2. řádu, abychom zkrátili čas výpočtu. Polynom 2. řádu vykazoval nejmenší odchylku od původního průběhu. Přesto pro nulovou výšku tato odchylka činila + 70 m. Přistávací manévr je nejnáročnější částí letu, a proto
VGA 2003
7
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
vyžaduje nejpřesnější data. Z toho důvodu jsme byli nuceni navrátit se k původnímu vztahu pro určení výšky.
3.2 Přijímač GPS GPS (Global Position System) je systém navržený k určení přesné polohy na zemi nebo ve vzduchu, měření rychlosti přijímače nebo k určení přesného času. Tento systém je dobře publikován v mnoha odborných materiálnech, proto si autoři nekladou za cíl systém popisovat. GPS je v této kapitole rozebráno spíše z aplikačního hlediska. Jak již bylo zmíněno v předchozím textu, systém GPS je především využíván pro následující aplikace: • • • •
Přesné určení polohy ve třech osách (zeměpisná šířka, zeměpisná délka, výška antény nad nebo pod hladinou moře). Přesné určení rychlosti ve třech osách. Přesné měření času. Určení magnetické odchylky.
Ačkoliv je v současnosti vypnut systém zanášející chybu, stále není možné využít běžný přijímač GPS pro přesnou lokalizaci. Chyba se pohybuje v rozmezí deseti až třiceti metrů. Měření rychlosti je možné i u levných typů přijímačů GPS provést s přesností cca. 0,8 km/h. Měření času je s přesností na jednu mikrosekundu za předpokladu, že byl zachycen signál z alespoň tří družic. Systém GPS je jedním z nejdůležitějších systémů v UAV. Je využit pro lokalizaci letounu v prostoru, poskytuje data centrálnímu počítači pro výpočet plánovaného letu a jeho uskutečnitelnost. Data z GPS jsou využita pro korekci a verifikaci elektronického kompasu. V neposlední řadě slouží pro synchronizaci palubního času. Přijímač GPS je připojen do systému prostřednictvím oddělovacího mikropočítače, který zde zastupuje konvertor protokolu z přijímače GPS NMEA na rozhraní CAN Bus. Mikropočítač provádí testování přijímače GPS, separaci načtených dat z GPS a následnou transformaci do zpráv CAN Bus. Rozhraní CAN Bus je určeno pro zabezpečený přenos dat v silně zarušeném prostředí. Jedná se o synchronní vyvážené rozhraní. Využívá princip bit stuffingu jako u HLCD ke zlepšení synchronizace v průběhu přenosu dat. Protokol je určen ke přenosu zpráv o maximální délce osmi slabik. CAN Bus protokol využívá nedestruktivního přístupu k médiu. Pokud více zařízení vyžaduje současně přístup k médiu, zařízení s nejvyšší prioritou pokračuje ve vysílání, zatímco ostatní přejdou do stavu očekávání uvolnění sběrnice. K adresování uzlů je možné použít dva přístupy, základní s délkou adresy 11bitů a rozšířený s délkou adresy 29 bitů. Rozhraní CAN Bus je využito především v automobilovém průmyslu a jeho drobné mutace jsou využity i v leteckpm průmyslu. Více informací lze získat ze specifikace CANBUS. V průběhu experimentu byly použity dva typy aplikačních navigačních přijímačů: • •
GPS35, GPS16.
3.2.1 Přijímač GPS 35 Základní parametry aplikačního přijímače GPS 35: • • • •
běžná navigační přesnost sytému Standard Positioning Service (SPS), malá velikost, výkonný dvanácti kanálový přijímač s rychlým zorientováním a malým příkonem, podpora diferenčního DGPS,
VGA 2003
8
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
• • • • • • •
záloha dat vestavěnou baterii, není potřeba provádět počáteční uživatelské nastavení, podpora 2D a 3D navigace volitelná uživatelem, dva sériové komunikační kanály s možností nastavení přenosové rychlosti do 19200 Bd, výstup signálu přesného času jedné sekundy s možností nastavení šířky tohoto impulsu od 20 do 980 ms, napájecí napětí může být v rozsahu 3,6V až 6V, programové vybavení v přijímači může být modifikováno novější verzí.
Obr. 3. Přijímač GPS 35 Přesnost přijímače nebyla výrobcem uvedena, pro Standard Positioning Service je garantována méně než 15 metrů. Četnost vysílaných dat je jednou za sekundu.
3.2.2 Přijímač GPS 16 Základní parametry aplikačního přijímače GPS 16: • • • • • • • • • • •
běžná navigační přesnost sytému Standard Positioning Service (SPS), malá velikost, snadná montáž na kovové povrchy (vestavný magnetický úchyt), výkonný dvanácti kanálový přijímač s rychlým zorientováním a malým příkonem, podpora diferenčního DGPS s využitím WAAS nebo RTCM zpřesňující určení polohy na tři až pět metrů, záloha dat vestavěnou baterii, není potřeba provádět počáteční uživatelské nastavení, podpora 2D a 3D navigace volitelná uživatelem, dva sériové komunikační kanály s možností nastavení přenosové rychlosti do 19200 Bd, výstup signálu přesného času jedné sekundy s možností nastavení šířky tohoto impulsu od 20 do 980 ms, napájecí napětí může být v rozsahu 3,6V až 6V, programové vybavení v přijímači může být modifikováno novější verzí. Přesnost přijímače:
• • •
GPS Standard Positioning Service (SPS) – přesnost určení pozice < 15 metrů, DGPS (USCG/RTCM) – přesnost určení pozice 3 až 5 metrů, DGPS (WAAS) – přesnost určení pozice < 3 metry. Četnost vysílaných dat je pětkrát za sekundu. VGA 2003
9
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 4. Přijímač GPS 16
3.2.3 Struktura NMEA vět Minimum přenášených informací z GPS (RMC) $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11> *hh
<1> UTC čas, formát hhmmss (hodiny | minuty | vteřiny) <2> stav zobrazovaných informací, A = platná pozice, V = pozice není platná <3> zeměpisná šířka, formát ddmm.mmmm (stupně | minuty.desetinné vyjádření zbytku) <4> určení zemské polokoule u zeměpisné šířky N / S (severní / jižní) <5> zeměpisná délka, formát ddmm.mmmm (stupně | minuty.desetinné vyjádření zbytku) <6> určení zemské polokoule u zeměpisné délky W / E (západní / východní) <7> rychlost nad zemí 0.0 až 999.9 uzlů <8> azimut pohybu 000.0 až 359.9 stupňů <9> UTC datum, formát format ddmmrr (den | měsíc | rok) <10> hodnota magnetické odchylky, rozpětí 000.0 až 180.0 stupňů <11> směr magnetické variace, VÝCHOD – ZÁPAD Informace o naměřené poloze a výšce (GGA) $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12> *hh <1> UTC čas, formát hhmmss (hodiny | minuty | vteřiny) <2> zeměpisná šířka, formát ddmm.mmmm (stupně | minuty.desetinné vyjádření zbytku) <3> určení zemské polokoule u zeměpisné šířky N / S (severní / jižní) <4> zeměpisná délka, formát format ddmm.mmmm (stupně | minuty.desetinné vyjádření zbytku) <5> určení zemské polokoule u zeměpisné délky W / E (západní / východní) <6> kvalita GPS signálu 0 = bez signálu, 1 = bez diferenčních korekcí ( DGPS ) 2 = s diferenčními korekcemi <7> družice použité pro výpočet polohy, čísla 00 až 12 <8> HDOP (Horizontal Dilution of Precision) – horizontální složka ukazatele geometrie rozložení družic, které budou použity pro výpočet <9> výška antény vztažená nad nebo pod hladinu moře v rozsahu -9999.9 až 99999.9 metrů <10> výška antény vztažená ke geoidu (fyzikální def. tvaru Země), rozsah – 999.9 až 9999.9 metrů <11> stáři diferenčních korekcí DGPS (RTCM – SC104), počet vteřin od posledního platného přenosu RTCM (0 = nemá DGPS) <12> identifikační číslo diferenční referenční stanice, 0000 až 1023 (0 = nemá DGPS) Informace o DOP a aktivních družicích (GSA) DOP (Dilution of Precision) Aktivní družice jsou všechny družice, které přístroj uzná, že je může použít pro výpočet polohy (kritériem pro uznání takové družice je mnoho, lze uvést např. intenzita přijímaného signálu, okamžitá výška satelitu nad obzorem v době příjmu signálu atd.).
VGA 2003
10
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,,,,,<4>,<5>,<6> *hh <1> mód, M = manuální, A = automatický <2> mód (typ) navigace, 0 = navigace není možná, 1 = 2D navigace, 2 = 3D navigace <3> identifikátory družic (podle PRN kódu, rozsah 01 – 32), které označují družice použité pro výpočet polohy, max. 8 najednou v jedné větě <4> DOP, rozsah 1.0 – 99.9 <5> HDOP – horizontální složka DOP, rozsah 1.0 – 99.9 <6> VDOP – vertikální složka DOP, rozsah 1.0 – 99.9 Informace o 3D rychlosti ($PGRMV) Věta obsahuje informace o rychlosti vztažené ke všem třem možným rozměrům. $PGRMV,<1>,<2>,<3>*hh <1> přesná rychlost vztažená k východu a zemskému povrchu, rozsah od – 999.9 do 9999.9 m/s <2> přesná rychlost vztažená k severu a zemskému povrchu, rozsah od – 999.9 do 9999.9 m/s <3> přesná rychlost stoupání, vztažená kolmo k zemskému povrchu směrem na oblohu a zemskému povrchu, rozsah od – 999.9 do 9999.9 m/s Přesný časový puls PPS začne být generován po vypočtení aktuální pozice (GPS má zachyceny nejméně 3 satelity). Přesnost pulsu ( ± 1 µs) je dodržena pouze v případech, kdy GPS vypočítává platnou pozici. Bezprostředně předchází NMEA větu RMC.
3.2.4 Struktury paketů Jak již bylo zmíněno dříve, z důvodu aplikace rozhraní CAN Bus v UAV pro přenos dat, bylo nezbytné transformovat NMEA věty z ASCII formátu do hybridního formátu zahrnujícího část kódu BCD a část binárního kódu. Struktury navrhovaných paketů pro jednotlivé zprávy jsou uvedeny níže. typedef struct { BYTE tm_h; BYTE tm_m; BYTE tm_s; BYTE zs[4]; BYTE zd[5]; BYTE s_knots[3]; BYTE azimut[3]; BYTE mag_dev[3]; BYTE stat:1; BYTE zs_ns:1; BYTE zd_we:1; BYTE mag_var_we:1; } GPRMC_; typedef struct { BYTE n_sat; BYTE alt[4]; } GPGGA_; typedef struct { BYTE typ_nav; BYTE dop[2]; BYTE hdop[2]; BYTE vdop[2]; } GPGSA_; typedef struct { BYTE s_ve[3]; BYTE s_vn[3]; BYTE s_vz[3]; } PGRMV_;
// GPRMC // Hodiny H // Hodiny M // Hodiny S // Zemepisna sirka // Zemepisna delka // Rychlost v uzlech // Azimut // Magneticka odchylka // Status polohy // Zemepisna sirka N/S // Zemepisna delka W/E // Smer magneticka variace W/E // 22 bytu (3 zprávy) // GPGGA // Pocet druzic pro vypocet // Vyska nad morem // 5 bytu (1 zpráva) // GPGSA // Typ navigace 0 zadna, 2D, 3D // DOP // HDOP // VDOP // 7 bytu (1 zpráva) // PGRMV // Rychlost E // Rychlost N // Rychlost v z ove ose // 9 bytu (2 zprávy)
VGA 2003
11
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Celkem je potřeba 43 bytů pro přenos všech zpráv. Maximální počet bytů v CAN Bus zprávě je osm. Proto je třeba pro přenos minimálně šesti zpráv. V našem případě bylo použito pro přenos sedmi zpráv. Řídicím prvkem konvertoru dat byl jednočipový mikropočítač C8051F040 firmy Cygnal. C8051F040 je středně výkonný osmibitový mikropočítač založený na jednočipových mikropočítačích rodiny ’51. Jádro mikropočítače je zoptimalizováno a na čip byly implementovány další pomocné periferie rozšiřující možnosti aplikace jednočipového mikropočítače. Program v jednočipovém mikropočítači provádí následující úkoly: • • • • • • •
inicializace všech řídicích registrů mikropočítače a nastavení vstupně výstupních vývodů, inicializace sériového rozhraní, inicializace přijímače GPS (ačkoliv není inicializace nezbytná, provádí se nastavení požadovaných vysílaných NMEA vět), spuštění testovacího časovače (test zda data dorazí do 1,25 s), při příchodu datového paketu se provede načtení a vynulování testovacího časovače, pokud dojde k přetečení testovacího časovače, pak je situace považována za havarijní a dochází k nové inicializaci napájecího napětí pro GPS přijímač a nové inicializaci GPS přijímače, pokud paket došel nepoškozený, pak je analyzován a překódován do formátu vhodného pro přenos pomocí rozhraní CAN Bus.
3.3 Bezkardanový systém orientace Pro funkci bezpilotního prostředku je nezbytné znát polohové úhly (orientaci, úhly natočení vůči referenčnímu souřadnicovému systému). Tato informace umožňuje prostředkům pohybovat se požadovaným směrem a vykonávat zadanou funkci. Cílem této části projektu je realizace systému orientace letounu.
3.3.1 Senzory V projektu byly použity inerciální senzory. Konkrétně snímače úhlové rychlosti a akcelerometry. Akcelerometry měří zrychlení vzhledem k inerciální soustavě. Zahrnuje to mimo lineárního i gravitační a otáčivé zrychlení. Měřiče úhlové rychlosti měří rychlost otáčivého pohybu. U vibračního piezoelektrického snímače úhlové rychlosti je sériový piezoelektrický bimorf rozkmitán ve vertikálním směru. Přítomnost otáčivého pohybu vyvolá Coriolisovu sílu. Bimorf je horizontálně vychylován. Senzory, které na povrchu hranolu snímají analogovou hodnotu napětí, podle fázového rozdílu a amplitud napětí vyhodnocují velikost úhlové rychlosti otáčivého pohybu. Konkrétně byl použit produkt společnosti Murata ENC-03J, který poskytuje rozsah měřených úhlových rychlostí ± 300°/s. Má malé rozměry (15,5 x 8 x 4,3 mm). Výstup je ve formě analogového napětí přímo úměrný měřené úhlové rychlosti. Lineární násobící činitel je 0,67 mV/°/s. Výrobcem je garantována 5 % linearita v celém rozsahu. U kapacitního akcelerometru je výstupní signál odvozen od měnící se kapacity, která je způsobena posunem hmoty a tím i změnou geometrie ploch kondenzátoru. Vodivé závaží je uchyceno na obou stranách pružinami a trčí z něj vodivé (středové) desky v pravém úhlu. Jsou pevně umístěny symetricky po obou stranách hranolu tvořícího závaží. Středové desky jsou umístěny mezi párem vodivých elektrod symetricky po obou stranách, dohromady tvoří kapacitní dělič. Elektrody jsou připojeny na harmonický signál stejné amplitudy ale opačné polarity s typickou frekvencí 1 MHz.
VGA 2003
12
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 5. Princip funkce kapacitního akcelerometru Pokud není přítomna vnější síla, obě kapacity jsou přibližně stejné a na středové desce bude 0 V. Při působení zrychlení se středová deska vychýlí spolu s hranolem blíže k jedné z elektrod, tím se posílí kapacitní vazba. Na středové desce je možné detekovat napětí. U akcelerometru se zpětnou vazbou je vzniklý signál použit k dosažení nové rovnováhy v kapacitním děliči. Zde byl použit levný, příkonově nenáročný, dvouosý akcelerometr od společnosti Analog Devices ADXL202. Je realizován jako kapacitní akcelerometr bez zpětné vazby vyrobený technologií MEMS. Měří v rozsahu ± 2 g, ve dvou osách svírajících úhel 90°. Je citlivý na dynamickou (např. vibrace) i statickou akceleraci (např. gravitace). Hodnoty jsou kódovány pomocí šířkové pulzní modulace, střída je přímo úměrná velikosti gravitace. Umožňuje jednoduché zpracování pomocí jednočipového mikropočítače bez potřeby A/D převodníku. Perioda je nastavitelná pomocí rezistoru v rozsahu 0,5 ms až 10 ms. Je možné také využít analogový výstup veličin.
Obr. 6 ADXL202
3.3.2 Návrh řešení projektu Řešení projektu spočívá v numerické integraci změn natočení os v některé z metod reprezentace orientace. Pro reprezentaci vypočítané orientace letounu byly použity kvaterniony. V roce 1843 vytvořil sir William Rowan Hamilton, profesor astronomie na Trinity College v Dublinu, matematickou strukturu, kterou pojmenoval kvaterniony (angl. Quaternions).
Q = q0 + q1 ⋅ i + q2 ⋅ j+ q3 ⋅ k
(3)
Kvaterniony jsou rozšířením dvourozměrné množiny komplexních čísel do čtyř rozměrů. Jedná se o podmnožinu hyperkomplexních čísel. Kvaternion obsahuje jednu složku reálnou a tři imaginární. Pro kvaterniony je charakteristický vztah
i 2 = j2 = k 2 = i⋅ j⋅ k = −1
(4)
Jednoduchost, s kterou se pomocí těchto čísel provádí rotace, je předurčují k možnosti reprezentace orientace. Pro výpočet změny natočení os lze odvodit vztah
1 Q = Q iΩ L 2
(5)
VGA 2003
13
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
3.3.3 Výpočet Úhlové rychlosti jsou výkonnému procesoru zasílány z měřičů úhlových rychlostí v předem stanovených intervalech. Převedou se na kvaternion a pomocí vztahu (5) zpracují. Použitím Eulerovy metody (6) jsou numericky integrovány. Je-li zadána diferenciální rovnice
dy = f ( x, y ), y ( x0 ) = y0 , dx pak Eulerova numerická metoda řešení diferenciálních rovnic je
yi +1 = yi + h ⋅ f ( xi , yi ), i = 0,1, 2,....
(6)
Výsledky je možné považovat za správné pouze v prvních okamžicích po spuštění vlastního výpočetního procesu. Použitím numerických metod řešení diferenciálních rovnic dojde k chybám způsobeným konečností velikosti kroku. Tento problém lze minimalizovat použitím lepších metod pro řešení numerické integrace jako Rungových-Kuttových metod, kdy se prokládají snímané hodnoty polynomem a zmenšením kroku. Na druhou stranu však vzroste výpočetní náročnost. Daleko závažnějším problémem, stejně jako ve všech fyzikální aplikacích, je šum superponovaný na signálu měřeném snímači. Signál zatížený chybou po integraci výrazně ovlivní hodnotu výsledné odhadované orientace. Pro tento případ se používají stochastické filtry založené na znalosti vzájemné korelace náhodných jevů. Nejznámější jsou filtry Wiennerův a Kalmanův. Ty jsou ovšem založeny na předpokladu znalosti spektrálních charakteristik procesů, které v praxi nemusí být známé. Jiným druhem filtru je tzv. filtr komplementární. Princip spočívá na více nezávislých měřeních stejného signálu. Charakteristický je součtem přenosových funkcí dílčích filtrů, který je jednotkový.
F1 ( s ) + F2 ( s ) + .. + Fn ( s ) = 1 U komplementárních filtrů nedochází k útlumu ani zesílení signálu na žádné frekvenci. Například u filtru složeného z dvou měření signálu je v některých případech možné jednotlivé dílčí filtry označit jako dolní propust a horní propust. Pro korekci je použito signálu z akcelerometrů, z jejichž trojice lze zjistit směr působení gravitační síly na prostředek. Vektor gravitace by měl v klidu směřovat do středu země.
Qk = Qz iQy iQx Korekční signál, založený na výpočtu odchýlení vektoru gravitace, přes zpětnou vazbu ovlivňuje příčný náklon a podélný sklon. Nemá však vliv na kurs, který provádí rotaci kolem osy Z a je na obrázku 7 označován indexem Z.
VGA 2003
14
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Akcelerometry [ax,ay,az]
Qa
Qz · Qa
Qz Qk
+
proj Z
-
K
Q =
1 Q 2
+
+
Q Q
Q
Měřiče úhlových rychlostí Ω=[0,ωx,ωy,ωz]
Obr. 7. Výpočetní blok bezkardanového systému orientace
3.3.4 Praktická realizace Inerciální senzory byly usazeny na přípravku tak, že tři měřiče úhlových rychlostí a dvě pouzdra s akcelerometry tvořili s navzájem kolmými osami citlivosti ortogonální soustavu.
Měřič úhlové rychlosti
Akcelerometr
Obr. 8. Přípravek bezkardanového systému orientace Přípravek je pomocí kabelu napojen do desky s jednočipovým mikropočítačem jehož úkolem je předzpracovávat signály. Signál z měřičů úhlových rychlostí v podobě napětí převádí A/D převodník desky na numerickou hodnotu. Mikropočítač načte hodnotu z akcelerometrů kódovanou
VGA 2003
15
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
šířkově pulzní modulací . Trojice úhlových rychlostí a trojice hodnot zrychlení tvoří datový blok, který je každých 100 ms posílán po sériové lince k výkonnému procesoru pro další zpracování. Mikropočítač hodnoty získané z akcelerometru předzpracovává pomocí filtru. Používá se medián z 15 vzorků, který by podle dostupné literatury měl vykazovat nejlepší výsledky a nejlépe odstraňovat špičky.
3.3.5 Vytvořený software Pro mikrořadič provádějící čtení hodnot ze senzorů a předzpracování pomocí mediánového filtru je vytvořen software v jazyce ANSI C s překladačem Keil C-51. Pro výkonný procesor, který byl představován stolním počítačem, a prováděl další jednoduché filtrace, vlastní výpočet a grafický výstup byl vytvořen software v jazyce ANSI C pro překladač MS Visual C++.
Obr. 9 Model letounu zobrazující vypočítanou orientaci Součástí vytvořeného softwaru jsou rutiny pro provedení počáteční kalibrace a knihovna pro vizualizaci vypočítané orientace. Orientace je prezentována pomocí modelu letounu (viz obr. 9), umělého horizontu a výpisu úhlů natočení kolem jednotlivých os.
3.3.6 Dosažené výsledky Při praktických testech byla ověřena funkčnost navrženého a zde popisovaného řešení. Tato realizace však neposkytuje kompletní orientaci, jelikož úhel natočení vůči ose směřující ke středu země označovaný jako kurs by vyžadoval další signál, který by byl použit pro jeho korekci. Popisované nedostatky však nejsou problémem pro aplikaci tohoto řešení v letounu, jelikož pro řízení jeho směru budou použity hodnoty z GPS. Výsledek této části projektu je použitelný a v případě potřeby lze pro problém kursu využít další typ senzoru, např. magnetometr.
VGA 2003
16
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
3.4 Magnetický kompas Magnetický kompas pracuje na základě magnetorezistivního jevu, ten se projevuje u materiálů, které mění svůj odpor za jistých podmínek v závislosti na magnetickém poli, resp. jeho orientaci. Existují dva typy těchto senzorů AMR – anisotropic magnetoresistive a GMR – giant magnetorezistive. AMR mají větší citlivost, a proto se většinou v magnetických kompasech používá právě tento typ.
3.4.1 Honeywell HMR3300 Honeywell HMR3300 je tříosý elektronický kompas, složený ze tří magnetorezistivních senzorů jejichž přesnost určení kursu je kompenzována výpočty založenými na hodnotách ze zabudovaného akcelerometru. Přesnost kursu při náklonu 0° – ± 30° je 1,5° a pro náklon 30° – ± 60° je 3°. Použitím akcelerometru ve funkci inklinometru umožňuje kompasu určovat příčný náklon a podélný sklon s přesností 0,4° pro náklon 0° – ± 30° a s přesností 1° pro náklon 30° – ±60°. Výstupní hodnoty jsou počítány 8–krát za sekundu. Komunikace probíhá pomocí obvodu UART rozhraní RS 232 rychlostí až 19200 b/s nebo pomocí SPI rozhraní. Rozměry jsou 25,4 x 36,8 x 11 mm. Váha je 7,5 g. Pracovní teplota kompasu je – 40° až +85° C.
Obr. 10. HRM3300
3.5 Komunikační sběrnice UAV Cílem našeho snažení byl výběr optimální datové sběrnice pro bezpilotní prostředek, návrh topologie a systému zpráv. První část zahrnovala analýzu v současné době používaných sběrnic pro víceprocesorové systémy. Každá z dostupných technologií má své klady a zápory, a proto může být vhodná pro jiný typ úlohy. Na základě požadovaných kritérií bylo nutné uvážit a stanovit základní množinu parametrů, které by měla výsledná sběrnice dosahovat. Studiem technické dokumentace jednotlivých sběrnic byla na závěr vybrána jako optimální sběrnice CAN (Controller Area Network). Následně došlo k vytvoření topologie a přiřazení priorit mezi jednotlivými uzly bezpilotního prostředku. Funkčnost zvoleného řešení byla ověřena programovou simulací komunikace jednotlivých uzlů uvnitř bezpilotního prostředku. K simulaci slouží vývojové prostředí CANalyzer. Výstupem programu je simulace letu bezpilotního prostředku s možností interaktivních změn přenášených parametrů.
3.5.1 Sběrnice pro víceprocesorové systémy Pro aplikaci sběrnice v bezpilotním prostředku jsme hledali sběrnici/rozhraní popisující fyzickou a linkovou vrstvu. Protokoly vyšších vrstev referenčního modelu OSI-RM ke komunikaci mezi uzly není nutné využívat. Během rozhodování bylo potřebné uvážit podporu výrobců, dostupnost, cenovou náročnost a možnosti technologie směrem do budoucnosti. Při výběru jsme vycházeli z následujících sběrnic: • • • •
SMBus – System Managment Bus, SPIBus – Serial Peripheal Interface Bus, sériová linka (RS232, RS422, RS485), CAN Bus – Controller Area Network Bus. Detailní popis jednotlivých sběrnic je uveden v [2].
VGA 2003
17
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
3.5.2 Srovnání jednotlivých sběrnic Uvedené srovnání sběrnic zahrnuje maximálně dosažitelnou přenosovou rychlost, typ sítě, použití priorit a zabezpečení přenosu proti vzniku chyb včetně potvrzování zpráv. Název SMBus SPIBus sériová linka CAN Bus
Přenosová rychlost až 3,125 Mb/s 2,5 Mb/s řádově kb/s 1 Mb/s
Typ sítě
Priority Zabezpečení přenosu podřízený/nadřízený ano ne podřízený/nadřízený ne ne podřízený/nadřízený ne ano bod - bod ano ano
Odpojení chybného uzlu ne ne ne ano
Tab. 1. Srovnání sběrnic Komunikace bude probíhat mezi jednotlivými uzly. Je nezbytně nutné zajistit bezpečné doručení zpráv. Maximální zvažovaná přenosová rychlost by neměla přesáhnout 250 kb/s. Síť by měla být typu bod – bod, bezpečná, s možností udělení priorit jednotlivým zprávám a možností automatického odpojení chybného uzlu. Porovnáním vlastností výše uvedených sběrnic jsme vybrali CAN Bus. Jedná se o sériový synchronní komunikační protokol vyvinutý firmou Bosch pro automobilový průmysl. Vzhledem k vysoké spolehlivosti, velké přenosové rychlosti, snadnému nasazení, nízké ceně a snadné dostupnosti došlo k rozšíření této technologie i do jiných průmyslových aplikací. Proto jej dnes najdeme nejen v automobilech, ale i letadlech, výrobních linkách, zbraňových systémech, informačních systémech a lékařské technice. Protokol CAN je definován normou ISO 11898. Tato norma definuje fyzickou vrstvu protokolu a specifikaci CAN 2.0A. Později byla vytvořena specifikace CAN 2.0B, která zavádí dva formáty zpráv – základní a rozšířený. Zprávy vysílané pomocí protokolu CAN neobsahují žádnou informaci o příjemci zprávy a jsou přijímány všemi uzly. Zprávy jsou definovány pomocí identifikátoru zprávy. Tento identifikátor dále zajišťuje prioritu zpráv a filtrování příjmu zpráv. Vlastnosti sběrnice CAN: • • • • • • • • •
sdílená sběrnice s prioritním rozhodováním o přístupu k médiu, zaručená doba odezvy, flexibilita konfigurace, libovolný uzel může vyslat zprávu, přenosová rychlost do 1 Mb/s, identifikátor zprávy 11 nebo 29 bitů, délka přenášených dat 8 bytů, detekce chyb a automatické opakování chybných zpráv, automatické odpojení poškozených jednotek.
3.5.3 Topologie sítě CAN v UAV Na obr.2 je uvedeno detailní schéma bezpilotního prostředku. Striktní oddělení řídící a aplikační sběrnice umožnilo zvýšit bezpečnost a modulárnost celého řešení. Systém řízení je postaven na sběrnici CAN. Z důvodu bezpečnosti je tato sběrnice fyzicky zdvojena tj. máme primární a sekundární (záložní) řídící sběrnici. Jednotlivé uzly připojené na řídící sběrnici musí proto disponovat dvěmi nezávislými CAN kanály. Aplikační sběrnice nemá bezprostřední vliv na řízení bezpilotního prostředku. Je určena pro různé rozšiřující hardwarové moduly (kontejnery), které by mohl v budoucnu bezpilotní prostředek nést. Podle druhu řešené úlohy se může jednat o libovolný typ sběrnice (např. Ethernet II, SPI atd.).
VGA 2003
18
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Detailní popis jednotlivých funkčních bloků a systému zpráv v rámci sítě CAN je uveden v [2]. Priority zpráv jsou zvoleny tak, aby odpovídaly stupni důležitosti jednotlivých bloků (zařízení) a bylo dosaženo optimálního provozu bezpilotního prostředku. Při definování priorit byly ponechány značné mezery mezi jednotlivými úrovněmi. Tímto je zajištěno budoucí hladké rozšiřování o nové priority. V bezpilotním prostředku klademe nejvyšší důraz na dosažitelnost informací potřebných pro rozhodování autopilota a pro ovládání servomechanizmů. Bezpilotní prostředek je konstruován pro vzdušný průzkum, jeho činností není ohrožen člověk, proto obsahuje menší množství záloh, než obdobný prostředek s lidskou posádkou.
3.5.4 Simulátor sběrnice Simulace navržené sběrnice bezpilotního prostředku byla provedena ve vývojovém prostředí CANalyzer. Při realizaci jsme využili nadstavby CAN db++ pro vytvoření databáze a CAPL (CAN Access Programming Language) pro naprogramování jednotlivých bloků. Simulátor bude sloužit v následujících fázích projektu při realizaci autopilota a dalších bloků. Zprávy, které byly navrženy lze jednoduše zahrnout do databáze pomocí nadstavby CAN db++. V prvním kroku jsme v tomto prostředí definovali všechny přenášené signály. Signály jsme definovali pomocí jména, délky, typu a pořadí. K těmto signálům lze později přímo přistupovat v prostředí CAPL.
Obr.11. Seznam použitých signálů V druhém kroku jsme definovali přenášené zprávy a těmto zprávám jsem přiřadili signály. Zprávy se definují pomocí jména, identifikátoru a umístění signálů (začátek a délka). Pomocí pojmenování lze snadněji pochopit význam jednotlivých zpráv.
VGA 2003
19
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 12. Seznam použitých zpráv Ve třetím kroku jsem definovali jednotlivé uzly a přidělili těmto uzlům zprávy, které přijímají a vysílají. Tyto uzly se shodují s uzly použitými v okně měření. Všechny uzly jsme potom začlenili do sítě Letadlo.
Obr.13. Jednotlivé uzly sítě Letadlo Po provedení těchto kroků se můžeme na celou databázi podívat z pohledu, kdo jaké zprávy a signály vysílá a přijímá. Takto dostaneme přehled přenosu jednotlivých zpráv. Vysílané zprávy jsou vyznačeny Tx. Na obrázku vidíme matici vysílaných a přijímaných zpráv.
VGA 2003
20
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 14. Matice vysílaných a přijímaných zpráv
3.5.5 Dosažené výsledky Pomocí CANalyzeru lze během vývoje jednotlivé bloky oddělovat (vypínat) a nahrazovat fyzickými realizacemi. Na obrázku simulovaného systému vidíme jednotlivé naprogramované bloky, výstupy pro jednotlivá okna měření a simulované nebo reálné karty se sběrnicí CAN v počítači. Po sestavení celého simulátoru sběrnice jsme provedli kontrolu vysílaných zpráv. Zjišťovali jsme, zda přenášené zprávy a jejich obsah souhlasí s návrhem. V dalším kroku jsem porovnali posloupnost přenášených zpráv a zpráv uložených v souboru bloku Záznam. Posloupnost vysílání zpráv a jejich registrace blokem Záznam byla v pořádku. Dále jsme prověřili fungování jednotlivých bloků. Odpojováním jednotlivých bloků jsme jednoduše simulovali výpadky. Přitom blok Kontroly vždy upozornil na nefunkčnost daného bloku. V posledním kroku jsme testovali chování simulátoru na redundantní zprávy. Pokud jsme generovali duplicitní zprávy, jenž nejsou definovány v CAN db++, nezaregistrovali jsme chybnou činnost některého z bloků. Pokud jsme generovali zprávy definované v CAN db++, blok kontroly nezaznamenal chybnou činnost. Přítomnost nadbytečných zpráv jsme ovšem zaregistrovali jak v okně Trace, tak v bloku Záznam.
VGA 2003
21
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr.15. Schéma simulovaného systému
3.6 Řídicí systém pracující v reálném čase Jako vývojovou hardwarovou platformu jsme se rozhodli použít PC/AT kompatibilní systém firmy Digital-Logic.AG. Jde o PC/104 modul MSM586SEV s integrovanými komponentami na hlavní desce, který jsme rozšířili kartou PCM-3680 pro připojení na průmyslovou sběrnici typu CAN.
3.6.1 Modul MSM586SEV Modul MSM586SEV je založen na architektuře PC/AT a je kompatibilní s většinou běžně dostupného programového vybavení. Výhodou je zejména možnost využít předchozích znalostí z oblasti hardware PC a výrazně tak snížit čas a náklady potřebné pro vývoj. Navíc je systém mechanicky konfigurovatelný a rozšiřitelný standardními moduly typu PC/104.
VGA 2003
22
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 16. Jednodeskový počítač MSM586SEV Technická specifikace CPU Performance (MHz) DRAM (MB) DiskOnChip Socket CompactFlash Socket Mouse Keyboard Floppy IDE COM1 COM2 COM3 COM4 LPT1 IrDA LAN Video Controller Video Datapath Video Memory (MB) LCD Interface LCD Resolution EEPROM Support Watchdog Power Normal Cooling Type Operating Temp. Extended Temp. Weight (gr.) MTBF
ELAN520 133 SODIMM 16 - 128 SDRAM ANO ANO ANO ANO LB RS232 / 485 RS232 / 485 RS232 / 485 / TTL RS232 / 422 / 485 / TTL ANO external 10/100BASE-T SXGA 69000 PCI 2 24 Bit TFT 3V/5V 1280 x 1024 x 256 ANO ANO 5V/900mA (16MB) (typ.) passive - 25°C to + 70°C - 40°C to + 85°C 100 >200'000 h
VGA 2003
23
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
3.6.2 Řadič sběrnice CAN PCM-3680 je speciální komunikační modulová karta, která umožňuje připojení počítače PC do lokální počítačové sítě CAN. Zabudovaný řadič sběrnice umožňuje kartě přebrat funkci arbitra sběrnice a provádět detekci chybových stavů s funkcí automatického opakování vysílání. Karta je vybavena dvěmi nezávislými CAN kanály.
Obr. 17. Řadič sběrnice CAN PCM-3680 Technická specifikace Ports CAN controller CAN transceiver Signal support Memory segment base address IRQ Isolation voltage Power consumption Connectors Operating temperature Dimensions
2 82C250 82C250 CAN_H, CAN_L From C800H to EFOOH 3, 4, 5, 6, 7, 9, 10,11,12 or 15 1000 VDC +5 V @ 400 mA typical, 950 mA max. Dual DB-9 male connectors (cable included) 0 to 50° C (32 to 122° F) 90 mm x 96 mm (3.6" x 3.8")
3.7 Operační systém pracující v reálném čase Základním univerzálním softwarovým nástrojem, který využíváme při realizaci řídících úloh je operační systém. Jeho vlastnosti a chování fundamentálně ovlivňují praktické možnosti výsledného řízení a do značné míry ovlivňují architekturu řídících aplikací. Operační systémy použitelné pro řídící úlohy je možné rozdělit do dvou základních skupin. • •
Operační systémy specificky navržené pro úlohy řízení v reálném čase. Univerzální operační systémy s omezenými možnostmi použití pro úlohy řízení v reálném čase.
Mezi typické časově kritické aplikace vyžadující pozornost při výběru operačního systému patří náročné výrobní procesy, zařízení pro vysokorychlostní sběr dat, telekomunikační zařízení, lékařská monitorovací zařízení, letecká technika, automobilní technika nebo robotické systémy. Mnoho z uvedených oblastí vyžaduje naprosto přesně determinovatelné chování operačního systému se zaručenými odezvami, které kladou vysoké nároky v oblasti rychlosti reakce na vnější podněty. Často jde o aplikace pracující v kritických podmínkách při kterých si nelze dovolit sebemenší výpadek systému, protože by to mohlo vést k velkým finančním škodám či dokonce k poškození zdraví lidí.
VGA 2003
24
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
V řešeném projektu diagnostické ústředny jsme se rozhodli využít operační systém RTLinux (Real Time Linux) na hardwarové platformě PC/AT kompatibilní. Konečná aplikace tohoto OS nebyla naším cílem během první etapy řešení předkládaného projektu. Tento problém bude, ale nadále řešen v projektech (vědeckých úkolech) navazujících na naši dosavadní práci.
Obr. 18. Real Time Linux
3.8 Jednočipové mikropočítače pro inteligentní senzory Centrální řídící jednotka postavená na hardwarové platformě PC/AT kompatibilní má mimo již zmíněné celé řady výhod i jednu nevýhodu. Obecně modul MSM586SEV (procesor + základní periferie PC) nedisponuje žádnými volnými digitálními a analogovými vstupy/výstupy. Jakékoliv měření analogových veličin si vyžaduje použití další rozšiřující měřicí karty. V případě UAV se jedná o distribuované měření, kdy se měřené veličiny nacházejí v různých částech letounu a centralizace měření nepřipadá v úvahu. Naše varianta počítá s centrální řídící jednotkou do které jsou zasílány předzpracované informace po sběrnici CAN. Samotné měření je pak prováděno pomocí inteligentních senzorů připojených na sběrnici CAN. Výběr správného JM je jedním z kritických rozhodnutí, které často ovlivňují úspěch či selhání celého projektu. Hlavním naším cílem při návrhu inteligentních senzorů byla volba moderního JM schopného splnit požadavky kladené současným trendem v oblasti vývoje embedded zařízení. Stále více inteligentních periferií je integrováno přímo na čipu. Tato skutečnost se positivně projevuje do nárůstu spolehlivosti (testování již během výroby, snížení počtu externích periferií) a komfortu při ovládání (dedikované instrukce procesoru). Vyloučení externích prvků sebou přináší i snížení požadavků na velikost DPS a spotřebu celého zařízení. Poměr pamětí RAM ku ROM (FLASH) se v minulosti pohyboval 1:32, dnešní trend však směřuje k 1:16 (1:8). Více paměti RAM umožňuje použít při vývoji perspektivnějších vyšších programovacích jazyků. Pro aplikace, kde se předpokládá změna kódu programu, jsou vhodné JM s pamětí programu typu FLASH a rozhraním ISP popř. JTAG. V komplexnějších projektech je těžiště při samotné realizaci v oblasti návrhu a testování firmwaru. Vhodná volba vývojových a podpůrných nástrojů nám ušetří množství zbytečných komplikací nyní i v budoucnu. Není důvod se obávat nasazení vyšších programovacích jazyků. Sestavený kód programu v kvalitním překladači jazyka C je dnes plně srovnatelný s programem napsaným v jazyku symbolických adres.
3.8.1 Jednočipové mikropočítače s jádrem 8051 Přestože původní architektura JM s jádrem 8051 pochází z roku 1980 těší se stále neutuchající oblibě u řady vývojářů. To je zapříčiněno tím, že dochází k neustálému obohacování funkcí VGA 2003
25
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
a vlastností původního procesoru při zachování zpětné kompatibility. Nevýhodou procesoru 8051 je omezení vyplívající z 8bitové architektury, špatně vyřešený systém zásobníku a velikost adresního prostoru 64 kB. Obvod C8051F040 patří mezi jedny z posledních typů JM řady 8051 uvedených firmou Silicon Laboratories (dříve Cygnal) na trh. Samozřejmě se nejedná o žádný ideální JM, takový totiž neexistuje. Má však řadu vlastností, které se jevily jako velice vhodné pro jeho použití v prvotní fázi vývoje inteligentních senzorů. Jednalo se zejména o možnost ladění kódu programu v jazyce C přímo na PC přes JTAG rozhraní JM.
Obr. 19. jednočipový mikropočítač s jádrem 8051 Požadavky vzniklé na základě aplikace sběrnice CAN si vynutily použití jiného typu JM. Hlavním kritériem byla dostupnost dvou nezávislých kanálů CAN přímo na čipu. Dalším omezením původního řešení byl nedostatečný výpočetní výkon daný 8 bitovou architekturou a relativně vysoká cena obvodů C8051F040. Ve výsledku jsme se rozhodli pro řešení postavené na dvou typech JM • •
výkonné JM firmy Renesas řady H8S/2638 pro náročnější typy úloh (CAN uzly, výpočty atd.), riskové JM firmy Atmel řady AVR pro distribuované měření letových veličin.
3.8.2 Jednočipové mikropočítače AVR JM s jádrem AVR jsou 8bitové riskové mikropočítače firmy Atmel. Vnitřní konstrukce je uzpůsobena k použití vyššího programovacího jazyka C. Obvody AVR byly vyvinuty v devadesátých letech minulého století a vykazují značný pokrok oproti většině svých 8bitových protějšků dostupných na trhu. Všechny typy nabízejí možnost ISP programování, což umožňuje snadno provádět programování přímo v cílovém zařízení bez nutnosti manipulace s obvodem. Novější typy mají navíc JTAG rozhraní pro ladění aplikací z PC. Nezanedbatelným prvkem je i cena kvalitních vývojových nástrojů, která je o řád menší ve srovnání s 8051. Mikropočítače AVR jsme navrhli pro distribuované měření jednotlivých veličin UAV s tím, že plně nahradí dražší a větší obvody C8051F040. Řada AVR nedisponuje rozhraním CAN to ovšem nevadí. Primárně jsou tyto obvody určeny pro sběr a předzpracování dat přímo na měřeném objektu
VGA 2003
26
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
(zkrácení délky analogového vedení na minimum). Následně dojde pomocí dedikované sběrnice k přenosu získaných dat do nadřízeného obvodu s CAN rozhraním.
Obr. 20. jednočipový mikropočítač s jádrem AVR
3.8.3 Jednočipové mikropočítače řady H8S/2600 Vysoké nároky na matematické zpracování některých naměřených hodnot (např. gyroskop) spolu s vysokým počtem opakování měření za 1 s si vynutily použití výkonného 16 popř. 32 bitové JM. Po konzultaci s našimi kolegy z ČVUT a z důvodu vzájemné kompatibility hardwaru mezi oběma pracovišti jsme se rozhodli pro JM H8S/2638. Jedná se o 16 bitový JM, který je schopen provádět 32 bitové matematické operace. Na čipu je k dispozici celá řada periferií včetně dvou nezávislých CAN kanálů. V současné době se nám podařilo získat vývojovou desku na tento typ JM. Vývoj vlastní desky s tímto typem JM společně se sestavením vývojového řetězce je plánován na počátek příštího roku.
VGA 2003
27
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
Obr. 21. jednočipový mikropočítač řady H8S/2638
3.8.4 Dílčí závěr Společné rysy pro zde představené JM zobrazuje následující výčet: • • • • • • • •
dostupnost na trhu a přijatelný poměr cena/výkon, dostupné vývojové nástroje (kompilátor, debuger, programátor) pro daný JM, možnost programování v jazyce C spojená s laděním a programováním přes JTAG rozhraní z PC, možnost ISP programování v cílovém zařízení, snadná migrace napsaného kódu programu mezi jednotlivými typy JM díky jazyku C, výpočetní výkonnostní rezerva pro budoucí rozšiřování (risková architektura), hardwarová rezerva pro budoucí rozšiřování (volné v/v, paměť RAM/FLASH, periferie atd.), nízká spotřeba a vyřazovaní.
VGA 2003
28
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
4 Využití výsledků pro praxi a pro další výzkum Na projektu diagnostické ústředny se podílelo celkem pět řešitelů (3 studenti DSP, 2 studenti 5. ročníku). Každý zúčastněný se aktivně zapojil do řešení grantu. Během návrhu a postupné realizace jednotlivých dílčích úkolů se objevily tři hlavní oblasti našeho dalšího zájmu. Ukázalo se, že řešená problematika je natolik rozsáhlá, že ji nelze plnohodnotně vyřešit v rámci tak krátké doby, jakou jsme měli k dispozici. Výsledkem bylo podání tří grantových přihlášek VGA na rok 2004. por. Ing. Ivo Hrdlička (K308) – Korekce bezkardanového systému orientace. Zmenšení stávající chyby bezkardanového systému orientace by měla umožnit aplikace nové dostupné součástkové základny. Konkrétně se jedná o citlivější snímače úhlových rychlostí a akcelerometry. Výpočetní algoritmus je třeba optimalizovat pro použití v JM H8S/2638. V případě potřeby bude proveden i návrh paralelní varianty programového kódu pro implementaci ve víceprocesorovém řídícím systému. por. Ing. Václav Křivánek (K301) – Průběžná diagnostika hybridního pohonu mobilního prostředku. Por. Křivánek se ve své disertační práci zabývá problematikou aktivní diagnostiky řídicích systémů. Jeho záměrem je využít získaných poznatků během řešení diagnostické ústředny k diagnostice hybridního pohonu, který je v současnosti vyvíjen. Cílem je navrhnout mechanismy nezbytné pro zvýšení spolehlivosti, bezpečnosti, životnosti a snížení provozních nákladů spojených s provozem hybridního pohonu. Získané poznatky budou následně použity v jeho disertační práci. por. Ing. Pavel Čeleda (K303) - Zvýšení spolehlivosti operačních systémů pracujících v reálném čase. V rámci dosavadního řešení řídicího systému pracujícího v reálném čase bylo získáno potřebné technické vybavení. Došlo k ujasnění úlohy a požadavků na OS Real-Time Linux. Oblasti dalšího působení jsou: • • • •
Použití operačních systémů pracujících v reálném čase (RTOS) na modulech PC/104. Použití metod bezpečného programování ke zvýšení spolehlivosti programového vybavení v prostředí RTOS. Analýza vlivu hardwarové architektury a technického vybavení na stabilitu RTOS. Sestavení podkladů pro začlenění problematiky RTOS do výuky operačních systémů.
Získané poznatky budou následně použity v disertační práci por. Čeledy zabývající se problematikou RTOS. Řešitelský kolektiv měl již z dřívějška pozitivní zkušenosti s prací v týmu. Přesto se ukázalo, že aplikace metod řízení (project management) může zvýšit celkovou produktivitu a efektivitu odvedené práce. V současné době jsme zahájili aktivity v oblasti nasazení softwarových nástrojů řešících tuto problematiku. Konkrétně se jedná o produkt MS Project. Řada nových poznatků získaných nasazením moderních technologií (CAN, RTOS, JM apod.) je uplatňována při zadávání a řešení ročníkových a diplomových prací. Důkazem toho, že se jedná o širokou a aktuální problematiku je fakt, že poznatky nacházejí své uplatnění i mimo pracoviště zúčastněných kateder.
VGA 2003
29
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
5 Publikace a další aktivity Během řešení grantového úkolu se nám podařilo navázat úspěšně spolupráci s tuzemskými vysokoškolskými (ČVUT, VUT) a zahraničními institucemi (ENSIETA - Francie). Na Českém vysokém učení v Praze se jednalo konkrétně o Katedrou řídící techniky. Na tomto ústavu se zabývají řešením podobného úkolu. Chtějí se pokusit vyřešit autonomní řízení malého modelu vrtulníku pro fázi letu podle předem zadané trajektorie. Po několika vzájemných konzultacích a návštěvách přímo na pracovišti se ukázalo, že topologie obou prostředků je téměř totožná a obě strany možnost vzájemné spolupráce uvítaly. Oba týmy se shodly na stejném hardwarovém vybavení létajících prostředků, aby byla ještě větší provázanost obou projektů. V současné době se pracuje na plánu společné práce a hledají se vhodné úkoly, aby bylo možné co nejefektivněji využít kapacity obou pracovišť. Na podzim roku 2003 jsme se kontaktovali s pracovníky Ústavu automatizace a měřící techniky při Vysokém učení technickém v Brně, kteří zkonstruovali záchranářského robota Orpheus. S nimi jsme konzultovali problematiku inerciální navigační soustavy. V obou projektech je tento prvek klíčovým elementem a úzká spolupráce při jeho řešení je nanejvýše žádoucí. Celá koncepce bezpilotního prostředku byla představena a konzultována na Workshopu studentské sekce IEEE Radešín 2003. V diskuzi, která vystoupení bezprostředně následovala zodpověděli řešitelé řadu otázek a získali cenné podněty k zamyšlení a zapracování do stávající koncepce. V prosinci řešitelé navštívili vysokou školu ENSIETA (Ecole Nationale Supérieure d’Ingénieurs) v Brestu ve Francii, kde konzultovali řešený projekt s odborníky konstruujícími podmořský kluzák určený primárně pro výzkum mořského dna. Možnost další spolupráce se rýsuje především v pracích bezprostředně navazujících na tento projekt diagnostické ústředny a to především při výstavbě řídící jednotku UAV založené na operačních systémech pracujících v reálném čase, především pak na OS Real-Time Linux. Řešitelé plánují obeznámit širší odbornou veřejnost se svými výsledky z řešení diagnostické ústředny na vědecké konferenci DIAGON 2004. Publikace autorů mající vztah k řešenému úkolu:
[1] [2] [3] [4] [5]
ČELEDA, P. UISP – AVR In-System Programmer. [online]. Poslední revize 2003-09-21 [cit. 2003-12-15] URL: ČELEDA, P. STK500 Protocol AVR Bootloader. [online]. Poslední revize 2003-09-21 [cit. 2003-12-15] URL: HRDLIČKA I.: Bezkardanový systém orientace pro bezpilotní letoun. Diplomová práce. Vojenská akademie v Brně 2003 KŘIVÁNEK, V.: Prediktivní diagnostika multiprocesorových systémů. Konference IEEE. Sborník konference Radešín 2003, ISBN 80-214-2479-6 MOŘKOVSKÝ, T.: Řešení vnitřní sběrnice bezpilotního prostředku s využitím rozhraní CAN–Bus. Diplomová práce. Vojenská akademie v Brně 2003
VGA 2003
30
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
6 Přehled nákupů z přidělených finančních prostředků Z přidělených finančních prostředků byl zakoupen následující materiál:
Položka 5 137 103, přiděleno 60 000 Kč Notebook IBM R40 Netfinity 10/100 Ethernet IBM 8x4x32x8 CD-RW/DVD-ROM IBM V.90 Data/Fax IBM TP 256 MB PC 2100 Brašna DICOTA Multi Twin Optická myš Logitech Položka 5 136 102, přiděleno 38 500 Kč Měřící přístroj METEX 3860M Dobíjecí akumulátor B-NC-9 256 MB Handy Steno Apacer Média CD-RW Verbatim 700 MB / 80 min Blank CD-R 80 min 32x CD taška Síťová šňůra MAXXTRO Kabel twisted Krytka konektoru RJ-45 Kontaktní pole N-ZSB354 Katalog GM Electronic 2003 Průmyslový počítač MSM586SEV + 128MB SDRAM Domácí literatura: Rektorys K. a kol. Rektorys K. a kol. Page-Jones Meilir Schmuler Joseph Herout Pavel Balátě Jaroslav Váňa Vladimír Hrbáček Jiří Hrbáček Jiří Rybička Jiří Nevřiva Pavel Pokorný Miroslav Zelinka Ivan Hlavička Jan Hlavička Jan Gleick James Novák,Šebesta,Votruba Novotný, Radovan
Přehled užité matematiky I Přehled užité matematiky II Základy objektově orientovaného návrhu v UML Myslíme v jazyku UML Učebnice jazyka C Automatické řízení Mikrokontrolély Atmel AVR – programování v jazyce C Komunikace mikrokontroléru s okolím 1 Komunikace mikrokontroléru s okolím 2 LATEX pro začátečníky Analýza signálů a soustav Umělá inteligence v modelování a řízení Umělá inteligence v problémech globální optimalizace Diagnostika a spolehlivost Diagnostika a spolehlivost - cvičení Chaos Bezpečnost a spolehlivost systémů Spolehlivost a diagnostika
Položka 5 139 109, přiděleno 2 000 Kč Drobný kancelářský materiál spotřebního charakteru
VGA 2003
31
Diagnostická ústředna – automatizovaný systém sběru dat u bezpilotního prostředku
7 Přílohy A. Grantová přihláška B. Seznam použité literatury C. Seznam použitých zkratek D. Graf závislosti dynamického tlaku na rychlosti a výšce E. Graf závislosti statického tlaku na výšce F. Fotografie draku bezpilotního prostředku
VGA 2003
32