Utveckling och implementering av regulator för 005-0-1 Designspecifikation Version 0.1 Granskad Godkänd Status 1
Utveckling och implementering av regulator för 005-0-1 PROJEKTIDENTITET 005/VT Linköpings tekniska högskola, ISY Namn Ansvar Telefon E-post Birgitta Wingqvist Kundansvarig (KUN) 013-17 6 0 0733-67 609 birwi179@student.liu.se Mattias Eriksson Dokumentansvarig (DOK) 013-14 4 99 0703-370 38 mater537@student.liu.se Mattias Designansvarig (DES) 0705-178 799 matka319@student.liu.se Källstrand Samir Losic 0704-644 01 samlo454@student.liu.se Petter Eriksson Kvalitetsansvarig (KVA) 0704-3 18 peter871@student.liu.se Björn Wallebäck Testansvarig (TES) 013-474 19 00 bjowa879@student.liu.se 0739-336 371 Peter Nohira 013-473 00 00 0730-733 613 petno63@student.liu.se Johan Gunnar Projektledare (PL) 013-1 19 11 johgu848@student.liu.se Kund: FOI IR-system Kontaktperson hos kund: Morgan Ulvklo, 013-37 84 6, morgan@foi.se Kursansvarig: Anders Hansson, 013-8 16 81, hansson@isy.liu.se Handledare: Martin Enqvist, 013-8 3 06, maren@isy.liu.se
Utveckling och implementering av regulator för 005-0-1 Innehåll 1 INLEDNING... 5 1.1 PARTER... 5 1. MÅL... 5 1.3 ANVÄNDNING... 5 1.4 DEFINITIONER... 5 ÖVERSIKT AV SYSTEMET... 6.1 BEROENDEN TILL ANDRA SYSTEM... 7. INGÅENDE DELSYSTEM... 7.3 DESIGNFILOSOFI... 7 3 SIMULERINGSMILJÖ... 8 3.1 INGÅENDE KOMPONENTER... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3. FORDONSMODELL... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3.3 FLYGBANOR... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3.4 GIMBALMODELL... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3.5 FORDONSFILTER... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3.6 GIMBALREGLERING... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 3.7 SCENESERVER-KOPPLING... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 4 IMPLEMENTERING...4 4.1 INGÅENDE KOMPONENTER...4 4. FUNKTIONSBESKRIVNING...4 4.3 ALGORITMER... FEL! BOKMÄRKET ÄR INTE DEFINIERAT. 5 REFERENSER...5 3
Dokumenthistorik version Datum utförda förändringar utförda av granskad 0.1 005-0-1 Första utkast MK PE,BW 4
1 Inledning Projektet syftar till att utveckla och implementera en regulator för intelligent riktning av gimbalmonterade IR/EO-sensorer. FOI har utvecklat en gimbal där olika sensorer har monterats. Gimbalen är placerad under en mätplattform utformad som en UAV. För närvarande finns en enkel reglering för gimbalen. I projektet ska gimbalen simuleras och regleringen av den förbättras. Detta dokument innehåller sätt, metoder och förslag på implementering och genomförande av projektet. Designspecifikationen är skriven utifrån systemskissen och ligger till grund för implementeringen av projektet. Figur 1. UAV med gimbalmonterade sensorer. 1.1 Parter Beställare: Jon Kronander, Reglerteknik, ISY Kund: Morgan Ulvklo, IR-system, FOI Producent: Åtta studenter som läser kursen (TSRT71) på. 1. Mål Målet med projektet är att utifrån befintliga och i projektet framtagna modeller simulera mätplattformen och gimbalen. En regulator, som utifrån de mekaniska begränsningar som finns i gimbalen, konstrueras så att ett fordon på marken kan följas. Regulatorn ska även implementeras för att användas på mätplattformen. 1.3 Användning Projektet består huvudsakligen av två delar. Den ena delen är en simuleringsmiljö som ska kunna användas för att designa och utvärdera referenssignalgenerering och reglering av gimbal. Den andra delen är en implementering av de simulerade systemen. Denna ska kunna användas för att testa systemen på mätplattformen. Implementationen ska kunna användas för att följa mål, t.ex. stridsfordon, från luften. 1.4 Definitioner 5
UAV: Unmanned Aerial Vehicle. En obemannad flygande farkost som vanligtvis används för spaning eller övervakning. QWIP/MASP: Den mätplattform som utvecklats av FOI på vilken gimbalen sitter som ska simuleras och regleras i projektet. QNX: Realtidsoperativsystem som används i QWIP/MASP för viss styrning och viss datalagring. IR/EO: Infrared/Electro optical. RDMK: realtidsdistribution av målkoordinater. IMU: Inertia measurement unit. Översikt av systemet QWIP/MASP är ett försökssystem utvecklat av FOI. Systemet består av en fritt hängande mätplattform utformad som en UAV som lyfts av en helikopter. Denna UAV innehåller högpresterande navigationsutrustning i form av RTK-GPS samt IMU. Under sitter det en styrbar gimbal med IR/EO-sensorer monterade. Mätplattformen samt gimbalen ska simuleras i en simuleringsmiljö. Utöver denna simulering ska regulatorer och referenssignalgenerering implementeras för att köras på QWIP/MASP-systemet. Målen kommer att utgöras av fordon på marken som meddelar sin position till QWIP/MASP via RDMK-systemet. Figur. Realtidsdistribution av målkoordinater 6
.1 Beroenden till andra system Simuleringsmiljön kommer att köras på en PC och är ej beroende av externa system. Implementeringen av regulatorerna ska kopplas till de övriga systemen i QWIP/MASP. De regulatorer som implementeras ska även kunna testas genom att köras mot simuleringsmiljön. Detta betyder att simuleringsmiljön och implementeringen måste vara kompatibla.. Ingående delsystem Simuleringsmiljö består av: Fordonsmodell Flygbanor Gimbalmodell Modell av styrmodulen bestående av fordonsfilter, regulator samt referenssignalgenerator Koppling till SceneServer Implementeringen består av: Fordonsfilter Regulator Referenssignalgenerering Kommunikation med QWIP/MASP.3 Designfilosofi Systemet ska designas så att det fungerar tillsammans med de nu existerande systemen utvecklade av FOI. Det ska även kunna byggas ut och förbättras om så önskas, varför ett modulärt tänkande ska tillämpas..4 Gränssnitt Mellan de olika delsystemen utbyts data med små skillnader beroende på var applikationerna används, detta kommer att specificeras senare i detta dokument.5 Produktkomponenter Projektet omfattar leverans av en simuleringsmiljö för simulering vilket beskrivits i kravspecifikationsdokumentet. Det omfattar även implementering i QNX och en fungerande mjukvaruprodukt för test i UAV. 7
3 Delsystem Utveckling och implementering av regulator för 3.1 Simuleringsmiljö För att kunna testa de övriga delarna i projektet måste en simuleringsmiljö implementeras. Den ska simulera verkliga situationer som kan uppkomma när systemet används på riktigt. Simuleringsmiljön kommer implementeras i Matlab. Övriga delar av projektet ska kunna implementeras i både Matlab och Java och köras i denna simuleringsmiljö. Figur 3. Översiktligt, Hela simuleringsmiljön. Figuren ovan visar vilka delar av projektet som kommer att ingå i simuleringsmiljön. Till detta kommer även flygbanegenerering, resultatvisning samt själva simuleringen. Användarinterface/GUI kommer till en början att implementeras i Matlab men senare förmodligen i Java. 8
3.1.1 Blocken Utveckling och implementering av regulator för Blocket RDMK utvecklades under förra årets projekt. För att simulera detta ansätts en fordonsbana som referensunderlag för fordonsestimatorn. För att generera den, används kod från projektet som gjordes förra året. Samma kod kommer att modifieras något och sedan användas för att generera flygbanor. Från blocken GPS och IMU kommer simulerade eller loggade data om UAV:s position. Blocken innehållande ett T är tidsfördröjningar. T-blocket mellan RDMK och QNX beror på fördröjningarna i GPRS-kommunikationen som används och T-blocket mellan Gimbal och QNX är fördröjningar i den interna kommunikationen. I Användarinterface/GUI ska användaren kunna välja hur simuleringen ska ske. Användaren ska kunna välja olika flygbanor och olika antal fordon med olika fordonsbanor. Om flera regulatorer implementeras kan användaren även välja en av dessa i Användarinterface/GUI, samt även regulatorparametrar och tiden som kameran betraktar varje objekt. Figur 4. Flödesschema över simuleringsmiljön. 3.1. Programflöde Kommunikationen mellan beslut, referensgenerering och reglering sker till att börja med utan att simuleringsmiljön är inblandad. Om det visar sig att en tidsfördröjning behövs i denna kommunikation för att simuleringen ska bli verklighetstrogen kommer den att gå genom simuleringsmiljön för att lösa detta. 9
Genereringen av flygbanor och fordonsbanor sker offline. Det gör även prediktionen som sker i fordonsfiltret. Detta sker för att spara tid på själva simuleringen. Skulle predikteringen istället göras online skulle den ske då prediktionskoordinaterna hämtas. Loggning av data sker online för att sedan kunna visa det i plottar offline. Alternativt kan resultatvisningen ske online, alltså samtidigt som simuleringen. Det ger givetvis en långsammare simulering. 3.1.3 SceneServerkoppling Visualiseringsmiljön SceneServer anropas från MATLAB. De argument som används är kamerans (betraktaren) koordinater och målets koordinater. Argumenten kommer att levereras som stora filer med data och sceneserver får således visualisera offline. 3. Tidsfördröjningar I det fysikaliska systemet finns ett antal tidsfördröjningar som skall modelleras och ingå i simuleringsmiljön. Det är framför allt fördröjningarna i reglerloopen, se skiss av systemet, som är av speciellt intresse. 3..1 Fysikaliskt system I det fysikaliska systemet skickas fordonens läge via GPRS till systemet. Detta medför en fördröjning som gör att fordonens position måste predikteras. Det är med anledning av detta som fordonsfiltret har implementerats. De fördröjningar som påverkar prestandan hos regulatorn är dock framför allt fördröjningar i kommunikationen mellan regulatorn och gimbalen samt i återkopplingen från gimbalen. Dessa går via samma kommunikationskanaler. Tidsfördröjningarna kan modelleras enligt nedanstående skiss över en simuleringsmiljö. Figur 5. Beskrivning av fysikaliskt system och frihetsgrader 10
3.. Modeller för fördröjningarna 3...1 Modell för fördröjningen i kommunikationen via GPRS Dessa fördröjningar är relativt stora och varierar ganska kraftigt beroende på den teknik som systemet använder. En första ansats för att modellera dessa signaler är att anta att de är normalfördelade med väntevärde m f och varians σ f. Det är den ansats som kommer att användas och testas genom att samla in data via systemet. Från dessa mätningar kommer väntevärdet m f och variansen σ f att skattas och en rimlighetsbedömning av modellen kommer att göras. 3... Modell för fördröjningarna i kommunikationen med gimbalen Som tidigare nämnts sker kommunikationen till och från gimbalen via samma kommunikationskanaler. Detta gör att man kan anta att fördröjningarna i kommunikationen till och från gimbalen har samma fördelning. Vår första ansats kommer därför vara att slå ihop fördröjningarna till en stokatisk variabel T. Vi kommer även här att anta att T är normalfördelad med m g och varians σ g. Genom att slå ihop fördröjningarna till en hoppas vi kunna mäta summan av fördröjningarna med hjälp av enkla tester med pulståg som insignal. Att tänka på är att kommunikationen kommer att variera med belastningen på de datorer som finns med i kommunikationskedjan. Vid testerna kommer därför lämpligen dessa att köras på någon form av normallast för att få rättvisande mätningar. Eventuellt blir det för komplext att simulera med stokastiska fördröjningar i reglerloopen. Dessa kan i så fall ersättas med antingen väntevärdet eller någon form av värsta falls fördröjning. 3.3 Gimbalmodell Modellen av gimbalen skall modellera dynamiken hos det fysikaliska systemet, vilken beskrivs nedan. Modellering är gjord i ett examensarbete [1] 00. Denna beskrivs mer utförligt nedan. Implementeringen av modellen skall ske i Matlab och kopplas till den simuleringsmiljö som har tagits fram. 3.3.1 Fysikaliskt system Det fysikaliska systemet som skall modelleras är alltså en gimbal. Gimbalens dynamik kan beskrivas av fyra frihetsgrader. Två yttre, styrbara, frihetsgrader kallade pan och tilt eller Ө 1 och Ө samt två inre frihetsgrader som ej kan styras, Ө 3 och Ө 4. Pan och tilt styrs med två DC-motorer och har alltså spänning som insignal, V 1 resp V. 11
pan, Ө 1 Ө 3 Ө 4 tilt, Ө Figur 6. Beskrivning av fysikaliskt system och frihetsgrader 3.3. Modellen Modellen är framtagen i ett examensarbete [1] 00 av Per Skoglar. Här kommer enbart slutresultatet från den modelleringen att redovisas. För simuleringar och diskussion av approximationer etcetera hänvisas till examensarbetet. Modellen har åtta tillstånd x=[x Ө x ω ] T där x Ө =[Ө 1 Ө Ө 3 Ө 4 ] T och x ω =[ω 1 ω ω 3 ω 4 ] T. Alltså vinklarna, enligt definitionen ovan, och vinkelhastigheterna i motsvarande led. x& θ = x& ω D( x K( q) = diag k( q) = α + β ( q n f =? ) 1 θ ( τ C( x, x [ 0,0, k( q), k( q) ] 3 a + q n f 4 ) θ x ω ω ) x ω F x v ω K( x ) x θ θ 1
Elementen i D( q) är d d d d d d d d d d 11 1 13 14 3 4 33 34 44 = I = d = d = d = I = I = I 1 = d = d = d 1 31 41 3 4 433 43 4 + ( I = ( θ )(( I = ( I = I + I = ( I = I + I = 0 notera att d 33 433 4 4 4 411 (1 + θ ) ij θ (1 + θ )sin( θ ) + θ ( I 411 433 411 411 (1 + θ ) 3 3 θ + I 3 4 = d + I ji 3 + I θ )cos( θ ) + ( I 433 3 + I I 4 3 411 411 ) θ θ θ )cos( θ ) 433 + I 3 ) θ cos( θ ) + ( I 433 4 4 4 θ ) 4 411 + ( I I 411 411 433 I I 433 4 ) θ sin( θ ) 4 ) θ sin(θ ) + ( I 4 + I 433 θ )sin( θ ) 4 11 + I 411 + I 4 θ + I 3 433 θ )sin( θ ) 4 Elementen i C( x c c ij ijk = 4 k= 1 k c ijk dij = θ ω 1 k θ d, x ik θ i ω ) är F y = diag [ f, f, f, f ] v1 v v3 v4 τ τ a ai = [ τ τ 0 0] a1 K = R mi i a ( V i K ω ) bi i K mi är konstanten i sambandet mellan moment och ström i DC-motor i, τ=k mi *i. K mi har enhet Nm/A. På samma sätt är K bi konstanten i sambandet mellan back-emf och vinkelhastighet i DC-motor i, Vb=K bi *ω. Enheten är alltså Vs/rad. Dessa antas framgå av specifikationer på DC-motorerna. Okända parametrar är alltså I, I, I,,,,,,,, 11 I I 33 4 I 11 4 I f 33 v f 1 v f v f 3 4 1 4 v,α, β 13
3.3.3 Simulering Utveckling och implementering av regulator för Simulering av gimbalen kan göras i Matlab. Eftersom gimbalmodellen är olinjär så kommer linjära modellen användas vid simuleringen. Eftersom tillstånd x Ө =[Ө 1 Ө Ө 3 Ө 4 ] T är begränsade så måste man ta hänsyn till de vid simuleringen. Gimbalmodellen kan simuleras genom att man använder så kallade händelser. Med hjälp av händelser kan man simulera systemet fram till den punkt då en händelse inträffar. I vårat fall blir det att begränsade tillstånd sätts till önskad begränsning och simuleringen startas om. Vilket leder till att proceduren upprepas vid nästa händelse. Till hjälp har man ballode lösningsalgoritm i Matlab. 3.3.4 Systemidentifiering De okända parametrarna i modellen har identifierats i en systemidentifikation. De skattade värdena framgår av [1] sid. 6. I identifieringen har man ansatt n f =3. De identifierade värdena kommer att anses vara korrekta och användas i simuleringen. 3.4 Referenssignalgenerator Referenssignalgeneratorn får in predikterade data från fordonsfiltret via simuleringsmiljön eller direkt genom QNX och tillsammans med flygbanans sträckning genereras data mot vilket gimbalen skall riktas in. Sättet den riktas in är för att kunna följa ett eller flera fordon på bästa sätt och att undvika att objekt tappas ur objektivet då singulariteten passeras. 3.4.1 Betraktningsalgoritmer De beslut om vilket fordon som skall betraktas en viss specificerad tid är beroende av nuvarande tillstånd. Även om det går att fånga fordonet i kameraobjektivet spelar in. Taktiken för att maximera tiden ett fordon ses kontra inget ses är som följer: Det euklidiska avståndet mellan där vi riktar gimbalen mot och de fordon som inte tittats på beräknas. Det minsta avståndet väljs, en kontroll görs om vilka objekt som ligger inom betraktelsehorisonten och en lista på dessa görs och gimbalen riktas in mot detta. Efter att kameran betraktat objektet den specificerade tiden stryks det objektet tillfälligt. Processen börjar därefter om tills alla objekt är strukna eller inga objekt inom horisonten finns. När detta tillstånd inträtt börjar processen om med ostrukna objekt. Nedan ses ett flödesschema över beslutsalgoritmen. Då ett beslut tagits lämnas GPS-koordinat för UAV och målobjekt över till referenssignalgeneratorn. 14
Figur 7. Flödesschema för referensgenerering 3.4. Refernssignalgenerering Referenssignalsgenereringen, kallad RG, har som uppgift att skapa referenssignalerna θ 1 och θ så att gimbalen riktas mot målet. Detta sker genom ett antal transformationer mellan olika koordinatsystem. 3.4..1 Signaler Systemet tar in signalerna x 0, y 0, z 0 som är fordonets position samt sin egen position d 01 =[x masp, y masp, z masp ] relativt ett fixt koordinatsystem. Vidare behöver systemet också veta 15
sin egen orientering i förhållande till det fixa koordinatsystemet. Dessa vinklar betecknas θ masp =[θ x, θ y, θ z ] Se beskrivning nedan. 3.4.. Koordinattransformationer Fordonets position och mätplattformens position ges relativt ett fixt koordinatsystem. x masp, y masp, z masp d 01 P 10 P 00 x 0, y 0, z 0 Figur 8. Koordinattransformation Vi inför vektorerna P 00 och P 10. Detta är alltså vektorerna till målet från origo i det fixa koordinatsystemet samt från punkten där mätplattformen befinner sig. Vektorn från mätplattformen till målet kan nu beräknas som P 10 = P 00 - d 01 I mätplattformen fäster vi ett nytt koordinatsystem. Vi vill nu utrycka P 1 i det koordinatsystemet. För att göra detta måste vi använda tre rotationsmatriser. En för varje axel vi vill rotera kring. Vinklarna θ masp definieras som rotationsvinklarna för rotationen kring respektive axel. Koordinaterna i det nya mätplattformsfixa koordinatsystemet kallar vi nu för P 11 =[x, y, z]. (1) Nu har vi alltså koordinaterna till målet relativt ett koordinatsystem fäst i mätplattformen. Från dessa koordinater vill vi dock lösa ut θ 1 och θ. För att göra detta måste upphängningen av sensorn studeras noggrannare. Detta är gjort i [1]. Vi återger här enbart de för vår del väsentligaste resultaten. 16
Figur 9. Beskrivning av kamerans upphängning Upphängningen består av ett antal länkar fästa i varandra så att de länkas samman enligt bilden ovan. d i är länkarnas längd. Saknas i bilden gör avståndet d 1 som är avståndet från koordinatsystemets origo till gimbalens rotationscentrum. Vi är enbart intresserade av att lösa ut θ 1 och θ för att generera en referenssignal till regulatorn. Detta resulterar i ekvationssystemet nedan. x = -a*sin(θ 1 )+b*cos(θ 1 )*cos(θ )+c*sin(θ ) y = a*cos(θ 1 ) + b*sin(θ 1 )*cos(θ ) + c*sin(θ ) () z = d 1 + b*sin(θ ) + c*cos(θ ) Med antagandet att θ 8 =0 och θ 9 =0 får man konstanterna a= d 7, b= d 6 + d 10, c=d 5. Längden på länkarna, i detta fall för IR-kameran, har mätts upp till d 1 = -60 mm, d 5 = -55 mm d 6 = 17 mm, d 7 = 0 mm För att få ut θ 1 och θ skall alltså ekvationssystemet () lösas i punkten P 11 =[x, y, z]. 17
3.4..3 Singulariteten Singulariteten kompenseras genom tillståndsavkoppling eller rent matematisk kringgång. Planen är att testa den enklare metoden först och undersöka om den är tillräcklig. 3.4.3 Regulator PD-regulator En robust PD-regulator som styr gimbalen till önskad pan- och tiltvinkel kommer att implementeras, där regleringen även ska ta hänsyn till vinkelhastigheter i dessa ledder. Normalt innehåller denna typ av regulator även en integrerande del (PID) men då det är dcmotorer som ska styras så innehåller dessa naturligt en integrator. Regulatorn kommer att vara framkopplad och ta hänsyn till störningar. PD-regulatorn kommer att få referenssignaler från referensgeneratorn i form av önskade pan- och tiltvinklar respektive önskade pan- och tiltvinkelhastigheter. Gimbalens pan- och tiltvinkel kommer att återkopplas. Utsignalerna till gimbalen kommer vara begränsade spänningsintervall. Vitt bus 1 s+3 H Referensgenerator Störsignal Ref erensv ärde Sty rsignal Mätv ärde Regulator 45 s +s Gim bal Figur 10. Regulatorstruktur Referensvärde 0 θ 1 _hat 360 panvinkel 0 θ _hat 90 tiltvinkel ω 1 _hat = panvinkelhastighet ω _hat = tiltvinkelhastighet 18
Störsignal e = störsignal Mätvärde Utveckling och implementering av regulator för 0 θ 1 360 panvinkel 0 θ 90 tiltvinkel Styrsignal -1 U 1 1 Styrsignal för panvinkel -1 U 1 Styrsignal för tiltvinkel LQ-regulator En modellbaserad och centraliserad LQ-regulator kommer att implementeras. LQ-regulatorn kommer bygga på det underlag som Per Skoglar har tagit fram i rapporten Modelling and control of EO/IR-gimbal for UAV surveillance applications (003). Modellen av gimbalen består av 8 tillstånd. Tillståndsmodellen är från början olinjär men vi kommer att använda den linjäriserade modell som Skoglar(003) har tagit fram. Till den önskade tillståndsvektorn kommer lämpliga viktmatriser att tas fram. Java-implementering av regulatorer PD-regulatorn ska implementeras i Java. Om LQ-regulatorn visar sig vara betydligt bättre än PD-regulatorn och tid finns så kommer även LQ-regulatorn att implementeras i Java. 3.5 Implementering i JAVA, programstrukturer, objekt och klasser 19
3.5.1 Översikt Den övre inringningen består av det system som skall implementeras, detta kopplas mot den undre inringningen som består av systemen i QWIP/MASP-systemet. System som GPS, IMU, RDMK samt gimbalen ligger under QNX-datorn i QWIP/MASP. För att komma åt dessa system utifrån används ett Java-bibliotek kallat sireoslib som har hand om kommunikationen mot QNX. Mot detta Java-bibliotek ska en Interface-klass skrivas som har hand om alla intressanta signaler till och från våra delsystem. Samtliga delsystem implementeras som Javaklasser med eventuella underklasser. 3.5. Interface Denna klass har till uppgift att ta hand om kommunikationen till och från QWIP/MASP via sireoslib så att alla delsystem får de signaler de efterfrågar. De signaler som hämtas från QWIP/MASP är UAV:s position, hastighet samt attitydvinklar, gimbalens vinklar samt fordonspositioner från RDMK. Dessa finns tillgängliga 400 gånger per sekund men levereras i paket om åtta, dvs. 50 paket per sekund. Namn Syfte Tillstånd Operationer Interface Ta hand om kommunikation mot QNX via sireoslib. released/updating update get_gimbal_pos set_gimbal_speed 0
get_gps_position get_imu_data get_vehicle_data 3.5.3 Användarinterface/GUI Detta delsystem tar hand om in- och utmatning mot användaren. Uppgifter som kommer in från användaren skickas vidare till beslutsenheten där de utförs. En presentation om systemets tillstånd skall ges till användaren. Kommunikation mot andra delsystem sker via klassen Interface. Namn UserInterface Syfte Ha hand om in- och utmatningar mot användaren. Tillstånd - Operationer update get_input get_command output_data 3.5.4 Fordonsfilter Varje instans av denna klass består av ett utökat olinjärt kalmanfilter som skattar fordons position, hastighet samt attitydvinkel på marken. Skattningen görs på data som fås in via Interfaceklassen från RDMK. De skattade tillstånden skickas sedan vidare till beslutsenheten. Namn Syfte Tillstånd Operationer KalmanFilter Kalmanfilter för skattning av fordonsposition measure/predict predict_update measure_update get_states 3.5.5 Beslutsenhet Detta delsystem ska ta in kommandon från användarinterfacet, fordonsskattningar från fordonsfiltret samt UAV:s position från GPS och attitydvinkel från IMU. Av denna information skall ett visst fordon/punkt på marken väljas att titta på. Det valda fordonets tillstånd skickas vidare till referensgenereringen. Namn CommandUnit 1
Syfte Fattar beslut om vilket fordon som ska följas. Tillstånd - Operationer update set_mode set_vehicle get_output 3.5.6 Referensgenerering Denna klass tar in information från beslutsenheten och transformerar dessa koordinater till referensvinklar för gimbalen. När detta är gjort kompenserar man för att undvika gimbalens singularitet. Dessa vinklar med eventuell kompensation skickas sedan vidare till regulatorn. Namn ReferensGenerator Syfte Genererar referensvinklar samt vinkelhastigheter till regulatorn. Tillstånd - Operationer update check_singularity get_output 3.5.7 Regulator En basklass som kapslar in en regulator. Eftersom olika regleralgoritmer ska testas och implementeras så måste denna basklass skrivas där man definierar interfacefunktionerna mot andra klasser i systemet. Specifika regulatorer ärver sedan från denna basklass. Namn Regulator Syfte Basklass för implementation av regulatorer. Tillstånd - Operationer update get_output set_input Namn Basklass Syfte PIDRegulator Regulator Implementerar en diskret PID-regulator.
Tillstånd - Operationer update get_output set_input set_parameters get_parameters Namn LQRegulator Basklass Regulator Syfte Implementerar en diskret LQ-regulator. Tillstånd - Operationer update get_output set_input set_reference set_lr get_lr set_ly get_ly Namn LQKalmanRegulator Basklass Regulator Syfte Implementerar en diskret LQ-regulator med Kalman-estimator. Tillstånd - Operationer update update_states get_output set_input set_reference set_kalman_model set_k get_k set_ly get_ly set_lr get_lr 3
4 Implementering Utveckling och implementering av regulator för Till att börja med kommer regulatorn och referenssignalgenereringen att implementeras i simuleringsmiljön för att göra design och utvärdering enklare. För att testa dessa komponenter på QWIP/MASP ska regulatorer och referenssignalgenerering sedan implementeras och testas på QNX. 4.1 Ingående komponenter Implementeringen på QWIP/MASP består av följande delsystem: Fordonsfilter Regulator Referenssignalgenerering Kommunikation med QWIP/MASP Figur 11. Blockschema över mätplattformen 4. Funktionsbeskrivning Systemet får in målkoordinator via GPRS-nätet från den centrala positionsservern eller från modell. Dessa behandlas i fordonsfiltret för att generera skattningar. Med hjälp av dessa bestämmer referensgeneratorn utifrån gimbalens GPS-position, attitydvinklar, kamerans avbildning och vald uppgift en punkt på marken att titta på. Därefter genereras referensvinklar samt referensvinkelhastigheter som skickas till gimbalregulatorn. Denna riktar in gimbalen mot de givna referenserna. 4.3 QNX 4
Utveckling och implementering av regulator för Tid är reserverad för implementation av UAV-systemet i realtidsoperativsystemet QNX. 5 Referenser Skoglar, Per (003), Modelling and control of EO/IR-gimbal for UAV surveillance applications Eriksson, Lars Torsten & Wiedersheim-Paul, Finn (1991), Att utreda forska och rapportera. 1 uppl, Liber Ekonomi, Malmö. ISBN 47-06385-8 Ingemark, Peter (1990), Layout med dator. Principer för funktionell formgivning. Studentlitteratur, Lund. Jarrick, Arne & Josephson, Olle (1996), Från tanke till text. En språkhandbok för uppsatsskrivande studenter. uppl, Studentlitteratur, Lund. Svenska skrivregler (000), Svenska språknämnden. uppl, Liber AB, Stockholm. ISBN47-04974-X Elektroniska källor Adamsson, Adam (1999). Behov av rapportmallar <anders@institution.se> [e-post]. Personligt brev till Christian Krysander 1999-05-0. Harnad, S: Post Gutenberg Galaxy: The Fourth Revolution in the Means of Production of Knowledge in The Public-Access Computer Systems Review vol, no 1, pp 39-53. [FTP]. Hämtat från <ftp://cogsci.ecs.soton.ac.uk/pub/harnad/harnad91.postgutenberg> 1998-1- 17. Knepph, Otto <Otto.Knepph@fek.uu.se> Life is a Dream 1997-01-3 [Newsgroup]. Hämtat från <alt.books.reviews> 1997-0-10. Seabrook, RHC seabrook@clark.net Community and Progress jan. 1994 [Listserv]. Hämtat från <cybernmind@jefferson.village.virginia.edu> 1999-06-01. Seabrook, RHC seabrook@clark.net Community and Progress jan. 1994 [Listserv]. Hämtat från <cybernmind@jefferson.village.virginia.edu> via listserv@jefferson.village.edu> 1999-06-05. Zariski, A. Student Peer Assessment in Teriary Education: Promise, Perils, and Practice i Abort, J & Willcoxson. (eds), 1996, Teaching and Learning Within and Across Disciplines, Murdoch University, Perth [www]. Hämtat från <http://carmen.murdoch.edu.au:80/~zariski/peer1.html> 1999-0-0. Opublicerade källor 5
Bertilsson, Bertil, (001), Risk och säkerhet ur ett samhällsvetenskapligt perspektiv. Institutionen för Tema, tema Teknik och social förändring vid Linköpings universitet (diskussionsunderlag), Linköping Personlig kommunikation Cesarson, Cesar, verkställande direktör vid Mallproduktion AB, Linköping. 003-1-10 (telefonintervju) Davidsson, David, projektledare vid AB Skrivhjälp, Norrköping. 003-1-15 (brev). 6