Sida 1 av 1
Uppskatta Gyrobias
Postat: 3 september 2011, 18:57:28
av Korken
Godagens!
Jag har nu ganska länge arbeta med KFly och har nu bestämt mig för att skriva ett eget filter för det.
Efter tester så har jag märkt att "Complementary Filters" fungerar riktigt bra om man inte har ett bias på gyrot.
Problemet som detta ger är att integralen som integrerar vinkelhastigheten overflow-ar vilket inte är bra.
Så det jag nu söker är metoder för att uppskatta gyrobias. I mitt förra filter (Kalman) så gjordes detta automatsikt, men jag tycker att det inte borde behövas ett så avancerat filter för att uppskatta bias.
Jag har googlat mycket på detta, men har tyvärr inte hittat mycket.
Så jag undrar, vilka metoder finns för att uppskatta bias? Har ni några bra sidor/sökord som kan hjälpa mig i mitt sökande?
Tack på förhand!
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 19:46:15
av monstrum
Tricket jag gör är att inte integrera gyrot för sig. Om man roterar sina tillståndsvektorer med inputs från gyrona, samtidigt som man med en annan funktion roterar sina beräknade "upp-vektor" mot accelerometrarnas nuvarande data med en stor tidskonstant så får man automatiskt ett filter som klarar av ganska stor gyrobias. Man ser till att ta ett medelvärde när farkosten är helt stilla och kör sedan på det.
Vill man ha ännu bättre kan man även ha en reglerloop med "injicerad" kompensation från accelerometrarna som input och gyrobiaskompensation som output. Denna loop måste dock troligtvis ha mycket låg förstärkning annars blir det lätt ostabilt.
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 23:13:40
av Korken
Jag har också funderat på att göra så, men jag såg inga direkta fördelar. Men när du säger det så, så ser jag en fördel.

Det du säger om att använda en reglerloop men injicerad kompensation, kan du utveckla det?
Det låter precis som något jag är ute efter!
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 23:21:04
av monstrum
Någonstans använder du accelerationsdata för att kompensera tillståndsvektorn, dvs hur systemet tror att farkosten är orienterad. I varje tidspunkt så använder du magnituden av den här kompensationen och försöker reglera till 0, genom att med en regulator styra gyrobiaskompensationen. Detta kan antagligen vara en enkel PI-regulator.
Har inte testat detta själv i praktiken, men det funkar i min matlab-simulering.
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 23:39:40
av LHelge
Eller också kör du kalmanfiltret vid sidan av det andra någon halvminut enbart för att uppskatta gyrobias, alternativt har något konfigläge där den kör kalmanfiltret en stund i stillastående och sedan sparar gyrobias i flash eller liknande. Det ändras inte speciellt mycket vad jag har förstått. Har för mig jag sett exempel när det hårdkodas in i firmwaren.
Kan hända att jag missförstått complementary filters, men har du inte ett LP-filter på accelerometer-signalen och ett HP-filter på gyrosignalen. Sätter du HP-filtret innan du integrerar så borde biasen försvinna eller?
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 23:55:11
av Korken
monstrum:
Tackar! Ska fundera mer på det imorgon, tror jag är för trött för att förstå det nu.

Du råkar inte vilja dela med dig av matlab scriptet?
LHelge:
Ang. Kalman brevid, så vill jag helst inte ha det. Det är för att jag vill testa filter- och uppskattningstekniker som inte involverar ett Kalmanfilter.
Du har förstått complementary filters korrekt.

man kan flytta HP-filtret innan, men om du har konstant rotationshastighet så får man efter filtret att den står stilla.
För att de ska fungera så måste man ha en vinkelhastighet som varierar mycket, istället för att integralen varierar mycket (vilket den automatiskt gör om farkosten rör sig och att man har HP-filtret efter integralen).
Re: Uppskatta Gyrobias
Postat: 3 september 2011, 23:58:05
av LHelge
Då är jag med.

Re: Uppskatta Gyrobias
Postat: 4 september 2011, 00:09:17
av monstrum
Ska se om jag har någon matlabkod som går att förstå. Det är en rätt stor apparat just nu så det är svårt att plocka ut smådelar och använda, men jag ska kolla.
Re: Uppskatta Gyrobias
Postat: 4 september 2011, 16:02:10
av Korken
Nu ska vi se här! Ny dag och fräsch i huvudet igen.
Jag kan inte säga att jag hänger med 100%, så jag säger vad jag tror att du menar så får du sedan rätta mig.
Såhär ser mitt filter ut:
com_filter.png
Och jag skulle ta magnituden av de som accelerometrarna ger i mitt system och reglera mot noll?
Dvs ska jag reglera såhär?
regulator.png
Det känns dock fel då detta innehåller inget av gyrots inputs, så något måste jag ha missat.
Dels för det inte finns någon återkoppling, vilket jag tycker att det borde vara.
Vad har jag tolkat fel från dig?
För något sånt här känns mer intuitivt:
regulator_aterkoppling.png
Här så reglerar jag integralen mot noll, vilket borde göra så att man tar ut bias bara man har vettiga gränser på integralen och litet Kp och Ki.
Edit: Ops, positiv återkoppling, vänd tecken på summatorn.
Och ett fel i min filterbild...
Re: Uppskatta Gyrobias
Postat: 4 september 2011, 20:12:16
av monstrum
Hmm, inte samma approach som jag har dessvärre.
Men det borde kunna funka ifall du tar derivatan av accelerometer-datan som du använder, dvs hela högra termen. Sedan jämför du denna med gyrovärdena inklusive biaskompensationen (w_bias). Skillnaden här får driva en regulator som reglerar w_bias mot noll.
Detta bör ge att när biasvärdet är identiskt med verklighetens dito, dvs medelvärdet av gyrodatan sett över tid är identisk med accelerometervärdet, så har du noll som input PI-regulatorn.
Får försöka rita lite bilder ifall detta är helt oförståeligt.
Re: Uppskatta Gyrobias
Postat: 4 september 2011, 20:16:28
av monstrum
Måste också tillägga att jag inte är helt med på hur du får ihop detta för tre axlar. Du kan ju inte riktigt ha ett filter för varje axel och bara lägga ihop dessa i slutet. Du måste väl någonstans hantera vektorer och översätta integralen till en rotation i rumskoordinater?
Re: Uppskatta Gyrobias
Postat: 4 september 2011, 20:56:46
av Korken
Tackar, om du vill så får du gärna rita bilder.

Jag tycker saker blir så mycket klarare med bilder.
Som du påpekar så kommer detta inte att användas som det är nu. Detta är bara för att testa hur det fungerar och se om det fungerar bra.
Slutgiltigt kommer detta bygga upp ett Quaternion Complementary Filter är tanken, men det är fortfarande i idéstadiet.
Jag har funderat på att basera något på DCM, men jag tycker inte alls om de. Quaternioner är mycket "snyggare" tycker jag (nu när jag äntligen börjar förstå dom).
Jag är mest fascinerad över hur de kan prestera så bra men ändå vara så enkla! Det följer verkligheten bättre än mitt nuvarande Kalmanfilter och var enklare att ställa in.
Dock så har jag bara testat en axel än så länge, men jag är helt klart imponerad och jag tror att detta går att utveckla till en riktigt bra AHRS algoritm.
Re: Uppskatta Gyrobias
Postat: 6 september 2011, 17:27:00
av Korken
Jag har nu experimenterat lite och det som tycks fungera bäst är när jag har en regulator designad då här:
bias_reg.PNG
Finns det några ändringar som ni skulle göra för att få den bättre?
Som den är nu så fungerar det riktigt bra, men det kan alltid bli bättre.
