ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ V PRAZE CESK E ´ FAKULTA ELEKTROTECHNICKA
´ PRACE ´ DIPLOMOVA Mˇ eˇ ren´ı na n´ aklonn´ em stolku
Praha, 2008
ˇ Autor: Martin Sipoˇ s
p
q
Anotace C´ılem t´eto diplomov´e pr´ace je n´avrh mˇeˇric´ıho syst´emu n´aklon˚ u vyuˇz´ıvaj´ıc´ıho dvouosou elektrolytickou libelu. Mˇeˇren´ı u ´hl˚ u n´aklonu se pohybuje v rozsahu ±70◦ . Namˇeˇren´e u ´daje budou d´ale zpracov´any a odchylky od spr´avn´ ych hodnot budou korigov´any. Syst´em bude spolupracovat s dvouosou elektrolytickou libelou pro mˇeˇren´ı n´aklon˚ u v rozsahu ±20◦ . Propojen´ı tˇechto syst´em˚ u bude matematicky realizov´ano Kalmanov´ ym filtrem.
Annotation The goal of this diploma thesis is design of measuring system of tilts. This system uses dual axis electrolytic tilt sensor. Range of measured angles of tilts is ±70◦ . Measured data will be again processed and deviations from right values will be corrected. System will be cooperating with dual axis electrolytic tilt sensor for range ±20◦ . Cooperating of these systems will be solved mathematically by the Kalman filter.
Prohl´ aˇ sen´ı o samostatn´ em zpracov´ an´ı pr´ ace Prohlaˇsuji, ˇze jsem zadanou diplomovou pr´aci ”Mˇeˇren´ı na n´aklonn´em stolku” vypracoval samostatnˇe a pouˇzil jsem pouze podklady (literaturu, projekty, software atd.) uveden´e v pˇriloˇzen´em seznamu. Nem´am z´avaˇzn´ y d˚ uvod proti uˇzit´ı tohoto ˇskoln´ıho d´ıla ve smyslu § 60 Z´akona ˇc.121/2000 Sb. , o pr´avu autorsk´em, o pr´avech souvisej´ıc´ıch s pr´avem autorsk´ ym a o zmˇenˇe nˇekter´ ych z´akon˚ u (autorsk´ y z´akon).
V Praze dne ..........................
Podpis .............................
Podˇ ekov´ an´ı Na tomto m´ıstˇe bych r´ad podˇekoval pˇredevˇs´ım sv´e rodinˇe a sv´ ym bl´ızk´ ym za podporu, kterou mi poskytovali bˇehem cel´eho studia. D´ale bych chtˇel podˇekovat vedouc´ımu diplomov´e pr´ace Ing. Janu Roh´aˇcovi, Ph.D. za ˇcetn´e pˇripom´ınky a n´avrhy.
OBSAH ´ 1 Uvod
9
2 Teoretick´ y rozbor 2.1
10
Senzory n´aklonu - elektrolytick´e libely . . . . . . . . . . . . . . . . . .
10
2.1.1
Elektrick´e a mechanick´e vlastnosti senzoru . . . . . . . . . . . .
11
2.1.2
Princip ˇcinnosti jednoos´eho senzoru . . . . . . . . . . . . . . . .
12
2.1.3
Princip ˇcinnosti dvouos´eho senzoru . . . . . . . . . . . . . . . .
13
2.1.4
Charakteristick´e parametry senzor˚ u n´aklonu . . . . . . . . . . .
15
2.2
N´aklonn´ y stolek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.3
Lagrangeova interpolace . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.4
Kalmanova filtrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.4.1
Princip adaptivn´ı filtrace . . . . . . . . . . . . . . . . . . . . . .
18
2.4.2
Princip Kalmanovy filtrace . . . . . . . . . . . . . . . . . . . . .
20
2.4.3
Kalman˚ uv filtr pro line´arn´ı stochastick´ y syst´em . . . . . . . . .
22
2.4.4
Kalman˚ uv filtr pro neline´arn´ı stochastick´ y syst´em . . . . . . . .
25
2.4.5
Obecn´e vlastnosti Kalmanova filtru . . . . . . . . . . . . . . . .
28
2.4.6
Bˇelic´ı filtr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3 Mˇ eˇ ric´ı modul MICRO 50-D70
33
3.1
Popis vybran´eho mˇeˇric´ıho modulu . . . . . . . . . . . . . . . . . . . . .
33
3.2
Vlastnosti elektrolytick´e libely SP5020-A-000 . . . . . . . . . . . . . . .
35
3.3
V´ ystupn´ı data z mˇeˇric´ıho modulu a v´ ypoˇcet u ´hlu n´aklonu . . . . . . .
36
4 N´ avrh syst´ emu a popis ˇ reˇ sen´ı
38
4.1
Linearizace pˇrevodn´ı charakteristiky . . . . . . . . . . . . . . . . . . . .
39
4.2
Aplikace Kalmanova filtru . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.2.1
Mˇeˇren´ı driftu . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.2.2
N´avrh Kalmanova filtru . . . . . . . . . . . . . . . . . . . . . .
45
4.2.3
V´ yvojov´ y diagram navrˇzen´eho programu . . . . . . . . . . . . .
48
5 Namˇ eˇ ren´ e pr˚ ubˇ ehy dat, grafy 5.1
51
Pr˚ ubˇehy Kalmanova filtru . . . . . . . . . . . . . . . . . . . . . . . . .
51
5.1.1
51
Pr˚ ubˇehy pro pod´eln´ y sklon . . . . . . . . . . . . . . . . . . . . .
5.1.2
Pr˚ ubˇehy pro pˇr´ıˇcn´ y n´aklon . . . . . . . . . . . . . . . . . . . . .
54
5.2
Odezva Kalmanova filtru na skokovou zmˇenu . . . . . . . . . . . . . . .
56
5.3
Teplotn´ı z´avislost mˇeˇric´ı jednotky . . . . . . . . . . . . . . . . . . . . .
58
5.4
Z´avislost kˇr´ıˇzov´e vazby na u ´hlu n´aklonu . . . . . . . . . . . . . . . . .
59
5.5
Mˇeˇren´ı hystereze mˇeˇric´ı jednotky . . . . . . . . . . . . . . . . . . . . .
60
5.6
Software navrˇzen´ y pro mˇeˇren´ı charakteristik . . . . . . . . . . . . . . .
61
6 Zhodnocen´ı dosaˇ zen´ ych v´ ysledk˚ u
63
7 Z´ avˇ er
64
8 Pˇ r´ılohy
65
8.1
Pˇr´ıloha A - Fotodokumentace Micro 50-D70 . . . . . . . . . . . . . . .
65
8.2
Pˇr´ıloha B - N´akres a rozmˇery Micro 50-D70 . . . . . . . . . . . . . . .
65
8.3
Pˇr´ıloha C - Pˇrevodn´ı charakteristiky - pod´eln´ y sklon . . . . . . . . . .
66
8.4
Pˇr´ıloha D - Pˇrevodn´ı charakteristiky - pˇr´ıˇcn´ y n´aklon . . . . . . . . . .
67
8.5
Pˇr´ıloha E - Funkce lran(x, P dSF) . . . . . . . . . . . . . . . . . . . . .
68
8.6
Pˇr´ıloha F - M-file - v´ ypoˇcet KF . . . . . . . . . . . . . . . . . . . . . .
69
Literatura
73
Seznam obr´ azk˚ u
76
Seznam tabulek
78
Seznam pˇ r´ıloh
79
Obsah pˇ riloˇ zen´ eho CD
80
´ KAPITOLA 1. UVOD
1
9
´ UVOD Syst´emy pro automatick´e mˇeˇren´ı n´aklon˚ u jsou v souˇcasn´e dobˇe pouˇz´ıv´any v mnoha
technick´ ych odvˇetv´ıch napˇr. ve stavebnictv´ı, v automobilov´em a leteck´em pr˚ umyslu, v n´amoˇrnictv´ı, pro satelitn´ı syst´emy a v mnoha dalˇs´ıch aplikac´ıch. Automatick´e mˇeˇren´ı n´aklon˚ u v dneˇsn´ı dobˇe zasahuje t´emˇeˇr do vˇsech technick´ ych odvˇetv´ı. V leteck´em odvˇetv´ı se syst´emy pro mˇeˇren´ı n´aklon˚ u pouˇz´ıvaj´ı napˇr´ıklad: - pro testov´an´ı a kalibraci leteck´ ych pˇr´ıstroj˚ u a syst´em˚ u, - kalibraci syst´em˚ u inerci´aln´ı navigace, - pro kontroln´ı a stabilizaˇcn´ı u ´ˇcely, - v trenaˇzerech a simul´atorech, - na letiˇst´ıch v teleskopick´ ych mostech, - v gyroskopick´ ych syst´emech a dalˇs´ıch aplikac´ıch. C´ılem t´eto diplomov´e pr´ace je navrhnout pˇresn´ y syst´em pro mˇeˇren´ı n´aklon˚ u pomoc´ı elektrolytick´e libely v rozsahu u ´hl˚ u ±70◦ . Elektrolytick´a libela je senzor n´aklonu, kter´ y v z´avislosti na n´aklonu mˇen´ı ponor jednotliv´ ych elektrod. V´ ystupn´ı sign´al tohoto senzoru je u ´mˇern´ y u ´hlu naklonˇen´ı. Syst´em bude vyuˇz´ıv´an k mˇeˇren´ı pod´eln´eho sklonu a pˇr´ıˇcn´eho n´aklonu. Tento syst´em bude d´ale spolupracovat se syst´emem pro mˇeˇren´ı n´aklon˚ u pomoc´ı 3-os´eho akcelerometru a elektrolytick´e libely v rozsahu ±20◦ , jej´ıˇz u ´kolem je pˇresn´e urˇcen´ı vodorovn´e polohy. V´ ysledn´ y syst´em pro pˇresn´e mˇeˇren´ı n´aklon˚ u vznikne spojen´ım tˇr´ı n´aklonn´ ych syst´em˚ u, jejichˇz propojen´ı bude realizov´ano Kalmanov´ ym filtrem. Diplomov´a pr´ace je ˇclenˇena do osmi kapitol vˇcetnˇe pˇr´ıloh a doplnˇena CD s namˇeˇren´ ymi daty, zdrojov´ ymi k´ody a veˇskerou dokumentac´ı. V teoretick´em rozboru je pops´an princip elektrolytick´e libely, charakteristick´e vlastnosti senzor˚ u n´aklonu, Lagrangeovy interpolace a Kalmanovy filtrace. Tˇret´ı kapitolu tvoˇr´ı popis mˇeˇric´ı jednotky Micro 50-D70, vlastnosti samotn´eho senˇ zoru n´aklonu a komunikace s mˇeˇric´ı jednotkou. Ctvrt´ a kapitola obsahuje n´avrh syst´emu a popis ˇreˇsen´ı syst´emu n´aklon˚ u, v p´at´e kapitole jsou uvedeny namˇeˇren´e pr˚ ubˇehy a z´avislosti. Zhodnocen´ı dosaˇzen´ ych v´ ysledk˚ u a shrnut´ı n´avrhu syst´emu pro mˇeˇren´ı n´aklon˚ u je pops´ano ˇsest´e v kapitole.
´ ROZBOR KAPITOLA 2. TEORETICKY
10
´ ROZBOR TEORETICKY
2 2.1
Senzory n´ aklonu - elektrolytick´ e libely
Elektrolytick´a libela je senzor, kter´ y je pouˇz´ıv´an k vyhodnocov´an´ı n´aklon˚ u. Podle konstrukˇcn´ıho uspoˇra´d´an´ı senzoru jsou nab´ızeny r˚ uzn´e typy, kter´e se liˇs´ı pˇredevˇs´ım rozsahem u ´hl˚ u, kter´e je senzor schopen mˇeˇrit. Podle u ´ˇcelu vyuˇzit´ı jsou nab´ızeny senzory jednoos´e a dvouos´e. Rozsahy u ´hl˚ u, kter´e je senzor schopen mˇeˇrit se pohybuj´ı v rozmez´ı od ±0, 25◦ do ±80◦ v z´avislosti na konstrukˇcn´ım proveden´ı senzoru. Na obr. 2.1 jsou zobrazeny jednoos´e senzory pro mˇeˇren´ı n´aklon˚ u. Na obr. 2.2 vlevo je jednoos´ y senzor pro mˇeˇren´ı n´aklon˚ u. Pˇri uloˇzen´ı dvou jednoos´ ych senzor˚ u do dvouos´eho zapouzdˇren´ı, tvoˇr´ı dvouosou elektrolytickou libelu. Na obr. 2.2 vpravo je dvouos´ y senzor pro mˇeˇren´ı n´aklonu. Parametry pouˇz´ıvan´eho senzoru jsou uvedeny v kap. 3.
Obr. 2.1: Jednoos´e elektrolytick´e libely
Obr. 2.2: Jednoos´e a dvouos´e elektrolytick´e libely
Tyto senzory jsou schopn´e mˇeˇrit velmi pˇresnˇe pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon, jejich v´ yhodami jsou n´ızk´a cena, opakovatelnost mˇeˇren´ı, spolehlivost, stabilita a
´ ROZBOR KAPITOLA 2. TEORETICKY
11
n´ızk´a spotˇreba energie. Elektrolytick´e senzory jsou schopn´e pracovat v n´aroˇcn´ ych podm´ınk´ach, ve kter´ ych je senzor vystaven velk´emu vlivu teploty a vlhkosti.
2.1.1
Elektrick´ e a mechanick´ e vlastnosti senzoru
Elektrolytick´ y senzor n´aklonu se chov´a jako odporov´ y potenciometr. Se zmˇenou n´aklonu doch´az´ı ke zmˇenˇe jeho impedance, kter´a je u ´mˇern´a u ´hlu naklonˇen´ı. Vlivem nap´ajen´ı stˇr´ıdav´ ym sign´alem a deskov´ ym tvarem elektrod senzor kromˇe odporu tak´e vykazuje kapacitu, kterou lze minimalizovat vhodnou volbou frekvence nap´ajec´ıho sign´alu nebo vhodn´ ym pr˚ ubˇehem nap´ajec´ıho napˇet´ı. N´ahradn´ı obvod jednoos´e elektrolytick´e libely je na obr. 2.3.
Obr. 2.3: N´ahradn´ı obvod jednoos´e elektrolytick´e libely
Elektrolytick´ y senzor n´aklonu mus´ı b´ yt nap´ajen ze zdroje stˇr´ıdav´eho sign´alu. Pokud by byl senzor nap´ajen stejnosmˇern´ ym napˇet´ım nebo proudem, doˇslo by mezi elektrodami k elektrol´ yze a deionizaci vodiv´ ych sol´ı v elektrolytu. Jak bylo v´ yˇse uvedeno, senzor se chov´a jako odporov´ y potenciometr. Je-li senzor buzen stˇr´ıdav´ ym proudem, je na v´ ystupu sn´ım´ano stˇr´ıdav´e napˇet´ı, kter´e je u ´mˇern´e u ´hlu naklonˇen´ı. Impedance senzoru se pohybuje v rozmez´ı 1 kΩ aˇz 10 kΩ. V souˇcasn´e dobˇe je v´ yhodnˇejˇs´ı pouˇz´ıt senzor s vyˇsˇs´ı impedanc´ı z d˚ uvod˚ u minimalizace n´arok˚ u na v´ ykon nap´ajec´ıho zdroje. Charakteristick´e vlastnosti elektrolytick´ych senzor˚ u SP5000, ud´avan´e v´yrobcem Spectron Glass and Electronics Incorporated: - frekvence budic´ıho sign´alu f = 20 Hz ÷ 20 kHz, - velikost budic´ıho obd´eln´ıkov´eho, sinusov´eho nebo pilovit´eho napˇet´ı U=5 VP P , - impedance senzoru Z = 1 kΩ ÷ 10 kΩ, - velikost budic´ıho proudu I = 0, 5 mA ÷ 1 mA, - blokov´an´ı budic´ıho sign´alu pomoc´ı tantalov´ ych kondenz´ator˚ u.
´ ROZBOR KAPITOLA 2. TEORETICKY
12
Nejˇcastˇeji se pouˇz´ıv´a zapojen´ı elektrolytick´eho senzoru v m˚ ustkov´em zapojen´ı, kdy senzor tvoˇr´ı jednu vˇetev Wheatstonova m˚ ustku. Senzor se skl´ad´a z n´adobky vyroben´e ze skla, kter´e je velmi kˇrehk´e a nen´ı odoln´e v˚ uˇci nam´ah´an´ı na tah, na druhou stranu je dobˇre odoln´e na tlak a na stˇrih. Podle rozsahu n´aklonu a rozliˇsen´ı se senzory vyr´abˇej´ı v r˚ uzn´ ych konstrukˇcn´ıch uspoˇra´d´an´ıch, kter´e se od sebe liˇs´ı v´ yˇskou senzoru, vzd´alenost´ı elektrod, mnoˇzstv´ım a sloˇzen´ım elektrolytu, tvarem sklenˇen´e nebo keramick´e n´adobky senzor˚ u a dalˇs´ımi parametry. Napˇr´ıklad zmˇenou viskozity elektrolytu je senzor odolnˇejˇs´ı v˚ uˇci vibrac´ım, avˇsak dojde ke zhorˇsen´ı opakovatelnosti mˇeˇren´ı obzvl´aˇst’ pˇri velk´ ych n´aklonech vlivem ulp´ıv´an´ı kapaliny na stˇen´ach sklenˇen´e n´adobky senzoru. U dvouos´ ych senzor˚ u jsou poˇzadavky na elektrolyt shodn´e, avˇsak je nav´ıc nutn´e br´at v u ´vahu vazbu mezi navz´ajem na sebe kolm´ ymi osami citlivosti. V z´avislosti na typu senzoru, na typu jeho zapouzdˇren´ı a na jeho upevnˇen´ı je pro kaˇzd´ y typ senzoru definov´an jin´ y postup kalibrace. Vˇsechny senzory n´aklon˚ u na b´azi elektrolytick´e kapaliny maj´ı omezen´ y rozsah u ´hl˚ u pouˇzitelnosti, kter´ y je menˇs´ı neˇz ±90◦ .
2.1.2
Princip ˇ cinnosti jednoos´ eho senzoru
Na obr. 2.4 je zobrazen jednoos´ y elektrolytick´ y senzor. Elektricky vodiv´a kapalina je hermeticky uzavˇrena ve sklenˇen´e nebo keramick´e n´adobce. D´ale se senzor skl´ad´a
Obr. 2.4: Jednoos´ y senzor pˇri nulov´em n´aklonu
´ ROZBOR KAPITOLA 2. TEORETICKY
13
z kladn´e, z´aporn´e a spoleˇcn´e elektrody. Pˇri nulov´em n´aklonu jsou obˇe elektrody ponoˇreny stejnˇe a tedy v´ ystupn´ı rozd´ılov´ y sign´al je nulov´ y. Na obr. 2.5 je senzor v naklonˇen´e poloze ve smˇeru osy citlivosti. Pˇri n´aklonu dojde ke zmenˇsen´ı ponoru jedn´e elektrody a ke zv´ yˇsen´ı ponoru druh´e elektrody. V´ ystupn´ı sign´al je potom u ´mˇern´ yu ´hlu naklonˇen´ı. Z lev´e ˇc´asti obr. 2.5 je patrn´e, ˇze dojde ke zmˇenˇe odporu, resp. impedance.
Obr. 2.5: Jednoos´ y senzor pˇri nulov´em n´aklonu
2.1.3
Princip ˇ cinnosti dvouos´ eho senzoru
Dvouos´e senzory n´aklonu maj´ı dvˇe dvojice elektrod, kter´e jsou na sebe navz´ajem kolm´e. Skl´adaj´ı se ze sklenˇen´e n´adobky s pˇeti elektrodami, kde prostˇredn´ı elektroda je spoleˇcn´a. Zb´ yvaj´ıc´ı elektrody jsou dvˇe dvojice kladn´ ych a z´aporn´ ych elektrod. Principi´aln´ı sch´ema je zobrazeno na obr. 2.6. Pˇri mˇeˇren´ı s dvouos´ ym senzorem se pouˇz´ıvaj´ı dva rozd´ıln´e zp˚ usoby nap´ajen´ı a vyhodnocen´ı, aby mˇeˇren´ı bylo nez´avisl´e. Prvn´ım z nich je buzen´ı pouze jedn´e osy v jednom ˇcasov´em okamˇziku a buzen´ı druh´e osy v dalˇs´ım ˇcasov´em okamˇziku. Doch´az´ı tedy stˇr´ıdavˇe k pˇrep´ın´an´ı mezi osami mˇeˇren´ı. Nap´ajen´ı neaktivn´ı osy mˇeˇren´ı mus´ı b´ yt odpojeno. Nev´ yhodou tohoto zp˚ usobu vyhodnocen´ı je nutnost elektronick´eho pˇrep´ınaˇce. V´ yhodami jsou menˇs´ı spotˇreba energie, moˇznost buzen´ı pouze mˇeˇren´e osy n´aklonu. Pokud bude poˇzadov´ano mˇeˇren´ı pouze v jednom smˇeru n´aklonu, nemus´ı b´ yt buzena druh´a osa mˇeˇren´ı.
´ ROZBOR KAPITOLA 2. TEORETICKY
14
Obr. 2.6: Princip dvouos´eho senzoru n´aklonu
Dalˇs´ı nespornou v´ yhodou je vˇetˇs´ı citlivost, nebot’ k mˇeˇren´ı se vyuˇz´ıvaj´ı elektrody um´ıstˇen´e diagon´alnˇe, kter´e maj´ı vˇetˇs´ı vz´ajemnou vzd´alenost. Druh´ ym zp˚ usobem je buzen´ı dvˇemi frekvencemi, kdy druh´a frekvence je dvojn´asobkem prvn´ı frekvence. Vˇsechny ˇctyˇri elektrody jsou buzeny a ˇr´ızeny souˇcasnˇe a z budic´ıho sign´alu je odvozeno, kter´a osa je pr´avˇe mˇeˇrena. V´ yhodou druh´eho zp˚ usobu mˇeˇren´ı je jednoduch´a implementace do dalˇs´ıho hardwaru. Tento zp˚ usob nevyˇzaduje pˇrep´ın´an´ı a jeho ˇr´ızen´ı mikrokontrolerem. Princip mˇeˇren´ı t´ımto zp˚ usobem je patrn´ y z obr. 2.7. V lev´e ˇc´asti je uk´az´an senzor n´aklonu s oznaˇcen´ım jednotliv´ ych elektrod, v prav´e ˇca´sti je diagram, ve kter´em je naznaˇceno buzen´ı jednotliv´ ych elektrod a smˇer pr˚ uchodu proudu elektrolytick´ ym senzorem. V prvn´ım kroku je buzena elektroda c a e, proud tekouc´ı senzorem smˇeˇruje od elektrod c a e k elektrod´am a a d, v dalˇs´ıch kroc´ıch jsou buzeny dalˇs´ı dvojice elektrod, ˇc´ımˇz se mˇen´ı smˇer proudu, kter´ y je u ´mˇern´ yu ´hlu n´aklonu.
´ ROZBOR KAPITOLA 2. TEORETICKY
15
Obr. 2.7: Princip vyhodnocen´ı smˇeru n´aklonu
2.1.4
Charakteristick´ e parametry senzor˚ u n´ aklonu
Pˇri v´ ybˇeru senzoru a n´avrhu syst´emu je d˚ uleˇzit´e uv´aˇzen´ı charakteristick´ ych parametr˚ u, kter´e se pro jednotliv´e typy senzor˚ u liˇs´ı v z´avislosti na tvaru a rozmˇeru senzoru, typu a mnoˇzstv´ı elektrolytu a rozmˇerech elektrod. Nepˇresnosti v´ yrobn´ıch technologi´ı, chyby metody a n´ahodn´e vnˇejˇs´ı vlivy zp˚ usobuj´ı chyby resp. nejistoty, kter´e je potˇreba korigovat. Z´akladn´ı parametry senzor˚ u n´aklonu: Statick´a pˇrevodn´ı charakteristika - funkˇcn´ı z´avislost y = f (x) mezi vstupn´ı veliˇcinou x a v´ ystupn´ı veliˇcinou y v ˇcasovˇe ust´alen´em stavu. Tuto z´avislost lze velmi ˇcasto popsat polynomem, viz. literatura [2] y = a0 + a1 x + a2 x2 + ... + an xn .
(2.1)
Celkov´y rozsah - nejvˇetˇs´ı u ´hel, kter´ y je jeˇstˇe senzor schopen mˇeˇrit. Line´arn´ı rozsah - maxim´aln´ı rozsah z celkov´eho rozsahu, ve kter´em je u ´mˇernost zmˇeny u ´hlu a zmˇeny v´ ystupn´ıho sign´alu konstantn´ı. Rozliˇsitelnost senzoru - d´ana hodnotou sn´ıman´e veliˇciny, pˇri n´ıˇz je na v´ ystupu senzoru sign´al odpov´ıdaj´ıc´ı smˇerodatn´e odchylce (efektivn´ı hodnotˇe) ˇsumu, viz. literatura [2]
´ ROZBOR KAPITOLA 2. TEORETICKY
16
Opakovatelnost senzoru - d´ana zmˇenou namˇeˇren´e po n´avratu do stejn´eho bodu zp˚ usobenou ˇcasovou zmˇenou charakteristiky nebo napˇr. mechanick´ ymi nepˇresnostmi. Offset (posuv nuly) - aditivn´ı chyba zp˚ usoben´a posunem jmenovit´e line´arn´ı charakteristiky (v nˇekter´ ych literatur´ach oznaˇcov´ano jako bias). Chyba linearity - d´ana odchylkou od ide´aln´ı line´arn´ı charakteristiky, viz. literatura [2] δL =
y − yL ymax − ymin
!
,
(2.2)
max
kde yL - definov´ana ide´aln´ı line´arn´ı funkc´ı y = Kx nebo y = y0 + K1 x, ymin - minim´aln´ı v´ ystupn´ı hodnota, ymax - maxim´aln´ı v´ ystupn´ı hodnota. Pˇresnost senzoru - maxim´aln´ı odchylka v´ ystupn´ıho sign´alu pˇri mˇeˇren´ı absolutn´ı hodnoty u ´hlu s uv´aˇzen´ım vˇsech nepˇr´ızniv´ ych vliv˚ u (nelinearita, teplotn´ı z´avislost, opakovatelnost, atd.) Pˇrevodn´ı konstanta - pomˇer v´ ystupn´ıho sign´alu a u ´hlu n´aklonu (jednotka/◦ ). Teplotn´ı koeficient pˇri nulov´em n´aklonu - velikost zmˇeny v´ ystupn´ıho sign´alu vlivem zmˇeny teploty pˇri nulov´em n´aklonu. Teplotn´ı koeficient - zmˇena v´ ystupn´ıho sign´alu pˇri zmˇenˇe teploty a nenulov´em u ´hlu n´aklonu. Drift - neˇz´adouc´ı nestabiln´ı ˇcinnost senzoru, zp˚ usoben´a zmˇenami jeho parametr˚ u, napˇr. kol´ıs´an´ı poˇzadovan´eho ust´alen´eho stavu. Chyba typu ”Cross-Axis” - maxim´aln´ı dovolen´a odchylka, je-li je senzor nakl´anˇen ve smˇeru osy kolm´e na osu necitlivosti. Neortogonalita - vz´ajemn´a kolmost 2, resp. 3 os v´ıceos´eho syst´emu. Pr´ah citlivosti - nejmenˇs´ı zmˇena vstupn´ı veliˇciny, kter´a zp˚ usob´ı zmˇenu v´ ystupn´ı veliˇciny. Doba ust´alen´ı - ˇcas, za kter´ y hodnota v´ ystupn´ıho sign´alu dos´ahne 99-ti% ust´alen´e hodnoty. Chyba hystereze [2] δL =
y↓ − y↑ ymax − ymin
!
, max
kde y↓ - v´ ystupn´ı hodnota sign´alu pˇri sniˇzov´an´ı n´aklonu, y↑ - v´ ystupn´ı hodnota sign´alu pˇri zvyˇsov´an´ı n´aklonu, ymin - minim´aln´ı v´ ystupn´ı hodnota, ymax - maxim´aln´ı v´ ystupn´ı hodnota.
(2.3)
´ ROZBOR KAPITOLA 2. TEORETICKY
2.2
17
N´ aklonn´ y stolek
N´aklonn´ y stolek je pouˇz´ıv´an pro nastaven´ı pod´eln´eho sklonu a pˇr´ıˇcn´eho n´aklonu a d´ale umoˇzn ˇuje rotaci okolo osy kolm´e k vodorovn´e poloze. Stolek umoˇzn ˇuje n´aklon v rozsahu u ´hl˚ u -60◦ aˇz +60◦ pro pod´eln´ y sklon a -30◦ aˇz +30◦ pro pˇr´ıˇcn´ y n´aklon. Na n´aklonn´em stolku m˚ uˇze b´ yt nastaven u ´hel s maxim´aln´ım rozliˇsen´ım 0, 1◦ pro obˇe osy n´aklonu. N´aklonn´ y stolek je zobrazen na obr. 2.8.
Obr. 2.8: N´aklonn´ y stolek
Pˇred mˇeˇren´ım je stolek nutn´e vyv´aˇzit do vodorovn´e polohy tˇremi nastaviteln´ ymi noˇziˇckami. Vodorovnou polohu lze nastavit r˚ uzn´ ymi zp˚ usoby, napˇr. pouˇzit´ım pˇresn´ ych akcelerometr˚ u nebo pomoc´ı libel, kter´e jsou souˇca´st´ı z´akladny n´aklonn´eho stolku. Stolek je vyroben z hlin´ıku, pro uchycen´ı senzor˚ u, mˇeˇric´ıch syst´emu a jin´ ych zaˇr´ızen´ı jsou na desce stolku vyfr´ezov´any u ´chytn´e dr´aˇzky.
´ ROZBOR KAPITOLA 2. TEORETICKY
2.3
18
Lagrangeova interpolace
Lagrangeova interpolace se pouˇz´ıv´a v pˇr´ıpadech, kdy je poˇzadov´ano aproximovat funkci, kter´a je d´ana sv´ ymi hodnotami v n+1 bodech xi = 0, 1, ..., n a je-li poˇzadov´ano, aby aproximace proch´azela zadan´ ymi body. Aproximac´ı jsou z´ısk´any pˇribliˇzn´e hodnoty zadan´e funkce v libovoln´em bodˇe intervalu hx0 , xn i. Lagrange˚ uv interpolaˇcn´ı polynom - jsou zad´any body x0 ,...,xn a k nim funkˇcn´ı hodnoty y0 ,...,yn . Lagrange˚ uv interpolaˇcn´ı polynom Ln je polynom stupnˇe nejv´ yˇse n takov´ y, ˇze se jeho hodnota ve vˇsech bodech x0 ,...,xn rovn´a zadan´ ym funkˇcn´ım hodnot´am y0 ,...,yn . Plat´ı tedy L0 (x0 ) = y0 , L1 (x1 ) = y1 ,...,Ln (xn ) = yn . Body x0 ,...,xn jsou naz´ yv´any uzly interpolace. K sestrojen´ı Lagrangeova polynomu jsou definov´any funkce Fi (x) tak, ˇze Fi (xj ) = 1 pro i = j, Fi (xj ) = 0 pro i 6= j. Tyto funkce maj´ı tvar: Fi (x) =
n Y (x − xj ) (x − x0 )...(x − xi−1 ) · (x − xx+1 )...(x − xn ) = (xi − x0 )...(xi − xi−1 ) · (xi − xi+1 )(xi − xn ) j=0,j6=i (xi − xj )
(2.4)
a polynom Ln (x) pak m´a tvar Ln (x) =
n X
yi (x) · Fi (x),
(2.5)
i=0
kde Fi (x) jsou Lagrangeovy interpolaˇcn´ı polynomy, yi (x) hodnoty vzork˚ u funkce.
2.4 2.4.1
Kalmanova filtrace Princip adaptivn´ı filtrace
Adaptivn´ı filtrace se vyuˇz´ıv´a k vylouˇcen´ı vlivu ruˇsiv´ ych sign´al˚ u, hled´an´ı silnˇe zaruˇsen´ ych harmonick´ ych sign´al˚ u, odstranˇen´ı b´ıl´eho i barevn´eho ˇsumu, zlepˇsen´ı pˇresnosti mˇeˇren´ı, k ˇr´ızen´ı a navigaci robot˚ u, k odhadu stavu v ˇcase k + 1 (pr˚ ubˇeh kˇrivky) ze stavu pˇredchoz´ıho. Princip adaptivn´ı filtrace je patrn´ y z obr. 2.9 pˇrevzat´eho z literatury [9].
´ ROZBOR KAPITOLA 2. TEORETICKY
19
Obr. 2.9: Model adaptivn´ıho filtru
Prvn´ım vstupem do filtru je smˇes uˇziteˇcn´eho sign´alu a ˇsumu y(t) = s(t) + r(t), druh´ ym vstupem je referenˇcn´ı sign´al x(t), odpov´ıdaj´ıc´ı b´ıl´emu ˇsumu s norm´aln´ım rozdˇelen´ım hustoty pravdˇepodobnosti. Metoda adaptivn´ı filtrace vych´az´ı z vhodn´e u ´pravy tohoto referenˇcn´ıho sign´alu x(t) pomoc´ı ˇc´ıslicov´eho filtru s koneˇcnou impulsn´ı odezvou a s koeficienty pˇrenosov´e funkce h(t). Funkce filtru vych´az´ı z krit´eria MMSE (minimum mean square error), tedy metoda minimalizuje stˇredn´ı hodnotu kvadr´atu odchylky e2 (t). Podle literatury [9] plat´ı: E(e2 (t)) = E{(y(t) − yˆ(t))2 } = min.
(2.6)
Podle vztahu 2.7 se koeficienty pˇrenosov´e funkce filtru mˇen´ı v kaˇzd´em kroku. h(t + 1) = h(t) − 2µe(t)x(t),
(2.7)
kde µ odpov´ıd´a tzv. zes´ılen´ı, kter´e popisuje v´ahu s jakou se projev´ı korekˇcn´ı v´ yraz ve zmˇenˇe koeficient˚ u pˇrenosov´e funkce. V ide´aln´ım pˇr´ıpadˇe po ust´alen´ı filtru plat´ı, ˇze pˇrenosov´a funkce v pˇredchoz´ım kroku je rovna pˇrenosov´e funkci v kroku n´asleduj´ıc´ım h(t + 1) = h(t)
(2.8)
yˆ = r(t),
(2.9)
a plat´ı
kde r(t) odpov´ıd´a ˇsumu mˇeˇren´ı.
´ ROZBOR KAPITOLA 2. TEORETICKY
2.4.2
20
Princip Kalmanovy filtrace
Klasick´ ym pˇr´ıkladem vyuˇzit´ı adaptivn´ı filtrace je Kalman˚ uv filtr. Kalman˚ uv filtr je n´astroj - algoritmus, kter´ y se pouˇz´ıv´a pro integraci dat z nˇekolika zdroj˚ u informac´ı tak, aby se zajistil nejlepˇs´ı odhad stavu resp. stav˚ u syst´emu. Kalman˚ uv filtr vyuˇz´ıv´a postupu optim´aln´ıho LMMSE (Linear Minimum Mean Square Error) odhadu, kdy na z´akladˇe dan´eho krit´eria a pozorov´an´ı vstup˚ u a v´ ystup˚ u lze odhadnou stav dan´eho syst´emu. Stavem syst´emu rozum´ıme veliˇcinu nebo veliˇciny, kter´e nejsou pˇr´ımo mˇeˇriteln´e a jejichˇz hodnoty nezn´ame. Kalmanova filtrace vych´az´ı ze znalosti vnitˇrn´ıho popisu dan´eho stochastick´eho syst´emu, na jehoˇz z´akladˇe filtr odhaduje pˇri znalosti souˇcasn´eho stavu stav budouc´ı. Stochastick´e syst´emy jsou dˇeleny na line´arn´ı ˇci neline´arn´ı a spojit´e nebo diskr´etn´ı. Princip Kalmanovy filtrace vych´az´ı ze z´aklad˚ u statistick´eho poˇctu. Kalman˚ uv filtr je sloˇzen z pˇeti krok˚ u, z nichˇz pro pochopen´ı principu filtrace je podstatn´ y krok v´ ypoˇctu Kalmanova zes´ılen´ı K. V n´asleduj´ıc´ım postupu je struˇcnˇe odvozen v´ ypoˇcet matice zes´ılen´ı, podrobn´ y postup odvozen´ı je uveden v literatuˇre [10]. V´ ypoˇcet matice zes´ılen´ı si lze pˇredstavit jako pˇridˇelen´ı optim´aln´ı v´ahy jednotliv´ ym mˇeˇren´ım v dan´em ˇcase. Necht’ x1 , x2 jsou nez´avisl´e odhady n´ahodn´e veliˇciny x se stˇredn´ımi hodnotami Ehx1 i, Ehx2 i a rozptyly σ1 , σ2 , kde * 2
σ = E (ˆ x − Ehˆ xi)
+ 2
.
(2.10)
Nejlepˇs´ı odhad xˆ resp. minim´aln´ı rozptyl σ 2 je z´ısk´an v´ahov´an´ım xˆ = w1 · x1 + w2 · x2 ,
(2.11)
kde w1 , w2 jsou v´ahov´e koeficienty, pro kter´e plat´ı w1 + w2 = 1. Pouˇzit´ım stˇredn´ıch hodnot lze rovnici 2.11 pˇrepsat do tvaru Ehˆ xi = w1 · Ehxˆ1 i + w2 · Ehxˆ2 i.
(2.12)
Protoˇze odhady x1 a x2 jsou nez´avisl´e a (x1 − Ehx1 i), (x2 − Ehx2 i) jsou nekorelovateln´e, plat´ı (x1 − Ehx1 i) · (x1 − Ehx1 i) = 0. Dosazen´ım vztahu 2.10 a substituc´ı w2 = w2 a w1 = (1 − w)2 vypl´ yv´a vztah pro rozptyl n´ahodn´eho vektoru x σ 2 = (1 − w)2 · σ12 + w2 · σ22 .
(2.13)
´ ROZBOR KAPITOLA 2. TEORETICKY
21
Hodnota v´ahov´eho koeficientu w pro minim´aln´ı rozptyl odhadu σ 2 je z´ısk´ana prvn´ı derivac´ı vztahu 2.13 podle v´ahy w dσ 2 = −2(1 − w) · σ12 + 2w · σ22 = 0. dw
(2.14)
Ze vztahu 2.14 vypl´ yv´a optim´aln´ı v´aha w w=
σ12 , σ12 + σ22
(2.15)
u ´pravami je z´ısk´an optim´aln´ı odhad xˆ σ22 · x1 + σ12 · x2 xˆ = σ12 + σ22
(2.16)
a jeho minim´aln´ı rozptyl σ 2 :
σ12 · σ22 . (2.17) σ12 + σ22 V Kalmanovˇe filtru je z´ısk´an nejlepˇs´ı odhad, kter´ y je v´ ysledkem z pˇredch´azej´ıc´ıho σ2 =
nejlepˇs´ıho odhadu a mˇeˇren´ı. Na z´akladˇe pˇredpokladu, ˇze x2 je odhad z´ıskan´ y z mˇeˇren´ı, kter´ y m´a zlepˇsit aktualizovan´ y odhad x1 , jsou z´ısk´any n´asleduj´ıc´ı v´ ysledn´e vztahy, kde vztah 2.18 pˇredstavuje rekurzi xˆ = x1 − w · (x1 − x2 ),
(2.18)
σ 2 = σ12 · (1 − w).
(2.19)
Ze vztah˚ u 2.18 a 2.19 plyne, ˇze odhad x a jeho rozptyl σ 2 jsou ovlivˇ novan´e mˇeˇren´ım x2 . V´ yˇse uveden´e vztahy 2.10 aˇz 2.19 ilustruj´ı z´ısk´an´ı hodnoty zes´ılen´ı, tuto u ´vahu nelze pˇr´ımo aplikovat na v´ıcerozmˇern´e syst´emy. V n´asleduj´ıc´ım postupu bude uveden pˇrevod odvozen´ ych rovnic do maticov´eho tvaru. Necht’ x1 a x2 jsou n-rozmˇern´e vektory, kter´e maj´ı variance reprezentovan´e kovarianˇcn´ımi maticemi P1 , P2 (rozmˇer matic P1 , P2 je n × n, I - jednotkov´a matice rozmˇeru n × n), potom xˆ = x1 − W · (x1 − x2 ) = (I − W ) · x1 + W · x2 ,
(2.20)
kde W je v´ahov´a matice zaruˇcuj´ıc´ı jako v jednorozmˇern´em pˇr´ıpadˇe minim´aln´ı rozptyl. Ve vˇetˇsinˇe praktick´ ych aplikac´ı nen´ı rozmˇer vektoru odhad˚ u (n) stejn´ y, jako rozmˇer vektoru mˇeˇren´ı (m). Nˇekter´e prvky vektoru mˇeˇren´ı jsou funkˇcnˇe z´avisl´e. Z´avislost mezi vektorem odhad˚ u a vektorem mˇeˇren´ı lze popsat pomoc´ı n´asleduj´ıc´ıho vztahu (2.21), ve kter´em matice C je naz´ yv´ana matic´ı mˇeˇren´ı o rozmˇeru (n × m), y2 je vektor mˇeˇren´ı. y 2 = C · x2
(2.21)
´ ROZBOR KAPITOLA 2. TEORETICKY
22
Pro vyj´adˇren´ı optim´aln´ıho odhadu xˆ vych´az´ıme z prvn´ıho odhadu x1 s varianc´ı P1 a druh´eho odhadu y2 (= C · x2 ), jehoˇz varianci znaˇc´ıme R(= C · P2 ). Matice W (= C · H) se naz´ yv´a v´ahov´a matice, kde K je doplˇ nuj´ıc´ı v´ahov´a matice. Potom plat´ı xˆ = x1 − K · C(x1 − x2 ) = x1 − K · (C · x1 − C · x2 ),
(2.22)
xˆ = x1 − K · (C · x1 − y2 ) = (I − K · C) · x1 + K · y2 .
(2.23)
Podobnˇe bude odvozena i variance odhadu xˆ, kterou oznaˇcujeme jako matici P . *
+ T
P = E (ˆ x − Ehˆ xi)(ˆ x − Ehˆ xi)
(2.24)
Substituc´ı a pˇredpokladem, ˇze x1 a y2 jsou nekorelovan´e dost´av´ame vztah 2.25, kter´ y je odvozen v literatuˇre [10]. P = (I − K · C) · P1 · (I − K · C)T + K · R · K T
(2.25)
Pro z´ısk´an´ı optim´aln´ıho odhadu je nutn´e naj´ıt takovou v´ahovou matici K, aby minimalizovala diagon´aln´ı prvky kovarianˇcn´ı matice P. Variance odhadu x jsou minimalizov´any pˇri v´ ypoˇctu dle vztahu K = P1 · C T · (C · P1 · C T + R)−1 .
(2.26)
V´ ysledn´ y vztah pro v´ ypoˇcet Kalmanova zes´ılen´ı: Kk = Pk,k−1 · C T · (Ck · Pk,k−1 · C T + Rk )−1 .
(2.27)
Pro K vypoˇcten´e dle 2.27 je nejlepˇs´ı odhad xˆ veliˇciny x a variance P d´ana vztahy:
2.4.3
xˆ = x1 − K · (C · x1 − y2 )
(2.28)
P = P 1 − K · C · P1
(2.29)
Kalman˚ uv filtr pro line´ arn´ı stochastick´ y syst´ em
V dalˇs´ı ˇc´asti bude rozebr´an diskr´etn´ı Kalman˚ uv filtr, kter´ y je v souˇcasn´e dobˇe preferov´an d´ıky dobr´e dostupnosti DSP procesor˚ u, kter´e jsou schopny zpracovat velk´e mnoˇzstv´ı dat a jejichˇz n´avrh je optimalizov´an pro v´ ypoˇcetnˇe n´aroˇcn´e algoritmy. V´ ystup line´arn´ıho diskr´etn´ıho stochastick´eho syst´emu je line´arn´ı funkc´ı stavov´eho vektoru,
´ ROZBOR KAPITOLA 2. TEORETICKY
23
je pops´an n´asleduj´ıc´ımi rovnicemi 2.30 a 2.31, grafick´e zn´azornˇen´ı stavov´ ych rovnic (2.30) a (2.31) je uvedeno na obr. 2.10. x(k + 1) = Ax(k) + Bu(k) + v(k),
(2.30)
y(k) = Cx(k) + Du(k) + w(k),
(2.31)
kde x(k) - stavov´ y vektor, u(k) - vektor ˇr´ıdic´ıch veliˇcin, y(k) - vektor v´ ystupn´ıch veliˇcin, v(k), w(k) - poruchov´e veliˇciny odpov´ıdaj´ıc´ı ˇsumu procesu a mˇeˇren´ı, A, B, C, D - matice popisuj´ıc´ı dynamick´ y syst´em, k - cel´e ˇc´ıslo.
Obr. 2.10: Stavov´ y model dynamick´eho syst´emu
Poruchov´e veliˇciny v(k) a w(k) jsou v optim´aln´ım pˇr´ıpadˇe povaˇzov´any za nekorelovan´e b´ıl´e ˇsumy s nulovou stˇredn´ı hodnotou a kovarianˇcn´ımi maticemi Q a R. Pokud poruchov´e veliˇciny nemaj´ı charakter b´ıl´eho ˇsumu, je potˇreba pouˇz´ıt bˇelic´ıch filtr˚ u. v(k) ≈ N (0, Q); w(k) ≈ N (0, R) (
P (k) = E
v(k) w(k)
)
v(k) W (k)
=
(2.32) Q
S
ST R
,
(2.33)
kde P (k) je kovarianˇcn´ı matice. Matice S je nulov´a (S=0) v pˇr´ıpadˇe, ˇze se jedn´a o nekorelovan´e ˇsumy.
´ ROZBOR KAPITOLA 2. TEORETICKY
24
Vyuˇzit´ım krit´eria LMMSE (Linear Minimum Mean Square Error) (2.34) se urˇc´ı odhad stavov´eho vektoru x(k + 1) a kovarianˇcn´ı matici chyb odhadu P (k + 1) JLM M SE = traceP (k),
(2.34)
kde trace znaˇc´ı stopu matice, kter´a odpov´ıd´a souˇctu prvk˚ u na diagon´ale. Algoritmus Kalmanovy filtrace je moˇzn´e rozdˇelit na ˇcasovou a datovou aktualizaci. Prvn´ı dva kroky Kalmanova cyklu se oznaˇcuj´ı jako ˇcasov´a aktualizace, je to odhad, kter´ y pˇredpokl´ad´a v´ yvoj resp. chov´an´ı v ˇcase k + 1. V okamˇziku, kdy jsou k dispozici re´aln´a data mˇeˇren´ı se zaˇcne vykon´avat korekce odhadu, nebo-li datov´a aktualizace. Datov´a aktualizace zahrnuje korekci odhadnut´eho stavov´eho vektoru a korekci odhadnut´e kovarianˇcn´ı matice na z´akladˇe namˇeˇren´ ych hodnot. Datovou aktualizaci je moˇzn´e oznaˇcit jako filtraˇcn´ı krok. Pokud je k dispozici v´ıce namˇeˇren´ ych hodnot z v´ıce r˚ uzn´ ych senzor˚ u, je moˇzn´e pomoc´ı datov´e aktualizace sv´azat resp. prov´est f´ uzi senzor˚ u. Cykl Kalmanovy filtrace je zn´azornˇen na obr. 2.11.
Obr. 2.11: Cyklus Kalmanova filtru
Cykl Kalmanova filtru (obr. 2.11) lze popsat pomoc´ı n´asleduj´ıc´ıho algoritmu v´ ypoˇctu: Inicializace: P (0) = P (0| − 1); xˆ(0) = xˆ(0| − 1); Q; R;
(2.35)
´ ROZBOR KAPITOLA 2. TEORETICKY
25
ˇ Casov´ a aktualizace - odhad xˆ(k + 1|k) = Aˆ x(k|k)
(2.36)
P (k + 1|k) = AP (k|k)AT + Q
(2.37)
K(k) = P (k|k − 1)C T (CP (k|k − 1)C T + R)−1
(2.38)
ˆ x|x(k) = xˆ(k|k − 1) + K(k)(y(k) − Cx(k|k − 1))
(2.39)
P (k|k) = P (k|k − 1) − K(k)(y(k) − Cx(k|k − 1))
(2.40)
Datov´a aktualizace:
V okamˇziku, kdy plat´ı, ˇze K(k) = K(k − 1) = konst. filtr dos´ahne ust´alen´eho stavu. Rovnice (2.36) aˇz (2.40) uv´adˇej´ı pouze jeden pˇr´ıklad z moˇzn´ ych postup˚ u v´ ypoˇctu Kalmanova filtru. V pˇredchoz´ım odvozen´ı byly uvaˇzov´any nekorelovan´e b´ıl´e ˇsumy. Na obr. 2.12 je zobrazeno propojen´ı modelu dynamick´eho stochastick´eho syst´emu a Kalmanova filtru (viz. literatura [9]).
Obr. 2.12: Souvislost Kalmanova filtru a modelu syst´emu
2.4.4
Kalman˚ uv filtr pro neline´ arn´ı stochastick´ y syst´ em
Kalmanovy filtrace lze vyuˇz´ıt i u neline´arn´ıch stochastick´ ych syst´emu, u kter´ ych je vˇsak nutn´e linearizaci parametr˚ u syst´emu v okol´ı pracovn´ıho bodu.
´ ROZBOR KAPITOLA 2. TEORETICKY
26
Linearizovat parametry syst´emu lze tˇremi r˚ uzn´ ymi metodami: - linearizace kolem nomin´aln´ı trajektorie, - linearizace kolem poˇc´ıtan´e trajektorie, - vyuˇzit´ı metody rozˇs´ıˇren´eho Kalmanova filtru (EKF - Extended Kalman Filter). Pod pojmem trajektorie je ch´ap´ano konkr´etn´ı ˇreˇsen´ı dynamick´eho stochastick´eho syst´emu. Pod pojmem nomin´aln´ı trajektorie je ch´ap´ana trajektorie, kter´a je z´ısk´ana ze situace, kdy uvaˇzovan´e n´ahodn´e veliˇciny nab´ yvaj´ı oˇcek´avan´ ych hodnot. Metody linearizace kolem nomin´aln´ı trajektorie a linearizace kolem poˇc´ıtan´e trajektorie jsou podrobnˇe i s odvozen´ım uvedeny v lit. [10]. V dalˇs´ım postupu je struˇcn´ y u ´vod do rozˇs´ıˇren´eho Kalmanova filtru. Rozˇ s´ıˇ ren´ y Kalman˚ uv filtr (EKF) Metody linearizace kolem nomin´aln´ı ˇci poˇc´ıtan´e trajektorie jsou obecnˇe jednoduˇsˇs´ı pro implementaci do syst´emu poˇc´ıtan´eho v re´aln´em ˇcase. Tyto metody jsou oproti metodˇe pouˇz´ıvan´e v rozˇs´ıˇren´em Kalmanovˇe filtru m´enˇe odoln´e v˚ uˇci neline´arn´ı aproximaci chyb. Rozˇs´ıˇren´ y Kalman˚ uv filtr oproti pˇredchoz´ım dvˇema metod´am vyuˇz´ıv´a jen line´arn´ı aproximace chyb vyhodnocen´ı stavov´eho vektoru a tud´ıˇz aproximace se pohybuje v menˇs´ım rozmez´ı moˇzn´ ych hodnot. Linearizaˇcn´ı metody aproximuj´ı dan´e chyby vyhodnocen´ı stavov´eho vektoru i odchylky jednotliv´ ych trajektori´ı od skuteˇcn´eho pr˚ ubˇehu. V pˇr´ıpadˇe, ˇze pˇrechodov´a funkce mezi stavy f je spojit´a i se sv´ ymi derivacemi je moˇzn´e tuto funkci popsat pomoc´ı Taylorova rozvoje. V rozˇs´ıˇren´em Kalmanovˇe filtru lze vyˇsˇs´ı ˇr´ady rozvoje zanedbat a pouˇz´ıt Taylor˚ uv rozvoj 1.ˇra´du. Pokud je funkce mˇeˇren´ı h spojit´a i se sv´ ymi derivacemi, postupuje se stejn´ ym zp˚ usobem, jako u funkce f a funkci mˇeˇren´ı t´eˇz popisujeme Taylorov´ ym rozvojem 1.ˇr´adu. Rozˇs´ıˇren´ y Kalman˚ uv filtr se opˇet skl´ad´a z ˇcasov´e a datov´e aktualizace. Algoritmus bude pops´an n´asleduj´ıc´ımi rovnicemi (2.43) aˇz (2.50), podrobnˇejˇs´ı popis je moˇzn´e naj´ıt v literatuˇre [1] nebo [10]. Neline´arn´ı model syst´emu a model mˇeˇren´ı: xk = f (xk−1 , k − 1) + wk−1 ,
(2.41)
yk = h(xk , k) + vk ,
(2.42)
´ ROZBOR KAPITOLA 2. TEORETICKY
27
kde wk ∼ N (0, Qk ), vk ∼ N (0, Rk ). Inicializace: x(0), P (0), Q, R ˇ Casov´ a aktualizace - odhad: 1.krok - linearizace
Φk−1
∂f (x, k − 1) ≈ ∂x x=ˆ xk−1
(2.43)
2.krok - odhad stavov´eho vektoru xˆk,k−1 = f (ˆ xk−1 , k − 1)
(2.44)
3.krok - odhad kovarianˇcn´ı matice Pk,k−1 = Φk−1 · Pk−1 · ΦTk−1 + Qk−1
(2.45)
Datov´a aktualizace - korekce 4.krok - linearizace
∂h(x, k) Hk ≈ ∂x x=ˆxk−1
(2.46)
Kk = Pk,k−1 · HkT · (Hk · Pk,k−1 · HkT + Rk )−1
(2.47)
5.krok - v´ ypoˇcet matice zes´ılen´ı
6.krok - odhad vektoru mˇeˇren´ı yˆk,k−1 = h(ˆ xk,k−1 , k)
(2.48)
7.krok - aktualizace odhadnut´eho stavov´eho vektoru na z´akladˇe mˇeˇren´ı xˆ = xˆk,k−1 + Kk · (yk − yˆk,k−1 )
(2.49)
8.krok - aktualizace kovarianˇcn´ı matice Pk = (I − Kk · Hk ) · Pk,k−1 · (I − Kk · Hk )T + Kk · Rk · KkT , kde I - jednotkov´a matice.
(2.50)
´ ROZBOR KAPITOLA 2. TEORETICKY
2.4.5
28
Obecn´ e vlastnosti Kalmanova filtru
- Kalman˚ uv filtr vykazuje nejmenˇs´ı hodnoty kovarianˇcn´ıch matic P z cel´e tˇr´ıdy odhad˚ u LMMSE i v pˇr´ıpadˇe, kdy v(k) a w(k) nemaj´ı norm´aln´ı rozdˇelen´ı hustoty pravdˇepodobnosti. - Kalman˚ uv filtr lze pouˇz´ıt i v pˇr´ıpadech, kdy matice A a C jsou ˇcasovˇe promˇenn´e. V takov´em pˇr´ıpadˇe se filtr chov´a jako line´arn´ı syst´em s ˇcasovˇe promˇenn´ ym parametrem K. - V pˇr´ıpadˇe, kdy ˇsum procesu a mˇeˇren´ı nemaj´ı charakter nekorelovan´ ych b´ıl´ ych ˇsum˚ u, je nutn´e pouˇz´ıt ”bˇelic´ıch filtr˚ u”. - Proces odhadu je po nˇekolika kroc´ıch jen m´alo z´avisl´ y na poˇc´ateˇcn´ıch hodnot´ach stavov´eho vektoru x a kovarianˇcn´ı matice P (0). Poˇca´teˇcn´ı podm´ınky mohou m´ıt libovoln´e hodnoty, avˇsak poˇc´ateˇcn´ı podm´ınky ovlivˇ nuj´ı rychlost ust´alen´ı Kalmanova filtru. - Splˇ nuj´ı-li ruˇsiv´e n´ahodn´e veliˇciny v(k) a w(k) podm´ınku stacionarity, Kalmanovo zes´ılen´ı K po urˇcit´em poˇctu iterac´ı dosahuje ust´alen´e hodnoty. - Kalmanovo zes´ılen´ı je u ´mˇern´e pomˇeru Q/R, ˇcemuˇz je u ´mˇern´a i rychlost reakce Kalmanova filtru.
2.4.6
Bˇ elic´ı filtr
V pˇredchoz´ıch kapitol´ach bylo uvedeno, ˇze Kalman˚ uv filtr pˇredpokl´ad´a, ˇze uˇziteˇcn´ y sign´al bude ruˇsen b´ıl´ ym ˇsumem. Vˇetˇsinou vˇsak poruchov´a veliˇcina nem´a charakter b´ıl´eho Gaussovsk´eho ˇsumu. V takov´ ych pˇr´ıpadech se pouˇz´ıv´a ke zjiˇstˇen´ı charakteru a rozloˇzen´ı v´ ykonu ˇsumu spektr´aln´ı v´ ykonov´a hustota (PSD) nebo autokorelaˇcn´ı funkce (Ψ) vych´azej´ıc´ı z re´aln´ ych namˇeˇren´ ych dat, pomoc´ı kter´ ych se vytvoˇr´ı pˇr´ısluˇsn´ y model poruchov´e veliˇciny (ˇsumu) pouˇzit´ım diferenci´aln´ıch rovnic. Tyto modely se naz´ yvaj´ı bˇelic´ı filtry (shaping filters). Vstupem do tˇechto filtr˚ u je b´ıl´ y ˇsum, kter´ y je d´ale tvarov´an tak, aby charakterizoval spektrum re´aln´eho syst´emu. Autokorelaˇcn´ı funkce (2.51) a spektr´aln´ı v´ ykonov´a hustota (2.52) sign´alu x(t) jsou definov´any pomoc´ı Fourierovy transformace jako: Ψx (τ ) = E[x(t)x(t + τ )]
(2.51)
´ ROZBOR KAPITOLA 2. TEORETICKY Ψx (ω) =
Z ∞ −∞
29
Ψx (τ ) · e−jωτ dτ
(2.52)
N´ahodn´e procesy mohou b´ yt podle jejich spektr´aln´ıch hustot rozdˇeleny na b´ıl´ y ˇsum, ˇsum typu ”Random Walk”, n´ahodn´a konstanta, exponenci´alnˇe korelovan´ y ˇsum 1. ˇra´du Gauss-Markova procesu, harmonick´ y ˇsum a nebo kombinace pˇredchoz´ıch. Na obr. 2.13 (viz. literatura [12]) jsou principi´alnˇe uk´az´any spektr´aln´ı v´ ykonov´e hustoty jednotliv´ ych ˇsum˚ u. Zaˇrazen´ım bˇelic´ıho filtru ˇsumu do Kalmanova filtru je umoˇznˇeno ovlivˇ novat jeho frekvenˇcn´ı vlastnosti. Nˇekdy se proto pˇredpokl´ad´a, ˇze ˇsum je barevn´ y, aby byl potlaˇcen vliv poruch sp´ıˇse deterministick´eho charakteru, napˇr. poruch typu skok nebo vliv harmonick´ ych poruch. V tab.2.1 jsou uvedeny stavov´e popisy a modely jednotliv´ ych bˇelic´ıch filtr˚ u pro nejˇcastˇeji pouˇz´ıvan´e typy ruˇsiv´ ych sign´al˚ u, kde σ - smˇerodatn´a odchylka, δ - Kroneckerova konstanta, P - kovarianˇcn´ı matice, k - diskr´etn´ı ˇcas. Tab. 2.1: Rovnice bˇelic´ıch filtr˚ u
Autokorelaˇcn´ı funkce Ψx Typ ˇsumu B´ıl´ y ˇsum
Stavov´ y popis a model
Spektr´ aln´ı v´ ykonov´ a hustota Ψx
Spojit´ y ˇcas
2 2
Ψx (τ ) = σ δ (τ ) Ψx (ω) = σ
Diskr´etn´ı ˇcas
Vˇzdy povaˇzov´an
2
za b´ıl´ y ˇsum
Random
Ψx (τ ) = nedefinov´ano
x˙ = w(t)
xk = xk−1 + wk−1
walk
Ψx (ω) ∝ σ 2 /ω 2
σx2 (0) = 0
σx2 (0) = 0
Random
Ψx (τ ) = σ 2
x˙ = 0
xk = xk−1
constant
2
Ψx (ω) = 2πσ (ω)/ω
2
σx2 (0)
=σ
2
σx2 (0) = σ 2
Ψx (τ ) = σ 2 cos(ω0 τ ) Harmonick´ y
Ψx (τ ) = πσ 2 δ(ω − ω0 ) +πσ 2 δ(ω + ω0 )
Exponenci´ alnˇe korelovan´ y
Ψx (τ ) = σ 2 e−α|τ | Ψx (ω) =
x˙ =
0
1
−ω02
0
x P (0) =
√ x˙ = −αx + σ 2αw(t)
α
2σ α ω 2 +α2
σ 2 (0) = σ 2
σ2
0
0
0
pth ˇr´ ad GM Ψx (τ ) = σ 2 e−αp |τ |
Pp−1
n=0
xk = e−α xk−1 p +σ 1 − e−1α wk−1 σx2 (0) = σx2
procesu
(p−1)!(2αp |τ |)p−n−1 (p+n+1)! (2p−2)!n!(p−n−1)!
´ ROZBOR KAPITOLA 2. TEORETICKY
30
Obr. 2.13: Spektr´aln´ı v´ ykonov´e hustoty r˚ uzn´ ych typ˚ u ˇsum˚ u
Bˇ elic´ı filtr pro ˇ sum procesu Stavov´e rovnice 2.53 a 2.54 syst´emu, do kter´eho vstupuje barevn´ y ˇsum procesu w1 jsou: x(t) ˙ = F (t)x(t) + G(t)w1 (t),
(2.53)
z(t) = H(t)x(t) + v(t),
(2.54)
kde x(t) - stavov´ y vektor, z(t) - vektor mˇeˇren´ı, F (t) - matice syst´emu, H(t) - matice mˇeˇren´ı, G(t) - matice ˇsumu procesu, v(t) - b´ıl´ y ˇsum s nulovou stˇredn´ı hodnotou, w1 (t) - barevn´ y ˇsum procesu.
Barevn´ y ˇsum procesu w1 je modelov´an line´arn´ım bˇelic´ım filtrem, jehoˇz vstupem je b´ıl´ y ˇsum w2 . Stavov´ y model bˇelic´ıho filtru je pops´an rovnicemi 2.55 a 2.56, kde SF
´ ROZBOR KAPITOLA 2. TEORETICKY
31
oznaˇcuje bˇelic´ı filtr: x˙ SF (t) = FSF (t)xSF (t) + GSF (t)w2 (t),
(2.55)
w1 (t) = HSF (t)xSF (t).
(2.56)
Rozˇs´ıˇren´ y stavov´ y vektor je sloˇzen z p˚ uvodn´ıho stavov´eho vektoru x(t) a ze stavov´eho vektoru xSF (t) pro bˇelic´ı filtr. Rozˇs´ıˇren´ım z´ısk´ame n´asleduj´ıc´ı vztah pro nov´ y stavov´ y vektor X(t): X(t) = [x(t) xSF (t)]T .
(2.57)
Rovnice 2.53 aˇz 2.57 jsou pˇreps´any do n´asleduj´ıc´ı maticov´e podoby:
˙ 0 x(t) F (t) G(t)HSF (t) x(t) 0 = + w2 (t), x˙ SF (t) 0 FSF (t) xSF (t) 0 GSF (t) ˙ X(t) = FT (t)X(t) + GT (t)w2 (t).
(2.58)
(2.59)
Ve vztahu 2.58 se matice FT skl´ad´a z matice p˚ uvodn´ıho syst´emu F (t) a z matice bˇelic´ıho filtru FSF (t). Prvek G(t)HSF (t) matice FT je z´ısk´an z rovnic 2.53 a 2.56. Rovnice 2.54 je pˇreps´ana do n´asleduj´ıc´ı podoby:
z(t) =
H(t) 0
x(t) = HT (t)X(t) + v(t). xSF (t)
(2.60)
Bˇ elic´ı filtr pro ˇ sum mˇ eˇ ren´ı Stavov´e rovnice 2.61 a 2.62 syst´emu, do kter´eho vstupuje barevn´ y ˇsum mˇeˇren´ı v1 jsou: x(t) ˙ = F (t)x(t) + G(t)w(t),
(2.61)
z(t) = H(t)x(t) + v1 (t),
(2.62)
kde x(t) - stavov´ y vektor, z(t) - vektor mˇeˇren´ı, F (t) - matice syst´emu, H(t) - matice mˇeˇren´ı, G(t) - matice ˇsumu procesu, v1 (t) - barevn´ y ˇsum mˇeˇren´ı.
´ ROZBOR KAPITOLA 2. TEORETICKY
32
Barevn´ y ˇsum mˇeˇren´ı v1 je modelov´an line´arn´ım bˇelic´ım filtrem, jehoˇz vstupem je b´ıl´ y ˇsum v2 . Stavov´ y model bˇelic´ıho filtru je pops´an rovnicemi 2.63 a 2.64, kde SF oznaˇcuje bˇelic´e filtr: x˙ SF (t) = FSF (t)xSF (t) + GSF (t)v2 (t),
(2.63)
v1 (t) = HSF (t)xSF (t).
(2.64)
Nov´ y stavov´ y vektor X(t) = [x(t) xSF (t)]T je opˇet z´ısk´an rozˇs´ıˇren´ım stavov´eho vektoru x(t). Pˇreps´an´ım rovnic 2.61 aˇz 2.64 do maticov´e podoby je z´ısk´an n´asleduj´ıc´ı stavov´ y popis:
˙ 0 0 x(t) F (t) x(t) G(t) w(t) = + , x˙ SF (t) 0 FSF (t) xSF (t) 0 GSF (t) v2 (t)
z(t) =
H(t) HSF (t)
(2.65)
x(t) . xSF (t)
(2.66)
Pro pˇreveden´ı spojit´eho modelu syst´emu do diskr´etn´ıho se pouˇz´ıv´a Van Loanova metoda, kter´a je podrobnˇe pops´ana v literatuˇre [10].
ˇ RIC ˇ ´I MODUL MICRO 50-D70 KAPITOLA 3. ME
33
ˇ RIC ˇ ´I MODUL MICRO 50-D70 ME
3
V t´eto kapitole bude pops´an mˇeˇric´ı modul Micro 50-D70, kter´ y byl vybr´an jako mˇeˇric´ı jednotka pro mˇeˇren´ı n´aklon˚ u. Mˇeˇric´ı syst´em je zobrazen na obr. 3.1.
Obr. 3.1: Meˇr´ıc´ı modul Micro 50-D70
3.1
Popis vybran´ eho mˇ eˇ ric´ıho modulu
Mˇeˇric´ı modul Micro 50-D70 je vyr´abˇen firmou Spectron Glass and Electronics Incorporated, kter´a se zab´ yv´a v´ yrobou senzor˚ u pro mˇeˇren´ı n´aklon˚ u. Jednotka je sloˇzena z dvouos´e elektrolytick´e libely SP5020-A000, mikroprocesoru a 12-ti bitov´eho pˇrevodn´ıku, komunikace je realizov´ana pˇres rozhran´ı RS232. Charakteristick´e parametry ud´avan´e v´ yrobcem jsou uvedeny v tab. 3.1, byly pˇrevzaty z lit. [4]. Na obr. 3.2 je uvedeno blokov´e sch´ema mˇeˇric´ı jednotky, kter´e se skl´ad´a z bloku napˇet’ov´e regulace, kter´a upravuje a stabilizuje vstupn´ı nap´ajec´ı napˇet´ı mˇeˇric´ıho modulu. Obvod je d´ale sloˇzen z mikroprocesoru PIC16F84, kter´ y zajiˇst’uje a komunikuje s elektrolytick´ ym senzorem, m´a ve sv´e pamˇeti uloˇzen´e hodnoty kalibrac´ı offset˚ u, zap´ın´a a vyp´ın´a buzen´ı senzoru a zpracov´av´a sign´al, kter´ y je digitalizov´an ve 12-ti bitov´em A/D pˇrevodn´ıku. Zesilovaˇc LMC6484 upravuje sign´al pˇrijat´ y z elektrolytick´e libely na takovou hodnotu, aby bylo plnˇe vyuˇzito cel´eho rozsahu A/D pˇrevodn´ıku.
ˇ RIC ˇ ´I MODUL MICRO 50-D70 KAPITOLA 3. ME
34
Tab. 3.1: Parametry syst´emu Micro 50-D70 Parametr
Hodnota ud´avan´a v´ yrobcem
Vstupn´ı napˇet´ı
7 V ÷ 30 V
Vstupn´ı proud
5 mA pˇri 12 V
Doba ust´alen´ı
500 ms
Teplotn´ı rozsah
-20◦ C ÷ 70◦ C
Teplotn´ı koeficient v nulov´e poloze
10”/◦ C
Teplotn´ı koeficient v cel´em rozsahu
0,1◦ /◦ C
Celkov´ y rozsah
± 60◦
Line´arn´ı rozsah
± 45◦
Rozliˇsen´ı A/D pˇrevodn´ıku ˇ odezvy Cas
12 bit˚ u
Frekvence hodin
10 MHz
25 ms
Obr. 3.2: Blokov´e sch´ema modulu Micro 50-D70
Jak bylo uvedeno v´ yˇse, syst´em Micro 50-D70 pouˇz´ıv´a pro komunikaci rozhran´ı RS232. Zapojen´ı konektoru DB9 na mˇeˇric´ı jednotce a rozhran´ı v poˇc´ıtaˇci RS232 je
ˇ RIC ˇ ´I MODUL MICRO 50-D70 KAPITOLA 3. ME
35
uvedeno v tab. 3.2 a), parametry rozhran´ı jsou jsou uvedeny v tab. 3.2 b). Tab. 3.2: Zapojen´ı konektoru DB9/RS232 a) Zapojen´ı konektoru DB9/RS232
b) Parametry RS232
Pin DB9
Popis
Pin RS232
Rychlost pˇrenosu
1
Nap. 7 V ÷ 30 V
nezapojen
Parita
2
Ground
5
3
V´ ystupn´ı data
3
Vstupn´ı pˇr´ıkazy
3.2
19200 bit/s nen´ı
2
Poˇcet bit˚ u ˇ ızen´ı toku R´
8 nen´ı
3
Stop bit
nen´ı
Vlastnosti elektrolytick´ e libely SP5020-A-000
Obecn´e vlastnosti elektrolytick´e libely, princip ˇcinnosti a charakteristick´e parametry byly uvedeny v kapitole 2. V t´eto kapitole jsou uvedeny charakteristick´e parametry (tab. 3.3) elektrolytick´eho senzoru n´aklonu SP5020-A-000 (obr. 3.3). Charakteristick´e parametry elektrolytick´e libely byly pˇrevzaty z literatury [5]. Tab. 3.3: Charakteristick´e parametry elektrolytick´e libely SP5020 Celkov´ y rozsah
±60◦
V´ ystupn´ı sign´al
0,10 V/”
Rozliˇsen´ı
0,01◦
Opakovatelnost
0,03◦
Nulov´a impedance (25◦ C)
2,2 kΩ
Doba ust´alen´ı (25◦ C)
240 ms
Doba ust´alen´ı (80◦ C)
240 ms
Doba ust´alen´ı (-40◦ C)
240 ms
Kˇr´ıˇzov´a vazba (15◦ )
1,3◦
Kˇr´ıˇzov´a vazba (30◦ )
2,7◦
Kˇr´ıˇzov´a vazba (45◦ )
4,5◦
Odchylka od nulov´e hodnoty za 12 hodin (15◦ C)
0,04◦
Teplotn´ı rozsah
-40◦ C ÷ 80◦ C
ˇ RIC ˇ ´I MODUL MICRO 50-D70 KAPITOLA 3. ME
36
Obr. 3.3: Elektrolytick´a libela SP5000
3.3
V´ ystupn´ı data z mˇ eˇ ric´ıho modulu a v´ ypoˇ cet u ´ hlu n´ aklonu
V t´eto kapitole je uveden zp˚ usob a pˇr´ıkazy komunikace po RS232. Nejjednoduˇsˇs´ım zp˚ usobem ovl´ad´an´ı je komunikace pomoc´ı hypertermin´alu, avˇsak v´ yhodnˇejˇs´ı pro zpracov´an´ı dat je pouˇzit´ı jin´ ych program˚ u, kter´e umoˇzn ˇuj´ı komunikaci po s´eriov´e lince. Pˇr´ıkazy pro komunikaci: A - Resetov´an´ı syst´emu, po resetov´an´ı syst´emu je mˇeˇric´ım syst´emem odesl´an znak ’R’. B, C - Pˇr´ıkaz pro odmˇer pod´eln´eho sklonu resp. pˇr´ıˇcn´eho n´aklonu. Syst´em odeˇsle do poˇc´ıtaˇce 4 slova (byte). Prvn´ı 3 slova reprezentuj´ı u ´hel v hexadecim´aln´ım tvaru, posledn´ı slovo je odˇra´dkov´an´ı. D - Pˇr´ıkaz pro odmˇer teploty, pouˇz´ıvan´ y v pˇr´ıpadˇe pˇripojen´ı teplotn´ıho senzoru k mˇeˇric´ımu syst´emu. F - Pokud mˇeˇric´ı jednotka pˇrijme znak ’F’, vypne buzen´ı senzoru a uloˇz´ı do pamˇeti jednotky 4 znaky offsetu pro pod´eln´ y sklon, dalˇs´ı 4 znaky pro pˇr´ıˇcn´ y n´aklon a posledn´ı 4 znaky pro korekci offsetu mˇeˇren´e teploty. Po uloˇzen´ı nastaven´ ych hodnot ve tvaru ”F000100010001” jednotka restartuje buzen´ı senzoru a odeˇsle uˇzivateli znak ’R’. Jednotka mˇeˇr´ı spr´avn´ yu ´hel po uplynut´ı 20-ti vteˇrin po opˇetovn´em zapnut´ı buzen´ı, coˇz je ekvivalentn´ı vypnut´ı a opˇetovn´emu zapnut´ı senzoru. H - Po pˇrijet´ı znaku ’H’ jednotka odeˇsle uˇzivateli hodnoty offsetu pro pod´eln´ y n´aklon,
ˇ RIC ˇ ´I MODUL MICRO 50-D70 KAPITOLA 3. ME
37
pˇr´ıˇcn´ y n´aklon a teplotu. I - vyp´ın´a buzen´ı mikroprocesoru. Jednotka mˇeˇr´ı spr´avnˇe u ´hel po uplynut´ı 20 vteˇrin. V´ypoˇcet u ´hlu n´aklonu: α = (ydes − ynull ) · KP ,
(3.1)
kde α - u ´hel n´aklonu (◦ ), ydes - des´ıtkov´e ˇc´ıslo, pˇrijat´e od mˇeˇric´ı jednotky po pˇrevodu z hexadecim´aln´ı do des´ıtkov´e soustavy (-), ynull - v´ yrobcem definovan´a des´ıtkov´a hodnota, kter´a urˇcuje v´ ystupn´ı hodnotu ydes pˇri nulov´em n´aklonu. Pro tento typ senzoru n´aklonu ynull = 2048 KP - pˇrevodn´ı konstanta, ud´avan´a v´ yrobcem pro jednotliv´e typy senzor˚ u n´aklon˚ u (jin´e znaˇcen´ı - SF). Linearizaˇcn´ı polynom ud´avan´y v´yrobcem: 3 ylin = −0, 000000004ydes + 0, 00468ydes ,
kde ylin je linearizovan´ yu ´hel, ydes jsou v´ ystupn´ı nelinearizovan´a des´ıtkov´a data.
(3.2)
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
4
38
´ ´ ˇ SEN ˇ ´I NAVRH SYSTEMU A POPIS RE V t´eto kapitole je rozebr´an n´avrh mˇeˇric´ıho syst´emu n´aklon˚ u. Na obr. 4.1 je zob-
razeno blokov´e sch´ema mˇeˇric´ıho syst´emu. Blok pro zpracov´an´ı pˇr´ıˇcn´eho n´aklonu je identick´ y, jako blok pro zpracov´an´ı pod´eln´eho n´aklonu.
Obr. 4.1: Blokov´e sch´ema syst´emu pro mˇeˇren´ı n´aklonu
Od mˇeˇric´ı jednotky na obr. 4.1 jsou pˇrijata data v hexadecim´aln´ım tvaru pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon. Data jsou pˇrevedena do des´ıtkov´e soustavy. Tato data jsou vstupn´ımi hodnotami pro v´ ypoˇcet Lagrangeovy interpolace, pomoc´ı kter´e je vypoˇctena korekce pˇrevodn´ı konstanty KP a n´aslednˇe vstupuj´ı do Kalmanova filtru. Od des´ıtkov´ ych dat se v druh´e vˇetvi ˇreˇsen´ı odeˇcte bias, des´ıtkov´a hodnota 2048,
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
39
pomoc´ı kter´e je nastaveno, aby pˇri nulov´em n´aklonu byla des´ıtkov´a hodnota rovna nule. Tyto data d´ale vstupuj´ı do Kalmanova filtru, ve kter´em je proveden pˇrepoˇcet z des´ıtkov´ ych dat na u ´hly, f´ uze dat ze dvou senzor˚ u n´aklonu, filtrace namˇeˇren´ ych dat a linearizace pˇrevodn´ıch charakteristik obou senzor˚ u. V´ ystupn´ımi hodnotami syst´emu jsou u ´hly pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon.
4.1
Linearizace pˇ revodn´ı charakteristiky
Mˇeˇric´ı jednotka Micro 50-D70 vykazovala znaˇcn´e odchylky od line´arn´ıho pr˚ ubˇehu pro pod´eln´ y sklon i pˇr´ıˇcn´ y n´aklon. Pˇrevodn´ı charakteristiky pro jednotliv´e pˇrevodn´ı konstanty jsou zobrazeny na obr. 4.2 pro pod´eln´ y sklon a na obr. 4.3 pro pˇr´ıˇcn´ y n´aklon.
Obr. 4.2: Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pod´eln´ y sklon
Pˇri v´ ypoˇctu pˇrevodn´ı charakteristiky s pˇrevodn´ı konstantou ud´avanou v´ yrobcem (pr˚ ubˇeh KP - v´ yrobce) byly maxim´aln´ı odchylky od line´arn´ıho pr˚ ubˇehu -13, 1◦ pro pod´eln´ y sklon a 13, 59◦ pro pˇr´ıˇcn´ y n´aklon. Po konzultaci s v´ yrobcem bylo doporuˇceno pouˇz´ıt pro v´ ypoˇcet pˇrevodn´ı charakteristiky pˇrevodn´ı konstantu, kter´a se vztahuje k u ´hlu 30◦ . Pˇrevodn´ı charakteristika s touto pˇrevodn´ı konstantou je oznaˇcena
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
40
”KP 30”. Pouˇzit´ım t´eto pˇrevodn´ı konstanty byly zmenˇseny odchylky od line´arn´ıch pr˚ ubˇeh˚ u. Maxim´aln´ı odchylka od line´arn´ıho pr˚ ubˇehu pro pod´eln´ y sklon je 7, 31◦ , pro pˇr´ıˇcn´ y n´aklon 7, 84◦ .
Obr. 4.3: Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pˇr´ıˇcn´ y n´aklon
Z´avislost odchylek od line´arn´ıho pr˚ ubˇehu s pouˇzit´ım pˇrevodn´ı konstanty pˇri 30◦ je vynesena na obr. 4.4 pro pod´eln´ y sklon a obr. 4.5 pro pˇr´ıˇcn´ y n´aklon, pr˚ ubˇehy jsou v horn´ı ˇca´sti graf˚ u a jsou oznaˇceny ”α bez lin.”. Tato pˇrevodn´ı charakteristika byla d´ale zlinearizov´ana polynomem 3.ˇr´adu podle vztahu 3.2, kter´ y je doporuˇcov´an v´ yrobcem. Maxim´aln´ı odchylky po linearizaci polynomem uv´adˇen´ ym v´ yrobcem dosahovaly hodnot 7, 06◦ pro pod´eln´ y sklon a 7, 6◦ pro pˇr´ıˇcn´ y n´aklon. Z´avislost odchylek od line´arn´ıch pr˚ ubˇeh˚ u jsou vyneseny na obr. 4.4 pro pod´eln´ y sklon a obr. 4.5 pro pˇr´ıˇcn´ y n´aklon, pr˚ ubˇehy jsou v horn´ı ˇc´asti graf˚ u a jsou oznaˇceny ”α lin. spectron”. Z v´ yˇse uveden´ ych graf˚ u je zˇrejm´e, ˇze odchylky od line´arn´ıch pr˚ ubˇeh˚ u byly i pˇres postup doporuˇcovan´ y v´ yrobcem velk´e, proto musela b´ yt provedena linearizace, kter´a v´ıce minimalizuje odchylky od line´arn´ıho pr˚ ubˇehu.
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
Obr. 4.4: Z´avislosti odchylek od line´arn´ıho pr˚ ubˇehu - pod´eln´ y n´aklon
Obr. 4.5: Z´avislosti odchylek od line´arn´ıho pr˚ ubˇehu - pˇr´ıˇcn´ y n´aklon
41
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
42
Linearizace pˇrevodn´ı konstanty KP Vztah pro v´ ypoˇcet u ´hlu n´aklonu 3.1 byl upraven do n´asleduj´ıc´ı podoby: α = (ydes − ynull ) · (KP + ∆KP ),
(4.1)
kde α - u ´hel n´aklonu (◦ C), ydes - des´ıtkov´e ˇc´ıslo, pˇrijat´e od mˇeˇric´ı jednotky po pˇrevodu z hexadecim´aln´ı do des´ıtkov´e soustavy (-), ynull - v´ yrobcem definovan´a des´ıtkov´a hodnota, kter´a urˇcuje v´ ystupn´ı hodnotu ydes pˇri nulov´em n´aklonu. Pro tento typ senzoru n´aklonu ynull = 2048. KP - pˇrevodn´ı konstanta, ∆KP - korekce pˇrevodn´ı konstanty KP . V´ ypoˇcet korekce pˇrevodn´ı konstanty je moˇzn´e vypoˇc´ıtat polynomem nebo pomoc´ı Lagrangeovy interpolace. Linearizace pˇrevodn´ı konstanty polynomem Prvn´ım zp˚ usobem v´ ypoˇctu korekce pˇrevodn´ı konstanty je v´ ypoˇcet pomoc´ı polynomu. Z namˇeˇren´e pˇrevodn´ı charakteristiky byla vypoˇctena pˇrevodn´ı konstanta, pro kterou se skuteˇcn´a charakteristika nejv´ıce bl´ıˇzila line´arn´ı. V dalˇs´ım kroku byly vypoˇcteny skuteˇcn´e hodnoty pˇrevodn´ıch konstant a jejich odchylky od pˇrevodn´ı konstanty, pro kterou se pˇrevodn´ı charakteristika nejv´ıce bl´ıˇzila line´arn´ı, tedy od hodnoty pˇrevodn´ı konstanty pro 30◦ . Tyto odchylky byly vyneseny do grafu a d´ale aproximov´any polynomy 2.ˇra´du (4.2) pro pod´eln´ y sklon a (4.3) pˇr´ıˇcn´ y n´aklon. ∆KP = 0, 1835α2 + 0, 2934α − 161, 71
(4.2)
∆KP = 0, 1762α2 + 0, 3103α − 127, 88
(4.3)
Linearizac´ı polynomem 2.ˇra´du se znaˇcnˇe zmenˇsily odchylky od line´arn´ıho pr˚ ubˇehu. Maxim´aln´ı odchylka od line´arn´ıho pr˚ ubˇehu je 0, 36◦ pro pod´eln´ y sklon a 0, 7◦ pro pˇr´ıˇcn´ y n´aklon. Z´avislosti odchylek od line´arn´ıho pr˚ ubˇehu jsou vyneseny na obr. 4.4 pro pod´eln´ y sklon a obr. 4.5 pro pˇr´ıˇcn´ y n´aklon v doln´ıch ˇca´stech a jsou oznaˇceny ”α lin. pol.”. Zv´ yˇsen´ım ˇr´adu polynomu na 3. stupeˇ n se odchylka od line´arn´ıho pr˚ ubˇehu zmenˇsila o 0,1◦ pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon, ˇc´ımˇz byla z´aroveˇ n zv´ yˇsena v´ ypoˇcetn´ı n´aroˇcnost.
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
43
Linearizace pˇrevodn´ı konstanty Lagrangeovou interpolac´ı Druh´ ym zp˚ usobem je vytvoˇren´ı tabulky korekc´ı pˇrevodn´ıch konstant, ze kter´e se bude korekce pˇrevodn´ı konstanty ∆KP urˇcovat Lagrangeovou interpolac´ı, kter´a byla probr´ana v kap. 2.3. Tabulka korekc´ı pˇrevodn´ı konstanty obsahuje 181 hodnot korekc´ı ∆KP , ze kter´ ych je spr´avn´a hodnota interpolov´ana Lagrangeov´ ym polynomem 3.ˇr´adu. Lagrangeovou interpolac´ı bylo dosaˇzeno nejvyˇsˇs´ı pˇresnosti z pˇredchoz´ıch v´ ypoˇct˚ u linearizace. Maxim´aln´ı odchylka od line´arn´ıho pr˚ ubˇehu je 0, 07◦ pro pod´eln´ y sklon a 0, 04◦ pro pˇr´ıˇcn´ y n´aklon. Z´avislosti odchylek jsou vyneseny na obr. 4.4 pro pod´eln´ y sklon a obr. 4.5 pro pˇr´ıˇcn´ y n´aklon v doln´ıch ˇca´stech a jsou oznaˇceny ”α lin. pol.”. Odchylky v´ yˇse uveden´ ych v´ ypoˇct˚ u jsou porovn´any v tab. 4.1. V´ ypoˇcet Lagrangeovy interpolace byl realizov´an v prostˇred´ı Matlab 7.1 a m-file pro v´ ypoˇcet Lagrangeovy interpolace obsahuje pˇr´ıloha 8.5. V tab. 4.1 jsou uvedeny maxim´aln´ı odchylky od line´arn´ıho pr˚ ubˇehu pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon, odchylky jsou uvedeny pro z´aporn´e i kladn´e u ´hly n´aklonu. Tab. 4.1: Odchylky od line´arn´ıch pr˚ ubˇeh˚ u pro jednotliv´e metody linearizace Metoda
Pod´eln´ y n´aklon
Pˇr´ıˇcn´ y n´aklon
linearizace
max.(∆α) (◦ )
max.(∆α) (◦ )
Smˇer n´aklonu
α<0
α>0
α<0
α>0
Bez linearizace
-7,09
6,53
-8,62
5,87
Ud´avan´a v´ yrobcem
-4,66
4,12
-6,11
3,49
Polynomem
-0,11
0,36
-0,70
0,24
Lagrange. interpol.
-0,07
0,07
-0,04
0,04
Z v´ yˇse uveden´ ych v´ ypoˇct˚ u linearizace byl jako nejvhodnˇejˇs´ı zvolen zp˚ usob, kde se korekce pˇrevodn´ı konstanty vypoˇcte Lagrangeovou interpolac´ı 3.ˇra´du. T´ımto zp˚ usobem bylo dosaˇzeno nejmenˇs´ıch odchylek od line´arn´ıho pr˚ ubˇehu (tab. 4.1). V´ yhodou Lagrangeovy interpolace oproti linearizaci polynomem 2. resp. 3.ˇr´adu je, ˇze odchylky od line´arn´ıho pr˚ ubˇehu jsou rozloˇzeny rovnomˇernˇe okolo nulov´e hodnoty a maj´ı nulovou stˇredn´ı hodnotu. U linearizace polynomem je linearizaˇcn´ı polynom vypoˇcten z cel´e pˇrevodn´ı charakteristiky. Oproti tomu u Lagrangeovy interpolace se k v´ ypoˇctu korekce pˇrevodn´ı konstanty pouˇz´ıv´a okol´ı pracovn´ıho bodu, proto se touto metodou dosahuje menˇs´ıch odchylek.
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
4.2
44
Aplikace Kalmanova filtru
Kalman˚ uv filtr byl teoreticky pops´an v kap. 2.4.2, tato kapitola je zamˇeˇrena na n´avrh Kalmanova filtru. N´avrh Kalmanova filtru byl realizov´an v programovac´ım prostˇred´ı Matlab 7.1, ve kter´em byl vytvoˇren m-file, kter´ y bude pops´an pozdˇeji a je obsaˇzen v pˇr´ıloze 8.6.
4.2.1
Mˇ eˇ ren´ı driftu
Aby bylo moˇzn´e urˇcit typ ˇsumu, kter´ ym je zat´ıˇzeno mˇeˇren´ı bylo nutn´e zmˇeˇrit drift senzoru. Drift byl mˇeˇren po dobu dvou hodin se vzorkovac´ı frekvenc´ı 10, 8 Hz pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon. Drift byl mˇeˇren pro pod´eln´ y sklon i pˇr´ıˇcn´ y n´aklon roven nule, ale i pro obecn´e n´aklony. Na obr. 4.6 je pr˚ ubˇeh driftu pro pod´eln´ y sklon, na obr. 4.7 pro pˇr´ıˇcn´ y n´aklon. Des´ıtkov´a data jsou vynesena v z´avislosti na poˇctu
Obr. 4.6: Drift, Spektr´aln´ı v´ ykonov´a hustota - pod´eln´ y sklon
namˇeˇren´ ych vzork˚ u. Ve spodn´ıch ˇc´astech jsou spektr´aln´ı v´ ykonov´e hustoty, z jejichˇz pr˚ ubˇehu byl urˇcen charakter ˇsumu. Ze spektr´aln´ıch v´ ykonov´ ych hustot bylo urˇceno, ˇze poruchov´a veliˇcina, kter´a ovlivˇ nuje mˇeˇren´ı m´a charakter exponenci´alnˇe korelovan´eho ˇsumu. Spektr´aln´ı v´ ykonov´a hustota byla vypoˇctena pomoc´ı pˇr´ıkazu pwelch. Parametry exponenci´alnˇe korelovan´eho ˇsumu byly vypoˇcteny z autokorelaˇcn´ı funkce.
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
45
Obr. 4.7: Drift, Spektr´aln´ı v´ ykonov´a hustota - pˇr´ıˇcn´ y n´aklon
4.2.2
N´ avrh Kalmanova filtru
V t´eto kapitole je pops´an model line´arn´ıho Kalmanova filtru, kter´ y bˇel´ı exponenci´alnˇe korelovan´ y ˇsum mˇeˇren´ı. Kalman˚ uv filtr pro elektrolytick´e libely je zaloˇzen na odhadu konstanty, kter´a je ovlivnˇena ˇsumem mˇeˇren´ı. V t´eto kapitole bude pouˇzito znaˇcen´ı 1.senzor pro elektrolytickou libelu, kter´a m´a rozsah u ´hl˚ u od -20◦ do 20◦ , 2.senzor pro elektrolytickou libelu s rozsahem u ´hl˚ u -45◦ aˇz 45◦ . Model exponenci´alnˇe korelovan´eho ˇsumu je uveden v tab. 2.1. Parametry exponenci´alnˇe korelovan´eho ˇsumu jsou AEK = 0, 8 a Qs = 0, 0475. Byly zjiˇstˇeny z pr˚ ubˇehu autokorelaˇcn´ı funkce. Doba korelace T = 270 s. Stavov´y vektor: x = [α dα1 dα2 β dβ1 dβ2 ]T , kde α - odhad pod´eln´eho sklonu, dα1 - odhad driftu pod´eln´eho sklonu od 1.senzoru, dα2 - odhad driftu pod´eln´eho sklonu od 2.senzoru, β - odhad pˇr´ıˇcn´eho n´aklonu, dα1 - odhad driftu pˇr´ıˇcn´eho n´aklonu 1.senzoru, dα1 - odhad driftu pˇr´ıˇcn´eho n´aklonu 2.senzoru.
(4.4)
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
46
Vektor mˇeˇren´ı: y = [y1 y2 y3 y4 ]T , kde y1 y2 y3 y4
-
jsou jsou jsou jsou
des´ıtkov´a des´ıtkov´a des´ıtkov´a des´ıtkov´a
data data data data
od od od od
1. 1. 2. 2.
senzoru senzoru senzoru senzoru
-
(4.5)
pod´eln´ y sklon, pˇr´ıˇcn´ y n´aklon, pod´eln´ y sklon, pˇr´ıˇcn´ y n´aklon.
Matice syst´emu A a kovarianˇcn´ı matice modelu procesu Q (Qx = 10−9 ):
1
0
0
0
0
0
A=
0
AEK
0
0
0
0
0
0
AEK
0
0
0
0
0
0
1
0
0
0
0
0
0
AEK
0
, Q =
0
0
0
0
0
AEK
Qx
0
0
Qs
0
0
0
0
0
0
0
0
0
0
0
0
0 Qs 0 0 0 , 0 Qx 0 0 0 0 Qs 0 0 0 0 Qs 0
0
0
(4.6)
Matice mˇeˇren´ı C a kovarianˇcn´ı matice modelu ˇsumu R:
R 0 0 SF EP 1 0 0 0 0 1 0 R2 0 0 0 0 SF ER 1 0 , R = C= 0 R3 0 0 0 0 SF SP 0 1
0
0 0 SF SR 0 1
0
0
0
0 0
,
(4.7)
0 R4
kde SFEP - pˇrevodn´ı konstanta 1.senzoru - pod´eln´ y sklon, SFER - pˇrevodn´ı konstanta 1.senzoru - pˇr´ıˇcn´ y n´aklon, SFSP - pˇrevodn´ı konstanta 2.senzoru - pod´eln´ y sklon, SFSR - pˇrevodn´ı konstanta 2.senzoru - pˇr´ıˇcn´ y n´aklon, R1 , R2 , R3 , R4 - parametry kovarianˇcn´ı matice modelu mˇeˇren´ı vypoˇcten´e jako variance jednotliv´ ych namˇeˇren´ ych dat, resp. jejich drift˚ u, R = var(y). Matice mˇeˇren´ı je C je v kaˇzd´em Kalmanovˇe cyklu promˇenn´a. Vzhledem k tomu, ˇze linearizace pˇrevodn´ı charakteristiky je vypoˇctena pomoc´ı polynomu, doch´azelo by ke zkreslen´ı charakteru ˇsumu. Proto se linearizuje bˇehem Kalmanova cyklu v promˇenn´e matici C. V kaˇzd´em cyklu se vypoˇcte aktu´aln´ı korekce pˇrevodn´ı konstanty, napˇr.: SF SP = KP 30 + ∆KP , kde KP 30 - pˇrevodn´ı konstanta pro 30◦ , ∆KP - korekce pˇrevodn´ı konstanty, vypoˇcten´a Lagrangeovou interpolac´ı.
(4.8)
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
47
V matici C, definovan´e vztahem odpov´ıdaj´ı prvn´ı dva ˇr´adky namˇeˇren´ ym dat˚ um od 1. senzoru, druh´e dva ˇr´adky odpov´ıdaj´ı dat˚ um namˇeˇren´ ym od 2. senzoru. Tato ˇc´ast je naz´ yv´ana f´ uz´ı dat ze dvou senzor˚ u. Tedy mˇeˇren´ı 2 senzor˚ u ovlivˇ nuje jeden odhad u ´hlu n´aklonu. Vyp´ın´an´ı 1.senzoru: Vzhledem k tomu, ˇze 1.senzor n´aklonu m´a menˇs´ı rozsah neˇz 2.senzor, je nutn´e v pˇr´ıpadˇe, ˇze 1. senzor dos´ahne saturace tento senzor neuvaˇzovat. V pˇr´ıpadˇe, ˇze se 1.senzor dostane do saturace jsou nastaveny odpov´ıdaj´ıc´ı prvky matice mˇeˇren´ı C na 0, ˇc´ımˇz data z tohoto senzoru neovlivˇ nuj´ı odhad u ´hlu. Odhad u ´hlu je z´avisl´ y pouze na namˇeˇren´ ych datech z 2.senzoru. V´ahov´an´ı senzor˚ u: Elektrolytick´a libela s rozsahem -20◦ aˇz 20◦ je pˇresnˇejˇs´ı okolo vodorovn´e polohy neˇz elektrolytick´a libela s vˇetˇs´ım rozsahem, avˇsak na konci sv´eho rozsahu -20◦ a 20◦ je pˇresnˇejˇs´ı 2.senzor n´aklonu. Z tohoto d˚ uvodu se prov´ad´ı v´ahov´an´ı senzor˚ u, kdy podle u ´hlu n´aklonu jsou vˇerohodnˇejˇs´ı data z jednoho, nebo druh´eho senzoru. V´ahov´an´ı se prov´ad´ı pomoc´ı kovarianˇcn´ı matice modelu mˇeˇren´ı R dle vztah˚ u 4.9 pro pod´eln´ y sklon a 4.10 pro pˇr´ıˇcn´ y n´aklon, v tab. 4.2 jsou uvedeny hodnoty v´ahov´ ych koeficient˚ u pro jednotliv´e intervaly n´aklon˚ u. Tab. 4.2: V´ahov´e koeficienty pro intervaly u ´hl˚ u n´aklonu Interval u ´hl˚ u V´ahov´ y koeficient w
(-45;-21) (-21;-6) (-6;6) (6;21) (21;45) 0,01
0,5
0,75
0,5
0,01
R1 = (wP )R1 , R3 = (1 − wP )R3 ,
(4.9)
R2 = (wR )R2 , R4 = (1 − wR )R4 ,
(4.10)
kde wP , wR - v´ahov´e koeficienty pro pod´eln´ y sklon, resp. pˇr´ıˇcn´ y n´aklon. Resetov´an´ı Kalmanova filtru: Kalman˚ uv filtr pro tuto aplikaci vych´az´ı z odhadu konstanty, tud´ıˇz jeho reakce na zmˇenu n´aklonu, resp. zmˇenu namˇeˇren´ ych dat nen´ı dostateˇcnˇe rychl´a a Kalman˚ uv filtr nen´ı schopen skokovou zmˇenu zachytit. Z tohoto d˚ uvodu je pˇri zmˇenˇe v´ ystupn´ıch
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
48
dat Kalman˚ uv filtr resetov´an. Resetov´an´ım jsou nastaveny nov´e poˇca´teˇcn´ı podm´ınky stavov´eho vektoru x a kovarianˇcn´ı matice chyb odhadu P . Aby resetov´an´ı neprobˇehlo pˇri kaˇzd´e zmˇenˇe v´ ystupn´ıch dat, je v kaˇzd´em kroku sledov´ano 10 pˇredchoz´ıch vzork˚ u a pokud tyto vzorky maj´ı vˇetˇs´ı hodnotu neˇz je dan´a rozhodovac´ı u ´roveˇ n skoku, bude nastavena promˇenn´a, kter´a signalizuje zmˇenu n´aklonu. Resetov´an´ı Kalmanova filtru je provedeno aˇz ve chv´ıli, kdy 15 pˇredchoz´ıch krok˚ u je menˇs´ıch, neˇz rozhodovac´ı u ´roveˇ n skoku, tedy ˇcek´a se, aˇz se pˇrestane mˇenit n´aklon. V tuto chv´ıli je Kalman˚ uv filtr resetov´an nastaven´ım nov´ ych poˇc´ateˇcn´ıch podm´ınek.
4.2.3
V´ yvojov´ y diagram navrˇ zen´ eho programu
N´avrh Kalmanova filtru byl realizov´an v programovac´ım prostˇred´ı Matlab. M-file s v´ ypoˇcetem Kalmanova filtru je v pˇr´ıloze 8.6 a je souˇca´st´ı pˇriloˇzen´eho CD. Na obr. 4.8 je v´ yvojov´ y diagram navrˇzen´eho programu. Na zaˇca´tku programu je nastaven poˇcet vzork˚ u T , kter´ y ud´av´a poˇcet cykl˚ u Kalmanova filtru a souˇcasnˇe i d´elku dat, kter´a budou zpracov´ana. V dalˇs´ım kroku jsou naˇcteny ze soubor˚ u tabulky korekc´ı pˇrevodn´ıch konstant ∆KP pro oba dva senzory n´aklonu. Korekce pˇrevodn´ı konstanty je pro pod´eln´ y sklon i pˇr´ıˇcn´ y n´aklon realizov´ana vlastn´ı tabulkou korekc´ı. Ze soubor˚ u jsou naˇctena v dalˇs´ım kroku i namˇeˇren´a data pro oba dva senzory n´aklonu a n´aslednˇe jsou vybr´ana data, kter´a odpov´ıdaj´ı u ´hl˚ um n´aklonu. Po naˇcten´ı soubor˚ u jsou definov´any konstanty, kter´e jsou pouˇzity bˇehem v´ ypoˇctu, jedn´a se o pˇrevodn´ı konstanty pˇri 30◦ a bias, kter´ y je roven hodnotˇe 2048. V dalˇs´ı ˇca´sti programu m˚ uˇze b´ yt vypoˇctena korekce pˇrevodn´ı konstanty 1.senzoru pomoc´ı polynomu 2. ˇra´du, nebo m˚ uˇze b´ yt pozdˇeji vypoˇctena Lagrangeovou interpolac´ı. N´asleduje odeˇcten´ı hodnoty biasu 2048, ˇc´ımˇz je definov´ana nulov´a hodnota pro nulov´ y u ´hel n´aklonu, definice modelu syst´emu - matice A, P , Q, I a nastaven´ı poˇca´teˇcn´ıch podm´ınek pro Kalman˚ uv cykl. Dalˇs´ı ˇc´ast´ı programu je Kalman˚ uv cykl. Pokud nebyla provedena linearizace pˇrevodn´ı charakteristiky polynomem, je v t´eto ˇca´sti provedena Lagrangeovou interpolac´ı pro 1.senzor, pro 2.senzor je moˇzn´a pouze linearizace Lagrangeovou interpolac´ı, kter´a je provedena v dalˇs´ım kroku. Lagrangeova interpolace je prov´adˇena v samostatn´e funkci lran(x, P dSF); pro 2.senzor, resp. lrank(x, P dSFe); pro 1.senzor, do kter´e vstupuj´ı namˇeˇren´a des´ıtkov´a data a tabulka korekc´ı pˇrevodn´ıch konstant.
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
Obr. 4.8: V´ yvojov´ y diagram programu
49
´ ´ ˇ SEN ˇ ´I KAPITOLA 4. NAVRH SYSTEMU A POPIS RE
50
Funkce vrac´ı hlavn´ımu programu korekci pˇrevodn´ı konstanty ∆KP . V t´eto funkci je pˇred samotn´ ym v´ ypoˇctem Lagrangeovy interpolace prov´adˇeno proch´azen´ı tabulky korekc´ı KP . Po v´ ypoˇctu korekc´ı pˇrevodn´ıch konstant je provedena aktualizace matice mˇeˇren´ı C, vyhodnocena podm´ınka, zda nen´ı 1.senzor v saturaci a pokud ano, je vynulov´ana pˇr´ısluˇsn´a ˇc´ast matice mˇeˇren´ı C. Pˇredposledn´ım krokem pˇred v´ ypoˇctem Kalmanov´ ych rovnic je otestov´an´ı, zda byla rozpozn´ana skokov´a zmˇena namˇeˇren´ ych dat, resp. zmˇena n´aklonu. V pˇr´ıpadˇe rozpozn´an´ı zmˇeny n´aklonu je Kalman˚ uv filtr resetov´an. Posledn´ım krokem pˇred Kalmanov´ ymi rovnicemi je v´ahov´an´ı senzor˚ u, tedy v z´avislosti na u ´hlu n´aklonu je urˇceno, kter´ y senzor ud´av´a pˇresnˇejˇs´ı u ´daj o n´aklonu. N´asleduje datov´ y krok Kalmanova filtru, uloˇzen´ı hodnot a ˇcasov´ y krok. Po zpracov´an´ı vˇsech vzork˚ u nameˇren´ ych dat je cykl ukonˇcen a vykresleny grafy.
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
51
ˇ REN ˇ ´ PRUB ˚ EHY ˇ NAME E DAT, GRAFY
5 5.1
5.1.1
Pr˚ ubˇ ehy Kalmanova filtru Pr˚ ubˇ ehy pro pod´ eln´ y sklon
Na obr. 5.1 jsou zobrazeny pr˚ ubˇehy u ´hl˚ u od jednotliv´ ych senzor˚ u a odhad u ´hlu pomoc´ı Kalmanovy filtrace pro pod´eln´ y sklon. Tyto z´avislosti byly zmˇeˇreny pro kladn´ y smˇer n´aklonu, pro z´aporn´ y smˇer n´aklonu jsou namˇeˇren´e pr˚ ubˇehy pˇriloˇzeny na CD. Data z mˇeˇric´ı jednotky byla mˇeˇrena se vzorkovac´ı frekvenc´ı 8, 3 Hz. Bˇehem mˇeˇren´ı bylo provedeno nˇekolik skokov´ ych zmˇen n´aklonu. Pro u ´hel 23◦ byl 1.senzor v saturaci au ´hel n´aklonu byl d´ale odhadov´an pouze z 2.senzoru.
Obr. 5.1: Z´avislost namˇeˇren´ ych u ´hl˚ u a odhadu u ´hlu - pod´eln´ y sklon
Na obr. 5.2 je uk´azka pr˚ ubˇehu namˇeˇren´ ych dat z 2.senzoru, odhad u ´hlu Kalmanovou filtrac´ı a referenˇcn´ı hodnota u ´hlu 10, 05◦ . Na obr. 5.3 jsou pr˚ ubˇehy namˇeˇren´ ych dat z obou senzor˚ u, referenˇcn´ı hodnota a odhad u ´hlu, kter´ y vych´az´ı z f´ uze obou senzor˚ u.
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
52
Obr. 5.2: Z´avislost odhadu u ´hlu bez f´ uze senzor˚ u - pod´eln´ y sklon
Obr. 5.3: Z´avislost odhadu u ´hlu s f´ uz´ı senzor˚ u - pod´eln´ y sklon
Pˇri f´ uzi dat, ze dvou senzor˚ u se odhad pohybuje v rozmez´ı -10, 08◦ aˇz -10, 03◦ . Porovn´an´ı odchylek od referenˇcn´ıch u ´hl˚ u s f´ uz´ı a bez f´ uze pro pod´eln´ y sklon v kladn´em
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
53
i z´aporn´em smˇeru je uvedeno v tab. 5.1 a graficky zn´azornˇeno na obr. 5.4. Tab. 5.1: Odchylky od referenˇcn´ıch u ´hl˚ u - pod´eln´ y sklon α<0 Ref. u ´hel αref (◦ )
α>0
Bez f´ uze ∆αbez
f uze
S f´ uz´ı
(◦ ) ∆αf uze (◦ )
Ref. u ´hel αref (◦ )
Bez f´ uze ∆αbez
f uze
(◦ )
S f´ uz´ı ∆αf uze (◦ )
-40
-0,02
-0,02
0
-0,05
-0,02
-30
0,03
0,03
0
-0,03
-0,02
-29,94
-0,09
-0,1
0
-0,04
-0,04
-20,03
-0,09
-0,03
4,87
0,05
0,07
-19,96
-0,1
-0,12
9,9
0,05
0,07
-15
-0,05
-0,05
15,03
-0,04
-0,04
-10,05
-0,03
-0,03
19,95
0,07
0,06
-10
0,01
0,05
29,9
0,15
0,15
-4,99
-0,23
-0,1
29,9
0,13
0,13
0
-0,05
-0,03
40
0,05
0,05
Obr. 5.4: Z´avislost odchylek od referenˇcn´ı hodnoty - pod´eln´ y sklon
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
5.1.2
54
Pr˚ ubˇ ehy pro pˇ r´ıˇ cn´ y n´ aklon
Na obr. 5.5 jsou zobrazeny pr˚ ubˇehy u ´hl˚ u od jednotliv´ ych senzor˚ u a odhad u ´hlu pomoc´ı Kalmanovy filtrace pro pˇr´ıˇcn´ y n´aklon. Tyto z´avislosti byly zmˇeˇreny pro kladn´ y smˇer n´aklonu, pro z´aporn´ y smˇer n´aklonu jsou namˇeˇren´e pr˚ ubˇehy pˇriloˇzeny na CD. Data z mˇeˇric´ı jednotky byla mˇeˇrena se vzorkovac´ı frekvenc´ı 8, 3 Hz. Bˇehem mˇeˇren´ı bylo provedeno nˇekolik skokov´ ych zmˇen n´aklonu. Pro u ´hel 23◦ byl 1.senzor v saturaci au ´hel n´aklonu byl d´ale odhadov´an pouze z 2.senzoru.
Obr. 5.5: Z´avislost namˇeˇren´ ych u ´hl˚ u a odhadu u ´hlu - pˇr´ıˇcn´ y n´aklon
Na obr. 5.6 je uk´azka pr˚ ubˇehu namˇeˇren´ ych dat z 2.senzoru, odhad u ´hlu Kalmanovou filtrac´ı a referenˇcn´ı hodnota u ´hlu 0◦ . Na obr. 5.7 jsou pr˚ ubˇehy namˇeˇren´ ych dat z obou senzor˚ u, referenˇcn´ı hodnota a odhad u ´hlu, kter´ y vych´az´ı z f´ uze obou senzor˚ u. Z tˇechto pr˚ ubˇeh˚ u je opˇet vidˇet, ˇze f´ uze dat se dvou senzor˚ u vyhlazuje a zlepˇsuje pr˚ ubˇeh odhadu. Odhad zaloˇzen´ y na 2. senzoru se pohybuje v rozmez´ı 0, 1◦ aˇz 0, 4◦ . Odhad zaloˇzen´ y na f´ uzi dat ze dvou senzor˚ u se pohybuje v rozmez´ı 0, 007◦ aˇz 0, 025◦ . Na tˇechto pr˚ ubˇez´ıch je t´eˇz vidˇet, ˇze jeden 1.senzor zpˇresˇ nuje 2.senzor, kter´ y m´a vˇetˇs´ı odchylku od referenˇcn´ı hodnoty. Protoˇze v okol´ı nulov´eho n´aklonu je pˇresnˇejˇs´ı prvn´ı senzor, m´a nastavenu vˇetˇs´ı v´ahu, coˇz zp˚ usobuje, ˇze odhad v´ıce sleduje namˇeˇren´a data z 1.senzoru. Porovn´an´ı
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
55
odchylek od referenˇcn´ıch u ´hl˚ u s f´ uz´ı a bez f´ uze pro pod´eln´ y sklon v kladn´em i z´aporn´em smˇeru je uvedeno v tab. 5.2 a graficky zn´azornˇeno na obr. 5.8.
Obr. 5.6: Z´avislost odhadu u ´hlu bez f´ uze senzor˚ u - pˇr´ıˇcn´ y n´aklon
Obr. 5.7: Z´avislost odhadu u ´hlu s f´ uz´ı senzor˚ u - pˇr´ıˇcn´ y n´aklon
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
56
Tab. 5.2: Odchylky od referenˇcn´ıch u ´hl˚ u - pˇr´ıˇcn´ y n´aklon β<0 Ref. u ´hel βref (◦ )
β>0
Bez f´ uze ∆βbez
f uze
S f´ uz´ı
(◦ ) ∆βf uze (◦ )
Ref. u ´hel βref (◦ )
Bez f´ uze ∆βbez
f uze
(◦ )
S f´ uz´ı ∆βf uze (◦ )
-45
-0,12
-0,12
0
0,05
-0,02
-34,8
-0,1
-0,1
0
-0,08
0,05
-30
0,16
0,16
10,01
-0,09
-0,07
-25
0,16
-0,16
10,02
-0,07
-0,1
-15,1
0,25
-0,03
19,96
-0,05
-0,03
-10,05
0,25
0,07
20
-0,09
-0,05
-4,9
-0,03
-0,12
30
-0,11
-0,11
0
0,05
-0,02
30
-0,1
-0,01
0
-0,13
-0,09
40
-0,1
-0,1
Obr. 5.8: Z´avislost odchylek od referenˇcn´ı hodnoty - pˇr´ıˇcn´ y n´aklon
5.2
Odezva Kalmanova filtru na skokovou zmˇ enu
Na obr. 5.9 a obr. 5.10 jsou vykresleny pr˚ ubˇehy namˇeˇren´ ych dat z mˇeˇric´ı jednotky s rozsahem -45◦ aˇz 45◦ a odhad u ´hlu. Ostatn´ı pr˚ ubˇehy jsou pˇriloˇzeny na CD. Vzorkovac´ı frekvence byla 8, 3 Hz. Z namˇeˇren´ ych dat byla vypoˇctena doba ust´alen´ı elektrolytick´e libely a Kalmanova filtru pro pomalou a rychlou zmˇenu u ´hlu.
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
57
Obr. 5.9: Odezva na rychlou skokovou zmˇenu -20◦ → 20◦ - pod´eln´ y sklon
Obr. 5.10: Odezva na pomalou skokovou zmˇenu -40◦ → 40◦ - pˇr´ıˇcn´ y n´aklon
Vypoˇcten´e hodnoty jsou uvedeny v tab. 5.3, tlib je doba ust´alen´ı elektrolytick´e libely s rozsahem -45◦ aˇz 45◦ , tKF je doba ust´alen´ı Kalmanova filtru. Mˇeˇren´ı bylo provedeno
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
58
pro zmˇeny u ´hl˚ u -20◦ → 20◦ , 20◦ → -20◦ , -40◦ → 40◦ a 40◦ → -40◦ . Doba ust´alen´ı dosahuje menˇs´ıch hodnot pˇri skokov´e zmˇenˇe z -20◦ na 20◦ a naopak pro Kalman˚ uv filtr i elektrolytickou libelu. Rychlejˇs´ıho ust´alen´ı je dosaˇzeno, pokud ke skokov´e zmˇenˇe dojde pomalu. Nejmenˇs´ı doba ust´alen´ı senzoru byla 54, 2 s pro pomalou zmˇenu z 20◦ na -20◦ u pˇr´ıˇcn´eho n´aklonu, 60, 2 s byla nejmenˇs´ı doba ust´alen´ı Kalmanova filtru pro pomalou zmˇenu z -20◦ na 20◦ pro pod´eln´ y sklon. Tab. 5.3: Odezva na skokov´e zmˇeny u ´hl˚ u Pod´eln´ y sklon tKF (s) tlib (s)
5.3
Pˇr´ıˇcn´ y n´aklon tKF (s)
tlib (s)
Pomal´a zmˇena, -20◦ → 20◦
60,2
60
86,1
78,4
Pomal´a zmˇena, 20◦ → -20◦
77,1
65
96,4
54,2
Rychl´a zmˇena, -20◦ → 20◦
96,3
107,5
96,4
110,28
Rychl´a zmˇena, 20◦ → -20◦
97,2
106,9
66,3
90,4
Pomal´a zmˇena, -40◦ → 40◦
131
81,4
120
72,5
Pomal´a zmˇena, 40◦ → -40◦
118,5
75,8
120,5
60,3
Rychl´a zmˇena, -40◦ → 40◦
144
99,2
156
72,6
Rychl´a zmˇena, 40◦ → -40◦
132
96,9
132,5
56,4
Teplotn´ı z´ avislost mˇ eˇ ric´ı jednotky
Na obr. 5.11 jsou teplotn´ı z´avislosti pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon pˇri u ´hlu naklonˇen´ı 2, 56◦ pro pod´eln´ y sklon a -11, 2◦ pro pˇr´ıˇcn´ y n´aklon. Nejvyˇsˇs´ı namˇeˇren´ y u ´hel je 2, 93◦ pˇri t = 30◦ C pro pod´eln´ y sklon, jehoˇz odchylka od referenˇcn´ıho u ´hlu je 0, 28◦ , nejniˇzˇs´ı namˇeˇren´ yu ´hel pro stejn´ y smˇer n´aklonu je 2, 11◦ pˇri t =-7◦ C, odchylka od referenˇcn´ıho u ´hlu je 0, 54◦ . Nejvyˇsˇs´ı namˇeˇren´ yu ´hel pro pˇr´ıˇcn´ y n´aklon je -10, 74◦ pˇri t = 12◦ C, jehoˇz odchylka od referenˇcn´ıho u ´hlu je 0, 47◦ , nejniˇzˇs´ı namˇeˇren´ yu ´hel pro stejn´ y smˇer n´aklonu je -11, 21◦ pˇri t = 21◦ C, odchylka od referenˇcn´ıho u ´hlu je 0, 01◦ .
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
59
Obr. 5.11: Teplotn´ı z´avislost mˇeˇric´ı jednotky
5.4
Z´ avislost kˇ r´ıˇ zov´ e vazby na u ´ hlu n´ aklonu
Pˇri mˇeˇren´ı pˇrevodn´ı charakteristiky byla mˇeˇrena i kˇr´ıˇzov´a vazba tj. pˇri mˇeˇren´ı pod´eln´eho n´aklonu byl souˇcasnˇe mˇeˇren i pˇr´ıˇcn´ y n´aklon, kter´ y ovlivˇ nuje pod´eln´ y sklon. Stejnˇe je tomu i v opaˇcn´em pˇr´ıpadˇe, kdy je mˇeˇren pˇr´ıˇcn´ y n´aklon. Z´avislosti kˇr´ıˇzov´e vazby jsou na obr. 5.12. CC − P od.sklon je z´avislost pˇr´ıˇcn´eho n´aklonu na referenˇcn´ım u ´hlu v pˇr´ıpadˇe, kdy byl mˇeˇren n´aklon v pod´eln´em smˇeru. CC −P ric.naklon je z´avislost pod´eln´eho sklonu na referenˇcn´ım u ´hlu v pˇr´ıpadˇe, kdy byl mˇeˇren n´aklon v pˇr´ıˇcn´em smˇeru. Nejvyˇsˇs´ı kladn´a odchylka pod´eln´eho sklonu od nulov´e hodnoty pˇri meˇren´ı pˇr´ıˇcn´eho n´aklonu je 2, 21◦ pˇri u ´hlu naklonˇen´ı -45◦ , nejvˇetˇs´ı z´aporn´a odchylka od nuly je -0, 53◦ pˇri 33◦ . Maxim´aln´ı odchylky pˇr´ıˇcn´eho n´aklonu pˇri mˇeˇren´ı pod´eln´eho sklonu jsou 2, 16◦ pˇri -45◦ a -1, 86◦ pˇri 45◦ .
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
60
Obr. 5.12: Kˇr´ıˇzov´a vazba mˇeˇric´ı jednotky
5.5
Mˇ eˇ ren´ı hystereze mˇ eˇ ric´ı jednotky
Z namˇeˇren´ ych pˇrevodn´ıch charakteristik byla vypoˇctena a vynesena z´avislost hystereze, kter´a je na obr. 5.13 pro pod´eln´ y sklon a na obr. 5.14.
Obr. 5.13: Hystereze mˇeˇr´ıc´ı jednotky ∆α = f (αref ) - pod´eln´ y n´aklon
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
61
Hystereze elektrolytick´eho senzoru je ovlivnˇena hustotou elektrolytu, kter´ y ulp´ıv´a na stˇen´ach sklenˇen´eho pouzdra senzoru a na jednotliv´ ych elektrod´ach. Hystereze mˇeˇric´ı jednotky se pro pod´eln´ y sklon i pˇr´ıˇcn´ y n´aklon pohybuje v rozmez´ı -0, 19◦ aˇz 0, 16◦ .
Obr. 5.14: Hystereze mˇeˇr´ıc´ı jednotky ∆β = f (βref ) - pˇr´ıˇcn´ y n´aklon
5.6
Software navrˇ zen´ y pro mˇ eˇ ren´ı charakteristik
V n´asleduj´ıc´ı kapitole bude velmi struˇcnˇe pops´an program pro mˇeˇren´ı elektrolytick´e libely. Jak bylo uvedeno v pˇredchoz´ıch kapitol´ach, mˇeˇric´ı jednotka komunikuje s PC pomoc´ı rozhran´ı RS232. Nejjednoduˇsˇs´ım zp˚ usobem komunikace je pouˇzit´ı hypertermin´alu nebo software, kter´ y v´ yrobce poskytuje na sv´ ych internetov´ ych str´ank´ach. Vzhledem k tomu, ˇze program distribuovan´ y v´ yrobcem prov´adˇel v´ ypoˇcet podle stejn´eho postupu, kter´ y vykazoval znaˇcn´e odchylky od line´arn´ıho pr˚ ubˇehu, byl vytvoˇren jednoduch´ y program pro mˇeˇren´ı charakteristik senzoru. Program byl vytvoˇren ve v´ yvojov´em prostˇred´ı LabWindows CVI. Hlavn´ı a konfiguraˇcn´ı panel jsou na obr. 5.15.
ˇ REN ˇ E ´ PRUB ˚ EHY ˇ KAPITOLA 5. NAME DAT, GRAFY
62
Obr. 5.15: Hlavn´ı a konfiguraˇcn´ı panel programu Libela
Uˇzivatelsk´e rozhran´ı je rozdˇeleno na nˇekolik ˇc´ast´ı: Nastaven´ı - nastaven´ı parametr˚ u komunikace po RS232. Hypertermin´ al - je obdobou klasick´eho hypertermin´alu. Typ u ´ hlu - nastaven´ı typu u ´hlu, kter´ y bude mˇeˇren. Podle typu u ´hlu se do mˇeˇric´ı jednotky odeˇsle znak 0 B 0 nebo 0 C 0 . Odmˇ ery do souboru - provede odmˇery do souboru, ukl´ad´a se typ u ´hlu, nastaven´ y u ´hel a zmˇeˇren´a data do textov´eho souboru, kter´ y je pojmenov´an data 1.txt, kde ˇc´ıslo 1 oznaˇcuje ˇc´ıslo Comportu. Odmˇ er - odmˇeˇr´ı tolik vzork˚ u, jak´ y je nastaven poˇcet odmˇer˚ u, vypoˇcte jejich pr˚ umˇer a zobraz´ı namˇeˇren´e ˇc´ıslo v hexadecim´aln´ım tvaru, des´ıtkov´em tvaru a v´ ysledn´ y u ´hel.
ˇ YCH ´ ´ ˚ KAPITOLA 6. ZHODNOCEN´I DOSAZEN VYSLEDK U
6
63
ˇ ´ ´ ˚ ZHODNOCEN´I DOSAZEN YCH VYSLEDK U C´ılem t´eto diplomov´e pr´ace bylo navrhnout mˇeˇric´ı syst´em v rozsahu u ´hl˚ u ±70◦ ,
korigovat jeho chyby a odchylky a matematicky pomoc´ı Kalmanova filtru prov´est spojen´ı syst´emu s dalˇs´ımi dvˇema n´aklonn´ ymi syst´emy. Pro v´ ysledn´ y mˇeˇric´ı syst´em byla vybr´ana mˇeˇric´ı jednotka Micro 50-D70 od firmy Spectron Glass and Electronics Incorporated, kter´a mˇela m´ıt poˇzadovan´ y rozsah u ´hl˚ u n´aklonu. Tato mˇeˇric´ı jednotka byla objedn´ana a zakoupena za 203 USD. Pro
odmˇeˇren´ı pˇrevodn´ıch
charakteristik
byly
zjiˇstˇeny
znaˇcn´e
odchylky
od ud´avan´ ych parametr˚ u mˇeˇric´ı jednotky. Jednotka mˇela rozsah ±45◦ , kdeˇzto v´ yrobce uv´adˇel v dokumentaci (±60◦ ). Jednotka vykazovala velk´e odchylky od line´arn´ıho pr˚ ubˇehu, kter´e dosahovaly hodnot aˇz 8, 6◦ . Pro komunikaci s mˇeˇric´ı jednotkou byl vytvoˇren jednoduch´ y program v prostˇred´ı LabWindows CVI, uveden´ y v kap. 5.6. Pˇrevodn´ı charakteristika byla zlinearizov´ana Lagrangeovou interpolac´ı, pomoc´ı kter´e bylo dosaˇzeno odchylek od line´arn´ıch pr˚ ubˇehu menˇs´ıch neˇz 0, 1◦ pro obˇe osy n´aklonu, viz. kap. 4.1. Odchylky od referenˇcn´ıch hodnot pˇri mˇeˇren´ı pr˚ ubˇeh˚ u dat se zmˇenami n´aklon˚ u v kapitole 5.1 mohou b´ yt zp˚ usobeny nestabilitou pˇrevodn´ı charakteristiky, kˇr´ıˇzovou vazbou, kter´a nebyla korigov´ana a nebo hysterez´ı. Pˇrevodn´ı charakteristika mˇeˇric´ı jednotky byla ihned po zakoupen´ı zmˇeˇrena. Pˇri opakovan´em mˇeˇren´ı byly zjiˇstˇeny odchylky pˇrevodn´ı charakteristiky oproti pˇredchoz´ımu mˇeˇren´ı, kter´e dosahovaly aˇz 0,5◦ . Tyto chyb mohou b´ yt zp˚ usobeny hysterez´ı, kˇr´ıˇzovou vazbou nebo st´arnut´ım elektrolytu. Pro z´ısk´an´ı referenˇcn´ıch hodnot byl pouˇzit pˇresn´ y akcelerometr. Vzhledem k tomu, ˇze v´ yrobce poslal struˇcnou dokumentaci k mˇeˇric´ı jednotce musely b´ yt promˇeˇreny jej´ı vlastnosti napˇr. drift, teplotn´ı z´avislost, kˇr´ıˇzov´a vazba a hystereze. Vliv kˇr´ıˇzov´e vazby, kter´ y nebyl z ˇcasov´ ych d˚ uvod˚ u korigov´an, je pops´an v kap. 5.4. Hystereze uveden´a v 5.5 byla korigov´ana pr˚ umˇerov´an´ım odpov´ıdaj´ıc´ıch hodnot pˇri zvyˇsov´an´ı a sniˇzov´an´ı n´aklonu pˇri v´ ypoˇctu pˇrevodn´ı charakteristiky. Vliv vibrac´ı na mˇeˇric´ı jednotku nebyl mˇeˇren, nebot’ senzor n´aklonu obsahuje kapalinu, kter´a pˇri vibrov´an´ı nen´ı schopna poskytnout vˇerohodn´ y u ´daj o n´aklonu. V´ yrobce doporuˇcuje pro pouˇzit´ı mˇeˇric´ı jednotky v prostˇred´ı, kde jsou otˇresy a vibrace pouˇzit´ı elektrolytu s vˇetˇs´ı hustotou.
´ ER ˇ KAPITOLA 7. ZAV
7
64
´ ER ˇ ZAV Diplomov´a pr´ace se skl´ad´a ze ˇctyˇr hlavn´ıch ˇca´st´ı. V prvn´ı ˇc´asti je uveden teoretick´ y
rozbor, druh´a obsahuje popis mˇeˇric´ı jednotky Micro 50-D70. Tˇret´ı n´avrh Kalmanova filtru a ve ˇctvrt´e jsou uvedeny v´ ysledky mˇeˇren´ı. Teoretick´a ˇca´st obsahuje vysvˇetlen´ı ˇcinnosti elektrolytick´ ych senzor˚ u n´aklonu a jejich parametry, popisuje n´aklonn´ y stolek a Lagrangeovu interpolaci, odvozen´ı a vysvˇetlen´ı principu Kalmanovy filtrace. Druh´a ˇca´st popisuje mˇeˇric´ı jednotku n´aklon˚ u Micro 50 - D70 a komunikaci senzoru s poˇc´ıtaˇcem. Tˇret´ı ˇca´st obsahuje linearizaci pˇrevodn´ı charakteristiky elektrolytick´eho senzoru n´aklonu, popis m-file pro v´ ypoˇcet Kalmanova filtru a n´avrh Kalmanova filtru pro elektrolytick´e senzory n´aklonu. V t´eto kapitole je pops´ana f´ uze dat ze dvou senzor˚ u n´aklonu, resetov´an´ı Kalmanova filtru v pˇr´ıpadˇe zmˇeny n´aklonu a v´ahov´an´ı senzor˚ u. V´ ysledn´e pr˚ ubˇehy namˇeˇren´ ych dat a v´ ysledky Kalmanovy filtrace jsou uvedeny ve ˇctvrt´e ˇca´sti diplomov´e pr´ace. Z´avˇerem lze shrnout, ˇze mˇeˇric´ı syst´em byl navrˇzen a byla ovˇeˇrena jeho funkce. Syst´em Micro 50-D70 je matematicky spojen pouze s druh´ ym elektrolytick´ ym senzorem, kter´ y je schopen mˇeˇrit rozsah u ´hl˚ u ±20◦ . Z ˇcasov´ ych d˚ uvod˚ u nebylo moˇzn´e zajistit propojen´ı syst´emu s akcelerometry. Absence akcelerometr˚ u m´a tak´e vliv na v´ yslednou pˇresnost, nebot’ jak bylo uk´az´ano f´ uz´ı dat z v´ıce senzor˚ u se odhad u ´hlu v Kalmanovˇe filtraci bl´ıˇz´ı v´ıce k referenˇcn´ı hodnotˇe. Tento mˇeˇric´ı syst´em by mˇel v budoucnu b´ yt rozˇs´ıˇren o syst´em pro mˇeˇren´ı n´aklon˚ u pomoc´ı akcelerometr˚ u a spoleˇcnˇe tvoˇrit pˇrenosnou jednotku n´aklon˚ u, kter´a bude zobrazovat u ´hly n´aklon˚ u na displeji. V´ ysledn´a zobrazen´a hodnota bude odhad u ´hl˚ u pomoc´ı Kalmanovy filtrace z dat namˇeˇren´ ych ze tˇr´ı senzor˚ u n´aklonu.
ˇ ´ILOHY KAPITOLA 8. PR
8 8.1
65
ˇ ´ILOHY PR Pˇ r´ıloha A - Fotodokumentace Micro 50-D70
(a) Podled shora
(b) pohled zdola
Obr. 8.1: Mˇeˇric´ı jednotka Micro 50-D70
8.2
Pˇ r´ıloha B - N´ akres a rozmˇ ery Micro 50-D70
Obr. 8.2: Mˇeˇric´ı jednotka Micro 50-D70 - n´akres, rozmˇery
ˇ ´ILOHY KAPITOLA 8. PR
8.3
66
Pˇ r´ıloha C - Pˇ revodn´ı charakteristiky - pod´ eln´ y sklon
Obr. 8.3: Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pod´eln´ y sklon
ˇ ´ILOHY KAPITOLA 8. PR
8.4
67
Pˇ r´ıloha D - Pˇ revodn´ı charakteristiky - pˇ r´ıˇ cn´ y n´ aklon
Obr. 8.4: Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pˇr´ıˇcn´ y n´aklon
ˇ ´ILOHY KAPITOLA 8. PR
8.5
68
Pˇ r´ıloha E - Funkce lran(x, P dSF)
M-file pro v´ ypoˇcet Lagrangeovy interpolace, do funkce vstupuj´ı namˇeˇren´a des´ıtkov´a y sklon, resp. R dSF data x a tabulka korekc´ı pˇrevodn´ıch konstant P dSF pro pod´eln´ pro pˇr´ıˇcn´ y n´aklon. V prvn´ı ˇca´sti je proch´azena tabulka korekc´ı KP . Aby nemusela b´ yt proch´azena cel´a, je rozdˇelena podle vstupn´ı hodnoty na dvˇe ˇc´asti. function y = lran(x, tab_SF); k=1; PX = 0; PY = 0; index = 0; n = 0; if x <= tab_SF(1,2) n = 1; k = 3; elseif x >= tab_SF(1,180) n = 1; k = 182; else n = 3; if x < tab_SF(1,90) k = 3; else k = 89; end; while x > tab_SF(1,k) k = k+1; end;
%zacatek tab SF %konec tab SF
%hledani - 1.pol tab vs. 2.pol tab
%hledani indexu vyssi hodnoty, nez x_lag
end; for i = (k-2):(k-2+n) %naplneni promennych pro Lagrange index = index + 1; PX(index) = tab_SF(1,i); PY(index) = tab_SF(2,i); end; % --- Lagrange --n=size(PX,2); L=ones(n,size(x,2)); for i=1:n for j=1:n if (i~=j) L(i,:)=L(i,:).*(x-PX(j))/(PX(i)-PX(j)); end end end y=0; for i=1:n y=y+PY(i)*L(i,:); end
ˇ ´ILOHY KAPITOLA 8. PR
8.6
69
Pˇ r´ıloha F - M-file - v´ ypoˇ cet KF
V t´eto ˇca´sti je uveden m-file pro v´ ypoˇcet Kalmanova filtru s linearizacemi a vykreslen´ı pr˚ ubˇeh˚ u namˇeˇren´ ych dat, vytvoˇren´ y v programovac´ım prostˇred´ı Matlab 7.1. % --- Martin Sipos,
[email protected], 2008 --% --- Linearni KF s linearizacema pomoci polynomu --% --- nebo Lagrangeovy interpolace --clc; clear all; %close all; T = 39300;
%pocet cyklu KF, zavisly na poctu namerenych dat
% --- Nacteni tabulek prevodnich konstant --load(’P_dSF’); %nacteni load(’R_dSF’); %nacteni load(’P_dSFe’); %nacteni load(’R_dSFe’); %nacteni % --- Nacteni namerenych dat --y_EP = load(’e_roll_2.txt’); y_ER = load(’e_roll_2.txt’); y_SP = load(’s_roll_2.txt’); y_SR = load(’s_roll_2.txt’); % % % % %
% % % %
Edrev Edrev Sipos Sipos
tabulky tabulky tabulky tabulky
delta_SF delta_SF delta_SF delta_SF
-
Pitch - Sipos Roll - Sipos Pitch - Edrev Roll - Edrev
pitch roll pitch roll
--- Nacteni dat pro rychle a pomale skokove zmeny --y_EP = load(’RE_skok.txt’); % Edrev - Pitch y_ER = load(’RE_skok.txt’); % Edrev - Roll y_SP = load(’RS_skok.txt’); % Sipos - Pitch y_SR = load(’RS_skok.txt’); % Sipos - Roll
% --- Ref data --% --- 1.serie --load(’P_ref_kl’); load(’R_ref_z’);
% Pitch - kladny prubeh % Roll - zaporny prubeh
% --- 2.serie --load(’P_ref_z’); load(’R_ref_kl’);
% Pitch - zaporny prubeh % Roll - kladny prubeb
% --- Vybrani uzitecnych dat --y1 = y_EP(1:T,3)’; % pitch Edrev y2 = y_ER(1:T,3)’; % roll Edrev y3 = y_SP(1:T,3)’; % pitch Sipos y4 = y_SR(1:T,3)’; % roll Sipos % --- Prevodni konstanty --SF_E = 825; %SF - Edrev SF_SP = 2110; %SF - Sipos - Pitch SF_SR = 2106; %SF - Sipos - Roll zero = 2048; %nula - bias % --- Uhly s nekorigovanym SF --% --- Vypocet linearizace polynomem, lze vypocist Lagrangem v KF --% % % % % %
pitch_e = (y1-zero)*10/SF_E; roll_e = (y2-zero)*10/SF_E;
%Edrev - uhel pred lin - pitch %Edrev - uhel pred lin - roll
% --- Vypocet linearizace SF - Edrev --Edrev - lin SF - pitch dSFE_P = 0.117.*pitch_e.*pitch_e - 0.2768.*pitch_e - 2.7275;
% linearizovany uhel - pitch % lin_pitch_e = (y1 - 2048)*10./(SF_E + dSFE_P);
ˇ ´ILOHY KAPITOLA 8. PR
70
% Edrev - lin SF - roll % dSFE_R = 0.1068*roll_e.*roll_e + 0.2548.*roll_e + 5.7964; % linearizovany uhel - roll % lin_roll_e = (y2 - 2048)*10./(SF_E + dSFE_R); % --- Odecteni biasu, definice vektoru mereni --y(1,:) = y1 - zero; %data, ktera budou filtrovana v KF y(2,:) = y2 - zero; % + 16.5; y(3,:) = y3 - zero; y(4,:) = y4 - zero; %+ 10.53; % --- Parametry exp. kor. sumu --dampexp=exp(-1/887); sigexp=sqrt(1 - dampexp^2); % --- Model systemu --% stavovy vektor % x = [Pitch; drift 1.senz; drift 2.senz; Roll; drift 1.senz; drift 2.senz] % R1=cov(y1); R2=cov(y2); % R3=cov(y3); R4=cov(y4); R1=0.6; R2=0.6; % Edrev R3=0.6; R4=0.6; % Sipos Qx=1e-10; Qsum = sigexp; Eps=y(1); AEK = 0.8;
% Edrev - vypocet % Sipos - vypocet zjisteno z mereni zjisteno z mereni
i ze skokovych zmen i ze skokovych zmen driftu bez naklonu driftu bez naklonu
% --- Matice systemu --A = [1, 0, 0, 0, 0, 0;... 0, AEK, 0, 0, 0, 0;... 0, 0, AEK, 0, 0, 0;... 0, 0, 0, 1, 0, 0;... 0, 0, 0, 0, AEK, 0;... 0, 0, 0, 0, 0, AEK]; I=eye(6);
% Jednotkova matice
% --- Kovariancni matice modelu systemu --Q = diag([Qx, Qsum, Qsum, Qx, Qsum, Qsum]); % --- Kovariancni matice chyb odhadu --P = diag([0.5, 0.5, 0.5, 0.5, 0.5, 0.5]); % --- Pocatecni podminky --x_pred=[0;0;0;0;0;0]; y_pred=[0;0;0;0;0;0]; SF_kor = [30; 30; 30; 30]; on=1; dyr=0; dyp=0; rp=0;rr=0; c_r=0; c_p=0;
% poc. stav. vektor % pole, kam se nacitaji zkorigovane SF % pomocne promenne pro reset KF
% --- Kalmanuv cykl --for k = 2:T % --- V pripade linearizace polynomem --% korigovany SF - pitch - edrev - vypocet polynomem % SFEP = (SF_E + dSFE_P(k))/10; % korigovany SF - roll - edrev - vypocet polynomem % SFER = (SF_E + dSFE_R(k))/10; % --- Linearizace Lagrangem --% korekce SF - pitch - edrev - lagrangem (vstup - desitkova data, tab SF) SFEP = (SF_E + lrank(y1(k), P_dSFe))/10;
ˇ ´ILOHY KAPITOLA 8. PR
71
%korekce SF - roll - edrev - lagrangem (vstup - desitkova data, tab SF) SFER = (SF_E + lrank(y2(k), R_dSFe))/10; %korekce SFSP %korekce SFSR
SF - pitch - sipos - lagrangem (vstup - desitkova data, tab SF) = (SF_SP + lran(y3(k), P_dSF))/60; SF - roll - sipos - lagrangem (vstup - desitkova data, tab SF) = (SF_SR + lran(y4(k), R_dSF))/60;
SF_kor(:,k) = [SFEP; SFER; SFSP; SFSR]; % --- Promenna matice mereni --C = [SFEP, 1, 0, 0, 0, 0;... 0, 0, 0, SFER, 1, 0;... SFSP, 0, 1, 0, 0, 0;... 0, 0, 0, SFSR, 0, 1];
% % % %
% ulozeni SF
pitch Edrev roll Edrev pitch Sipos roll Sipos
% --- Matice C pro pripad, kdy uvazujeme pouze 2.senzor --% C = [0, 0, 0, 0, 0, 0;... % pitch Edrev % 0, 0, 0, 0, 0, 0;... % roll Edrev % SFSP, 0, 1, 0, 0, 0;... % pitch Sipos % 0, 0, 0, SFSR, 0, 1]; % roll Sipos
% saturace - vynulovani prvku matice C - pitch - Edrev % zaroven se tim nastavi K=0 pro prislusne data if (y1(k)<100 || y1(k)>3800) C(1,1) = 0; C(1,2) = 0; end; % saturace - vynulovani prvku matice C - roll - Edrev if (y2(k)<100 || y2(k)>3800) C(2,4) = 0; C(2,5) = 0; end; skok = 10; % --- Reset KF --k1 = k-10; if (k1<1) k1=1; end;
% pocet kroku do minulosti
dyp = abs(y(3,k1) - y(3,k)); dyr = abs(y(4,k1) - y(4,k));
% rozdil v k a k1 - pitch % rozdil v k a k1 - roll
if (dyr > skok) rr=1; c_r=0; end; if (dyr<skok && rr==1) c_r=c_r+1; if (c_r>15) rr=0; x_pred(4)=y(4,k)/SFSR; P(4:6,4:6)=eye(3)*0.5; end; end; if (dyp>10) rp=1; c_p=0; end;
% reset, pokud 15 hodnot je mensich nez skok
ˇ ´ILOHY KAPITOLA 8. PR if (dyp<10 && rp==1) c_p=c_p+1; if (c_p>15) rp=0; x_pred(1)=y(3,k)/SFSP; P(1:3,1:3)=eye(3)*0.5; end; end; % --- V´ ahov´ an´ ı --wp = 0.99; wr = 0.99; % wp - pitch, wr = roll % --- Pitch --if (1372 < y3(k) && y3(k) < 2718) % interval <-20◦ , 20◦ > wp = 0.5; end; if (1860 < y3(k) && y3(k) < 2243) % interval <-6◦ ,6◦ > wp = 0.25; end; % --- Roll --if (1377 < y3(k) && y3(k) < 2716) % interval <-20◦ , 20◦ > wr = 0.5; end; if (1857 < y3(k) && y3(k) < 2241) % interval <-6◦ , 6◦ > wr = 0.25; end; R = diag([wp*R1, wr*R2, (1-wp)*R3, (1-wr)*R4]); % --- KF cykl --% --- Datov´ y krok --y_pred = C*x_pred; eps = y(:,k)-y_pred; K = P*C’*inv(C*P*C’+R); P = (I-K*C)*P; x_pred = x_pred+K*eps; y_pred = C*x_pred ;
% % % % % %
odhad vystupu y(k|k-1) chyba odhadu vystupu e(k|k-1) kalmanovo zesileni kovariacni matice P(k|k) odhad stavu x(k|k) odhad vystupu y(k|k)
% --- Ulozeni dat --eps_plot(:,k)=eps; x(:,k)=x_pred; P_plot(:,k)=[P(1,1) P(4,4)]; % --- Casovy krok --x_pred = A*x_pred; P = A*P*A’+Q; end; % --- Vykresleni Pitch --figure; hold on; grid on; title(’Zavislost uhlu na poctu vzorku, bez linearizaci - podelny sklon’); plot(y(1,:)*10/SF_E,’m’); % vystup bez linearizace - Edrev plot(y(3,:)*60/SF_SP,’y’); % vystup bez linearizace - Sipos plot(x(1,:),’k’); % odhad - pitch legend(’1.senzor’,’2.senzor’,’x pod.skl.’); xlabel(’k ->’); ylabel(’\alpha [◦ ]’); figure; hold on; grid on; title(’Zavislost uhlu na poctu vzorku, s linearizacemi - podelny sklon’); % plot(lin_pitch_e,’m’); % vystup s linearizaci edrev - polynom plot(y(1,:)./SF_kor(1,:),’m’); % vystup s linearizaci edrev - LAGRANGE
72
ˇ ´ILOHY KAPITOLA 8. PR plot(y(3,:)./SF_kor(3,:),’y’); % vystup s linearizaci sipos plot(x(1,:),’k’); % odhad - pitch % plot(P_ref_kl,’g’); % 1.serie plot(P_ref_z,’g’); % 2.serie legend(’1.senzor’,’2.senzor’,’x pod.skl.’); xlabel(’k ->’); ylabel(’\alpha [◦ ]’); figure; hold on; grid on; title(’Pitch - P ’); plot(sqrt(P_plot(1,:)),’b’); plot(-sqrt(P_plot(1,:)),’b’); plot(3*sqrt(P_plot(1,:)),’r’); plot(-3*sqrt(P_plot(1,:)),’r’); % --- Vykresleni Roll --figure; hold on; grid on; title(’Zavislost uhlu na poctu vzorku, bez linearizaci - pricny naklon’); plot(y(2,:)*10/SF_E,’m’); % vystup bez linearizace edrev plot(y(4,:)*60/SF_SR,’y’); % vystup bez linearizace sipos plot(x(4,:),’k’); % odhad - roll legend(’1.senzor’,’2.senzor’,’x pric.nakl.’); xlabel(’k ->’); ylabel(’\beta [◦ ]’); figure; hold on; grid on; title(’Zavislost uhlu na poctu vzorku, s linearizacemi - pricny naklon’); % plot(lin_roll_e,’m’); % vystup s linearizaci edrev - polynomem plot(y(2,:)./SF_kor(2,:),’m’); % vystup s linearizaci edrev plot(y(4,:)./SF_kor(4,:),’y’); % vystup s linearizaci sipos plot(x(4,:),’k’); % odhad - roll % plot(R_ref_z,’g’); % 1.serie plot(R_ref_kl,’g’); % 2.serie legend(’1.senzor’,’2.senzor’,’x pric.nakl.’);xlabel(’k ->’); ylabel(’\beta [◦ ]’); figure; hold on; grid on; title(’Roll - P ’); plot(sqrt(P_plot(2,:)),’b’); plot(-sqrt(P_plot(2,:)),’b’); plot(3*sqrt(P_plot(2,:)),’r’); plot(-3*sqrt(P_plot(2,:)),’r’);
73
LITERATURA
74
LITERATURA [1] GREWAL, M.S.; ANDREWS, A.P.: Kalman Filtering - Theory and Practice Using Matlab. NY USA 2001 ˇ DO, ˇ ´ [2] RIPKA, P.; DA S.; KREIDL, M.; NOVAK, J.:Senzory a pˇrevodn´ıky. Praha: ˇ CVUT, 2005. 136 s. Fakulta elektrotechnick´a. ISBN 80-01-03123-3 [3] Spectron Sensors (2007) http://www.spectronsensors.com/appsheets/SAN-201-1703.pdf [4] Micro D50-70, Spectron Sensors (2007) http://www.spectronsensors.com/datasheets/SDS-102-3803.pdf [5] SP5000 and AU6000 series, Spectron Sensors (2007) http://www.spectronsensors.com/datasheets/SDS-117-1104.pdf [6] The Electrolytic Tilt Sensor (Article, 1.5.2000) http://www.sensorsmag.com/articles/0500/120/main.shtml [7] Electrolytic Tilt Sensors and Inclinometers (Article, 8/2004) http://archives.sensorsmag.com/articles/0904/41/main.shtml [8] Electrolytic tilt sensors (Article, 6/1998) http://www.clino.co.uk/tiltpr.htm [9] Kalmanova filtrace http://measure.feld.cvut.cz/groups/LIS/download/prednasky/kalman/ Kalmanova%20filtrace.doc ´ M.; REINSTEIN, ˇ [10] SOTAK, M.: Kalmanova filtrace a INS/GPS integrace. Kurz adaptivn´ı filtrace, Projekt: CZ.04.3.07/3.1.01.3/3305 [11] Spectron Sensors, specifikace vlastnost´ı http://www.spectronsensors.com/appsheets/SAN-205-1004.pdf ˇ ´ C, ˇ J.: System for verification of adaptive algorithms en[12] REINSTEIN, M.; ROHA hancing the precision of low cost inertial sensors, Article 2007 ˇ ˇ [13] HAVLENA, V.; STECHA, J.: Modern´ı teorie ˇr´ızen´ı, Praha: Skriptum FEL CVUT 1999
LITERATURA
75
[14] KUHLMANN, H.: Kalman filtering with coloured measurement noise for deformation analysis, Greece 2003. [15] WELCH, G.; BISHOP, G.: An Introduction to the Kalman Filter, course 2001. [16] BROWN, R.G.: Random signal analysis and Kalman filtering, USA 1983. [17] GREWAL, M.S.; WEILL L.R.; ANDREWS A.P.,: Global Positioning Systems, Inertial Navigation and Integration, USA 2001 ˇ [18] HAVLENA, J.: Odhadov´an´ı a filtrace, Praha: Skriptum FEL CVUT 2002. ´ CEK, ˇ ˇ ´ID R.: Matlab v mˇeˇren´ı, Praha: Skriptum FEL CVUT, ˇ [19] SEDLA M.; SM 2007. ˇ ˇ [20] RAZ´IM, M.; STECHA, J.: Neline´arn´ı syst´emy, Praha: Skriptum CVUT, 1997. ´ ˇ [21] SYKORA P.; KOCER M.: Ne pˇr´ıliˇs struˇcn´y u ´vod do syst´emu LATEX
´ ˚ SEZNAM OBRAZK U 2.1
Jednoos´e elektrolytick´e libely . . . . . . . . . . . . . . . . . . . . . . .
10
2.2
Jednoos´e a dvouos´e elektrolytick´e libely . . . . . . . . . . . . . . . . . .
10
2.3
N´ahradn´ı obvod jednoos´e elektrolytick´e libely . . . . . . . . . . . . . .
11
2.4
Jednoos´ y senzor pˇri nulov´em n´aklonu . . . . . . . . . . . . . . . . . . .
12
2.5
Jednoos´ y senzor pˇri nulov´em n´aklonu . . . . . . . . . . . . . . . . . . .
13
2.6
Princip dvouos´eho senzoru n´aklonu . . . . . . . . . . . . . . . . . . . .
14
2.7
Princip vyhodnocen´ı smˇeru n´aklonu . . . . . . . . . . . . . . . . . . . .
15
2.8
N´aklonn´ y stolek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.9
Model adaptivn´ıho filtru . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.10 Stavov´ y model dynamick´eho syst´emu . . . . . . . . . . . . . . . . . . .
23
2.11 Cyklus Kalmanova filtru . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.12 Souvislost Kalmanova filtru a modelu syst´emu . . . . . . . . . . . . . .
25
2.13 Spektr´aln´ı v´ ykonov´e hustoty r˚ uzn´ ych typ˚ u ˇsum˚ u . . . . . . . . . . . . .
30
3.1
Meˇr´ıc´ı modul Micro 50-D70 . . . . . . . . . . . . . . . . . . . . . . . .
33
3.2
Blokov´e sch´ema modulu Micro 50-D70 . . . . . . . . . . . . . . . . . .
34
3.3
Elektrolytick´a libela SP5000 . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1
Blokov´e sch´ema syst´emu pro mˇeˇren´ı n´aklonu . . . . . . . . . . . . . . .
38
4.2
Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pod´eln´ y sklon . . . .
39
4.3
Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pˇr´ıˇcn´ y n´aklon . . . .
40
4.4
Z´avislosti odchylek od line´arn´ıho pr˚ ubˇehu - pod´eln´ y n´aklon
. . . . . .
41
4.5
Z´avislosti odchylek od line´arn´ıho pr˚ ubˇehu - pˇr´ıˇcn´ y n´aklon
. . . . . . .
41
4.6
Drift, Spektr´aln´ı v´ ykonov´a hustota - pod´eln´ y sklon . . . . . . . . . . .
44
4.7
Drift, Spektr´aln´ı v´ ykonov´a hustota - pˇr´ıˇcn´ y n´aklon . . . . . . . . . . .
45
4.8
V´ yvojov´ y diagram programu . . . . . . . . . . . . . . . . . . . . . . . .
49
5.1
Z´avislost namˇeˇren´ ych u ´hl˚ u a odhadu u ´hlu - pod´eln´ y sklon . . . . . . .
51
5.2
Z´avislost odhadu u ´hlu bez f´ uze senzor˚ u - pod´eln´ y sklon . . . . . . . . .
52
5.3
Z´avislost odhadu u ´hlu s f´ uz´ı senzor˚ u - pod´eln´ y sklon . . . . . . . . . .
52
5.4
Z´avislost odchylek od referenˇcn´ı hodnoty - pod´eln´ y sklon . . . . . . . .
53
5.5
Z´avislost namˇeˇren´ ych u ´hl˚ u a odhadu u ´hlu - pˇr´ıˇcn´ y n´aklon . . . . . . .
54
5.6
Z´avislost odhadu u ´hlu bez f´ uze senzor˚ u - pˇr´ıˇcn´ y n´aklon . . . . . . . . .
55
5.7
Z´avislost odhadu u ´hlu s f´ uz´ı senzor˚ u - pˇr´ıˇcn´ y n´aklon . . . . . . . . . . .
55
76
5.8
Z´avislost odchylek od referenˇcn´ı hodnoty - pˇr´ıˇcn´ y n´aklon . . . . . . . .
56
5.9
Odezva na rychlou skokovou zmˇenu -20◦ → 20◦ - pod´eln´ y sklon . . . . .
57
5.10 Odezva na pomalou skokovou zmˇenu -40◦ → 40◦ - pˇr´ıˇcn´ y n´aklon . . . .
57
5.11 Teplotn´ı z´avislost mˇeˇric´ı jednotky . . . . . . . . . . . . . . . . . . . . .
59
5.12 Kˇr´ıˇzov´a vazba mˇeˇric´ı jednotky . . . . . . . . . . . . . . . . . . . . . . .
60
5.13 Hystereze mˇeˇr´ıc´ı jednotky ∆α = f (αref ) - pod´eln´ y n´aklon . . . . . . .
60
5.14 Hystereze mˇeˇr´ıc´ı jednotky ∆β = f (βref ) - pˇr´ıˇcn´ y n´aklon
. . . . . . . .
61
5.15 Hlavn´ı a konfiguraˇcn´ı panel programu Libela . . . . . . . . . . . . . . .
62
8.1
Mˇeˇric´ı jednotka Micro 50-D70 . . . . . . . . . . . . . . . . . . . . . . .
65
8.2
Mˇeˇric´ı jednotka Micro 50-D70 - n´akres, rozmˇery . . . . . . . . . . . . .
65
8.3
Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pod´eln´ y sklon . . . .
66
8.4
Pˇrevodn´ı charakteristiky syst´emu Micro 50-D70 - pˇr´ıˇcn´ y n´aklon . . . .
67
77
SEZNAM TABULEK 2.1
Rovnice bˇelic´ıch filtr˚ u. . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3.1
Parametry syst´emu Micro 50-D70 . . . . . . . . . . . . . . . . . . . . .
34
3.2
Zapojen´ı konektoru DB9/RS232 . . . . . . . . . . . . . . . . . . . . . .
35
3.3
Charakteristick´e parametry elektrolytick´e libely SP5020 . . . . . . . . .
35
4.1
Odchylky od line´arn´ıch pr˚ ubˇeh˚ u pro jednotliv´e metody linearizace . . .
43
4.2
V´ahov´e koeficienty pro intervaly u ´hl˚ u n´aklonu . . . . . . . . . . . . . .
47
5.1
Odchylky od referenˇcn´ıch u ´hl˚ u - pod´eln´ y sklon . . . . . . . . . . . . . .
53
5.2
Odchylky od referenˇcn´ıch u ´hl˚ u - pˇr´ıˇcn´ y n´aklon . . . . . . . . . . . . . .
56
5.3
Odezva na skokov´e zmˇeny u ´hl˚ u . . . . . . . . . . . . . . . . . . . . . .
58
78
ˇ ´ILOH SEZNAM PR - Pˇr´ıloha A - Fotodokumentace Micro 50-D70 - Pˇr´ıloha B - N´akres a rozmˇery Micro 50-D70 - Pˇr´ıloha C - Pˇrevodn´ı charakteristiky - pod´eln´ y sklon - Pˇr´ıloha D - Pˇrevodn´ı charakteristiky - pˇr´ıˇcn´ y n´aklon - Pˇr´ıloha E - Funkce lran(x, P dSF) - Pˇr´ıloha F - M-file - v´ ypoˇcet KF
79
ˇ ˇ ´ OBSAH PRILO ZEN EHO CD Pro vˇetˇs´ı pˇrehlednost je CD rozdˇeleno na sloˇzky (adres´ aˇ re), ve kter´ ych jsou um´ıstˇeny jednotliv´e tematick´e celky. ysledn´a diplomov´a pr´ace ve form´atu PDF • siposm1 DP.pdf - V´ • Datasheets - Aplikaˇcn´ı listy mˇeˇric´ı jednotky Micro 50 - D70 a elektrolytick´e libely SP5020 • Libela - SW - Ovl´adac´ı uˇzivatelsk´e rozhran´ı pro mˇeˇren´ı s elektrolytickou libelou • Data - skoky - Namˇeˇren´a data skokov´ ych zmˇen v textov´ ych souborech • Data - zmˇ eny u ´hl˚ u - Namˇeˇren´a data zmˇen u ´hl˚ u v textov´ ych souborech pro oba smˇery n´aklonu • Figures - Pr˚ ubˇehy namˇeˇren´ ych dat, pˇrepoˇcten´ ych na u ´hly, pr˚ ubˇehy odhadu u ´hlu KF, pr˚ ubˇeh kovarianˇcn´ı matice odhadu P , pr˚ ubˇehy s f´ uz´ı a bez f´ uze, linearizovan´e a nelinearizovan´e • Hystereze - Pr˚ ubehy hystereze pro pod´eln´ y sklon a pˇr´ıˇcn´ y n´aklon • Kalman - M-file pro v´ ypoˇcet Kalmanova filtru, funkce lran a lrank pro v´ ypoˇcet Lagrangeovy interpolace, pr˚ ubˇehy referenˇcn´ıch hodnot, tabulky korekc´ı pˇrevodn´ıch konstant • Odchylky - Z´avislosti odchylek od line´arn´ıch pr˚ ubˇeh˚ u • PSD - Spektr´aln´ı v´ ykonov´e hustoty pro oba smˇery n´aklonu • Pˇ revodn´ ı charakteristiky - Pˇrevodn´ı charakteristiky mˇeˇric´ı jednotky, kˇr´ıˇzov´a vazba • Teplota - Teplotn´ı z´avislost mˇeˇric´ı jednotky
80