Forum: Mikrocontroller und Digitale Elektronik Quadrocopter, TI Chronos, 433MHz


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Hallo Leute,

als vor ein paar Jahren der Hype um die Quadrocoper los ging, wollte ich 
unbedingt auch so ein Teil haben, aber mit soviel Zubehör, dass es mir 
viel zu teuer war und ich die Idee verwarf. ;)

Nun habe ich mir von TI die Chronos Uhr 
http://processors.wiki.ti.com/index.php/EZ430-Chronos bestellt. Mal 
sehen wann sie ankommt. Das Lager ist im Moment leer.
Nun viel mir ein, man könnte vielleicht, eines dieser recht billigen und 
kleinen Quadrocopter damit ansteuern. (Später evtl. auch mehrere! 
feuchtträum)

Nun ist es so, dass die meisten im 2,4GHz Band funken. Der billigste 
Quadrocopter mit einem 433MHz Funkmodul kosten 80€. 
http://www.conrad.de/ce/de/product/518007/Reely-QuadroCopter-MiniCopter-MC-120-mit-Fernsteuerung

Nun wollte ich mal fragen, gibt es:
-> einen fertigen Quadrocopter (o. Bausatz) mit einem Funkmodul im 
433MHz Band für <=25€? (Gerne auch <<25€ ;))
-> eine Selbstbaulösung die so preiswert ist mit günstigem Funkmodul?
(Fertiger Copter + zusätzliches Funkmodul + Anleitung)
-> eine recht einfache Entwicklungsanleitung für einen eigenen Copter?
So dass man ihn sich from Scratch, aber dafür günstig selber 
konstruieren und bauen kann?

Außerdem wollte ich fragen, ob der Beschleunigungssensor in der 
EZ430-CHRONOS-433 auch in der Lage ist die Neigung zu erkennen?
Wenn nein, kann man sicher etwas passendes dranbauen.

Gruß und Danke für entsprechende Tipps
Fabian

von Osche R. (Gast)


Lesenswert?

Fabian Hoemcke schrieb:

> Außerdem wollte ich fragen, ob der Beschleunigungssensor in der
> EZ430-CHRONOS-433 auch in der Lage ist die Neigung zu erkennen?

Wenn man davon ausgeht, dass in den meisten Gegenden die Schwerkraft 
nach unten zeigt, dann ergibt sich die Neigung aus dem in X- und 
Y-Richtung gemessenen Anteil. Der Sinus ist Dein Freund.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

om pf schrieb:
> Fabian Hoemcke schrieb:
>
>> Außerdem wollte ich fragen, ob der Beschleunigungssensor in der
>> EZ430-CHRONOS-433 auch in der Lage ist die Neigung zu erkennen?
>
> Wenn man davon ausgeht, dass in den meisten Gegenden die Schwerkraft
> nach unten zeigt, dann ergibt sich die Neigung aus dem in X- und
> Y-Richtung gemessenen Anteil. Der Sinus ist Dein Freund.

Bitte was?
Ich gebe zu, dass ich noch nie einen Accelerometer ausgelesen habe. Aber 
das was er mir angibt, ist doch die erste Ableitung der Lage, also die 
Lageänderung.

Ich veruche die Aussage zu verstehen.
Kann es sein, dass für den Acc es so scheint, in unserer relativen Ruhe, 
dass es sich ständig nach oben bewegt mit einer Beschleunigung von etwa 
9,81m/s²?
Und wenn es sich tatsächlich nach oben bewegt, dann >9,81m/s² und nach 
unten <9,81m/s²?
OK, dann kann ich daraus auch die anderen Positionen in X und Y 
bestimmen mit einem Offset von 0m/s².

Nur, warum verwenden dann die meisten Quadrocopter zur Lage- und 
Bewegunsbestimmung einen Acc UND einen Lagesensor? (Mindestens)

OK, ich will die Uhr jetzt nicht auf einen Copter draufstöpseln, aber 
das Problem ist doch das Gleiche, oder?

Danke
Fabian

von Udo S. (urschmitt)


Lesenswert?

Fabian Hoemcke schrieb:
> Kann es sein, dass für den Acc es so scheint, in unserer relativen Ruhe,
> dass es sich ständig nach oben bewegt mit einer Beschleunigung von etwa
> 9,81m/s²?
Ja

