Forum: Mikrocontroller und Digitale Elektronik Positionsbestimmung von 3 Punkten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christian L. (sundown2k)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich hoffe ich bin hier Richtig, und es gibt dieses Thema nicht schon,
hab zwar schon gesucht, aber nichts passendes gefunden.

Ich will auf einer Platte die Position (2-dim) von 3 auftreffenden 
"Stiften" bestimmen. Die Position der Stifte kann bei jedem auftreffen 
anders sein. Die Genauigkeit der Positionsbestimmung sollte im niedrigen 
Millimeterbereich liegen. Die Stifte sind aus Metall und Plastik.

Mein erster Gedanke war die Position mittels 2 Kameras zu bestimmen. Was 
sich aber als nicht so günstig heraus gestellt hat, da sich die 
Lichtverhältnisse ändern können.

Wäre die Positionsbestimmung mit Ultraschall-Sensoren oder ähnlichem 
möglich? Oder hat jemand noch eine andere Idee?


Gruß

Christian

von SuperPCFan (Gast)


Lesenswert?

Erster Gedanke: kapazitive oder resistive Displayfolie?
Vielleicht gibt es die in dieser Größe.

von Christian L. (sundown2k)


Lesenswert?

Das geht leider nicht. Ich kann nichts auf die Platte aufbringen. Die 
Positionsbestimmung muss irgendwie von den Rändern erfolgen.

von Mark W. (kram) Benutzerseite


Lesenswert?

Christian L. schrieb:
> Hallo Leute,
>
> ich hoffe ich bin hier Richtig, und es gibt dieses Thema nicht schon,
> hab zwar schon gesucht, aber nichts passendes gefunden.
>
> Ich will auf einer Platte die Position (2-dim) von 3 auftreffenden
> "Stiften" bestimmen. Die Position der Stifte kann bei jedem auftreffen
> anders sein. Die Genauigkeit der Positionsbestimmung sollte im niedrigen
> Millimeterbereich liegen. Die Stifte sind aus Metall und Plastik.
>
Hoert sich nach Dart an.

> Mein erster Gedanke war die Position mittels 2 Kameras zu bestimmen. Was
> sich aber als nicht so günstig heraus gestellt hat, da sich die
> Lichtverhältnisse ändern können.
>
Hoert sich nach Dart in eine Kneipe an.

> Wäre die Positionsbestimmung mit Ultraschall-Sensoren oder ähnlichem
> möglich? Oder hat jemand noch eine andere Idee?
>
Du koenntest auf fie Ruckseite der Pfeile oder was das auch immer ist 
reflektierendes Papier aufkleben. Das sollte sich aus Bildern einfach 
rausfiltern lassen. Auf den Hintergrund dann natuerlich auch 
Referenzpunkte.

Mark
> Gruß
>
> Christian

von Jan Sittinger (Gast)


Lesenswert?

Falls die Stifte nacheinander auf die Platte treffen, könnte man die 
Position durch drei oder mehr Erschütterungssensoren (Piezoelemente?) 
ermitteln. Dazu würden die mikroskopischen Zeitunterschiede und 
Amplitudenunterschiede miteinander verglichen und die Position 
trianguliert.

von Der Andere (Gast)


Lesenswert?

Jan Sittinger schrieb:
> Dazu würden die mikroskopischen Zeitunterschiede und
> Amplitudenunterschiede miteinander verglichen und die Position
> trianguliert.

Im "niedrigen Millimeterbereich"? Mach mal :-)

Ich seh da nur zwei eindimensionale Laserscanner.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian L. schrieb:
> von 3 auftreffenden "Stiften"
Wie schnell hintereinander treffen die Stifte auf? Wie stark sind die 
Erschütterungen? Kannst du etwas an der Plattenseite anbringen?

: Bearbeitet durch Moderator
von Christian L. (sundown2k)


Lesenswert?

Ja vom Prinzip her ähnlich wie Dart. Aber an den Stiften möchte ich 
nichts anbringen.
Wie genau wäre die Bestimmung mit den Erschütterungssensoren denn 
möglich?
Die Stifte treffen ungefähr alle 10 Sekunden auf. Die Erschütterungen 
sollten etwas stärker sein als beim Auftreffen eines Dartpfeiles. Ja an 
den Seiten der Platte kann ich etwas anbringen.

von Jan Sittinger (Gast)


Lesenswert?

Je nach Material musst Du die longitudinale Schallgeschwindigkeit 
ermitteln. Durch das Auftreffen eines Pfeils erreichen die Schallwellen 
alle Sensoren zu unterschiedlichen Zeiten (außer wenn der Pfeil im 
Zentrum auftrifft). Die daraus resultierenden Strecken ergeben jeweils 
einen Radius um jeden Sensor (mit +- Toleranz) und die Schnittfläche 
aller wiederum ein Polygon, in dem die Aufschlagsstelle ist. Wenn Du 
googelst, findest Du Tabellen mit Schallgeschwindigkeiten in 
verschiedenen Medien.

von Jan Sittinger (Gast)


Lesenswert?

Die Toleranz und damit die Genauigkeit, musst Du empirisch ermitteln

von Peter (Gast)


Lesenswert?

Zwei linearachsen mit geeigneten Reflexionslichtschranken?
Die Fahren das x-y-profil ab und über den Messwert der Lichtschranke
kannst du die Positionen ermitteln.

Ist auch rotatorisch vorstellbar. D.h. du hast eine
Reflexionslichtschranke auf einem Servo o.Ä. montiert der sich Dreht.
Dann ist aber eine hinreichende Winkelauflösung notwendig. Und etwas
trigonometrie ...

Optisch mit Kameras ist aber auch machbar, da ist eher die Frage wieviel
Vorerfahrung und/oder Einarbeitungswille vorhanden ist. Stichwort OpenCV
etc. Beleuchtungsprobleme sind indivduell zu betrachten.
Denkbar ist auch eine kombination aus sichtbarem Laser und einer Kamera.
Z.B. zwei Kameras schauen je auf x und y seite, Ein Linienlaser trifft
auf die Bolzen. Dann musst du nur noch die Laser erkennen und die
Mittelpunkte je 1-Dimensional ermitteln, was relativ trivial ist. Eine
Komplexe kalibrierung kann man sich ggf. auch durch vorheriges Vermessen
sparen.

von Futzi (Gast)


Lesenswert?

Was heißt die Lichtverhältnisse ändern sich? ;) Mit OpenCV kann man so 
einiges machen.

Evtl. auch mit einer Kamera ohne Infrarotfilter und IR beleuchtung 
arbeiten.

von Sascha (Gast)


Lesenswert?

Hört sich für mich nach einem Problem an, das man per Triangulation 
lösen kann.

Man könnte 2 Laserdioden/scharf gebündelte Lichtquellen drehbar neben 
der Scheibe anbringen. Auf dem kompletten Halbkreis der 
gegenüberliegenden Seite Phototransistoren.

Gesucht wird der Punkt, an dem beide Lichtstrahlen nicht mehr auf der 
anderen Seite ankommen.

Da ist natürlich wie immer das Problem wenn 2 Dartpfeile direkt 
nebeneinander in einer Linie zur Lichtquelle sind.

Wenn du zusätzlich dazu noch mit einem Accelerometer die Erschütterungen 
beim Aufprall erkenne kannst, lässt sich das aber lösen.


So rein vom Gefühl her ist aber die Lösung mit Kameras die bessere. Wenn 
die Pfeile Licht reflektieren, kann man die ganz gut erkennen.

Kannst du ein Testmuster auf den Pfeilen anbringen?

von Christian L. (sundown2k)


Lesenswert?

Ich danke euch erst mal allen für eure Ideen... wirklich ein ganz tolles 
Forum.

Habe mir das alles noch einmal durch den Kopf gehen lassen und würde es 
am liebsten mit den Kameras weiter versuchen.

Ein Muster auf den Pfeilen anzubringen wäre sicherlich zu Testzwecken 
möglich aber im allgemeinen nicht.

Mit ändernden Lichtverhältnissen meine ich dass beispielsweise mal eine 
Lichtquelle direkt drauf zielt, mal ist es eher dunkel.

Momentan experimentiere ich mit 2 einfachen Webcams rum(Microsoft 
Lifecam 3000HD und Logitech, Inc. QuickCam Ultra Vision). Aber die 
Ergebnisse sind noch nicht ideal.

Futzi schrieb:
> Evtl. auch mit einer Kamera ohne Infrarotfilter und IR beleuchtung
> arbeiten.

Kannst du mir da eine Empfehlung für eine "bezahlbare" Kamera geben?

Grüße

Christian

von ● Des I. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Christian L. schrieb:
> Futzi schrieb:
>> Evtl. auch mit einer Kamera ohne Infrarotfilter und IR beleuchtung
>> arbeiten.
>
> Kannst du mir da eine Empfehlung für eine "bezahlbare" Kamera geben?

er meinte wohl den IR Filter aus der Kamera ausbauen. Im nahen IR sind 
Kameras ja auch so schon recht empfindlich. Halte man eine Kamera vom 
Handy gegen eine Fernbedienung.

von Jan S. (Gast)


Lesenswert?

Christian L. schrieb:
> Kannst du mir da eine Empfehlung für eine "bezahlbare" Kamera geben?

Schau Dir auch mal die Raspberry Pi Camera NoIR an!

von Dirk E. (drbinsl)


Lesenswert?

@Christian L. (sundown2k)
Wahrscheinlich mit Kanonen auf Spatzen, aber: Es gibt auch 
Industriekameras mit einem sehr hohen Dynamikbereich und ggf. 
integrierter Bild(vor)verarbeitung. Ist i.d.R. nicht billig aber man 
kann schon einige 'kleine Wunder' hervorzaubern. Stichwort wäre z.B. 
'High Dynamic Range Camera'.

: Bearbeitet durch User
von Hp M. (nachtmix)


Lesenswert?

Jan Sittinger schrieb:
> könnte man die
> Position durch drei oder mehr Erschütterungssensoren (Piezoelemente?)
> ermitteln. Dazu würden die mikroskopischen Zeitunterschiede und
> Amplitudenunterschiede miteinander verglichen und die Position
> trianguliert.

Nix Triangulation!
Da  du nur Zeitdifferenzen messen kannst, ergeben sich als Standlinien 
Hyperbeln zwischn den Mikrofonen, und in deren Schnittpunkten befindet 
sich der Ursprung der Schallwellen.

Das Verfahren ist als Hyperbelnavigation gut bekannt 
https://de.wikipedia.org/wiki/Hyperbelnavigation aber zur Lösung der 
Gleichung ist einige Rechenleistung und genaue Zeitmessung erforderlich.
Ich habe Zweifel, ob ein Arduino dafür genügend leistungsfähig ist.

Mein Ansatz wäre die Verwendung eines RaspberryPi evtl. mit zusätzlicher 
Hardware für die Zeitmessungen.
Für diesen gibts auch eine hochauflösende Kamera ohne IR-Filter.

von Der Andere (Gast)


Lesenswert?

Bei der Erschütterungssensorlösung solltet ihr aber bedenken.
Er will eine Genauigkeit im "niedrigen mm Bereich". bei einer 
Kantenlänge von ca. 50cm hat man einen Abstand von bis über 50cm zu dem 
Sensor. Das bedeutet der Gesamtfehler der Messung muss deutlich unter 1% 
kommen.
Da stellst sich dann schon mal die Frage wie reproduzierbar und homogen 
ist denn die Schalllaufzeit in der Platte. Wenn das z.B. Pressspan ist, 
dann ist dei Schalllaufzeit nicht homogen und auch nicht reproduzierbar 
konstant.

Insofern wird die geforderte Genauigkeit zumindest 'interessant'.

von Detlef _. (detlef_a)


Lesenswert?

Ja, das geht mit drei Mikrophonen.

Been there, done that.

Du mißt die Differenzen der Schalllaufzeiten, die Standlinien liegen auf 
Hyperbeln, wie erwähnt.

Die Mathematik zur Berechnung der Position aus den Differenzen ist nicht 
ganz trivial, aber vier Grundrechenarten und die Wurzel reichen aus. Ich 
habe das mal bei Matheplanet.de erfragt, dort der erste Hit bei der 
Suche nach 'Hyperbelnavigation'. Dort habe ich auch Matlab script zur 
Berechnung gepostet.

hth
Cheers
Detlef

von Christian L. (sundown2k)


Lesenswert?

An den PI mit der Kamera hatte ich auch schon gedacht. Aber ich müsste 
mindestens 2 Kameras davon betreiben können. Und glaube das geht mit dem 
PI nicht wirklich zufriedenstellend?

Weiterhin muss die Kamera einen möglichst großen Bildwinkel haben, damit 
sie nicht so weit weg positioniert werden muss.

: Bearbeitet durch User
von Christian L. (sundown2k)


Lesenswert?

Detlef _. schrieb:
> Ja, das geht mit drei Mikrophonen.
>
> hth
> Cheers
> Detlef

Was ich mich bei den Mikrophonen generell Frage, wäre das System nicht 
recht anfällig gegen Umgebungsgeräusche?

Gruß Christian

von Detlef _. (detlef_a)


Lesenswert?

Ja, kann sein, dass das System anfällig ist gegen Umgebungsgeräusche, 
das hängt natürlich von den Umgebungsgeräuschen ab. Die 
Laufzeitdifferenzen müssen 'richtig' bestimmt werden, sonst funzt das 
nicht.

Ic habe damals die Position eines Mikrophons in Bezug auf drei 
Lautsprecher bestimmt, da konnte ich die 'Geräusche' so wählen, dass mir 
die Umgebung nicht in die Quere gekommne ist.

Cheers
Detlef

von Sascha (Gast)


Lesenswert?

Christian L. schrieb:
> Detlef _. schrieb:
>> Ja, das geht mit drei Mikrophonen.
>>
>> hth
>> Cheers
>> Detlef
>
> Was ich mich bei den Mikrophonen generell Frage, wäre das System nicht
> recht anfällig gegen Umgebungsgeräusche?
>
> Gruß Christian

Ja, aber man nimmt da eh Ultraschall, damit das keinen nervt. Und dann 
kann man per Bandpass nur diesen Bereich des Spektrums für die 
Berechnung heranziehen.

LORAN-C per Ultraschalllotung...spannend ;)

von Christian L. (sundown2k)


Lesenswert?

Hmm, das mit dem Schall/Ultraschall hört sich auch ganz interessant an. 
Glaube da muss ich mich erst einmal ein bisschen einlesen...

von Detlef _. (detlef_a)


Lesenswert?

>>>LORAN-C per Ultraschalllotung...spannend ;)

Ja, finde ich auch. Hatte hier

Beitrag "Indoor Navigation mit dem Handy"

mal ein Projekt in diese Richtung vorgeschlagen. Das würde 
funktionieren, aber Androi Programmieren kann ich immer noch nicht

Cheers
Detlef

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.