SZAKDOLGOZAT
OE-KVK
Román Szabolcs
2015.
törzskönyvi szám
1. Tartalom 1. Tartalom .............................................................................................................................................. 2 2. Bevezetés ............................................................................................................................................ 4 3. Történelem.......................................................................................................................................... 4 4. Napjaink nagyobb projektjei ............................................................................................................... 6 4.1. Anteos .......................................................................................................................................... 6 4.2. ArduCopter................................................................................................................................... 6 4.3. Parrot AR Drone ........................................................................................................................... 6 5. Felhasználás ........................................................................................................................................ 7 5.1. Példák ........................................................................................................................................... 7 6. Felépítés ............................................................................................................................................ 10 6.1. Váz .............................................................................................................................................. 12 6.2. Súly ............................................................................................................................................. 14 6.3. Hajtómű ..................................................................................................................................... 14 7. Mérőegységek ................................................................................................................................... 15 7.1. Elmozdulás-érzékelő .................................................................................................................. 15 7.1.1. Giroszkóp és gyorsulásmérő ............................................................................................... 15 7.1.2. Optikai elmozdulás-érzékelő ............................................................................................... 16 7.2. Helymeghatározó ....................................................................................................................... 17 7.2.1. Videós helymeghatározás ................................................................................................... 17 7.2.2. Jeladóval történő helymeghatározás .................................................................................. 17 7.2.3. Műholdas helymeghatározás .............................................................................................. 19 8. Kommunikációs egységek ................................................................................................................. 20 8.1. Adó-vevő .................................................................................................................................... 20 8.2. nRF24 ......................................................................................................................................... 20 8.3. Bluetooth ................................................................................................................................... 21 8.4. GPRS ........................................................................................................................................... 21 9. Vezérlőegység ................................................................................................................................... 22 10. Szoftver ........................................................................................................................................... 23 10.1. Mérés ....................................................................................................................................... 23 10.1.1. Elmozdulás-érzékelés ........................................................................................................ 24 10.1.2. Helymeghatározás ............................................................................................................ 25 10.2. Adatfeldolgozás és szűrés ........................................................................................................ 26 10.2.1. FIR szűrő ............................................................................................................................ 26 10.2.2. IIR szűrő ............................................................................................................................. 27 10.2.3. Kálmán-szűrő .................................................................................................................... 28 2
10.3. Szabályozás .............................................................................................................................. 30 10.3.1. PID szabályzó..................................................................................................................... 30 10.3.2. Fuzzy szabályzó ................................................................................................................. 31 10.4. Beavatkozás ............................................................................................................................. 32 11. Összefoglaló .................................................................................................................................... 33 12. Summary ......................................................................................................................................... 33 13. Irodalomjegyzék .............................................................................................................................. 34 14. Ábrajegyzék ..................................................................................................................................... 35
3
2. Bevezetés Napjainkban egyre nagyobb teret hódítanak a pilóta nélküli, vagy távolról vezérelhető gépek, különösen a repülőgépek között. A repülőgépeket két csoportba sorolhatjuk: merevszárnyas, illetve forgószárnyas repülőgépek. A merevszárnyas repülőgépek nagy hátránya, hogy a levegőbe emelkedéshez és a levegőben maradáshoz sebességre van szükségük. A forgószárnyas repülőgépek ezzel szemben képesek a levegőben megállni, lebegni és tetszőleges irányban mozogni. Eme képességüknek köszönhetően sok feladatra alkalmasak, amelyre merevszárnyas társaik nem, de hátrányuk az alacsonyabb repülési sebesség, a nagyobb fogyasztás, illetve a kisebb teherbírás. A teherbírás javítására, valamint a stabilitás és a manőverezés fokozására készültek az úgynevezett multirotoros repülőgépek, melyek kettő vagy több, általában 4 rotorral rendelkeznek. A rotorok számához hasonlóan nagy eltérés van méretben és teljesítményben is a piacon fellelhető multirotoros repülőgépek között, kezdve a tenyérben elférő játékoktól egészen az emberek szállítására képes gépekig. Dolgozatom témája egy ilyen négy rotoros repülőgép megtervezése és megépítése lesz.
3. Történelem Forgószárnyas repülőgépet már Leonardo Da Vinci is tervezett 1519-ben, de az első modell megépítésére csak 1877-ben került sor az olasz Ernico Forlani által.
3.1 Da Vinci forgószárnyas repülőgépe
Az első ismert sikeres próbálkozás 1920-ban történt, és Etienne Oehmichen nevéhez köthető. Etienne gépei feltűnően jó stabilitást, és irányíthatóságot mutattak, és a sikeres kísérletek után a légierő több mint ezer tesztrepülést hajtott végre a következő években. 1923-ra sikerült elérni, hogy a gép akár percekig is a levegőben maradjon, s így megalapozta az első FAI (Fédération Aéronautique Internationale) által hitelesített hosszú távú helikopteres repülési rekordját, amely 360 méter volt.
4
3.2 Etienne Oehmichen repülőgépe
1922 októberében született meg Dr. George de Bothezat és Ivan Jerome találmánya, amelyen már a ma is használt X alakban helyezkedtek el a motorok. A következő másfél évben közel 100 tesztrepülés alatt sikerült elérniük az 5 méteres magasságot.
3.3 Dr. George de Bothezat és Ivan Jerome repülőgépe
1958-ban a Curtiss-Wright VZ-7 jelzésű VTOL (vertical take-off and landing) repülő volt az első, amit a rotorok sebességének változtatásával tudtak vezérelni. Ezt az eljárást használjuk a mai gépek nagy részén is.
3.4 Curtiss-Wright
5
4. Napjaink nagyobb projektjei 4.1. Anteos Az Aermatica Spa által gyártott Anteos az első forgószárnyas RPA, amelynek az ENAC (Italian Civil Aviation Authority) által kiadott hivatalos engedélye van a civil légtérben való repülésre. A 200 cm átmérőjű eszköz 2kg terhelés mellett akár 25 percig képes a levegőben maradni, de fel tud emelni akár 9kg tömegű tárgyakat is. Maximális repülési magassága 3000m.
4.1 Anteos
4.2. ArduCopter Az ArduCopter nyílt forrású projekt DIY (Do It Yourself) quadrokopterekhez. Előnye, hogy modulárisan összeépíthető, és szaktudás nélkül beüzemelhető, illetve használható. Table 1
4.2 ArduCopter
4.3 ArduCopter vezérlő szoftvere
4.3. Parrot AR Drone A Parrot AR Drone egy bármely okos telefonról, vagy tabletről távvezérelhető, kamerával felszerelt quadrokopter.
4.4 1.1. Parrot AR Drone
6
5. Felhasználás A multirotoros repülőgépek napról napra nagyobb teret hódítanak, mivel felhasználhatóságuk növekszik, áruk pedig csökken, főleg az alacsony teherbírású szerkezetek körében. Mivel általában a szállítandó teher kevesebb, mint 2 kg, míg egy pilóta ennek sokszorosát nyomja, ezeket a járműveket szinte mindig UAV-ként (Unmanned Aerial Vechile) használják. Az UAV, azaz pilóta nélküli légi jármű, más néven drón, egy olyan eszköz, amely ön-, vagy távirányítással (általában ezek együttesével) képes repülni, esetleg közben más feladatokat is végrehajtani, így a fedélzeten nincs szükség pilótára. Legtöbben a drón szó hallatán a katonaság eszközeire gondolnak, de egy a levegőben bármely irányba mozgatható, vagy egy helyben tartható repülő felhasználásáról sok már alkalmazott, és sok még felfedezésre váró ötlet van, ilyenek például a megfigyelés, természet fotózás, vagy a csomagok házhoz szállítása is. Gépeket általában akkor alkalmazunk egy feladatra, amikor az túlzottan unalmas, mocskos, vagy veszélyes. Így van ez az drónokkal is. Ha nem szeretnénk, hogy pilótánk élete veszélybe kerüljön, és nem szeretnénk, ha a mentőcsapatnak ismeretlen területen kellene megkeresnie az esetleges áldozatokat, akkor tipikusan drónokat használunk. További előnye, hogy kicsi, és használatához egy kezdőnek is elég pár nap gyakorlás, hogy el tudja vezetni.
5.1. Példák Felderítés, megfigyelés: akár harctéren, akár egy leomlott ház törmelékei alatt sebesültek keresésekor, akár egy működő vulkán belsejében remekül használható, egyrészt azért, mert nem veszélyezteti a pilóta vagy a mentőcsapat testi épségét, ha a drónnal bármi történik, másrészt olyan helyekre is pillanatok alatt eljuthatnak, ahová emberek csak nehezen, vagy egyáltalán nem tudnának.
5.1 Drón videó a vulkánról
7
Életmentés: Egy, a Delfti Műszaki Egyetemen elhangzott előadás szerint az Európai Unióban évente 800 ezer embernél jelentkezik hirtelen szívmegállás, és közülük mindössze 8% éli túl. A nagy halálozási ráta oka, hogy a szakszerű beavatkozásig nagyjából 10 perc telik el, miközben már 4-6 perc után is visszafordíthatatlan agy- és szívkárosodások léphetnek fel. Egy drón defibrillátorral történő felszerelésével ez az idő egy percre csökkenthető egy 12 négyzetkilométeres területen, így a túlélési esély 8%-ról 80%-ra növekedne. A vészhívást visszakövetve a drón GPS segítségével az áldozathoz repül.
5.2 Életmentő drón
Tűzoltás: egy erdőtüzet megfékezni akkor is nehéz feladat, ha tudjuk, hogy pontosan hol van a tűz, meddig ér el, merre terjed, de általában a tűzoltóknak még ennyi információjuk sincs, amikor nekilátnak a lángok megfékezésének.
5.3 Tűzoltó drón
8
Csomag szállítás: napjainkban sok mindent el tudunk intézni az interneten, de egy megrendelt tárgy kézbesítését továbbra is emberek végzik autókkal, robogókkal. Sok energiát és időt lehetne megtakarítani, ha a kisebb termékek kézbesítése miatt nem kéne egy több száz kilós autóval is megtennünk az utat a megrendelőig és vissza. Ugyanezt az ötletet fedezte fel az Amazon, majd a Google csomagküldő szolgáltatása is.
5.4 Csomag szállító drón
9
6. Felépítés Minden repülő szerkezetnél az első és legfontosabb szempont a tervezéskor a súly minimalizálása. Minél alacsonyabb a szerkezet súlya annál kevesebb energiát kell a felemelkedésre, irányításra és a levegőben tartásra fordítani, ezáltal növelhető a repülési idő. A rotorok száma és elrendezése bizonyos határokon belül tetszőleges lehet, de minden elrendezésnek megvan a maga előnye és hátránya. Leggyakrabban használt elrendezések
6.1 Rotor elrendezések
A több rotor általában nagyobb fogyasztás mellett nagyobb teherbírást tesz lehetővé, míg a kevesebb rotor kisebb súlyt eredményez. Ezen felül sokat számít szoftver szempontjából is az elrendezés. Egy szimmetrikus alakzat, ahol a rotorok 90°-onként helyezkednek el, sokkal kevesebb számítási kapacitást foglal le, mint egy aszimmetrikus, vagy 3 rotoros szerkezet. Mindezeket figyelembe véve egy 4 rotoros váz (I4) megtervezésébe kezdtünk bele. A rotorok feladata a jármű levegőben történő mozgatása. A mozgások 3 különböző alapmozgásra bonthatók.
10
Függőleges emelkedés, süllyedés
Függőleges tengely körüli forgás
Vízszintes tengely körüli forgás, azaz dőlés
A négy rotor feladata ezek megvalósítása. A jármű egyhelyben történő lebegésekor a négy rotor egyenlő sebességgel forog, így egyenlő mértékű felhajtóerőt állítva elő. Ezt az egyensúlyt felborítva a jármű megmozdul.
6.2 Rotor sebességek - lebegés
Az ábrán látható a rotorok forgásának iránya, valamint ahogy a kép is mutatja a forgási sebesség azonos. Ebben az állapotban a rotorok sebességétől függően függőleges elmozdulást tudunk megvalósítani. A fordulatszám egyensúlyi értékéhez képest csökkentve a jármű süllyedni, míg növelve emelkedni fog.
6.3 Rotor sebességek - forgás
Az egyik irányba forgó rotorok sebességét csökkentve, valamint a másik irányba forgó rotorok sebességét növelve a jármű fordulni fog.
6.4 Rotor sebességek - dőlés
Egy rotor sebességét növelve, valamint a vele szemközti rotor sebességét csökkentve a jármű dőlni fog. 11
Azáltal, hogy a kialakítás ily mértékben adott, a tervezéskor a kihívást inkább az anyagok megválasztása, a súly minimalizálása és a szerkezet építőelemeinek összekapcsolása jelentette. A motorokat tartó váz anyaga pultrudalással készült, üvegszál erősítésű kompozit cső, melynek igen jó szilárdsági tulajdonságai mellett súlya elenyészően kicsi. Ezekhez a csövekhez a motorok hidegen hengerelt alumínium ötvözetből (AlMg3) kialakított tartószerkezeteken helyezkednek el. A csöveket összekötő, és egyben az elektronikának helyet adó platform szintén hidegen hengerelt alumínium-ötvözetből (AlMg3) készült. Az alumínium elemeket lézervágással, és hagyományos forgácsoló eljárással (esztergálás, fúrás) munkáltuk meg. Az anyagok megválasztásában nagy szerepe volt a súly mellett az árnak és az anyag elérhetőségének.
6.1. Váz A méretezés alapjául egy olcsón megrendelhető BLDC (Brushless Direct Current) motort és propellert tartalmazó csomag szolgált. Propeller adatai:
Átmérő: 10 inch, azaz 254mm
Emelkedés: 114,3mm, ami azt jelenti, hogy a légcsavar egy körülfordulás alatt nyugalomban lévő közegben ekkora utat tesz meg a forgási irányra merőlegesen
Motor adatai:
Névleges feszültség: 14,8V
Fordulatszám / feszültség állandó (kv): 935
A propeller mérete megadja a váz minimális méretét. Jelenlegi elrendezés szerint a rotorok egy négyzet négy sarkán helyezkednek el, és a váz összekötő elemeinek hossza a 254mm középponttól a rotor középpontjáig tart, melynek minimális hossza: = 179,61𝑚𝑚 √2
Ennek ellenére a szerkezetet jóval nagyobb méretűre terveztük, hogy a későbbi fejlesztések során minél nagyobb mozgásterünk legyen, mind a propeller átmérőjének megváltoztatására, mind a rotorok pozíciójának módosítására. Ezek után kellett egy egység, ami összeköti a négy a vázat alkotó csöveket, és képes az elektronikát is tartani. Súly-, és helyminimalizálási szempontokból adódóan lemezes szerkezetre esett a választás.
6.5 Váz összekötő elem
12
A propellerekhez vezető csövek középső konzolra való rögzítésekor két megoldás merült fel, melyek alapvetően a cső rögzítésének módjában térnek el. Az elsőnél a rögzítő elem két részből állt, és a csövet összeszorításos elven rögzítette. A második megoldásnál a cső rögzítését egy, a teljes csövön átmenő csavarral oldottuk meg.
6.6 Váz tartó elemek
Megvalósításkor az átmenő csavarral való rögzítésre esett a választás, mivel annak gyártása jóval egyszerűbb és olcsóbbnak bizonyult. Következő lépésként a motoroknak kellet egy olyan elemet tervezni, amivel a csőhöz lehet rögzíteni, de a pozícióját később akár változtatni is lehet. Itt már a funkcióból adódóan a szorítással rögzítő megoldás tűnt kézenfekvőnek.
6.7 Rotor tartó elem
13
6.2. Súly A tervezőprogram segítségével mindegyik testnek megtudjuk határozni a térfogatát és az anyag ismeretében a súlyát is, ez alapján nagy pontossággal megközelíthetjük a szerkezet végleges súlyát. Ezt egyes alkatrészekre lebontva a következő táblázat mutatja. Alkatrész
Anyag
Sűrűség [g/cm3]
Térfogat [cm3]
Súly/db Darabszám Össz. Súly [g] [g]
Platform
AlMg3
2,66
17,946
47,736
2
95,47
Váztartó elem AlMg3
2,66
1,949
5,184
8
41,47
Váz (csövek) Üvegszálas kompozit
2,08
34,106
70,940
4
283,76
Motortartó elem
AlMg3
2,66
3,523
9,371
8
74,97
Motortartó lemez
AlMg3
2,66
1,871
4,976
4
19,91
Váz összsúly:
515,59
6.8 Súly összegző táblázat
Egyéb elemek:
Motorok: 4 * 55g = 220g
Propellerek: 4 * 7g = 28g
Akkumulátor: 633g
Elektronika: ~300g
Így a szerkezet végleges (becsült) súlya: 1697g.
6.3. Hajtómű Következő lépés a hajtómű méretezése. A számított súly felemeléséhez legalább: 𝐹 = 𝑚 ∗ 𝑔 = 1,697𝑘𝑔 ∗ 9,81
𝑁 𝑘𝑔
= 16.7𝑁
Mivel a rendelkezésre álló adatokból nem tudtuk meghatározni egy hajtómű tolóerejét, a mérés mellett döntöttünk. Mérés céljából egy konyhai mérlegre rögzítettük eszközünket, majd vezérlőjelet adtunk neki. A leolvasás nehézsége, és a meghajtás bizonytalansága miatt csak közelítő értéket tudtunk meghatározni, mely teljes kivezérlésnél nagyjából 20N-t jelent. Ezt az értéket alapul véve a négy hajtómű tolóereje 80N, melyből emelkedéskor a váz felemelésével 17N-t veszítünk. Az első elhatározások szerint a jó dinamika és terhelhetőség eléréséhez a váz súlyának legalább négyszeresét kell tudnunk megemelni, és ezt az értéket méréseink szerint sikerül is teljesíteni.
14
7. Mérőegységek Egy mozgó tárgy irányításához információra van szükség annak mozgásáról. Egy kézzel vezérelt eszköznél ezen információkat az emberi szem gyűjti össze, önjáró járműveknél viszont ezt egy érzékelőkkel ellátott feldolgozóegységnek kell megtennie. Egy repülő tárgy mozgása a következő paraméterekkel írható le:
Pozíció (ux, uy, uz)
Sebesség (vx, vy, vz)
Gyorsulás (ax, az, az)
Ezek egy részét tudjuk mérni különböző érzékelőkkel, más részét nem tudjuk, vagy nem érdemes mérnünk. A mozgások felbonthatók finom, illetve durva mozgásokra. A finom mozgások befolyásolják a jármű stabilitását, míg a durva mozgások a helyváltoztatást teszik lehetővé. Ezen információk megszerzésére különböző érzékelőket használunk. A finom mozgások érzékelésére általában másodpercenként 100, vagy annál több mintát veszünk, míg a durva mozgásokat sokszor csak több másodpercenként vizsgáljuk.
7.1. Elmozdulás-érzékelő Az elmozdulás-érzékelők relatív helyzetet adnak meg a korábbi helyzetünkhöz képest. Előnyük, hogy érzékenységük nagy, és elég gyorsak a finom mozgások vizsgálatára, hátrányuk, hogy hosszú távú pontosságuk rossz, mivel a mérési-hiba pontonként összegződik. Bár a hiba szűrő algoritmusokkal csökkenthető, amennyiben ezt a hibát más érzékelőkből származó adatokkal nem tudjuk kompenzálni, úgy egy idő után a kapott adatok a durva mozgások meghatározására használhatatlanok lesznek.
7.1.1. Giroszkóp és gyorsulásmérő Finom mozgások érzékelésére gyakran használnak gyorsulás, illetve elfordulás mérő eszközöket. Az első gyorsulásmérő műszerek felépítése igen egyszerű volt. A műszer lelke egy súly, melyet rugók igyekeznek egy pontban tartani. A rugók megnyúlása, s így a súly elmozdulása arányos a súlyra ható erők eredőjével. Az első szögsebesség mérő rendszerek is hasonlóan működtek. Egy nehezen elfordítható tárgyat (lendkereket) igyekeztek rugók a készülék házával együtt elfordítani, s ekkor a rugók megnyúlása és a test a készülékházhoz viszonyított relatív elfordulása arányos volt a készülékház szögsebességével. Bár a mérőeszközök manapság már MEMS technológiát használnak, melyek sokkal kisebb fogyasztás mellett sokkal pontosabb mérésekre képesek és kisebb helyen megvalósíthatók, ugyanaz a hibájuk, mint őseiké. Ideális esetben egy gyorsulás mérő jele időben integrálva megadná a sebességet, melyet időben integrálva megkapnánk az elmozdulás mértékét. A probléma abból adódik, hogy ezek az érzékelők pontatlanok, valamint időben és értékben kvantáltak, így a mért értékekből számított elmozdulás nem fog megegyezni a tényleges elmozdulással.
15
7.1.2. Optikai elmozdulás-érzékelő Egy az ára miatt kevésbé használt eszköz az optikai elmozdulás-érzékelő, amely egy képfeldolgozáson alapuló elmozdulás-érzékelés. Alapja, hogy jól felismerhető képi elemeket (általában éleket) keresünk két azonos pontból, de más időben készített képen. Az eljárás alapkövetelménye, hogy a képeken látható legyen legalább egy közös felismerhető tárgy. A felismert elemek elmozdulásának meghatározása pixel dimenzióban történik. A tárgy α elmozdulása leírható a 𝜃𝑥 = ∗ 𝑛𝑥 egyenlettel, ahol: npx
θx a kamerától a tárgyhoz húzott egyenes szögelfordulása a kamera tengelye körül
α a kamera látószöge
npx a kamera felbontása
nx a tárgy elmozdulása pixelekben
Ebből az elmozdulásból számítható a járműből látott kép elmozdulása, azaz a jármű negatív elmozdulása a távolság ismeretében. 𝑑𝑥 = 𝜃𝑥 ∗ ℎ𝑎𝑔, ahol
dx a tárgy elmozdulása
θx a kamerától a tárgyhoz húzott egyenes szögelfordulása a kamera tengelye körül
hag a tárgytól lévő távolság (talaj feletti magasság)
A probléma a képlettel, hogy általában egy tárgy távolsága nem ismert, és mérni is elég nehéz. Például a képen jól látható két különböző magasságú torony. Egy hagyományos távolságmérő egy pontban mér, amely lehet az egyik torony távolsága, de lehet, hogy a köztük lévő talaj távolsága. A megoldás, hogy nem különálló érzékelőt használunk, hanem egy másik kamerát. A másik kamerát közel ugyanott helyezzük el, ugyanabban az irányban, mint társát, viszont Δhag távolsággal közelebb a vizsgált képhez. A közelebb elhelyezett kamera nagyobb szögelfordulást fog látni, mint társa. ℎ𝑎𝑔1 =
𝑑𝑥 θx1
és ℎ𝑎𝑔2 =
𝑑𝑥 θx2
azaz ℎ𝑎𝑔1 = ∆ℎ𝑎𝑔 ∗
θx2
, ahol:
θx1−θx2
hag1 és hag2 a kamerák távolsága az adott tárgytól
Δhag a kamerák távolsága egymástól
θx1 és θx2 a kamerák által számított szögelfordulás
dx a tárgy elmozdulása
Így viszonylag pontosan számítható járművünk elmozdulása, amíg csak 3 szabadság foka van, azaz csak transzlációs elmozdulást hajthat végre. Amennyiben a jármű elfordul x vagy y tengelye körül, úgy azt a feldolgozáskor transzlációs mozgásként fogjuk látni. Ez a hiba kiküszöbölhető több egység használatával, vagy elfordulás érzékelő használatával.
16
7.2. Helymeghatározó A pozíció, illetve mozgásvektorok meghatározásának másik módja, hogy nem az elmozdulásunkat, hanem egy térben való abszolút elhelyezkedésünket határozzuk meg. Ehhez szükség van kijelölt pontokra, amelyekhez képest tájékozódhatunk, viszont a számítások alapja a pozíció meghatározása, így nincs a mérési soroknál összegződő hiba, csak egy pont mérésének hibája. A helymeghatározó rendszerek általában lassabbak, mint az elmozdulás érzékelők, viszont együtt használva a két rendszert, egyszerre gyűjthetünk gyors és pontos adatokat, melyek így felhasználhatóak mind navigációhoz, mind stabilizáláshoz, azaz elegendőek egy légi jármű irányításához.
7.2.1. Videós helymeghatározás A helymeghatározás egyik formája, hogy egy érzékelőkkel felszerelt területen helyezzük el a keresendő tárgyunkat, majd az érzékelők adatait, valamint az érzékelők helyét felhasználva kiszámítjuk a tárgy helyét. Képfeldolgozáskor az érzékelőtől várt adat a felismert tárgy képen való elhelyezkedése, azaz a kamerától a tárgyhoz húzott vektor iránya. Több kamera esetén a kapott vektorok egy pontban metszik egymást, ez lesz a tárgy helyzete. A kamerák képét feldolgozó szoftver egy jellegzetes képi elemet keres, amely általában egy jellegzetes forma, adott vagy tetszőleges színnel és elhelyezkedéssel.
7.2.2. Jeladóval történő helymeghatározás Jeladóval történő helymeghatározás esetén két féle eljárást használhatunk. Az egyik esetén a jeladó a keresett tárgyon helyezkedik el, és az ismert helyen levő érzékelők adatait dolgozzuk fel, míg a másik lehetőség, hogy a jeladók vannak ismert helyen, és a vett jelekből határozzuk meg a vevő helyzetét. A jelek feldolgozása mindkét esetben nagy számítási kapacitást igényel, így fontos, hogy melyik lehetőséget választjuk. A jel lehet:
fény o eljárás: irány meghatározás, vektorok metszéspontja o előny: pontos, viszonylag kis számítás igény o hátrány: közvetlen rálátás kell a jeladóra, az adó és vevő oldalon is tisztítanunk kell az eszközöket
rádióhullám o eljárás: távolság meghatározás, háromszögelés o előny: nem szükséges közvetlen rálátás, kisebb adó teljesítmény elegendő o hátrány: nagy számítás igény, kevés szabadon használható frekvencia, sok zaj, adó és vevő óráját szinkronizálni kell
A legtöbb esetben rádióhullámú jeleket használunk. Rádióhullámú jelekkel való távolságmérés alapja, hogy ismerjük a jel terjedési sebességét, valamint utazás idejét, azaz a kibocsájtási és beérkezési időt. A jelforrás ismert időközönként ad jeleket, így ha tudjuk, hogy mikor adta ki a jelet, és mi mikor kaptuk meg, kiszámítható, az
17
adó és a vevő távolsága. Több adó vagy több vevő esetén, ha ismerjük ezek helyzetét, háromszögeléssel meghatározható az ismeretlen tárgy helyzete. A probléma ezekkel a rendszerekkel az, hogy általában nem tudjuk pontosan szinkronizálni az adók és a vevők óráit. Ennek a hibának a kiküszöbölésére használnak három mért távolság helyett négyet. Amennyiben nem ismert a kibocsájtás pontos ideje, úgy a négy távolság: d1 = d0 + Δd1, d2 = d0 + Δd2, d3 = d0 + Δd3, d4 = d0 + Δd4, ahol:
d0 a legkisebb mért távolság
dn az n pont tényleges távolsága
Δd1 = dn – d0
Ugyan d0 távolság nem ismert, de az ismert helyen lévő adók vagy vevők figyelembevételével legfeljebb csak két olyan d0 távolság vehető fel, ahol az ismert pontokra rajzolt köröknek egybeesik a metszéspontjuk, és ebből az egyik az érzékelőkkel ellátott területen kívül helyezkedik el.
18
7.2.3. Műholdas helymeghatározás Ma az egyik legelterjedtebb helymeghatározó rendszer a GPS (Global Positioning System), azaz a globális helymeghatározó rendszer, melyet az Amerikai Egyesült Államok Védelmi Minisztériuma fejlesztett ki, elsődlegesen katonai célokra. Működése a jeladós helymeghatározásra épül, de itt a jeladók már ki vannak építve 24, a Föld körül keringő műhold formájában. A műholdak 6 különböző pályán 20200 km-es magasságban, naponta kétszer kerülik meg a Földet. A helymeghatározás alapja, hogy legalább 4 adó jelét legyünk képesek fogadni. A pályák elhelyezkedése alapján sík területen egy időben 7-12 műhold látható. A rendszer hibái:
Műholdak óráinak elcsúszása. o Földi állomásról folyamatosan figyelik, és korrigálják őket.
Röppályaelemek változása zavaró hatások következtében, például változó gravitációs mezők, napszél. o Matematikai modellezés, majd a számított útvonalak továbbítása a vevők felé. Ezt az elvet használják az AGPS (Assisted GPS) egységekben.
Légköri hatások. Az eddigi számítások alapja, hogy a jel terjedési sebessége állandó, de ez a légköri öveken áthaladva nem igaz. o Az ionoszféra hatására egy egyszerű GPS készülékre általában több méter. o Hiba minimalizálása matematikai modellekkel. o Differenciális GPS: egy ismert pontra rögzített vevő hibájával korrigálják az ismeretlen helyen lévő vevő méréseit. o Több frekvenciasávon érkező azonos jelek eltérésével való korrekció. Több frekvenciasávhoz csak katonai vevők férnek hozzá.
Tipikus hibák [m] A hiba oka
standard GPS differenciális GPS
műhold órája
1,5
0
pályahiba
2,5
0
ionoszféra
5,0
0,4
troposzféra
0,5
0,2
vevő zaja
0,3
0,3
visszaverődés 0,6
0,6
7.1 GPS tipikus hibái
19
8. Kommunikációs egységek Egy repülő szerkezet útvonala általában nem adható meg a felszállás előtt, vagy ha meg is adható, előfordul, hogy módosítanunk kell rajta, vagy meg kell állítanunk egy baleset megakadályozásának érdekében. Ilyen esetekben vezeték nélküli kommunikációt célszerű alkalmazni. A vezeték nélküli kommunikációk sok szempont alapján rangsorolhatók, s nincs olyan megoldás, amely minden alkalmazáshoz a legjobb választás lenne. Felhasználáskor figyelembe kell vennünk az eszköz fogyasztását, hatótávolságát, egy- vagy kétirányú kommunikáció szükségességét, valamint az eszköz megvételekor és használatakor felmerülő költségeket.
8.1. Adó-vevő Legegyszerűbb lehetőségünk egy analóg áramkör használata, mely amplitúdó, vagy frekvencia moduláció segítségével egy szimplex adatátviteli csatornát biztosít részünkre. Amennyiben az egyirányú kommunikáció elegendő is lenne, a probléma ezzel a megoldással, hogy sok esetben nem egyedül használunk egy-egy frekvencia sávot, s így a túl sok zavar értelmezhetetlenné tenné az átküldött adatot. A zavarok szűrésére sok eljárás ismert, de egy stabil kommunikáció kialakítása még így is nagy feladat lenne. Megoldást jelenthet, ha egy olyan kommunikációs modult alkalmazunk, amely már tartalmazza a zavarszűrést, és nekünk csak egy analóg, vagy digitális be-, és kimenetet ad, melyet használhatunk. Ilyen megoldás a távirányítós eszközök körében elterjedt 2,4 GHz-es többcsatornás digitális kommunikációs modul, mely egy összehangolt adó és vevő párt használva általában kielégítően stabil analóg jelátvitelre képes. Az adó egység egy kézi távirányító karjainak állását digitális jelekké alakítja, majd továbbítja a vevő felé. A vevő a fogadott jeleket karonként más-más kivezetésen analóg jellé alakítja, s innen az analóg jelek felhasználhatók a különböző beavatkozók vezérlésére. Esetünkben a probléma ezekkel a modulokkal, hogy az előállított jelet ismét digitalizálnunk kellene, hogy a vezérlő egység fel tudja használni az eszközünk irányításához, valamint a kommunikáció több hasonló adó mellett akadozhat, vagy hibás érték kiadása is előfordulhat. Bár sok, jelenleg piacon lévő termék használja ezt a megoldást, egy biztonságkritikus rendszerben nem használható, mivel előfordulhat téves adat vétele, valamint nem detektálható a kapcsolat megszakadása.
8.2. nRF24 Legtöbb esetben a küldendő adatok forrása és célja is egy-egy mikrovezérlő, és az adatok bináris formában kerülnek átküldésre. Ilyenkor az egyik legjobb megoldás egy kész digitális adó-vevő modul használata, például ilyen az nRF24L01 jelölésű eszköz is. Előnye a hagyományos adókkal és vevőkkel szemben, hogy full-duplex átvitel megvalósítására is képesek, valamint egy saját keretet használ, mellyel címezhető az üzenet, detektálható a hiba, illetve hiba esetén automatikus újraküldés is megvalósítható. A modul társaihoz képest alacsony fogyasztással, nagy átviteli sebességgel, vagy nagy adótávolsággal képes működni. Ezek a paraméterek természetesen korlátozzák egymást, viszont programozhatóak, így kiválaszthatjuk, hogy mekkora adóteljesítményt szeretnénk, illetve mekkora sebességet. Előnyök: 20
Maximum 2Mbps adatátviteli sebesség
Maximum 13mA fogyasztás adás és vétel közben
900nA fogyasztás készenlétben
5V toleráns adatvonalak a vezérlő felé
Automatikus csomag kezelés
SPI buszon konfigurálható, illetve használható a kommunikációs csatorna
Full-duplex átvitel
Alacsony ár
Hátránya, hogy mindkét oldalon (küldő és fogadó) szükség van egy ilyen eszközre, valamint hatótávolságuk pár tíz méterre korlátozódik.
8.3. Bluetooth Az előbbi modulhoz hasonlóan a Bluetooth is automatikus csomagkezeléssel ellátott kétirányú adatkapcsolatot hoz létre az eszközök között, de itt egy mester eszközhöz egy időben 7 másik eszköz is csatlakozhat, így egy vezérlő egység egy időben képes kommunikálni több járművel is. A kommunikáció itt is a 2,4GHz-es frekvenciasávban zajlik, így szabadon használható világszerte. Európában és az Egyesült Államokban 2,402GHz-2,480GHz közötti 79 darab illetve Japánban 2,472GHz-2,497GHz közötti 23 darab 1MHz-es sáv működik, melyek közül másodpercenként 1600-szor választ egyet véletlenszerűen. Egy Bluetooth modul olcsón beszerezhető, és további előnye a korábban említett nRF24 modullal szemben, hogy manapság a legtöbb hordozható eszközünkben megtalálható egy ilyen modul, így nincs szükség további adapterek csatlakoztatására használatához.
8.4. GPRS A GSM (Global System for Mobile Communications) az Európai Távközlési Szabványok Intézete által kifejlesztett szabvány a mobiltelefonok által használt digitális cellás hálózatok protokolljainak leírására. A GSM hálózat általában a 900Mhz-es és 1800MHz-es sávban működik, és eredetileg csak a hangátvitelt támogatta, de későbbi fejlesztésekkel belekerült az SMS (Short Messaging Service), azaz a rövid üzenet szolgáltatás, valamint a GPRS (General Packet Radio Service), azaz csomagkapcsolt mobil adatátviteli szolgáltatás. A GSM hálózat használatához szükség van egy bázis állomásra, melyet valamelyik szolgáltató telepít, valamint egy kliens egységre, melyet elektronikai üzletekből lehet beszerezni. A bázis állomáshoz való kapcsolódáshoz viszont szükség van az adott szolgáltatónál kötött előfizetésre, és az általuk biztosított SIM (Subscriber Identity Module) kártyára, amely az előfizetőt azonosítja. A GPRS egy IP alapú adatátviteli technológia, mely a hagyományos technológiákkal szemben nem idő, hanem adatforgalom alapú számlázást tesz lehetővé. Adatátviteli sebessége viszonylag alacsony, elméleti határa 171,2 kbps. Előnye, hogy a sok kiépített bázisállomásnak köszönhetően az országban 90% közeli lefedettséggel nem számít az irányított eszköz és az irányító távolsága. Hátránya, hogy egy GSM modul jóval drágább társainál, valamint használata is költségekkel jár. 21
9. Vezérlőegység Az adatok gyűjtése, feldolgozása, a kommunikáció, a döntéshozás valamint a beavatkozás egy központi vezérlő feladata, mellyel szembeni elvárások:
Szükséges perifériák rendelkezésre álljanak o Kommunikációs csatornák az érzékelőknek o Kommunikációs csatornák távvezérléshez o Rotorokkal megegyező számú egymástól független beavatkozó csatorna
Megfelelő jelszintek o A külső eszközök 3,3V vagy 5V-os TTL jelszintekkel kommunikálnak
Elegendő számítási kapacitás o Az érzékelők adatainak beolvasása sok időt visz el o Az érzékelőktől érkező adatokon szűrőalgoritmusokat kell lefuttatni o A szűrt adatokat fel kell dolgozni (döntéshozatal)
Támogatottság o Szoftverfejlesztés során minél több már tesztelt kód álljon rendelkezésre
Korábban használt termékcsalád o Korábban megírt kódok felhasználhatóak o Esetleges hibák már ismertek o Ismert a hardver felépítésének logikája
Megbízható működés
Megfizethető ár
A választás elsőször a Texas Instruments Herkules családjára esett, melyben biztonságkritikus processzorok találhatóak, de áruk miatt a fejlesztéshez egy olcsóbb megoldásként a TivaC család egy tagja lett felhasználva. A választott vezérlőegység a TM4C123GH6PM nevet viseli, és egy Cortex-M4F magot tartalmaz. Főbb tulajdonságai:
Teljesítmény o 80MHz-es órajel, melyet egy PLL (Phase Locked Loop) biztosít o 100 DMIPS o 32-bites ARM architektúra o Thumb-2 utasításkészlet
22
Tárhely o 256 KB flash o 32 KB SRAM o 2 KB EEPROM o Előre programozott ROM, mely a vezérlő gyári szoftver moduljait tartalmazza
Alacsony fogyasztás
Perifériák o 8 UART, 4 SSI, 4 I2C, 2 CAN, 1 USB o µDMA (Direct Memory Access) o 2 PWM (Pulse Width Modulation) modul, egyenként 8 csatornával o 2 QEI (Quadrature Encoder Interface) modul o 2 12-bites analóg-digitál átalakító modul o 6 32-bites és 6 64-bites időzítő o FPU (Floating Point Unit)
10. Szoftver A szoftver feladata a különböző kommunikációs csatornákon érkező információk begyűjtése, feldolgozása, tárolása, továbbítása és az azok alapján történő beavatkozás. A szoftver felépítését tekintve több jól elkülöníthető modulból áll.
Elmozdulás-érzékelő modul, feladata az érzékelőből érkező adatok gyűjtése
Helyzet-érzékelő modul, feladata az érzékelőből érkező adatok gyűjtése
Szenzor modul, feladata az érzékelőkből érkező adatok feldolgozása és szűrése, valamint az aktuális mozgásvektor meghatározása
Kommunikációs modul, feladata a kapott parancsok feldolgozása, valamint a kívánt mozgásvektor meghatározása
Navigációs modul, feladata az aktuális és kívánt mozgásvektor alapján történő döntéshozás
Beavatkozó modul, feladata a navigációs modul döntésének végrehajtása
A moduláris programozásra azért van szükség, hogy a feladat több kisebb, könnyebben megvalósítható és tesztelhető részből álljon, valamint így a program nagy része hardver nélkül, számítógépen is tesztelhető.
10.1. Mérés A folyamat első része az adatgyűjtés, ahol a környezetünkről, illetve mozgásunkról szerzünk információt. Ezen adatok begyűjtésére a kevesebb hibalehetőség, egyszerűbb felépítés, kisebb méret és alacsonyabb ár miatt az interneten fellelhető, általában kínai származású modulokat használom. 23
10.1.1. Elmozdulás-érzékelés Az elmozdulás érzékelése egy 3 tengelyes szögsebesség-mérőt és egy 3 tengelyes gyorsulásmérőt tartalmazó MPU-6050 nevű modul feladata.
10.1 MPU-6050 elmozdulás érzékelő
A mérést analóg-digitális átalakítók végzik, melyek előjeles 16-bites számot állítanak elő. A mért értékek I2C (Inter-Integrated Circuit) buszon olvashatók ki az eszközből. Főbb paraméterek:
Tartomány o Giroszkóp: ±2g..±16g o Gyorsulásmérő: ±250°/s..±2000°/s
Felbontás: előjeles 16-bites számok
Maximális olvasási frekvencia o Giroszkóp: 4kHz o Gyorsulásmérő: 1kHz
Üzemi áramfelvétel: 3,8mA
Az adatok olvasásának indítása szinkron módon, majd egy adat érkezésekor az adatfolyam folytatása, vagy megállítása már aszinkron módon történik. A módszer bár nem szép és az adatok, amiket feldolgozunk, egy ciklusidővel késnek az olvasáshoz képest, de képes az olvasási időt a ciklusidő 20%-áról 3%-ra csökkenteni. A fogadott adatokból mindig a legfrissebb kerül eltárolásra globális változókban, így a feldolgozás külön folyamatként futtatható.
24
10.1.2. Helymeghatározás A helymeghatározásra felhasznált modul egy Venus638FLPx típusú GPS alapú helymeghatározó egység.
10.2 Venus638FLPx GPS
A modul megfelelő paraméterezés után elvégzi a helymeghatározáshoz szükséges számításokat, majd soros kommunikáció segítségével továbbítja a számított pozíciót. Az adatokat bináris, vagy ASCII formátumban olvashatjuk ki az eszközből. Főbb paraméterek:
Mintavételi frekvencia: 1-20Hz
Hideg indítás (nincs pontos röppályaadat és időszinkronizáció, ~7 nap után): 39s
Meleg indítás: 1s
Fogyasztás navigáció közben: 67mW
Pontosság: 2,5m (szabadtéren)
Az adatok fogadása aszinkron, értelmezése szinkron módon történik. Az aszinkron fogadáshoz a hardveres és szoftveres FIFO (first in, first out) tárolók kerülnek felhasználásra. Az adatok értelmezésekor a keret ellenőrzése, majd az értékek kiolvasása és tárolása történik.
25
10.2. Adatfeldolgozás és szűrés Az adatgyűjtés után a következő lépés az adatok feldolgozása. Feldolgozás során a célunk az, hogy a nyers adatokat felhasználva meghatározzuk mozgásvektorunkat.
10.2.1. FIR szűrő A FIR (Finite Impulse React – Véges Impulzusválaszú) szűrő egy olyan digitális szűrő, amely a bejövő értéket tárolva, majd a korábbi értékekkel súlyozottan összegezve adja meg a kimenetét. Mivel a rendszerben nincs visszacsatolás, a rendszerbe érkező impulzusok véges időn belül elhagyják a rendszert, N fokszámú szűrő esetén maximum N lépés alatt.
10.3 FIR szűrő
A szűrő működése az összegzéskor használt súlyokkal állítható be. Megvalósítható vele akár alul-, felül-, vagy sáváteresztő szűrő is, de sok olyan szűrést is meg tudunk vele valósítani, amit analóg áramköri elemekkel nem volna lehetséges. 𝑛
𝑦𝑛 = ∑ 𝑎𝑖 ∗ 𝑥[𝑛 − 𝑖] 𝑖=0
Előnyei:
Mindig lehetséges lineáris fázismenet
Mindig stabil, oszcilláció mentes
Hátrányai:
26
Működése véges impulzusválasza miatt nem pontosan egyezik az analóg eszközökével
Esetenként csak nagy fokszámmal, vagy egyáltalán nem lehet megvalósítani a kívánt átviteli karakterisztikát.
10.2.2. IIR szűrő Az IIR (Infinite Impulse Response – Végtelen Impulzusválaszú) szűrő a FIR szűrőkkel ellentétben tartalmaz visszacsatolást, így képesek vagyunk erősödő, oszcilláló, vagy lecsengő jelek létrehozására is.
10.4 IIR szűrő 𝑛
𝑛
𝑦𝑛 = ∑ 𝑎𝑖 ∗ 𝑥[𝑛 − 𝑖] + ∑ 𝑏𝑖 ∗ 𝑦[𝑛 − 𝑖] 𝑖=0
𝑖=1
Előnyei:
A rekurzió miatt ugyanolyan meredekségű vágás kevesebb lépésszámmal is megvalósítható
Analóg szűrőkre jellemzően minden impulzus végtelen ideig kering a rendszerben
Hátrányai:
Tervezése nehezebb
Könnyen instabillá tervezhető
27
10.2.3. Kálmán-szűrő A Kálmán-szűrő egy olyan algoritmus, mely mozgó tárgyak állapotáról ad optimális becslést mérési sorozatokból, figyelembe véve az állapot-méréseket és a zavaró tényezőket, úgymint zajok, bizonytalanságok és pontatlanságok. A Kálmán-szűrőt a magyar származású Kálmán Rudolfról nevezték el. Az algoritmusnak számos felhasználási területe van, de leggyakrabban jelfeldolgozó rendszerekben, azon belül is a helymeghatározásban alkalmazzák. A szűrő a rendszer bemenő adataiból indul ki, és sorozatos méréseket végez, majd ezekből becslést szintetizál a kimenő adatokra, mely jobb eredmény ad, mintha csak egy mérést végeztek volna. Az algoritmus alapfeltevése, hogy a vizsgált rendszer egy lineáris dinamikus rendszer, melyben a hibafüggvények normális eloszlásúak. A gyakorlatban ez a modell jól közelíti a tényleges rendszerünket. Az algoritmus két lépésben dolgozik. Első lépésben az előző mérés adatait felhasználva becsül egy várható értéket. Ezt a becslést csak a legutolsó értékekből számítja, és a fizika törvényeivel próbálja leírni az adatok megváltozását. A következő lépésben fogadásra kerülnek az új adatok az érzékelőkből, majd a becsült és a mért érték súlyozott átlaga kerül a szűrő kimenetére. Az átlagoláshoz használt súlyok a kovarianciából kerülnek kiszámításra, mely a rendszer becsléseiből származó adatok bizonytalanságát mutatja. Számításkor a szűrő az állapotbecsléseket és a kovarianciákat egy mátrixban kódolja, így lehetővé válik a különböző állapotváltozók (pozíció, sebesség, gyorsulás) közötti lineáris kölcsönhatások kezelése. Algoritmus működése:
Állapot becslés:
𝑥𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 = 𝐴 ∗ 𝑥𝑛−1 + 𝐵 ∗ 𝑢𝑛
Hiba becslés:
𝑃𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 = 𝐴 ∗ 𝑃𝑛−1 ∗ 𝐴𝑇 + 𝑄
Mérés:
𝑦̃ = 𝑧𝑛 − 𝐻 ∗ 𝑥𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑
Mérési hiba:
𝑆 = 𝐻 ∗ 𝑃𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 ∗ 𝐻 𝑇 + 𝑅
Kálmán-nyereség: 𝐾 = 𝑃𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 ∗ 𝐻 𝑇 ∗ 𝑆 −1
Állapot frissítés:
𝑥𝑛 = 𝑥𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 + 𝐾 ∗ 𝑦̃
Számítási hiba:
𝑃𝑛 = (𝐼 − 𝐾 ∗ 𝐻) ∗ 𝑃𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑
Ahol:
Bemenő paraméterek o 𝑢𝑛 – vezérlő vektor, ez adja meg a beavatkozás mértékét, melyből következtethetünk az állapot változásra o 𝑧𝑛 – mérés vektor, mely tartalmazza az érzékelőkből érkező adatokat
Kimenő paraméterek o 𝑥𝑛 – legfrissebb számított állapot o 𝑃𝑛 – legfrissebb számított átlagos hiba
28
Konstans értékek o A – állapot átalakítási mátrix, mellyel az állapotot szorozva, majd a vezérlő faktort hozzáadva megkaphatjuk a következő állapotunk becslését o B – vezérlő mátrix, mely tartalmazza a vezérlő faktor és a bemenő paraméter közötti lineáris összefüggéseket o H – megfigyelő mátrix, mellyel egy állapot vektort szorozva mérési vektort kapunk o Q – számított becslési hiba kovariancia o R- számított mérési hiba kovariancia
Q és R értékek határozzák meg a szűrő viselkedését
Egy ágyúgolyó röppályája helymeghatározással és Kálmán-szűrővel:
10.5 Kálmán szűrő
Kék vonal: valós röppálya
Zöld vonal: helymeghatározás által gyűjtött adatok
Piros vonal: Kálmán-szűrő alkalmazásával a helymeghatározásból nyert adatok
Mint a fenti példa is mutatja, a Kálmán-szűrő alkalmazása bonyolult és számítás igényes folyamat, de az eredményekkel kevés más szűrő tudja felvenni a versenyt. Megfelelő paraméterezés után stabil értékeket tud szolgáltatni egy egyszerűbb szabályozó algoritmusnak is a megfelelő működéshez. 29
10.3. Szabályozás Az adatok feldolgozása után a következő lépés a döntéshozás, azaz, hogy milyen beavatkozó jelet adjunk ki, hogy a kívánt irányba mozdítsuk eszközünket. A szabályozásnak két fő feladata, hogy stabilizálja az eszközt, illetve hogy a kijelölt cél felé haladjon járművünk. A kapott adatoktól, illetve megvalósítástól függően az utóbbit nem mindig kell megvalósítanunk. Ha például ember irányítja a járművet, akkor a szabályozás az esetleges sebesség limitáláson kívül csak annyit tesz, hogy bármilyen körülmények között megpróbálja az eszközt stabilan a levegőben tartani. Egy fejlesztés során általában ez az első lépcső, amit meg kell valósítanunk, csak a stabil repülés után bízhatjuk rá egy gépre, hogy eldöntse, merre akar haladni.
10.3.1. PID szabályzó PID szabályozót gyakran használnak lineáris rendszereknél, mivel működése jól paraméterezhető és megvalósítása is egyszerű. Alapja a három önálló tag, melyeket súlyozottan összegzünk, így kapva meg a végrehajtó jelet. A három tag:
Proportional: arányos tag, mely a jelenbeli hibákat korrigálja
Integral: integráló tag, mely az idő során halmozódó hibákat korrigálja
Derivative: differenciáló, amely a túllendülést igyekszik korrigálni
10.6 PID szabályozó
Megvalósításunkban a rendszer bemenő paramétere a hiba, azaz az egyhelyben álláshoz képesti elmozdulásunk, melyet mozgásvektorunk negáltja ad meg. A legegyszerűbb felépítés egy arányos tagot tartalmaz. Ha ennek súlyát túl kicsire állítjuk, akkor érzéketlen lesz a szabályozási kör, ha túl nagyra, akkor instabil lehet. A csak arányos tagot tartalmazó szabályozás hibája, hogy a rendszer soha nem áll be egyensúlyi állapotba, csak véges mértékben tudja megközelíteni azt, és a maradandó hiba mértéke fordítottan arányos a rendszer stabilitásával. Ennek a maradandó hibának a kiküszöbölésére használják az integráló tagot, mely a múltban mért hibák értékét összegzi és tárolja, így amennyiben a zavaró hatás mértéke nem változik meg, rendszerünk hibája folyamatosan közelít 0-hoz. 30
Rendszerünk másik hibája, hogy a mért értékek, azaz a hiba időben késik a beavatkozás pillanatához képest, valamint a rendszerünknek is van tehetetlensége, így a szabályozás soha nem éri el a kívánt értéket, hanem mindig túllendül rajta. Ennek a túllendülésnek a kiküszöbölésére használják a differenciáló tagot, amely a hiba értékének megváltozásával arányosan változtatja a beavatkozó jelet. Minden tag egy viselkedése miatt hasznos, de természetesen ronthatja is rendszerünk működését. Az egyensúly megteremtése miatt a tagokat súlyozottan összegezzük, s így a súlyok határozzák meg, hogy milyen legyen rendszerünk dinamikája. A három tagot megfelelően súlyozva viszonylag rossz körülmények között is stabil rendszert tudunk megvalósítani, de ezt az egyensúlyt nehéz megtalálni, mivel nem rendelkezünk elegendő információval a szabályozott szakaszról, és egy rendszer soha nem lehet jó minden jellegű zavarás esetén. Ezen hibák kiküszöbölésére használnak tanulni képes, azaz adaptív rendszereket. Egy ilyen rendszer esetén nem csak azt vizsgáljuk, hogy milyen hibáink vannak, és azokat hogyan kell kompenzálnunk, hanem azt is, hogy milyen hibáink voltak, és azokat hogyan sikerült kompenzálnunk. Amennyiben a rendszer szerint a szabályozás hatásfoka túl rossz, úgy megpróbál előre definiált szabályok, vagy próbálgatás alapján más súlyokat beállítani. Amennyiben az új értékek jobb működést mutatnak, úgy a korábbiakat lecserélve ezeket menti el a további működéshez. Egy ilyen adaptív rendszer megtervezése nem egyszerű feladat, és nagy számítási kapacitást is igényel, de az ilyen gyorsan változó jellegű zavarokat tartalmazó rendszerben sokkal jobb működést tanúsíthat, mint amit kézzel be tudnánk állítani, abból kifolyólag, hogy képes alkalmazkodni a rendszer hibáihoz.
10.3.2. Fuzzy szabályzó Fuzzy logika előnye, hogy lehetővé teszi a matematikai modellek esetén nehezen értelmezhető „gyors”, „lassú”, „kicsi”, „nagy” fogalmak használatát. Ezen fogalmak azért használhatóak, mert a fuzzy döntések során nem egy pontos értéket viszünk be, és egy pontos kimeneti értéket kapunk eredményül, hanem egy szabállyal leírt fuzzy értéket, amely magában foglalja magát az értéket, és annak valószínűségét, bizonytalanságát is.
10.7 Fuzzy szabályozó
Ennek a bizonytalanságnak köszönhetően a köznyelvben használt mondatokat szabályokká tudunk alakítani, például: „Ha nagyon hideg van, akkor fűtenem kell.” Minden szabály egy bemeneti paramétert egy kimeneti paraméterrel köt össze. Fenti példánkban a bemeneti paraméter a hőmérséklet, mely ha „nagyon hideg”, akkor a kimenetre 31
kapcsolt fűtő rendszert el kell indítanom. Mivel a „nagyon hideg” nem egy bizonyos értéket vagy pontot jelöl, hanem egy szabállyal adhatjuk meg, így a mért hőmérsékletet fuzzyfikálva megkapjuk az adott paraméter igazságértékét. A bemeneti szabály igazságértéke megadja, hogy a szabály által megadott kimenet mekkora részben játszik szerepet a döntésben. Egy fuzzy szabályozó elméletben ugyanazt a döntést képes meghozni, mint bármely más szabályozó. Előnye abban rejlik, hogy míg egy PID szabályozót matematikailag le kell tudnunk írni a paraméterek beállításához, addig egy fuzzy szabályozó szabálytábláját köznyelvben használt mondatok alapján felvehetjük. Mivel a gyakorlatban ritka, hogy egy szabályozási körben minden ismert, és matematikailag leírható, ezért előszeretettel használják az értékek bizonytalanságát figyelembevevő fuzzy szabályozókat.
10.4. Beavatkozás A döntéshozás után a következő lépés a beavatkozás. Az eddigi számítások több dimenziós értékekkel történtek, melyeket most át kell alakítanunk a motorok számára értelmezhető értékekké. A kiválasztott motorok BLDC motorok, melyek vezérlését egy külső egység végzi. Ennek az egységnek egy PWM (Pulse Width Modulated – pulzus szélesség modulált) jel formájában adjuk át a kívánt fordulatszámot. A jel jelen esetben egy 20ms-os periódusidejű jel, melynek kitöltési tényezője 5-10% között változhat, s ezzel arányosan egy lineáris skálán változik a motor forgási sebessége.
5% kitöltés -> 0% sebesség
10% kitöltés -> 100% sebesség
A kívánt sebesség értékek meghatározása a szabályozótól kapott vektor alapján történik. A vektort összetevőire bontjuk, majd az így kapott mozgáselemeket, a felépítésnél tárgyalt módon, rotor-fordulatszámokká alakítjuk. Kezdetben egy alapértéket adunk minden rotornak. Ezeket az értékeket együtt növeljük, vagy csökkentjük aszerint, hogy a járművünknek emelkednie, vagy süllyednie kell. Következő lépés a Z tengely körüli elfordulást, azaz a szemközti rotorok sebességét együtt, a két párt ellentétes irányban módosítva valósítjuk meg, minek hatására eszközünk fordulni fog. Ezután következik az X és Y tengely mentén történő elfordulás, mely a szemközti motorok egyikének csökkenő, másiknak növekvő fordulatszámával érhető el. Az így kapott négy értéket a motorvezérlők számára értelmezhető PWM jellé alakítjuk, majd továbbítjuk feléjük.
32
11. Összefoglaló A szakdolgozatom elkészítése során megismerkedtem a különböző mozgásérzékelő és helymeghatározó technikákkal, valamint szűrő és jelfeldolgozó algoritmusokkal, azok előnyeivel és hátrányaival. Bár a dolgozat témája az eszköz megtervezése, annak elkészítése is folyamatban van, mely során sok mechanikai és szoftvertechnológiai problémával találkoztam. A dolgozat írásakor az eszköz hardver oldalról teljesen elkészült, szoftver oldalról pedig a szabályozó modul áll félkész állapotban. További tervek között szerepel a szoftver befejezése, majd az eszköz továbbfejlesztése, úgymint autonóm navigáció megvalósítása és videó kapcsolat kialakítása, melyhez tartozik egy távoli eszközön való megjelenítő és vezérlő szoftver fejlesztése is.
12. Summary Asd.
33
13. Irodalomjegyzék http://www.gyak.jgypk.u-szeged.hu/html/informatika/1_6/helikopter.doc http://simba.ara.bme.hu/oktatas/tantargy/NEPTUN/BMEGEATAKV5/2013-2014II/ea/01_eloadas.pdf http://hu.wikipedia.org/wiki/Rep%C3%BCl%C5%91g%C3%A9p http://www.araa.asn.au/acra/acra2007/papers/paper181final.pdf http://hu.wikipedia.org/wiki/Global_Positioning_System http://www.invensense.com/mems/gyro/documents/PS-MPU-6000A-00v3.4.pdf http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/GPS/Venus/638/doc/Venus638FLPx _DS_v07.pdf http://www.coptercraft.com/multirotor-frame-configurations/ http://users.iit.uni-miskolc.hu/~szkovacs/Research/SzdipPR.pdf http://www.vmtt.org.rs/mtn2012/453_468_Szabo_Anita_A.pdf http://hu.wikipedia.org/wiki/K%C3%A1lm%C3%A1n-sz%C5%B1r%C5%91 http://greg.czerniak.info/guides/kalman1/ http://hvg.hu/tudomany/20141030_dronok_harca_hamarosan_lecsap_a_magyar_to http://rtl.hu/rtlklub/hirek/lenyugozo-dron-video-egy-vulkanrol http://hvg.hu/kkv/20131207_Dronpostast_akar_az_Amazon_video http://www.langlovagok.hu/tanulmanyok/2014/dron_letaijanos_2014.pdf http://hvg.hu/instant_tudomany/20141029_Mar_eletmento_dron_is_letezik
34
14. Ábrajegyzék 3.1 Da Vinci forgószárnyas repülőgépe................................................................................................... 4 3.2 Etienne Oehmichen repülőgépe ....................................................................................................... 5 3.3 Dr. George de Bothezat és Ivan Jerome repülőgépe ........................................................................ 5 3.4 Curtiss-Wright ................................................................................................................................... 5 4.1 Anteos ............................................................................................................................................... 6 4.2 ArduCopter........................................................................................................................................ 6 4.3 ArduCopter vezérlő szoftvere ........................................................................................................... 6 4.4 1.1. Parrot AR Drone ......................................................................................................................... 6 5.1 Drón videó a vulkánról ...................................................................................................................... 7 5.2 Életmentő drón ................................................................................................................................. 8 5.3 Tűzoltó drón ...................................................................................................................................... 8 5.4 Csomag szállító drón ......................................................................................................................... 9 6.1 Rotor elrendezések ......................................................................................................................... 10 6.2 Rotor sebességek - lebegés ............................................................................................................. 11 6.3 Rotor sebességek - forgás ............................................................................................................... 11 6.4 Rotor sebességek - dőlés ................................................................................................................ 11 6.5 Váz összekötő elem ......................................................................................................................... 12 6.6 Váz tartó elemek ............................................................................................................................. 13 6.7 Rotor tartó elem ............................................................................................................................. 13 6.8 Súly összegző táblázat ..................................................................................................................... 14 7.1 GPS tipikus hibái .............................................................................................................................. 19 10.1 MPU-6050 elmozdulás érzékelő ................................................................................................... 24 10.2 Venus638FLPx GPS ........................................................................................................................ 25 10.3 FIR szűrő ........................................................................................................................................ 26 10.4 IIR szűrő ......................................................................................................................................... 27 10.5 Kálmán szűrő ................................................................................................................................. 29 10.6 PID szabályozó .............................................................................................................................. 30 10.7 Fuzzy szabályozó ........................................................................................................................... 31
35