Low Cost Headtracker mit Arduino und Magnetometer

Rangarid

Erfahrener Benutzer
So...und wieder eine neue Erkenntnis...ich hatte die Sensoren falschrum, deshalb kamen zeitweise sehr seltsame Ergebniss und die Tilt korrektur hat ein wenig gesponnen. Jetzt funktioniert die Tilt Korrektur wunderbar. Ich hab nurnoch ein kleines Problem, dass wenn ich zu weit nach links gucke, dass er auf einmal nach rechts springt. Aber da ja jetzt zumindest die Korrektur funktioniert sollte dem weiteren Verlauf nichts mehr im Wege stehen.

Hier mal ein Video:
http://www.youtube.com/watch?v=IZPIhiciG8M

Ich weise nochmal drauf hin, das es ein frühes Entwicklungsstadium ist. HT war an der Funke angeschlossen, die Servos am Empfänger.
 

okke dillen

Erfahrener Benutzer
hui!! das hat potenzial!! :cool:
werd mir mal den fred von vorne ziehen...am ende wär das noch was für mich?! :D
obwohl ich die magnetos als eher mäßig geeignet eingeschätzt hatte...aber eersma von vorne lesen, dann evtl standpunkt überdenken ;)

die "drop-outs" bekommst auch noch in den griff, weitermachen! :cool:
grüße o.d.
 

okke dillen

Erfahrener Benutzer
ahjetztja, durchgelesen. ok, es wurde so ziemlich jede problematik besprochen. was ich nicht gefunden hab, war ne korrektur (oder überlesen?).
deswegen folgender simpler ansatz:

man richte den ht nach N aus und betätige eine "cal" taste. wiederhole dies in möglichst waagerechter haltung für alle himmelsrichtungen und erhält so den feldvector des erdfeldes als offset-werte zu den gerechneten werten. alle zwischenwerte kann man nun interpolieren und korrigieren. :)

das müßte man nur 1mal machen und es sollte am selben platz immer wieder ohne kalibrierung funktionieren. an einem anderen ort verlaufen die feldlinien anders, also neu kalibrieren.
reist man viel rum, kann man 64 orte abspeichern. öhm, was hatn son arduino an speicherkapazität? ...braucht man mehr, kann man die orte auf micro-sd-karte speichern


oder hab ichs tatsächlich überlesen??
;) o.d.
 

Rangarid

Erfahrener Benutzer
Naja...das mit dem Kalibrieren muss ich mal kucken inwiefern sich das zuhause vom Flugfeld unterscheidet.
Das mit den Himmelsrichtungen braucht man nicht. Ich berechne quasi beim Starten den Nordvektor und den Ostvektor. Ich habe also nen fixen Startpunkt von dem aus ich dann die Lage berechnen kann. Brauchst also nicht nach Norden ausrichten, geht von jedem Startpunkt aus solang du beim Nullpunkt setzen den Kompass gelevelt hälst.

Ich wollte vielleicht noch so ein automatisches Kalibrieren einbauen, da müsste man aber bei jedem start ca 5s den HT durch die Gegend wedeln um die Min und Max Werte zu bekommen...

Zur Sache mit dem Pan: Habe mal nen anderen Code ausprobiert, da ging Pan super. Muss ich nurnoch beides verbinden. Tilt funktioniert ja schon super.
 

Rangarid

Erfahrener Benutzer
Naja wirklich viel steht da jetzt nicht drin. Ich hab ja an sich schon die Berechnungen usw. nur da läuft irgendwas schief ;). Außerdem gibt es auch eine LSM303 lib an der man sich orientieren kann.
 

Rangarid

Erfahrener Benutzer
So...läuft jetzt richtig wie es soll...Jetzt muss ich nurnoch nen Filter einbauen, ist sonst ziehmlich am zuckeln...

Aber Heading und Pitch funktionieren soweit schon ziehmlich gut. Tilt-Korrektur funktioniert einwandfrei. Ich überleg mir mal ne Filterung und mach dann n neues Video wenns funktioniert.

Da aber soweit erstmal alles funktioniert geh ich mal stark davon aus, dass es nachher richtig geht.
 
Du hast nicht umsonst deinen Titel (Grossmeister). Gute Arbeit !!!
 

Rangarid

Erfahrener Benutzer
Naja der Drift sollte hier kaum/nicht bemerkbar sein. Ich weiß nicht, inwiefern der Magnetometer auf Temperaturunterschiede reagiert...Aber ich bin selbst am gespanntesten denk ich ^^. Das einzige was hier Probleme machen könnte wäre der Temperaturdrift vom Beschleunigungssensor. Aber da weiß ich auch nicht wirklich was der so bei Temperaturänderungen macht...
 

Sledge

lonesome Cowboy
Temperaturdrift dürfte bei nem HT nicht allzu sehr ins Gewicht fallen. Und wenn man leichte Drift spürt kann man ja den reset Knopf drücken oder?
 

muvid

Erfahrener Benutzer
Hallo Rangarid,

gibts schon was neues zum HeadTracker? Würde mir den gerne auch nachbauen......Habe eine MC22 mit Jeti Duplex sollte doch funktionieren oder? Lehrer und Schüler Modul sind vorhanden.

Gruß Ertan
 

Rangarid

Erfahrener Benutzer
Ich war in letzter Zeit etwas faul, aber ich denke ich werde gleich noch was machen. Wie vorher schon gesagt fehlt mir der Filter.

Hat hier vielleicht jemand ne Idee wie ich sonen Filter baue? Denn wenn ich nur die Servosignale vergleiche bzw. nen Durchschnitt bilde dann wird die Kameraführung etwas träge...

Ob es mit der MC22 funktioniert kann ich dir nicht sagen. Aber wenn da ein Trainerport mit Aus- und Eingang dran ist sollte es wohl gehen.
 

Rangarid

Erfahrener Benutzer
Nein der Code ist nicht ganz aktuell. Aber wenn du ICQ oder MSN oder ähnliches hast schreib mir deine Nummer und wir schwätzen mal n Ründchen. Bin für jede Hilfe dankbar...
 

Sledge

lonesome Cowboy
Rangarid hat gesagt.:
Ich war in letzter Zeit etwas faul, aber ich denke ich werde gleich noch was machen. Wie vorher schon gesagt fehlt mir der Filter.

Hat hier vielleicht jemand ne Idee wie ich sonen Filter baue? Denn wenn ich nur die Servosignale vergleiche bzw. nen Durchschnitt bilde dann wird die Kameraführung etwas träge...

Ob es mit der MC22 funktioniert kann ich dir nicht sagen. Aber wenn da ein Trainerport mit Aus- und Eingang dran ist sollte es wohl gehen.
Ich habe keinen Schimmer aber evtl. ein paar Ideen. Du vergleichst die Servosignale? Macht es nicht mehr Sinn die raw Daten deiner Messung zu filtern?

Wie sieht denn dein zu filterndes Signal aus? Starke Peaks könntest du ignorieren wenn die Abweichung mehr als x% vom vorherigen abweicht. Die maximale Abweichung in % hängt dabei von der max. Geschwindigkeit mit der man den Kopf drehen kann ab. Allerdings sollte man da eine Sicherung einbauen, dass man z.B. nur max 3 mal hintereinander verwerfen darf, danach muss wieder ein Messwert genommen werden. Sonst könnte es passieren, dass man der Kopfdrehung nicht mehr folgen kann.

Wenn Dein Signal einfach nur verrauscht ist musst Du ein Mittel bilden. Du sagst die Steuerung wird dadurch träge, wie bildest Du denn das Mittel? Wenn man 10 Messungen / Sekunde macht und dann 10 Daten sammelt, sie mittelt und dann ein ppm berechnet hinkt die Cam immer 1 sek hinter dem Tracker her.
Evtl. solltest Du bei jedem Messwert den du erhälst die letzten 9 aufaddieren und daraus dein Mittel bilden und im Anschluss das ppm Signal. Wenn es immer noch zu träge ist muss man evtl. das Betrachtungsfenster für das Mittel verkleinern. Hier z.B. auf die letzten 3 Messungen.

Ich denke optimal wird es wenn man beides macht. Peaks ersetzen und dann das Mittel der letzten Messungen erstellen und daraus ein ppm generieren.

Ich hoffe das war kein totaler bullshit. Aber es ist früh am Morgen und evtl. hilft es Dir eine Idee zu bekommen :)
 
FPV1

Banggood

Oben Unten