Hallo, wie kann ich, auf relativ simple Weise die Position eines Spielzeugautos in einem Zimmer bestimmen? Genauigkeit sollte 1cm sein. Das Auto bewegt sich nur auf dem Fussboden, also ist "nur" eine 2-dimensionale Bestimmung nötig. Hat jemand eine Idee, wie man dies kostengünstig realisieren kann? Danke...
Mit einem Gliedermaßstab (kleiner Scherz) Ultraschall währe mein Tipp
Den Fußboden mit eindeutigen Mustern bedrucken und dann Kamera auf das Auto.
> Auf relativ simple Weise die Position eines Spielzeugautos > in einem Zimmer bestimmen? Genauigkeit sollte 1cm sein. Mit dem Zollstock messen. Oder mit einer Knotenschnur.
Soll die Messung im Auto erfolgen oder von einer Auto-externen Messapparatur (z.B. Kamera) durchgeführt werden? Welche Störfaktoren (Tischbeine, spielende Kinder, laufenden Meerschweinchen, Kollegen, andere Wettbewerbsteilnehmer) treten auf?
@PJ Die Daten brauche ich in einem Gerät (z.B. PC), das irgendwo in der Mitte des Zimmers stehen kann. Im Auto kann Elektronik sein, wenn erforderlich. Es wird immer direkte Sichtverbindung zum PC sein. Es wird keine Hindernisse geben. Wenn es aber auch mit Hindernissen funktioniert, wäre es auch schön.
@Gast Sorry, aber ich kann das Wohnzimmer oder Kinderzimmer nicht mit einem neuen Teppich auslegen @Travel Rec. geht leider nicht, da das Auto auch mal hochgehoben und versetzt wird
Dann nimm doch eine gut fixierte Kamera. Deren Pixel kannst Du einmal vermessen. Alles, was feststeht, per Software ausblenden. Wenn das Auto eine Farbe hat, die in der interessierenden Umgebung nicht vorkommt, wäre die Auswertung einfacher. (Lichtverhältnisse?)
Evtl. könnte man eine blinkende LED ins Auto setzen, um es per Software leichter zu erkennen. Evtl. IR-LED, und vor die Kamera ein entsprechender Filter, der nur IR durchlässt.
@PJ Das ganze soll quasi mobil sein. Ich möchte das kurz aufbauen und los gehts. Stundenlange Einrichtungsarbeiten möchte ich nicht haben. Außerdme habe ich so meine Bedenken, ob diese Methode wirklich so genau werden könnte.
"GPS für arme Leute" in allen 4 Ecken des Zimmers eine "Funkbake" welche Zeitnormal-Information mindestens der Güte 1/10^10 sek liefert. Dann im Auto ein getunten GPS-Chip einbauen, welcher derartig hohe Auflösung kann. Aus den Laufzeitunterschieden der einkommenden Signale kannst du dann deine Position im Raum auf 1 cm genau bestimmen ;-) --> wer mag mal die notwendigen Frequenzen und laufzeiten ausrechnen?
Wenn es mobil sein soll, dann baue Dir noch einen Kalibrierrahmen mit z.B. 1x1 m, in dessen Ecken sich blinkende LEDs befinden (evtl. ein Grid, um auch Linsenverzerrungen besser erkennen zu können). Den legst Du dann auf das Spielfeld, und die Software rechnet daraus die Positionen aller Bildpixel aus. Das kann alles sehr schnell gehen, und das Bauen mit Standardteilen ist auch einfach. Da braucht man nicht mal einen µC. Bei anderen Lösungen muss wahrscheinlich auch erstmal kalibriert werden, wenn der Aufbau sich ändert. Der Hauptaufwand ist natürlich die Programmierung der PC-Software.
Eine Alternative wäre vielleicht ein Ultraschallsender im Auto, der regelmäßig einen Bip sendet, und drei Empfänger mit bekanntem Abstand. Mit den Ankunftsunterschieden der Bips kann man dann wohl eine Peilung rechnen. (Ist vielleicht nicht haustierfreundlich.)
1 cm Genauigkeit ist eine ganz schön hohe Anforderung. Wenn du es einfach haben möchtest, finde ich die Lösungen mit der Kamera doch recht oversized. Die Position über die Laufzeiten eines Funkmodules stellen der Hardware zu hohe Anforderungen, das diese Laufzeitunterschiede im Zimmer nur sehr, sehr gering sind. Für eine ähnliche Anwendung spiele ich mit dem Gedanken das ganze über Beschleunigungssensoren zu errechnen. Beschleunigt das Fahrzeug, fährt es los... Messe ich dann die Zeit bis es abbremst, weiß ich wie weit es gefahren ist. Ob es tatsächlich umsetzbar ist kann ich dir (noch) nicht sagen, aber vielleicht wäre dies ein weiterer Ansatz für dich?
Es geht mit IR. Du brauchst einen Messstab (z.B. 1 m lang) mit je einem drehbaren Photowiderstand (mit Optik)an den Enden. Der Drehwinkel bzgl. des Stabes muß dabei genau gemessen/angefahren werden. Das Auto sendet ein Dauerlicht. Beide Sensoren suchen/verfolgen den Sender und bestimmen den Winkel für die max. Erkennung. Aus den 2 Winkeln und der Stablänge kann die Position zum Stab errechnet werden. Nur wenn das Auto mit den sensoren auf einer Linie ist geht es nicht. Die Genauigkeit evtl. mit Schrittmotor/Getriebe anpassen, mit Stablänge variiren. gruß hans
Der Forenclown schrieb: >> Auf relativ simple Weise die Position eines Spielzeugautos >> in einem Zimmer bestimmen? Genauigkeit sollte 1cm sein. > Mit dem Zollstock messen. Oder mit einer Knotenschnur. You made my day! Und der Ersteller des Threads sollte sich so einen Beitrag zu Herzen nehmen, es fehlen praktisch alle relevanten Daten im ersten Thread. Die Lösung entspricht somit genau der geforderten Aufgabe.
Die Idee von PJ ist schon ganz praktikabel. Ich würde sie noch durch eine (IR-)Diode im Auto ergänzen. Zuerst ein (IR-)Blitz (an die Decke) und danach einen Ultraschall-Beep. 3 feststehende Empfänger, deren Position man einmal kalibrieren muß, erkennen den Blitz und messen die Laufzeit bis zum Eintreffen des Beep. Der Rest ist Mathematik. Ist der Beep noch mit einer Kennung moduliert, kann die Position von mehreren Objekten ermittelt werden. Blackbird
Wie groß ist das zu befahrende Areal? Bestünde die Möglichkeit einen "Teppich" auszulegen? Dieser Teppich besteht aus einem Kreuzgitter aus Kupferleitungen. Das Auto fährt mit einer Spule über den Teppich und induziert ein Signal. Nun kann dieses Signal an den X- und Y-Leitungen gemessen werden (Multiplexer). Dort wo es am stärksten ankommt, steht das Auto. So ähnlich funktionieren auch Digitalisier-Tablets. Christian
Nimm doch aus einer WII aus dem Handteil die Kamera. In der Zimmermitte unter der Decke aufhängen. Vorteil dieser Kamera ist sie liefert schon Positionsdaten. Wird alles von Wolfgang Rudolf im CC2 erklärt. Code gibt es schon in C auf deren Download-Seite für den ATmega88. Mußt nur ein bischen suchen. mfg. Holger
Unter folgendem Link findest du eine Lösung auf Ultraschall-Basis: http://jufo.grundeis.net/gps/files/roboterprojekt.2002.pdf Eine Auflösung von 1cm war damit problemlos möglich. Solltest du noch Fragen dazu haben kannst du mir gerne eine Mail schreiben... mfg, reiner
Nicht schlecht gemacht, sowohl von der Elektronik als auch der Programmierung.
Danke, :) ich denke, man kann das Ganze durch den Einsatz von uControllern oder FPGAs nochmal deutlich vereinfachen... 2002 waren wir da aber noch nicht so firm drin... gruß, reiner
Hallo, > Für eine ähnliche Anwendung spiele ich mit dem Gedanken das ganze über > Beschleunigungssensoren zu errechnen. Beschleunigt das Fahrzeug, fährt > es los... Messe ich dann die Zeit bis es abbremst, weiß ich wie weit es > gefahren ist. Ob es tatsächlich umsetzbar ist kann ich dir (noch) nicht > sagen, aber vielleicht wäre dies ein weiterer Ansatz für dich? Die Mühe kannst Du Dir sparen. Das funktioniert nicht. Die Beschleunigungsdaten mußt Du zweimal integrieren, um zu den Wegdaten zu gelangen. Ein winziger Offset-Fehler führt zu einem beschleunigt größer werdenden Fehler für die Position, die Du ohne Referenz nicht ausgleichen kannst. Beschleunigungssensoren eignen sich hingegen gut zur Detektion eines Aufpralls oder zur Neigungsmessung (Winkel gegen die Erdnormale). Ultraschallmessungen funktionieren und werden in verschiedenen Roboteranwendungen eingesetzt. Wichtig ist hierbei, daß eine Sichtverbindung zu den Referenzbaken gegeben ist. Gruß, Michael
... Neigungsmessung (Winkel gegen die Erdnormale) ... @Michael Welche Genauigkeit in Grad ist mit einem Beschleunigungssensor zu erreichen?
Bestimmt nicht supergünstig, soll aber eine Positionsbestimmung in der 2D-Ebene ermöglichen: http://www.nanotron.com/EN/PR_nL_AVR_module.php
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.