Räkna ut hastighet med hjälp av accelerometer
Räkna ut hastighet med hjälp av accelerometer
Jag använder en accelerometer som mäter g-krafter i tre dimensioner. Nu håller jag på att utveckla ett program som ska hantera datan som accelerometern skickar.
Jag vet att man kan räkna ut hastighet och sträcka genom att integrera. Men hur gör man när accelerationen sker i tre dimensioner? Dessutom måste man ta hänsyn till gravitationen.
Är det någon som vet en bra algoritm eller matematisk formel eller har tips på hur jag ska angripa problemet?
Jag vet att man kan räkna ut hastighet och sträcka genom att integrera. Men hur gör man när accelerationen sker i tre dimensioner? Dessutom måste man ta hänsyn till gravitationen.
Är det någon som vet en bra algoritm eller matematisk formel eller har tips på hur jag ska angripa problemet?
Välkommen till forumet!
Hoppas att din accelerometer är väldigt lågbrusig. Jord-G kalibrerar du bort. Jag antar att du inte har någon form av rotation på rörelsen, eftersom du inte nämner något om rategyron. Det hade varit trevligt om du beskrivit mer utförligt vad det är du mäter på... Om du kalibrerar bort jord-G med en statisk bild, så får du räkna ut en 3d-resultant av kvarvarande nettovärden. Om du räknar om till polära koordinater så får du ju belopp och argument(acceleration och vinkel) direkt. Jag känner mig osäker på exakt vad du är ute efter, kan du inte beskriva läget lite mer utförligt.
Hoppas att din accelerometer är väldigt lågbrusig. Jord-G kalibrerar du bort. Jag antar att du inte har någon form av rotation på rörelsen, eftersom du inte nämner något om rategyron. Det hade varit trevligt om du beskrivit mer utförligt vad det är du mäter på... Om du kalibrerar bort jord-G med en statisk bild, så får du räkna ut en 3d-resultant av kvarvarande nettovärden. Om du räknar om till polära koordinater så får du ju belopp och argument(acceleration och vinkel) direkt. Jag känner mig osäker på exakt vad du är ute efter, kan du inte beskriva läget lite mer utförligt.
Har du verkligen frågat google? 
http://en.wikipedia.org/wiki/Inertial_navigation_system
Om du vill ha någon sorts precision på mätningarna behöver du grron för samma antal dimensioner. Sedan kan man mata ett trevligt Kalmanfilter med all data som sedan, efter kalibrering, ger dig finfina data om var och hur mätobjektet befinner sig. Men Kalmanfilter tillhör avancerad signalbehandling/reglerteknik, så det är inget du biter i utan tidigare erfarenhet.
Jag säger inte att det är omöjligt med bara accelerometer, prova gärna! Jag har nog inte hört resultat från någon som försökt och själv har jag aldrig haft tid trots att jag har alla komponenterna.
Edit: Stava

http://en.wikipedia.org/wiki/Inertial_navigation_system
Om du vill ha någon sorts precision på mätningarna behöver du grron för samma antal dimensioner. Sedan kan man mata ett trevligt Kalmanfilter med all data som sedan, efter kalibrering, ger dig finfina data om var och hur mätobjektet befinner sig. Men Kalmanfilter tillhör avancerad signalbehandling/reglerteknik, så det är inget du biter i utan tidigare erfarenhet.
Jag säger inte att det är omöjligt med bara accelerometer, prova gärna! Jag har nog inte hört resultat från någon som försökt och själv har jag aldrig haft tid trots att jag har alla komponenterna.
Edit: Stava
Senast redigerad av $tiff 26 april 2008, 13:25:50, redigerad totalt 1 gång.
Vektorberäkning är ledordet. Genom att undersöka ai aj ak så får du fram en resulterande vektor som är riktningen som din accelerometer färdas i.
Dock är det knappast några enkla algoritmer även om vektorberäkningarna i sig är rätt elementära. Jag har läst statisk och dynamisk mekanik och linjär algebra men skulle nog inte ge mig in på ett sådant projekt ifall jag hade den enkla frågan som du ställde...
Men ger man sig fan på en sak så ska det gå!
Dock är det knappast några enkla algoritmer även om vektorberäkningarna i sig är rätt elementära. Jag har läst statisk och dynamisk mekanik och linjär algebra men skulle nog inte ge mig in på ett sådant projekt ifall jag hade den enkla frågan som du ställde...
Men ger man sig fan på en sak så ska det gå!