> Und wenn es sich tatsächlich nach oben bewegt, dann >9,81m/s² und nach
> unten <9,81m/s²?
Ja

> OK, dann kann ich daraus auch die anderen Positionen in X und Y
> bestimmen mit einem Offset von 0m/s².
Nur wenn due die Lage im Raum kennst

Fabian Hoemcke schrieb:
> Nur, warum verwenden dann die meisten Quadrocopter zur Lage- und
> Bewegunsbestimmung einen Acc UND einen Lagesensor? (Mindestens)

Weil du die Lage nicht kennst. Und weil die "Erdbeschleunigung" 
repektive Schwerkraft ununterscheidbar von Beschleunigungen ist 
(Allgemeine Relativitätstheorie).

von Hagen R. (hagen)


Lesenswert?

Fabian Hoemcke schrieb:
> Nur, warum verwenden dann die meisten Quadrocopter zur Lage- und
> Bewegunsbestimmung einen Acc UND einen Lagesensor? (Mindestens)

Der Acc kompensiert den Drehwinkelsensor, da dieser driftet.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Danke erstmal.

Das bedeutet aber erstmal zweierlei Dinge:
1. Ich kann prinzipiell die Lange (Position) nicht von einer 
Langeänderung unterscheiden und somit weiß ich nicht, ob die Uhr (in 
diesem Fall) geneigt ist oder sich tatsächlich in eine bestimmte 
Richtung bewegt.
Als Ausschluskriterium könnte man noch sagen, dass eine Lageänderung 
weniger konstant ist als eine Lage ansich. Das ist aber schlecht, schwer 
zu detektieren und rechenaufwändig.
2. Wenn ich also der Bewegung meiner Hand/Arm zur steuerung detektieren 
will, brauche ich zusätzlich noch einen Lagesensor. Habt Ihr damit schon 
Erfahrung? Welchen könnte man nehmen? Es muss wie immer, klein, leicht, 
stromsparend und billig sein. Auflösung und schnelligkeit ist nicht ganz 
so wichtig.

Danke
Fabian

von Karl H. (kbuchegg)


Lesenswert?

Fabian Hoemcke schrieb:

> Das bedeutet aber erstmal zweierlei Dinge:
> 1. Ich kann prinzipiell die Lange (Position) nicht von einer
> Langeänderung unterscheiden und somit weiß ich nicht, ob die Uhr (in
> diesem Fall) geneigt ist oder sich tatsächlich in eine bestimmte
> Richtung bewegt.

Exakt.
Hänge ein Pendel in deinem Auto auf.
Wenn das Pendel 'schräg' hängt, weißt du nicht, ob gerade der Fahrer auf 
ebener Strecke Gas gibt oder ob ihr eigentlich nur bergauf geparkt seid. 
In beiden Fällen schlägt das Pendel gleichartig nach hinten aus.
Ein Beschleunigungssensor ist zwar technisch anders realisiert aber im 
Prinzip ist er auch nichts anderes als ein Pendel.

> 2. Wenn ich also der Bewegung meiner Hand/Arm zur steuerung detektieren
> will, brauche ich zusätzlich noch einen Lagesensor.

Den es nicht gibt.
Definiere 'Lage'.

> Habt Ihr damit schon
> Erfahrung? Welchen könnte man nehmen? Es muss wie immer, klein, leicht,
> stromsparend und billig sein. Auflösung und schnelligkeit ist nicht ganz
> so wichtig.

Dir scheint nicht klar zu sein, dass alle derartige Systeme ihre 
Lageinformation aus einer Kombination von Messungen ermitteln. Du kannst 
deine Lage im Raum nicht zu jedem beliebigen Zeitpunkt unter allen 
beliebigen Bewegungs und Beschleunigungszuständen durch eine einzelne 
Messung eigenständig ermitteln.

Der Weg, mit dem das technisch gemacht wird besteht darin, dass man sich 
quasi seine Ausgangslage im definierten Stillstand merkt und dann 
Rotationen aufsummiert. Dazu muss man Rotationen feststellen können und 
zwar ohne externen Bezug. Der Weg wie das geht läuft über Kreisel (auch 
wenn die heute elektronisch sind und sich da nichts mehr im eigentlichen 
Sinne dreht). Ein Kreisel behält die Ausrichtung seiner Achse im Raum 
bei, so dass er als Referenz dienen kann, gegen die man seine 
Eigenrotation misst. Theoretisch. Denn praktisch ist dieses 'behält 
seine Drehachse stabil bei' ein frommer Wunschtraum. Irgendwann beginnt 
auch der beste Kreisel zu präzedieren, was sich für dich wieder so 
auswirkt, dass der Kreisel eine Drehung anzeigt, wo keine ist.

Und da kommt jetzt die 'Kombination' ins Spiel. Man kann 
Beschleunigungsmesser und Kreiselwerte miteinander so verrechnen, dass 
sich die Fehler gegenseitig weitgehend korrigieren. Mit dem Kreisel 
werden die Ergebnisse der Beschleunigungsmesser korrigiert und mit den 
Beschleunigungswerten werden die Kreiselwerte korrigiert. Als Ergebnis 
erhält man eine Inertial Unit (IMU), die stabil ihre rechnerische Lage 
im Raum beibehält und gegen die man rechnerisch die akkumulierte 
Eigenrotation ermitteln kann.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Karl Heinz Buchegger schrieb:
>> 2. Wenn ich also der Bewegung meiner Hand/Arm zur steuerung detektieren
>> will, brauche ich zusätzlich noch einen Lagesensor.
>
> Den es nicht gibt.
> Definiere 'Lage'.

Na Du haßt schon begriffen was ich meinte. Dit Deil da was die anderen 
uff ihren Quadrocoptern draufstöpseln um die Neigung usw. zu bestimm'.
Du hast es Kreisel genannt. Auch wenn ich von den Jungs nie den Begriff 
Kreisel in diesem Zusammenhang gehört habe. Aber genau davon spach ich.

Um die Bewegung gut nachvollziehen zu können brauche ich halt beides. 
Aktuelle Lage (die relativ zu einer bestimmten Ausgangslage zu verstehen 
ist) und die Beschleunigung. Was wie mir gerade auffällt, die 2. 
Ableitung ist: Position->Geschwindigkeit->Beschleunigung.

Und welchen "Kreisel" könnt Ihr mir empfehlen?
Ich hoffe doch, dass an dem MSP430 im Chronos noch ein SPI o.ä. frei 
ist.

Gruß und Danke
Fabian

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Hänge ein Pendel in deinem Auto auf.
> Wenn das Pendel 'schräg' hängt, weißt du nicht, ob gerade der Fahrer auf
> ebener Strecke Gas gibt oder ob ihr eigentlich nur bergauf geparkt seid.
> In beiden Fällen schlägt das Pendel gleichartig nach hinten aus.
> Ein Beschleunigungssensor ist zwar technisch anders realisiert aber im
> Prinzip ist er auch nichts anderes als ein Pendel.

Ich bin immer wieder fasziniert, wie du mit ganz einfachen Bildern 
teilweise recht komplizierte Dinge erklären kannst. Vielen Dank für 
dieses Beispiel, jetzt habe ich wieder ein Stück mehr von dem ganzen 
verstanden.


MfG Dennis

von Osche R. (Gast)


Lesenswert?

Fabian Hoemcke schrieb:

> 1. Ich kann prinzipiell die Lange (Position) nicht von einer
> Langeänderung unterscheiden und somit weiß ich nicht, ob die Uhr (in
> diesem Fall) geneigt ist oder sich tatsächlich in eine bestimmte
> Richtung bewegt.

Korrekt. Wenn Du jedoch eine ruhig und waagerecht gehaltene Uhr als 
Ausgangspunkt voraussetzt, dann kannst Du die Änderung der 
Schwerkraftrichtung (= das Verkippen nach links/rechts/vorne/hinten) 
sehr einfach detektieren und als Steuergrößen verwenden.

Der nächste Schritt wäre dann, eine beliebige Lage im Raum als Ruhe zu 
definieren und die Verkippung darauf zu beziehen. Das machen tausend 
Spiele für's iPad so, und wenn Du mit deiner Uhr nicht gerade in einer 
Rakete oder einem anderen beschleunigten System sitzt, dann funktioniert 
das auch sehr schön.



> 2. Wenn ich also der Bewegung meiner Hand/Arm zur steuerung detektieren
> will, brauche ich zusätzlich noch einen Lagesensor.

Was soll ein "Lagesensor" sein? Sowas gibt es nicht. Wenn Du den 
Drehratensensor ("Gyro") meinst, der zeigt Dir die 
Lage-änderungs-geschwindigkeit (in Grad pro Sekunde) an. Damit 
unterscheidet man Schräghalten von Bewegen (vgl. das Beispiel mit dem 
Pendel).

von Qwerty (Gast)


Lesenswert?


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Danke erstmal an alle.


om pf schrieb:
> Was soll ein "Lagesensor" sein? Sowas gibt es nicht.
Achso! Entschuldigt bitte. Ich bin immer davon ausgegagen, dass es das 
gäbe. Ähnlich dem Kreisel.
Jetzt aber wo ich nochmal mit der Nase darauf gestoßen wurde und darüber 
nachgedacht habe, ein "Lagesensor", wäre im Grunde ja nichts anderes als 
ein Pendel, um bei dem oberen Bild zu bleiben. Es gibt gar kein Gerät 
(Wasserwage, Pendel, was auch immer), dass den Unterschied "Lage" oder 
Neigung, zu Beschleunigung kennt. (Hat das lange gedauert.)
Der (Lage-änderungs-)Geschwindigkeitssensor ist das der Kreisel? Ab hier 
verlässt mich mein Verständnis.

Qwerty schrieb:
> http://www.rcgroups.com/forums/showthread.php?t=1335765
Ja, sowas habe ich gesucht. Fand bisher nichts sooo gutes.
Nur sowas hier:
Allgemein:http://www.mikrokopter.de/ucwiki/MikroKopterEinstieg
Und diesen Bausatz hier: 
http://www.qc-copter.de/wiki/index.php?title=Bauanleitung_qc-copter
Und dann noch Foreneinträge, die treffen aber alle meinen Geschmack 
nicht so.
Hast Du auf der Seite gesehen, wie teuer solch ein kleiner Copter kommt?
Und was ESC ist habe ich leider auch noch nicht herausgefunden. Muss 
wohl die Motorsteuerung sein, aber wie soll dann ein Copter mit No ESC 
fliegen?

Klar dass ich nicht mit 25€ davon komme, auch wenn ich es als 
Fertiglösung gehofft hatte. Was sind denn die billigsten DC-Rotoren die 
man kaufen kann? Und was sind die billigsten Treiber die dazu passen?


Gruß und Danke
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Sowas hatte ich mir eigentlich vorgestellt: 
http://www.youtube.com/watch?v=XRuWf2h7_5Q
Aber wie jeder weiß, der den Elektor-Newsletter bekommt (daher kenne ich 
das ;)) kostet das niedliche Teilchen beachtliche 150$.
http://www.bitcraze.se/

Was leider nicht meinen Erwartungen entspricht.

Gruß
Fabian

von Chr. M. (snowfly)


Lesenswert?

Fabian Hoemcke schrieb:
> Klar dass ich nicht mit 25€ davon komme, auch wenn ich es als
> Fertiglösung gehofft hatte.

Mit 30€(evtl. +Zoll) bist du aber dabei.
http://www.banggood.com/Wholesale-Wltoys-V939-Beetle-2_4g-4-Channel-4-axis-Quadcopter-Dexterous-Mini-Ufo-p-47674.html?currency=EUR

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Chr. Messener schrieb:
> Fabian Hoemcke schrieb:
>> Klar dass ich nicht mit 25€ davon komme, auch wenn ich es als
>> Fertiglösung gehofft hatte.
>
> Mit 30€(evtl. +Zoll) bist du aber dabei.
> http://www.banggood.com/Wholesale-Wltoys-V939-Beet...

Coole Sache! Weltweit freier Versand!
Und im Zweifel (so wird es wohl kommen), nehme ich die 
Controllerplatine, samt HF-Modul raus und ersetze es durch mein 
MSP430-Launchpad oder Stellaris-Launchpad und eigenes HF-Modul und dann 
müsste es gehen. Ist die Kiste dann zu schwer muss eine eigene Platine 
ran.

Ich freue mich jetzt schon drauf. Ich hoffe nur, dass der Rabat bis 
nächsten Monat hält. Mein Geld ist für diesen Monat schon raus. ;)

Gruß und Danke
Fabian

von Jo D. (Firma: Jo) (discovery)


Lesenswert?

> Der (Lage-änderungs-)Geschwindigkeitssensor ist das der Kreisel? Ab hier
> verlässt mich mein Verständnis.

Jeder Quadrokopter braucht einen Gyro. Damit kann man unabhängig von der 
Beschleunigung die Lage im Raum bestimmen. Die Drehrate (Grad/Sekunde) 
wird einfach aufintegriert wodurch sich ein Winkel ergibt. Man muss vor 
dem Start nur einmal auf eine definierte Lage kalibrieren.

Dieses Integral beinhaltet natürlich auch Fehler, wodurch sich mit der 
Zeit eine Drift ergibt. Diese Drift kann nun (muss aber nicht) mit einem 
ACC kompensiert werden. Das macht das Fliegen dann einfacher, weil der 
Quadro stets in seine horizontale Lage zurückschwenkt.

Im Grunde ganz einfach. Die Prozedur in der Regelschleife (schematisch) 
sieht so aus:

while(1)
{
- Gyrowerte aufintegrieren
- Gyrodrift mit ACC kompensieren (optional)
- Sollwinkel von der Fernsteuerung entgegennehmen
- Regelabweichung berechnen
- PID Regler mit Abweichungen füttern
- Motoren entsprechend einstellen

Delay(x) --> Regelschleifenfrequenz einstellen
}

von Chr. M. (snowfly)


Lesenswert?

Die Dinger fliegen einwandfrei Out-of-the-Box

Wenn Du unbedingt selbst bastel willst ist der vielleicht was für dich:
http://www.goodluckbuy.com/mini-micro-arf-quadcopter-mwc-flight-control-multicoptermotor-prop-kit.html

Um den Rabat mach dir mal keine sorgen, wenn der ausläuft gibts den 
nächsten
oder es wird eh billiger.
Eurokurs macht wohl mehr aus.

von Chr. M. (snowfly)


Lesenswert?


von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Chr. Messener schrieb:
> Eurokurs macht wohl mehr aus.

Mehr als 20%? Meinst Du dass der Euro gegenüber den Dollar (woran der 
Yuan gekoppelt ist) so sehr steigen wird?

Danke für die Tipps!

Gruß
Fabian

von Chr. M. (snowfly)


Lesenswert?

ne, ich meine dass das mit den 20% Rabat eher so zu sehen ist
wie beim Teppichhändler Aladin.
Dort gibt es auch immer den *nur noch heute 700% Rabat* ;)


EDIT: AchJa noch was. Auf den ATMegas sollte auch MultiWii laufen
http://code.google.com/p/multiwii/

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Chr. Messener schrieb:
> AchJa noch was. Auf den ATMegas sollte auch MultiWii laufen
> http://code.google.com/p/multiwii/

Das klingt schon ganz interessant. Gibt es auch mit MSP430 als Lösung. 
Nur scheint das mit Wii Motion Plus zu funktionieren. Mal sehen ob es 
sich auch mit der normalen Wii Remote verheiraten lässt.


Danke

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Hallo Leute,

ich arbeite mich gerade durch die eine Lösung, die oben schon genannt 
wurde.
http://www.rcgroups.com/forums/showthread.php?t=1335765

Das größte Problem scheint ja wohl ein RF-Empfänger im 433MHz band zu 
sein.
Der Tüftler auf der Webseite nutzt ja den Empfänger des RF-DevelopBoards 
ez430-2500T board das man für 20$ kaufen kann. Was laut Google gerade 
mal 15€ sind. ("T" für Target, nicht für Tx wie ich zuerst dachte.)
http://www.ti.com/tool/ez430-rf2500t
Das Problem dabei ist nur, dass es, wie der Name schon im 2,5GHz Band 
statt im 433MHz Band funkt.
Auch alle Billo-Copter die bisher genannt wurden funken im 2,5GHz Band. 
Was nicht gerade verwundert.
Der einzige den ich gefunden habe ist der hier von Conrad: 
http://www.conrad.de/ce/de/product/518007/Reely-QuadroCopter-MiniCopter-MC-120-mit-Fernsteuerung
OK, 80€ wären jetzt nicht so viel, wenn ich nicht studieren würde.
Auch ist nicht klar, ob ich das Ding nicht programmieren kann. (Ich 
vermute mal eher nein.)

- Gibt es denn ein 433MHz-Empfängermodul im 20€ Bereich wie oben?
- Die Billo-Motoren samt Rotoren gibt es für 20€, aber gibt es auch 
einen günstigen Rahmen? Ich finde da nur teure.

Danke
Fabian

von Chr. M. (snowfly)


Lesenswert?

Warum bist Du denn auf die 433MHz festgelegt?
weil du den Kopter mit deiner Uhr steuern willst?
(Ich behaupte mal das Teil ist zu träge und man kann damit nur ungenau 
steuern)
Da ist doch ein Emfänger dabei, oder?


>gibt es auch einen günstigen Rahmen?
In der mini Grösse? einfach ein Stück Carbonprofil, in der Mitte 
durchdremeln und als X zusammenkleben.
Oder so wie im verlinkten Thread, da sind doch schon 3 Beispiele.

von sosaso (Gast)


Lesenswert?

Nur mal so am Rande, mein Ipad kann sehr wohl unterscheiden zwischen 
Lage und Beschleunigung.  Wenn ichdas Teilbeschleunige ändert sich die 
angezeite Lage nicht wirklich.

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

sosaso schrieb:
> Nur mal so am Rande, mein Ipad kann sehr wohl unterscheiden zwischen
> Lage und Beschleunigung.  Wenn ichdas Teilbeschleunige ändert sich die
> angezeite Lage nicht wirklich.

Echt? Mein Motorola Milestone kannte den unterschied nicht. Wenn man 
ordenlich beschleunigt (entsprechend langanhaltend), dann hatte es seine 
Lage geändert.
Passierte besonders häufig im Auto.

Gruß
Fabian

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

Chr. Messener schrieb:
> Da ist doch ein Emfänger dabei, oder?

Stimmt! Gar nicht dran gedacht. Den kann man ja auch nehmen.

Vielleicht ist die Uhr zu träge, aber es gibt Videos auf yT die die 
Signale am PC darstrellen und das sieht schon sponsiv aus.

Gruß
Fabian

von Michael (Gast)


Lesenswert?

sosaso schrieb:
> Nur mal so am Rande, mein Ipad kann sehr wohl unterscheiden zwischen
> Lage und Beschleunigung.  Wennich das Teilbeschleunige ändert sich die
> angezeite Lage nicht wirklich.

Richtig. Selbst das iPad Mini hat Beschleunigungssensor + Gyro an Bord. 
http://www.apple.com/de/ipad-mini/specs/

Diese Kombination ist ja sehr bekannt (-> alle Quadrocopter, etc) und 
wird meist mit einem Kalmanfilter zu einer IMU fusioniert.

In der Ruhelage ist es kein Problem nur mit einem 
Beschleunigungssensor zu arbeiten. Dort wirken auf den 
Beschleunigungssensor nur die Erdbeschleunigung ein. Die Beschleunigung 
auf den 3 Achsen kann man recht einfach mittels Trigonometrie in die 
Kippwinkel umrechnen. Hier braucht man kein Gyroskop. (Messung in der 
Ruhelage). Beispiel elektronische Wasserwaage. Messergebnis interessiert 
nur in Ruhelage.

Problematisch wird es erst wenn Bewegung ins Spiel kommt und wir uns 
auch für live-Messwerte "in Bewegung" interessieren. Auf unseren 
Beschleunigungssensor wirken nun zusätzlich zur Erdbeschleunigung auch 
noch Beschleunigungskräfte aus der Bewegung heraus (Quadrocopter/Auto 
bremst ab / beschleunigt). Wir haben dann einen Megamix aus 
Erdbeschleunigung (eigentlich ja repräsentativ für den Winkel) und der 
Bewegungsbeschleunigung. Kann man nicht unterscheiden. Das heißt, wir 
können den Beschleunigungssensor nahezu völlig vergessen. Er wird im 
folgenden nur als Korrekturhilfe benötigt. Nun kommen die Gyroskope ins 
Spiel. Sie geben ja eine Winkeländerung pro Zeiteinheit aus (z.B. 
30°/s). Bekanntlicher Weise ist die Integration der Winkeländerung über 
die Zeit dann der Winkel. Darum nimmt man ein festes dt (feste 
Zeitabstände deren Länge bekannt ist) und integriert die Winkeländerung. 
Das ergibt dann einen Winkel (also genau das was wir suchen).
Mal anschaulich gesprochen:
1) Quadrocopter weiß am Anfang: jetzt steh ich gerade
2) t=0 im Flug: Gyromesswert: -30°/s
3) t=1s (eine Sekunde vergangen): aktuelle Lage = Ruhelage -30°
exemplarisch dürfte das klar sein. In Wirklichkeit nutzt man natürlich 
wesentlich kleinere dt.
So das klingt alles eigentlich wunderbar, leider funktioniert das in der 
Praxis nicht sonderlich gut. Problem ist, dass bezahlbare Gyros (MEMS 
Gyros) driften. Das heißt sie geben fälschlicherweise Winkeländerungen 
an, obwohl garkeine stattfinden. Das geht nach einiger Zeit los, sobald 
die Gyros ein bisschen in Betrieb sind. Hier sieht man beispielsweise 
wie die grüne Linie (Gyro) weläuft 
http://www.ottawarobotics.org/wp-content/uploads/2012/04/fig3.jpg
Um dem ganzen aus dem Weg zu gehen gibt div. Möglichkeiten 2 davon sind 
bekannter: 1) Komplementärfilter (Hochpass + Tiefpass; Hochpass gegen 
das Rauschen des Beschleunigungssensors, Tiefpass gegen die Gyrodrift) 
2) Kalmanfilter. Für Nichtmathematiker eine Blackbox die erstaunliches 
zu leisten vermag. In div. Foren wird er daher als Magic-Box bezeichnet 
die man mit Gyro + Accelerometer (Beschleunigungssensorwerten) füttert 
und hinten kommen die drei Lagewinkel raus. Geniales Teil, es gibt 
Realisierungen selbst für Arduino. Muss man nicht verstehen um ihn zu 
verwenden ist aber mathematisch höchst interessant. Ist es wert, dass 
man sich einliest. Die meisten IMUs arbeiten mit Kalmanfiltern.

Fabian Hoemcke schrieb:
> sosaso schrieb:
>> Nur mal so am Rande, mein Ipad kann sehr wohl unterscheiden zwischen
>> Lage und Beschleunigung.  Wenn ichdas Teilbeschleunige ändert sich die
>> angezeite Lage nicht wirklich.
>
> Echt? Mein Motorola Milestone kannte den unterschied nicht. Wenn man
> ordenlich beschleunigt (entsprechend langanhaltend), dann hatte es seine
> Lage geändert.
> Passierte besonders häufig im Auto.
>
> Gruß
> Fabian

Jups auch das ist richtig. Das Milestone hat nur einen 
Beschleunigungssensor an Bord und kein Gyroskop.

von Michael (Gast)


Lesenswert?

Addon: Die meisten IMUs werden mit 6 DOF (Degrees Of Freedom) oder 9 DOF 
benannt. Hierbei wird DOF eigentlich fälschlich verwendet. 6 DOF 
bedeutet 6 Achsen-Messung (3 Achsen Gyro + 3 Achsen 
Beschleunigungssensor). 9 DOF = 3 Achsen Gyro + 3 Achsen 
Beschleunigungssensor + 3 Achsen Erdmagnetfeld. Letzteres lässt sich 
auch recht günstig vermessen. Nachteil dieses Messerverfahrens ist, dass 
sämtliche metallische Gegenstände, Stromleitungen und elektromagnetische 
Störungen die Messung ziemlich "zerstören". Von diesen Störungsquellen 
gibt es auf einem Quadrocopter mit hochstromigen PWM gepulsten Motoren 
mehr als genug gibt. Die Messung des Erdmagnetfeldes ist sozusagen ein 
Addon und verbessert die Messleistung von Gyro+Accelerometer nochmals 
und wird daher sehr gerne verwendet.

Hier noch einige Beispiele für IMUs
http://paparazzi.enac.fr/wiki/IMU

hochinteressant diese Art der (zusätzlichen) Lagemessung mit 
Infrarotsensoren:
http://paparazzi.enac.fr/wiki/IR

von Fabian H. (Firma: Technische Universität Berlin) (brein)


Lesenswert?

@Michael

Danke erstmal für deine Ausführlichen Informationen.
Ich finde das klasse und auch wenn ich noch nicht alles durchgelesen und 
nachgelesen habe, wird mir das sicher weiter helfen. Vielen Dank.

Ja, das Paparazzi-Projekt kenne ich vom CRE, hatte ich aber leider 
wieder vergessen. Danke auch noch dafür: http://cre.fm/cre187

Gruß
Fabian

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Michael schrieb:
> Kalmanfilter. Für Nichtmathematiker eine Blackbox die erstaunliches
> zu leisten vermag. In div. Foren wird er daher als Magic-Box bezeichnet
> die man mit Gyro + Accelerometer (Beschleunigungssensorwerten) füttert
> und hinten kommen die drei Lagewinkel raus. Geniales Teil, es gibt
> Realisierungen selbst für Arduino. Muss man nicht verstehen um ihn zu
> verwenden ist aber mathematisch höchst interessant. Ist es wert, dass
> man sich einliest. Die meisten IMUs arbeiten mit Kalmanfiltern.

Also ich würde mich als Nicht-Mathematiker bezeichnen, aber ich habe 
leider noch nirgends so richtig einen Ansatz gefunden, wo ich den 
Kalmanfilter verwenden könnte ohne ihn verstanden zu haben. Gibts da 
irgendwo einen Link dazu? Ich such schon ne ganze Weile, aber ich finde 
immer nur Herleitungen, die mir ehrlich gesagt zu hoch sind. Eigentlich 
sage ich mir dann immer, dass ich es dann eben nicht verwenden kann, 
wenn ich was nicht verstehe, aber beim Kalman wird öfter gesagt, das man 
ihn nicht komplett verstanden haben muss um ihn zu verwenden.

MfG Dennis

von maveric00 (Gast)


Lesenswert?

Hallo,

das hängt ein bischen davon ab, was Du unter "verwenden" verstehst. Wenn 
Du selber einen für ein neues System implementieren möchtest oder wenn 
die Zustandsgleichung direkt abgebildet ist, dann sollte man die 
Mathematik dahinter schon verstehen.

Ich habe aber auch schon fertige Implementationen gesehen, wo z.B. die 
Fahrzeuggeschwindigkeit aus verrauschten Messwerten gerechnet wurde und 
wo man direkt Übersetzungen und Massenträgheiten vorgeben konnte. Das 
würde ich dann als einen Fall ansehen, wo man den (schon 
implementierten) Filter ohne besondere mathematische Kenntnisse anwenden 
kann. Das könnte bei den Quadkopter-Filtern ähnlich sein.

Schöne Grüße,
Martin

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

maveric00 schrieb:
> Wenn
> Du selber einen für ein neues System implementieren möchtest

Da bin ich mir sicher, das dieses meine Fähigkeiten beiweiten 
übersteigt. Soweit bin ich schon ehrlich zu mir.

maveric00 schrieb:
> Das
> würde ich dann als einen Fall ansehen, wo man den (schon
> implementierten) Filter ohne besondere mathematische Kenntnisse anwenden
> kann. Das könnte bei den Quadkopter-Filtern ähnlich sein.

Mh, das stimmt schon, nur leider gibt kaum einer seine Quellen frei. Ist 
ja auch bisschen verständlich, macht sicher viel Arbeit so einen Filter 
zum funktionieren zu bringen. Nur verstehe ich nicht, wieso öfters 
(nicht nur hier) eben erwähnt wird, dass man das Filter durchaus 
verwenden kann, wenn man doch kaum Quellen findet.


MfG Dennis

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.