klasse sache. haste da etwas mehr doku dazu? quellcode? was für ne kamera? welches format haben die datenbytes? was muss der asuro haben um erkannt zu werden? usw, usw..
Hallo allerseits,
hier wieder einmal das Thema Kamerasteuerung mit dem ASURO.
Eine Kamera wird über den ASURO gehängt und beobachtet den ASURO.
Das Programm ist in OpenCV geschrieben und erkennt die Position des ASURO an der roten Farbe.
Was noch fehlt: das Programm soll über die serielle Schnittstelle die Koordinaten auf die IR-Schnittstelle legen, etwas in dem Format
1. StartByte
2. X-Koordinaten-Byte
3. Y-Koordinaten-Byte
Der Vorteil an diesem Verfahren ist dann, dass die Benutzer nichts mehr am Bildverarbeitungsprogramm auf dem PC machen müssen und sich voll auf die Programmierung des ASURO konzentrieren können.
Meiner Meinung nach dürfte das die Möglichkeiten des ASURO ziemlich erweitern. Endlich kann der ASURO seine Position sozusagen über das "Kamera-GPS" ermitteln.
Es sollte möglich sein, dass der ASURO anhand der von der Kamera gelieferten Koordinaten sehr genau anfahren kann.
Interessant könnte auch die Untersuchung der Regelungsschleife Kamera-ASURO-Positonsregler sein.
Gruß,
robo
klasse sache. haste da etwas mehr doku dazu? quellcode? was für ne kamera? welches format haben die datenbytes? was muss der asuro haben um erkannt zu werden? usw, usw..
So, hier git es noch den Link auf OpenCV
Ziemlich viele Fragen. Hast Du es schon ausprobiert?klasse sache. haste da etwas mehr doku dazu? quellcode? was für ne kamera? welches format haben die datenbytes? was muss der asuro haben um erkannt zu werden? usw, usw..
nur was ist mit übertragungsfehlern?? Vielleicht sollte man auf eine andere Art der übertragung wechseln.
mfg liggi
Lieber am Asuro rumschrauben als alles andere.
Meine Homepage
Was die Übertragungsfehler angeht, könnte man verschiedene Maßnahmen ergreifen.
1. Der Asuro fährt aus dem Empfangsbereich der IR-Signale
==> es wird ein Suchprogramm gestartet, bei dem der ASURO solange mit Zufallsbewegungen durch das Zimmer fährt, bis er das Signal wieder gefunden hat.
2. Es treten Übertragungsfehler der Koordinaten auf
==> Es wird eine Fehlererkennungsmechanismus eingebaut
Das Protokoll könnte dabei folgendermaßen aussehen:
Kommandobyte, X-Koordinate, Y-Koordinate
Die Koordinaten dürfen nur im Wertebereich von 0-199 liegen. Ein Wert größer als 199 wird als Kommandobyte interpretiert. 4 Bit des Kommandobytes werden aus der Checksumme der beiden Koordinaten X und Y gebildet. Damit dürfte ein Fehler einigermaßen zuverlässig erkannt werden.
ich habe es noch nicht getestet, dqa ich linuxer bin.. mal sehen ob ich den code linux-tauglich machen kann. was für eine kamera hast du angeschlossen?
Eine gewöhnlich USB-Webkamera von Logitech. Die Kamera ist für das Programm selbst egal, da das Kamera-Handling vom Kameratreiber übernommen wird. Im Programm wird die Kamera einfach als Kamera 0 angesprochen.
Da das Programm mit OpenCV arbeitet sollte es eigentlich kein Problem mit der Portierung geben. Das Ganze sollte ziemlich 1:1 funktionieren. Einzig mit dem Ansprechen des Kameratreibers unter Linux sehe ich eine Unwägbarkeit.
Wenn Du es hingekriegt hast, poste den Code und das Vorgehen hier, dann kann ich auch wieder auf Linux umsteigen. Ich habe eher ungern Windows verwendet, um das Ganze einem breiteren Pulblikum zugänglich zu machen und weil's mit OpenCV in Verbindung mit VC++ einfacher war.
ok, ich werde es mir mal antun bei gelegenheit. ich glaub ich hab noch ne klien philips webcam, die unter linux out-of-the-box funktioniert hat
Hi,
bei mir läuft das nicht!!
Es wird mit der fehlermeldung abgebrochen(siehe anhang).
Ich benutze windoof XP
MfG Martin
Oha, das ist ja schon mal das erste Ergebnis. Ich habe auch XP und habe es auch auf einem Rechner mit Win2000 ausprobiert. Das Problem auf dem 2.ten Rechner war nur, das dort ein paar DLLs gefehlt haben, die ich dann zusammensuchen musste. Deine Fehlermeldung verstehe ich ehrlich gesagt nicht ganz. Vielleicht weiß hier ein VCC-Experte rat, ich probiere das nämlich quais zum ersten Mal aus.
Lesezeichen