Beschleunigungssensor <> Erdbeschleunigung

OP (Firma: keine) #1464627
Lesenswert?

Hallo,

ich möchte gerne mittels eines 3-Achsen Beschleunigungssensors und eines 
2 Achsen Gyroskops den zurückgelegten Weg berechnen.Die zurückgelegten 
Strecken sind nicht allzu groß (20cm).
Zuerst einmal:
Ja ich weiss wie ungenau das ganze ohne Kalmann Filterung ist. Ich
weiss auch, dass ich bei zweimaligen Integrieren, das Rauschen 
mitrechne, was zu erheblicher Ungenauigkeit führt.

Aber darum geht es hier nicht.Da das Projekt in mehrere Teile gegliedert 
ist, fällt auf mich nur folgendes:

Aus den 5 Spannungswerten der 2 Sensoren, die Erdbeschleunigung 
rauszurechnen und daraus eine Formel, zur Wegmessung abzuleiten.

Wie ungenau die Werte letztendlich sind, ist die Aufgabe eines Anderen.

Der Sensor liefert im Grundzustand den Beschleunigungsvektor G=[0,0,1g], 
sprich nur auf die Z Ebene wirkt die Erdbeschleunigung:
Die Sensoren befinden sich in Ruhe.

Für mich nachvollziehbar, ebenso wie einfache Bewegungen in X- und Y- 
Richtung, wo die Erdbeschleunigung konstant mit 9,81 m/s^2 auf die Z 
Achse einwirkt.

Soabld aber Neigungen mit ins Spiel kommen, bin ich mit meinem 
mathematischen Latein am Ende. Daher bin ich dankbar für jede 
Erläuterung bzw Hilfestellung, wie ich die Erdbeschleunigungskomponente 
herausrechnen kann.

danke
Gast #1464655
Lesenswert?

ich hatte mir auch schon mal über genau diesen Problem gedanken gemacht.
Ich bin der meinung das es mit einem 3D Sensor nicht geht. Man muss die 
aktuell Drehung/Lage erst errechnen dafür braucht man noch für jede 
Achse einen weiter Sensor der im Abstand befestigt ist. Aus der 
Differenz zwischen den beiden Sensoren für eine Achse kann man die 
drehung errechnen.

Das minimum müssten dann 3stück von den 3D Sensoren sein, und diese 
müssen möglichst weit von einander entfernt sein.
Gast #1464686
Lesenswert?

Es lohnt nicht der Mühe eine Antwort auf deine Frage zu schreiben. Mit 
den üblichen Beschleunigungssensoren ist keine Wegmessung möglich. Es 
sei den das Teil bewegt sich mit der Beschleunigung einer Rakete.
Gast #1464705
Lesenswert?

> Es lohnt nicht der Mühe eine Antwort auf deine Frage zu schreiben. Mit
> den üblichen Beschleunigungssensoren ist keine Wegmessung möglich. Es
> sei den das Teil bewegt sich mit der Beschleunigung einer Rakete.
kannst du das auch ein wenig Begründen? Ich bin auch der Meinung das es 
grundsätzlich geht aber über die Zeit zu ungenau wird.
Gast #1464733
Lesenswert?

Die üblichen Beschleunigungswerte sind so gering, dass sie im Rauschen 
der Erdbeschleunigung untergehen. Ich habe das bei einem 
Modellhubschrauber versucht der sich schon sehr heftig bewegt. Das 
Ergebnis war wirklich gleich Null weil die kurzen Beschleunigungsspitzen 
zwar aufsummiert wurden aber die weichen Auslaufbeschleunigungen nicht 
messbar waren.
Gast #1464737
Lesenswert?

> Kann denn so ein Sensor so genau messen, also Beschleunigungen und
> 0.0000000001g? Ich meine, wie stark kann man denn auf 20cm Strecke schon
> beschleunigen?
was denn das für eine blöde aussage, wenn dir etwas auf eine Steinplatte 
fällt, dann gibt es dort eine negative Beschleunigung von ein paar 100g 
auf 3mm.
Jetzt mal grob überschlagen, jedes kleine RC-Auto-Modell kann mit 0.1g 
beschleunigen.
Gast #1464770
Lesenswert?

Beim iPhone müsse es auch eher Lage- als Beschleunigungssensor heißen. 
Er misst einfach, auf welche Achsen die Erdbeschleunigung einwirkt und 
ermittelt daraus die Neigung. Echte Beschleunigungen kann der Sensor 
erst ab so ca. 5-6 m/s² vom Rauschen unterscheiden.
OP (Firma: keine) #1464893
Lesenswert?

sehr interessante Antworten. Und auch mit den "es geht nicht so einfach" 
Antowrten habe ich egrechnet.Sind sind auch begründet das gebe ich gerne 
zu. Jedoch würde ich mich gerne selbst davon überzeugen. Dafür jedoch 
muss ich erstmal den mathematischen weg dorthin finden. Wie es sich 
anhört scheint dieser jedoch nicht ganz trivial zu sein.
Hat denn wenigstens jemand einen Ansatz für mich? Evtl mit etwas 
erklärung?

Die genaue Funktion des Sensors wird sein, die absolute Lage zu einem 
vorher referenzierten Nullpunkt zu ermittelen. der sensor wird in einem 
handschuh die arbeiten und somit die wegdaten der handbewegung aufnehmen 
und weiterreichen! vielleicht helfen die infos!
Gast #1464911
Lesenswert?

Bescheunigungsmessung zum Zwecke der Inertialnavigation ist nicht 
besonders einfach.
Um den RandomWalk, der durch die Integration der Beschleunigungswerte 
entsteht, in den Griff zu bekommen, eignet sich z.B. ein Kalmanfilter, 
der relativ aufwändig zu dimensionieren ist.
Gast #1464920
Lesenswert?