Om inte annat så tvingas man lära sig den matematik och få insikt i detta som man annars aldrig skulle få vid en ytligaren studier. finns nog inget som tar lika bra 'kunskapsmssigt' som när man tvingas implementera 'teorierna' till något som fungerar. - räkna med att damma av de gamla matemaikböckerna och söka nya!!
Jag avråder inte trots att svårighetsgraden kan synas lite högt - utan i all utveckling ingår det i att ta till sig kunskap och teorier som man inte behärskar innan - det är en av de viktiga grejorna enligt mig när man utvecklar, man växer med uppgiften - och kanske en av de sakerna skolorna missar helt rent filosofimässigt (dvs. lära sig genom upptäckargädje och få insikt att man också måste lära sig 'tråkiga teorier' som verktyg för att komma vidare)...
Jag avråder inte trots att svårighetsgraden kan synas lite högt - utan i all utveckling ingår det i att ta till sig kunskap och teorier som man inte behärskar innan - det är en av de viktiga grejorna enligt mig när man utvecklar, man växer med uppgiften - och kanske en av de sakerna skolorna missar helt rent filosofimässigt (dvs. lära sig genom upptäckargädje och få insikt att man också måste lära sig 'tråkiga teorier' som verktyg för att komma vidare)...
Man kan bli mycket vassare på att beräkna saker ifall man laborerar i verkliga fall. Tyvärr missar man oftast grundpoängen när man tar till grundkopplingar och anpassar dem. T.ex. Vi vet formeln för en integrerande krets, men vad är fysiken bakom det?
Men detta är bara en fråga om ambitionsnivå på den eventuella rapporten. Man kan göra världens klyftigaste lösningar utan att egentligen förklara hur det skedde genom att bara experimentera...
Men detta är bara en fråga om ambitionsnivå på den eventuella rapporten. Man kan göra världens klyftigaste lösningar utan att egentligen förklara hur det skedde genom att bara experimentera...

Accelerometern jag använder är en ADXL330. Den är inte speciellt lågbrusig men jag har gjort ett digitalt lågpassfilter som fungerar rätt bra. Tanken är att man ska ha med den i bilen och sedan kunna se information om hur man har kört, grafer över accelerationer och om möjligt hastigheter och sträcka. Informationen behöver inte vara så exakt, bara man kan se på ett ungefär.
Jag har läst rätt mycket matte men det är ju sådant man glömmer väldigt fort. Ska läsa på en hel del och försöka avgöra om det är värt ett försök.
Jag har läst rätt mycket matte men det är ju sådant man glömmer väldigt fort. Ska läsa på en hel del och försöka avgöra om det är värt ett försök.
Det var ju också ett relativt uttryck. Innebär "rätt mycket matte" att du tagit dig igenom "Matte C" på gymnasiet, eller betyder det att du har en doktorshatt i teknisk matematik? Vad jag menar med "mycket matte" är att man som tidigast efter 50 hp studier inom renodlad matematik och signalbehandling på tekniskt universitet kan börja ta sig an Kalmanfilter och förstå alla dess egenskaper (2-3 års studier om man räknar in allt annat man också bör läsa).remda skrev:Jag har läst rätt mycket matte men det är ju sådant man glömmer väldigt fort. Ska läsa på en hel del och försöka avgöra om det är värt ett försök.
Men åter till ditt problem, om du bara vill visa någon graf över bilens spatiala förteelser över tiden så behövs inget vidare avancerat. Vad du däremot bör förvänta dig är att bilens hastighetsgraf kommer driva, så efter några mils körning kommer den inte visa noll när du stannar bilen. Därmed kommer även tillryggalagd sträcka driva iväg. Om det handlar om bråkdelen av km/h i absoluta siffror, eller om det blir så stora fel att graferna blir oanvändbara kan jag inte säga, det får dina egna experiment visa!
remda, spännande! Du får gärna dela med dig av dina erfarenheter under projektets gång. Ska du göra uträkningarna med mikrokontroller, och isåfall koda assembler?
Köpte själv på mig några KXPS5 för att labba lite med, men som vanligt handlar jag komponenterna långt före jag har tid till eventuellt projekt
Köpte själv på mig några KXPS5 för att labba lite med, men som vanligt handlar jag komponenterna långt före jag har tid till eventuellt projekt
