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!
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?
mit ner Kamera senkrecht von oben brauchst Du eigentlich nur noch ein paar Referenzpunkte. Allerdings seh ich da keinen Arduino, eher einen RasPi.
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
Hab ich mal gemacht. http://www.sebulli.com/campos/index.php?lang=de Allerdings nur für 1 Objekt. Anstatt IR habe ich eine normale LED ausgewertet und die Position dann per IR digital zurückgesendet. Bei ner kleinen, hellen SMD LED konnte ich die Position sogar auf 1/10 Subpixel genau auflösen. Der STM32 kann direkt ein Kamerasignal auswerten und einlesen. Gruß Gerd
Gerd B. schrieb: > pegel war schneller :) Das schon, aber Du hast es gemacht. Vielleicht ist das sogar moderner mit einem H7 Board und passender Kamera möglich?
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.
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.
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!
Vielen Dank für die ganzen Antworten! Ich werde jetzt erstenmal gucken was ich mit den ganzen Infos anfange :).
Bei dem Controller der Wii war doch glaube ich auch so eine Minicam drinne. Für die gibt es auch schon fertige Libs auch für den Arduino und Co.
Sipeed Maix Dock Kamera, 2 Kerne und Mustererkennung, alles drin/machbar
Es gibt auch Projekte mit der Nintendo-WII zu dem Thema.
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.
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?
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
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?
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
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.
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...
STK500-Besitzer schrieb: > Ich würde zuerst ein Bild machen. Darauf dann den IR-Punkt suchen. Und > ihn in ein Koordinatensystem der Modellbahnplatte umrechnen. Das ist das Schöne am campos Projekt von Gerd B. Unten auf der Seite gibt es den Quelltext.
Gerd B. schrieb: > Hab ich mal gemacht. Ich finde deine Projektseite echt gut! Leider bist du zuletzt nicht mehr so produktiv, wie ich das gerne hätte ;-)
PS: Die Wii-Remote ("wiimote") hat so eine Kamera mit Auswertung (4 Punkte?) als Bauteil eingebaut.
@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.
Möglicherweise hat jeder von uns noch antike IR-Filter rumliegen: https://hackscape.wordpress.com/2010/11/27/using-a-floppy-disk-as-an-ir-filter/
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.