> Echte Beschleunigungen kann der Sensor
> erst ab so ca. 5-6 m/s² vom Rauschen unterscheiden.
kann ich mir nicht vorstellen, es gibt ja genügend 
Beschleunigungssensoren die +-5G mit 8 oder 10Bit auflösung.

@Benjamin Anonym
Fang doch erstmal mit einem Sensor und einer Achse an, einfach mal nur 
in eine Richtung bewegen und daraus die Entfernung berechnen. Dann 
sollte man schon abschätzen können ob es sinn macht weiter zu basteln.
#1464942
Lesenswert?

Benjamin Anonym schrieb:
> zu. Jedoch würde ich mich gerne selbst davon überzeugen.

Na gut.
Wenn du Geld zum Fenster rausschmeissen willst.

> anhört scheint dieser jedoch nicht ganz trivial zu sein.

Kommt auf deine Vorkentnisse an.

> Hat denn wenigstens jemand einen Ansatz für mich? Evtl mit etwas
> erklärung?

Du brauchst eine Matrix, die ein Koordinatensystem repräsentiert. Wie 
man das macht, werde ich hier sicher nicht ausführen. Aber Erklärugnen 
finden sich zb. bei den Computergraphikern und den Leuten die sich mit 
Roboterprogrammierung beschäftigen. Der Umgang mit Koordinatensystemen 
und deren Transformation ist dort täglich Brot.

Kurz gesagt: Ist alles Vektor/Matrizenarithmetik - lineare Algebra. Die 
solltest du beherrschen, damit dich die Umrechnung von Positionen von 
einem Inertialsystem in ein anderes Inertialsystem, bzw. die 
Konstruktion eines Inertialsystems nicht in Schwierigkeiten bringt.
Da du Gyros benutzt, die von Natur aus Drehinformation liefern (meistens 
mehr als dir lieb ist), könnte man auch darüber nachdenken, die 
Rotationsinformation in Form von Quaternionen anstelle von 
Rotationsmatrizen mitzuführen.

> Die genaue Funktion des Sensors wird sein, die absolute Lage zu einem
> vorher referenzierten Nullpunkt zu ermittelen. der sensor wird in einem
> handschuh die arbeiten und somit die wegdaten der handbewegung aufnehmen
> und weiterreichen!

Vergiss es.
Das wird so nichts.

In der Theorie funktioniert das alles hervorragend. Überhaupt kein 
Problem. Aber in der Praxis vermasseln dir Sensorrauschen und thermische 
Drift die Tour. Das wird darauf hinauslaufen, dass dir dein Programm 
nach ungefähr 1 Minute mitteilt, dass dein Handschuh jetzt im Badezimmer 
ist, während du im Wohnzimmer auf der Couch sitzt :-)
Gast #1464963
Lesenswert?

> >> Echte Beschleunigungen kann der Sensor
> >> erst ab so ca. 5-6 m/s² vom Rauschen unterscheiden.
> > kann ich mir nicht vorstellen, es gibt ja genügend
> > Beschleunigungssensoren die +-5G mit 8 oder 10Bit auflösung.

> Auflösung ist nicht gleich Genauigkeit
schon klar, aber bei 8bit Auflösung würde ich sagen das 4bit genauigkeit 
drin sind. Und das sind schon mal weniger als 5-6 m/s²
Gast #1465990
Lesenswert?

> 6 Messwerte? Habe auch immer gedacht, das 2 Achsen beim Gyro zu wenig
> sind, aber es soll wohl klappen.

Mit nur zwei Gyros kann eine Rotation um eine Achse, die senkrecht zu
beiden Gyroachsen liegt, nicht detektiert werden. Und wenn ich dich
richtig verstanden habe, möchtest du die Lage des Sensorsystems in sechs
Freiheitsgraden ermitteln.
Gast #1466000
Lesenswert?

Jeder Körper im freien Raum hat 6 Freiheitsgrade (s. Technische 
Mechanik).
3x Translation
3x Rotation

Steht eine der drei Achsen Deines Beschleunigungssensors parallel zu 
Erdbeschleunigung kannst Du eine Drehbewegung um diese Achse nicht 
detektieren. Somit weisst Du sehr bald nicht mehr wo Du "absolut 
stehts".

Mit freundlichen Grüßen
Guido
Persönliche Seite #1466006
Lesenswert?

Vielleicht hilft dir das weiter:

* Wenn du davon ausgehst, dass sich dein Sensor nicht bewegt, sondern 
nur neigt, kannst du mit einem 3-Achsen (bei kleinen Neigungen reichen 
auch 2-Achsen) Beschleunigungssensor die Neigung messen.

* Wenn du davon ausgehst, dass sich dein Sensor nicht neigt (Z-Achse 
immer nach oben!) kannst du mit einem 3-Achsen Beschleunigungssensor 
theoretisch versuchen durch zweifache Integration den Weg in allen drei 
Richtungen zu bestimmen. Du solltest aber oft genug die Möglichkeit 
haben durch einen weiteren Sensor (oder das Rauschen deines Sensors) 
festzustellen, wann du dich nicht bewegst.

* Wenn Bewegung und Neigung auftreten brauchst du auf jedenfall noch 
Gyros in 3 Achsen. Die Mathematik um das (in der Praxis mit MEMS 
Sensoren!) zu verrechnen ist noch nicht entgültig gelöst. Das ist Thema 
aktueller Forschungsarbeit.

* Grundsätzlich gilt: je mehr Einschränkungen die 
Bewegungungen/Neigungungen haben desto einfacher

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren