Position einer Infrarot Diode mit einer Kamera bestimmen

Gast #6187641
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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 #6187722
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

@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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren