Sida 1 av 3

Noggranhet vid tröghetsnavigering med accelerometer

Postat: 3 januari 2007, 14:08:06
av warpi
Hej!

Info @ wikipedia om tröghetsnavigering
http://en.wikipedia.org/wiki/Inertial_guidance_system

Jag har riktigt seriösa planer på att bygga en autonom helikopter då jag sett att andra folk lyckats med detta. Dock är mitt krav att det skall bli billigt, annars är det ju inget utmaning. Så snälla, alla pessemistiska personer kan väl försöka tänka lite mer optimistiskt, annars kommer aldrig detta bli möjligt :)


UTRUSTNING: 2st Tvåaxlig linjär accelerometer (LIS2L0x)
http://www.elfa.se/elfa-bin/dyndok.pl?l ... =11376.htm
En placerad i mitten av helikoptern och mäter acceleration i höjd samt sida.
Andra placerad längst bak på svansen och mäter fram/bak samt sida.
Detta för att bestämma position samt riktning på helikoptern.

PROBLEM: Nogranhet vid tröghetsnavigering
Bortse från noggranhet vid A/D omvandlare då detta alltid går att lösa. Borse för temperaturkänslighet då detta inte påverkar under 60 sekunder.

BERÄKNING: Brus (LIS2L0x): 30 μg/√Hz typ, Hz = 2000
(30*10^-6)/√(2000) ~= 6,7*10^-7 g ~= 6,6*10^-6 m/s^2
Dvs. efter 60 sekunders navigering blir maximala felet på
6,6*10^-6 * 60 sek / 2 medelhastighet * 60 sek ~= 0,012m

SVAR: Maximalt fel vid tröghetsnavigering efter 60 sekunder = 1,2cm

Har jag glömt något, eller stämmer detta?

Postat: 3 januari 2007, 14:15:46
av danei
Det du missar är att helekopeter inte kommer att vara exakt horisontell. Så det kommer inte att funka alls.

Postat: 3 januari 2007, 14:17:44
av warpi
Det du missar är att helekopeter inte kommer att vara exakt horisontell. Så det kommer inte att funka alls.
Eftersom att det konstant kommer vara 1g vinkelrät mot backen så går det att räkna ut vinkeln mot marken och på så sätt är det inget problem.

Dvs, man läser in värdena med 2000Hz och jämför varje värde för sig och tar reda på skillnad, dvs när acceleration är mer än den grativation som alltid ligger på osv, och därav kan man räkna ut vinkel.

Jag har inte sagt att något av detta blir enkelt, men jag frågar om accelerometern är tillräckligt känslig, dvs om räkne exemplet ovan stämmer!

Postat: 3 januari 2007, 14:55:54
av danei
Har omlänkningen av citera knappen försvunnit vid flytten?

warpi: läs gärna reglerna. De är inte så många.

Och nej det funkar inte som du beskriver. Det skulle bara funka på en stationär pryl. och då är det ju lite onitressant att försöka töghetsnavigera. Du kan inte få det att funka utan fler accelerometrar så att du kan räkna på vinkeln också. i teorin behöver du 9st. tre st i varje plan.

Postat: 3 januari 2007, 15:03:41
av warpi
warpi: läs gärna reglerna. De är inte så många.
1. Det går inte att komma åt den sidan så jag var tvungen att söka på den via google och gå till den via cache funktionen för att kunna läsa.
2. Vad har ja missat?
Och nej det funkar inte som du beskriver. Det skulle bara funka på en stationär pryl. och då är det ju lite onitressant att försöka töghetsnavigera. Du kan inte få det att funka utan fler accelerometrar så att du kan räkna på vinkeln också. i teorin behöver du 9st. tre st i varje plan.
Alltså, varför skulle det inte fungera? Det är ju bara att jämföra med tidigare avläsning och räkna ut skillnaden, dvs få ut den rena accelerationen samt grativationen.

Om helikoptern står helt vinkelrät blir det
X: 0g / Y: 0g / Z: 1g

När den sedan blir puttad, vinklar den sig lite och de blir kanske
X: 0.1g / Y: 0g / Z: 0.9g

Och då är det bara att jämföra de två inläsningarna med varandra och finna att den måste vara lite vinklad mot X.

Jag tror att många avläsningar kommer vara utan någon annan acceleration än grativationen, och då är det superenkelt att få reda på vinkeln.

