Archiv verlassen und diese Seite im Standarddesign anzeigen : Robotersteuerung mit Kamera
Hallo Zusammen,
mein Plan ist, einen Roboter mit einer Kamera zu beobachten und dann von einem PC steuern zu lassen. Dieses Verfahren findet sich bei den Fussballrobotern der Midsize-Leage.
Ziel ist, am Bildschrim eine Wegstrecke vorzugeben, die der Roboter dann abfährt.
Wenn man jetzt einen Stift am Roboter befestigt, müßter er eigentlich die vorgegebene Wegstrecke aufzeichnen.
Ich habe festgestellt, dass sich eine rote Farbe relativ gut erkennen läst, deshalb klebe ich auf den Roboter ein Stück roten Karton.
Die Bilderkennung möchte ich mit SCILAB und SIP realisieren, weil es dort schon ein paar vorgefertigte Bildverarbeitungsfunktionen gibt.
Als Roboter verwende ich den ASURO, gesteuert wird er über die Infrarotschnittstelle.
Grundsätzlich kann ich ihn schon steuern:
https://www.roboternetz.de/phpBB2/viewtopic.php?t=15727
Soweit erst mal,
stochri
Den Roboter kann ich auch schon lokalisieren.
Im folgenden die 3 Bilder der Positionserkennung:
1. Orginalbild
2. Farbdifferenzbild ( wird über die Vektordifferenz zu Farbe Rot berechnet )
3. Bild mit vom Algorithmus positionierten Lokalisationskreuz
Ich selbst hab da folgendes in Bangkok miterleben dürfen. Da haben sich Studenten in einem Fussballmatch mit Robotern alt Torschützen um die meisten Tore gebattelt. Sehr interessant wie ich finde. Da waren ein haufen Asiaten und ich. War eine Atmosphäre wie in einer Fussballarena!
Die Roboter hatten neben Rot noch weitere Farbcodes bestehend aus den Grundfarben bzw. Blauen und Gelben Punkten die von einer Sony CCD3 Kamera erfasst wurden.
Leider kann ich nicht mehr dazu sagen, aber das Thema finde ich selbst sehr interessant und vor allem schwierig aber in diesem Forum habe ich schon so manche passende Antworten auf verzwickte Fragen erhalten!
Hallo solo,
das Thema Bildverabeitung ist nicht so einfach. Aber das mit der Positionserkennung über Farbe klapt gerade recht gut. Im Moment ist das ganze aber etwas langsam und das liegt nicht an der Rechnerei, sondern an der langsamen Bildaufnahme. Ich vewende unter Linux das Programm webcam und das braucht länger als eine Sekunde, um ein Bild aufzunehnehm (ärgerlich, weiss noch nicht, wie ändern )
Hier mal ein Bild der Bahnverfolgung:
Alrithmus:
do
go(7)
turn(90)
get_picture
calculate_pos
while (true)
Die Ungenauigkeit im Bild kommt übrigens nicht von der Positionserkennung, sondern vom ungenauen fahren des Roboters.
Gruss,
stochri
Jetzt habe ich es geschaft, den ASURO über die Bilderkennung zu steuern. Weiter geht's hier:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=146330#146330
plusminus
04.04.2007, 14:47
Moin, bin hier auch gerade am rumexperimentieren mit kantenerkennung und solchen geschichten...
funktioniert auch alles perfekt soweit, nur... es ist schei ße langsam :!:
(Nutze VB.NET...) brauche für nen einfachen 3x3 (Sobel)-Operator auf 200x140 Pixeln 350ms hier auf dem Uni-Rechner (mit 2,8GHz + 1GB Ram)
Ok ich hab auch keine Ahnung, ob der Rechner nur verhackstückt ist, aber >300ms... bei läppischen 200x140 Pixeln das ist definitiv zu langsam :!:
Vor allem, falls sowas mal für nen AVR gemacht werde sollte...
Wenn man auf nem zweidimensionalen Array arbeiten würde, müsste es doch Welten schneller gehen, oder?
Mit was hast du denn dein tool gecoded ?
Ich vewende unter Linux das Programm webcam und das braucht länger als eine Sekunde, um ein Bild aufzunehnehm
ich benutz auf einem 200Mhz Linux Router den spca Treiber um an Bilder zu kommen,
und damit schaff ich 30 320*200 oder 15 640*480 Bilder in der Sekunde.
Ich glaub da machst du irgendwas falsch.
hab bilddaten von Kamera C328 auf AVR verarbeitet,
Kantenerkennung mit Sobel und n paar kleinere
andere Geschichten und schon gings auf 2-3 Sekunden
hoch je Frame. Wobei n nicht unerheblicher Teil war
schon die Datenübertragung und das bedienen des
externen RAM (man braucht halt ne ganze Menge davon)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.