Position einer Infrarot Diode mit einer Kamera bestimmen

Gast #6187641
Hallo ich will für meine modellbahn Anlage ein Car system bauen und 
dafür muss die Position von jedem Auto bestimmt werden. Deshalb will ich 
fragen ob es mit einem Arduino und einer angeschlossenen Kamera möglich 
ist, dass man die Position  einer IR Diode mit Koordinaten bestimmt. 
Dabei sind nur x- und y- gemeint. Vielen Dank im voraus!
Gast #6187675
Jonas schrieb:

> Hallo ich will für meine modellbahn Anlage ein Car system bauen und
> dafür muss die Position von jedem Auto bestimmt werden. Deshalb will ich
> fragen ob es mit einem Arduino und einer angeschlossenen Kamera möglich
> ist, dass man die Position  einer IR Diode mit Koordinaten bestimmt.
> Dabei sind nur x- und y- gemeint. Vielen Dank im voraus!

Im Prinzip schon. Kommt jedoch auf die Größe der Anlage an. Wie viele 
Fahrzeuge? Wie schnell muss ein Fahrzeug erfasst werden? Wie genau ist 
die Position zu bestimmen?
#6187698
Ein Arduino hat zu wenig Rechenleistung für Bildverarbeitung.

Du nimmst am Besten einen Jetson Nano. Der hat eine dicke GPU, die per 
CUDA Algorithmen rechnen kann, und Du kannst alles mögliche an 
CSI2-Kameramodulen anschließen und nicht nur wie beim PI das originale 
von Boardhersteller, weil die PI Foundation lieber Closed Source 
Software vertreibt.

Optische Bildverarbeitung geht prinzipiell, wird im echten Leben auch 
angewendet, ist aber eher aufwändig. Bevor Du Dich dafür entscheidest, 
solltest Du auch alle alternativen Messverfahren wie Sensoren in der 
Fahrbahn  usw untersuchen.

fchk
Gast #6187709
H7
ja. Bestimmt. War halt damals das was ich gerade hatte und mit dem ich 
mich schon auskannte. Vielleicht wäre mittlerweile auch was mit dem PI 
einfacher. Vor allem, weil das Kamerainterface einfacher ist.
Gast #6187715
Wie ich schon schrieb hängt das Projekt vom Umfang der Aufgabe ab. Mit 
einer einfachen Kamera (seriell 115200 Baud) habe ich etwas ähnliches (2 
Objekte infrarot) mit einem 8051-System bereits vor 10 Jahre gelöst.
Gast #6187722
Gerd B. schrieb:
> Vielleicht wäre mittlerweile auch was mit dem PI einfacher. Vor allem,
> weil das Kamerainterface einfacher ist.

und da gibt es auch die Möglichkeit der Mustererkennung. Also direkt die 
Fahrzeuge zu erkennen, ohne extra LED.

P.S. Dein Projekt mit dem STM gefällt mir richtig gut!
Gast #6188414
Arduino geht nicht. Versuch mal, da überhaupt eine Kamera 
anzuschliessen.
Aber Raspi sollte gehen. Wir machen so etwas immer mit 2 Kameras, das 
erhöht die Genauigkeit.
Allerdings bezweifel ich (von der naiven Frage ausgehend), dass du die 
Algorithmen beherrscht, um eine Bildauswertung programmieren zu können. 
Denn das ist Echtzeit und Multithreaded für Bildaufnahme, Berechnung, 
Darstellung etc.
Gast #6188420
PittyJ schrieb:
> Arduino geht nicht. Versuch mal, da überhaupt eine Kamera
> anzuschliessen.
Eine Möglichkeit wurde oben genannt.

PittyJ schrieb:
> Aber Raspi sollte gehen. Wir machen so etwas immer mit 2 Kameras, das
> erhöht die Genauigkeit.
> Allerdings bezweifel ich (von der naiven Frage ausgehend), dass du die
> Algorithmen beherrscht, um eine Bildauswertung programmieren zu können.
> Denn das ist Echtzeit und Multithreaded für Bildaufnahme, Berechnung,
> Darstellung etc.

Und? Was wäre deine Lösung?
Muss man gleich ein optisches Raketenzielsystem bauen, wenn man die 
Position eines Lichtpunktes bestimmen will?
#6188439
STK500-Besitzer schrieb:

> Und? Was wäre deine Lösung?
> Muss man gleich ein optisches Raketenzielsystem bauen, wenn man die
> Position eines Lichtpunktes bestimmen will?

Ein Lichtpunkt in völliger Dunkelheit ist einfach, hast Du aber in der 
Wirklichkeit so gut wie nie. Ein einzelner Lichtpunkt in einem einzelnen 
Frame liefert z.B. auch keine Information über die Richtung. Die will 
man oftmal auch haben.

In realen Szenarien im realen Leben mit realen Objekten wird sowas wie 
das hier ganz gerne verwendet:

https://github.com/dusty-nv/jetson-inference

Hardware: (Minimalversion)
https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/jetson-nano/
https://www.e-consystems.com/nvidia-cameras/jetson-nano-cameras/3mp-mipi-camera.asp

Da kann sich der Fragesteller seine LED auch sparen, sofern die Szene 
gut ausgeleuchtet ist, reicht das völlig.

fchk
Gast #6188614
Frank K. schrieb:
> STK500-Besitzer schrieb:
>
>> Und? Was wäre deine Lösung?
>> Muss man gleich ein optisches Raketenzielsystem bauen, wenn man die
>> Position eines Lichtpunktes bestimmen will?
>
> Ein Lichtpunkt in völliger Dunkelheit ist einfach, hast Du aber in der
> Wirklichkeit so gut wie nie. Ein einzelner Lichtpunkt in einem einzelnen
> Frame liefert z.B. auch keine Information über die Richtung. Die will
> man oftmal auch haben.
>
> In realen Szenarien im realen Leben mit realen Objekten wird sowas wie
> das hier ganz gerne verwendet:
>
> https://github.com/dusty-nv/jetson-inference
>
> Hardware: (Minimalversion)
> https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/jetson-nano/
> 
https://www.e-consystems.com/nvidia-cameras/jetson-nano-cameras/3mp-mipi-camera.asp
>
> Da kann sich der Fragesteller seine LED auch sparen, sofern die Szene
> gut ausgeleuchtet ist, reicht das völlig.
>
> fchk

Ohne jetzt unfreundlich erscheinen zu wollen:
Wieso antwortest du auf eine Frage, die an jemand anderen ging?

Lernt der Fragesteller etwas dabei, wenn er fertige Bibliotheken 
verwendet?
Oder will er eine fertige Läsung präsentiert haben?
#6188645
STK500-Besitzer schrieb:

> Ohne jetzt unfreundlich erscheinen zu wollen:
> Wieso antwortest du auf eine Frage, die an jemand anderen ging?

Ich habe in den Thread geantwortet und gehe davon aus, dass auch der 
Fragesteller die Antwort liest.

> Lernt der Fragesteller etwas dabei, wenn er fertige Bibliotheken
> verwendet?
> Oder will er eine fertige Läsung präsentiert haben?

Ich denke, er hat primär ein Problem und braucht dafür eine Lösung, die 
möglichst gut in seinem spezifischen Aufbau funktioniert und dabei auch 
noch bezahlbar bleibt.

Zum Lerneffekt: Keine Ahnung. Bei der reinen Bildverarbeitung brauchst 
Du zum Verständnis der Algorithmen erstmal einen Haufen Mathematik. Ich 
weiß nicht, ob er die Grundlagen dafür hat. Für die reine Anwendung sind 
die aber nicht erforderlich. Vielleicht kommt etwas in Richtung Linux, 
Python etc dabei rum.

fchk
Gast #6188772
STK500-Besitzer schrieb:
> PittyJ schrieb:
>> Arduino geht nicht. Versuch mal, da überhaupt eine Kamera
>> anzuschliessen.
> Eine Möglichkeit wurde oben genannt.
>
> PittyJ schrieb:
>> Aber Raspi sollte gehen. Wir machen so etwas immer mit 2 Kameras, das
>> erhöht die Genauigkeit.
>> Allerdings bezweifel ich (von der naiven Frage ausgehend), dass du die
>> Algorithmen beherrscht, um eine Bildauswertung programmieren zu können.
>> Denn das ist Echtzeit und Multithreaded für Bildaufnahme, Berechnung,
>> Darstellung etc.
>
> Und? Was wäre deine Lösung?
> Muss man gleich ein optisches Raketenzielsystem bauen, wenn man die
> Position eines Lichtpunktes bestimmen will?

Klingt jetzt etwas arrogant: aber mit genau solchen Dingen verdiene ich 
mein Geld. Ich kenne den Hardware-Aufwand und die vielen Tausend Zeilen 
Code, die dafür notwendig sind. Und dem TE nehme ich nicht ab, das er es 
schaffen würde mit konstanter Rate ein Bildfolge einzulesen, die passend 
zu filtern und darin dann Objekte zu suchen.
Ich könnte ihm Lösungen anbieten, die kosten aber 5-stellig.
Gast #6188811
PittyJ schrieb:
> Klingt jetzt etwas arrogant: aber mit genau solchen Dingen verdiene ich
> mein Geld. Ich kenne den Hardware-Aufwand und die vielen Tausend Zeilen
> Code, die dafür notwendig sind. Und dem TE nehme ich nicht ab, das er es
> schaffen würde mit konstanter Rate ein Bildfolge einzulesen, die passend
> zu filtern und darin dann Objekte zu suchen.
> Ich könnte ihm Lösungen anbieten, die kosten aber 5-stellig.

Ja, es klingt arrogant, weil du es ihm nicht zutraust.
Anstatt sich hier selber als "tollen Macker" zu präsentieren, wäre es 
doch eher sinnvoll, zu zeigen, wie man in das Thema einsteigen könnte.

Ich würde zuerst ein Bild machen. Darauf dann den IR-Punkt suchen. Und 
ihn in ein Koordinatensystem der Modellbahnplatte umrechnen.
Nächstes Bild...
Gast #6188960
@Jonas
Ich habe eine sehr sehr helle, kleine LED benutzt, ich habe einen 
Graufilter davorgesetzt und ich habe die Shutter-Time runter genommen. 
Ergebnis ist ein schwarzes Bild mit nur einem weißen Punkt. Das macht 
vieles einfacher weil der Signal-Rausch-Abstand sehr groß wird. Schau 
also mal, ob Du nicht auch eine IR-Filterscheibe davorsetzen kannst. Und 
nimm helle IR-LEDs. Aber keine gerichteten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.