Om du har några mer konkreta förslag på varför det inte är möjligt att räkna ut vinkeln vore jag tacksam för detta, eller någon källa till vart du funnit den.

Postat: 3 januari 2007, 15:15:27
av Gimbal
Helikoptern kan luta framåt och accelerera framåt uppåt, på så vis så att accelerationsresultanten går rakt ner i helikoptern. Hur skiljer du det mot en stigning rakt uppåt?

Postat: 3 januari 2007, 15:16:36
av danei
Du har missar regel nummer 1. De finns HÄR
Du ska läsa dom när du regestrerar dig på forumet.

Viss det funkar om prylen står still. Men det gör den ju inte. Du kan inte veta vad som är acceleration och vinkel fel. Men dina siffror kan den lika gära vara på väg att accelerera neråt och åt sidan. Jag har ingen källa. Men jag har lite verklighetsuppfattning.

Postat: 3 januari 2007, 15:19:16
av warpi
Helikoptern kan luta framåt och accelerera framåt uppåt, på så vis så att accelerationskomponenten går rakt ner i helikoptern. Hur skiljer du det mot en stigning rakt uppåt?
Altså. Vad man gör är att man vid varje hertz räkna ut vinkeln och subtraherar grativationen.

Därefter får man rena komposanter och kan därav räkna ut accelerationen, och därav räkna ut hastigheten och sedan sträckan.

Att bara få information från en sampling kommer inte ge dig någon vidare bra uppfattning, men om du känner till enda från att den stog på backen med en viss riktning kan du räkna dig fram allt (såvida noggranheten är bra tillräckligt som jag tagit upp ovan).

Postat: 3 januari 2007, 15:21:40
av warpi
danei skrev:Du har missar regel nummer 1. De finns HÄR
Du ska läsa dom när du regestrerar dig på forumet.

Viss det funkar om prylen står still. Men det gör den ju inte. Du kan inte veta vad som är acceleration och vinkel fel. Men dina siffror kan den lika gära vara på väg att accelerera neråt och åt sidan. Jag har ingen källa. Men jag har lite verklighetsuppfattning.
Ojdå, det var värst, missade det! Ber så mycket om ursäkt allihopa, kommer inte hända igen!

Tryckte iofs inte på citera utan skrev det manuellt med BB2code så rent tekniskt har ja inte gjort något fel? :)

Postat: 3 januari 2007, 15:22:10
av danei
Du är ute och cyklar. Läs tråden igen. Och fundera på saken. Posta inte förän du gort det.

Postat: 3 januari 2007, 15:32:14
av JimmyAndersson
Har tyvärr inte tillräckligt med mattekunskaper om ämnet, men det är kul med flygande farkoster. Ska bli kul att se vad detta leder till.


Sedan när vi ändå är inne på citeringar. Det finns flera sätt att förtydliga vem man skriver till och vad man vill svara på.

Låt säga att jag vill skriva något till Gimbal som skrev tidigare, då räcker det med t.ex:

Gimbal: Hejsan! :)


Om man bara vill kommentera någon rad så finns det lite olika sätt, t.ex dessa:

warpi:
"Det går inte att komma åt den sidan"

och så det man vill skriva som svar. Eller så kan man skriva ungefär som i mail, dvs:

>Det går inte att komma åt den sidan

och så svaret.

Eller så kan man förstås använda forumets Quote-funktion. Den tar visserligen lite mer plats, men det är helt valfritt. Bara man inte citerar *hela* det föregående inlägget. :wink:


Det är ytterst sällan som någon inte förstår vem man skriver till. Som Icecap skrev en gång så beror det nog på att intelligensen är så pass hög på forumet. :D

Postat: 3 januari 2007, 15:40:32
av warpi
Hum...

Då får jag väl ta ett riktigt noggrant exempel för att överbevisa vad jag menar!

grativationen har ja satt till 10m/s^2 för att göra exemplet enklare

a = acceleration, enhet m/s^2
v = hastighet, enhet m/s
p = position, enhet m

Klocka 0 (helikoptern står stilla)
Xa: 0, Ya: 0, Za: 10
Xv: 0, Yv: 0, Zv: 0
Xp: 0, Yp: 0, Zp: 0
CPU-kommentar: Det här ska bli spännande!

Klocka 1 (helikoptern lyfter)
Xa: 0, Ya: 0, Za: 9
Xv: 0, Yv: 0, Zv: 1
Xp: 0, Yp: 0, Zp: 1
CPU-kommentar: Oh my god. Nu minskar grativationen, då måste ju helikoptern lyfta!

Klocka 2 (helikoptern lyfter)
Xa: 0, Ya: 0, Za: 10
Xv: 0, Yv: 0, Zv: 1
Xp: 0, Yp: 0, Zp: 2
CPU-kommentar: Konstant uppåt hastighet

Klocka 3 (helikoptern stannar)
Xa: 0, Ya: 0, Za: 11
Xv: 0, Yv: 0, Zv: 0
Xp: 0, Yp: 0, Zp: 2
CPU-kommentar: Stabil hoovering, det tycker vi om!

Klocka 4 (det blåser till lite)
Xa: 0, Ya: 1, Za: 10
Xv: 0, Yv: 1, Zv: 0
Xp: 0, Yp: 1, Zp: 2
CPU-kommentar: Nu gäller det att hålla tungan rätt i munn!

Klocka 5 (helikoptern börjar luta, och vinden är konstant)
Xa: 0, Ya: 1, Za: 9
Xv: 0, Yv: 1, Zv: 0
Xp: 0, Yp: 2, Zp: 2
CPU-kommentar: Då ska vi se, nu accelererar inte helikoptern längre eftersom att komoposanten av Y och Z blir 10, vilket är grativationen. Det betyder att helikoptern måste ju luta nu!

Klocka 6 (blåster till lite från motsatt vinkel)
Xa: 0, Ya: -2, Za: 9
Xv: 0, Yv: -1, Zv: 0
Xp: 0, Yp: 1, Zp: 2
CPU-kommentar: Då var vi påväg tillbaks igen då!

Klocka 7 (blåster till lite från motsatt vinkel)
Xa: 0, Ya: 1, Za: 9
Xv: 0, Yv: -1, Zv: 0
Xp: 0, Yp: 0, Zp: 2
CPU-kommentar: Blåsten kan tydligen aldrig bestämma sig, men snart är vi tillbaks på X: 0, Y: 0 iaf

Klocka 8 (blåster till lite från motsatt vinkel)
Xa: 0, Ya: 0, Za: 10
Xv: 0, Yv: 0, Zv: 0
Xp: 0, Yp: 0, Zp: 2
CPU-kommentar: Då var vi tillbaks, JIPPI!

Detta fungerar alltså! Så vad jag behöver veta är om accelerometrarna är så noggranna som jag påstog där uppe. Ingen som vet hur det fungerar?

Om någon fortfarande tvivlar på detta hänvisar jag gärna till ett databad från en accelerometer där dom har med ett räkne exempel för att räkna ut lutningen med hjälp av en accelerometer.
http://www.dimensionengineering.com/dat ... ACCM3D.pdf

Men nu är det nog pratat om saker som vi redan vet fungerar, hur var det med noggranheten?
JimmyAndersson skrev:Sedan när vi ändå är inne på citeringar....är så pass hög på forumet. :D
Kanon! Då behöver inte det bli något problem i fortsättningen :D

Postat: 3 januari 2007, 15:42:55
av warpi
Borttaget

Postat: 3 januari 2007, 15:54:52
av Zyxel615
Det hör också lite till god ton att inte skriva två inlägg med två minuters mellanrum utan ändra det första.

Postat: 3 januari 2007, 15:58:46
av warpi
OMG. Kanske hade varit bättre om vi bara hade koncentrerat oss på att debattera sakfrågan istället för att diskutera forumsetik.

Har ni problem med att ni tycker att någon skriver för dåligt eller något, skicka ett PM istället då så ändrar han det, så slipper vi förstöra detta forumet med en massa babbel.

Det borde vara en ny REGEL nr1.

-------------------------------------------------

Anyways. Nu tror ja att jag knäckt gåtan! Det är inte riktigt så bra upplösning som jag trodde ovan. Man skall inte ta delat med roten ur frekvensen, utan man skall ta gånger! Dvs...

BERÄKNING: Brus (LIS2L0x): 30 μg*√Hz typ, Hz = 500
(30*10^-6)*√(500) ~= 6,7*10^-4 g ~= 6,6*10^-3 m/s^2
Dvs. efter 60 sekunders navigering blir maximala felet på
6,6*10^-3 * 60 sek / 2 medelhastighet * 60 sek ~= 11,8m

SVAR: Maximalt fel vid tröghetsnavigering efter 60 sekunder = 11,8m

Det var ju inga vidare nyheter direkt *snyft*