Hallo Toemchen,
meinst Du diesen Link hier ?
http://b-duschinger.homepage.t-online.de/index.html
Gruß
m.artmann
Hallo Gemeinde,
nachdem mein Roboter jetzt mechanisch wirklich langsam ok ist, muß ich wohl das Thema "Navigation im Raum" angehen.
Für Laserscanner von Sick ist mein Robbi, wenngleich nicht klein, doch nicht ausreichend, und mein Geldbeutel bzw. die Lust, ihn auszuleeren auch nicht.
Bei früheren Suchen hatte ich schon einmal eine gute Seite gefunden, bei der jemand mit einem linienprjezierenden Laser und einer Kamera experimentiert. Bzw. wurde in einem Thread darauf gestoßen. Kann sich jemand daran erinnern? Manfred?
Folgendes Prinzip schwebt mir vor: (wahrscheinlich roter) Laserfächer ca. 5cm über dem Boden, vielleicht auch nur 2cm. Kamera etwas weiter oben, schaut parallel oder sogar nach unten geneigt. (Dann wird das Rechnen wohl aufwendiger). Über entsprechende Bildverarbeitung, eventuell sogar mit An/Abschalten des Lasers und Dunkelbilddifferenz, die projizierte Linie (falls der Laser auf etwas trifft) extrahieren. Aus der Höhe der Linie ein Entfernungsprofil errechnen. Damit erkennt man alle Hindernisse, die auf dem Boden stehen. Die Mitte eines Schrankes, der auf Füßen an seinen Ecken steht, natürlich nicht. Aber Lücken gibts bei einem einfachen Prinzip natürlich immer.
So, das ganze würde ich jetzt gerne langsam anpacken.
Für erste Versuche vielleicht mit der vorhandenen Webcam...
Später lieber mit einer Kombination aus (einfach digital auslesbarer) Kamera und Microcontroller. Müßte aber schon ein mächtiger sein... Habe ich keine Erfahrung mit... Mag jemand, der programmierbegeistert ist, mitmachen?
Und hat jemand schon einmal das digitale Kameramodul ausprobiert, das Teil der CMU-Cam ist, aber auch einzeln zu kaufen ist?
Am Schluß darf das ganze ca. 200 Euro Material und beliebig viel Arbeit gekostet haben, und sollte max. 10x10x7 cm groß sein.
Unmöglich?
Toemchen
Hallo Toemchen,
meinst Du diesen Link hier ?
http://b-duschinger.homepage.t-online.de/index.html
Gruß
m.artmann
Ich habe unter dem Thema den Duschinger-link und noch einen.
http://b-duschinger.homepage.t-online.de/index.html
http://www.marwedels.de/malte/3dscanner.html
Manfred
Der Duschinger-Link ist schon mal super Lesestoff, und der darin am Anfang enthaltene Hinweis auf die Seite von Ken Maxon ist derjenige Link, den ich von damals noch in Erinnerung hatte. Dankeschön!
Jetzt noch Inputs von der technischen Seite.. Am besten aber: "Ich hab' sowas, kannst von mir kaufen." hihi
Der zweite Link bezieht sich auf einen langsam per Servobewegung abtastenden Sensor. Mein Traum wäre jedoch: Eine komplette Einheit, die das Erkennen eines Hindernisses in einem vordefinierten Bereich meldet, und das sehr schnell zum Bremsen des Roboters. Oder ein ganzes Profil abliefert, so ca. mit 100-250ms Wiederholrate.
Naja, ich werde jetzt erstmal bei Duschinger schmökern und mich dann wieder melden.
Tom.
Jetzt muss ich mal draufloslabern, ohne richtig viel Ahnung zu haben. Berichtigt mich!
Bernhard Duschinger verwendet eine S/W-Kamera mit Videoausgang, filtert mit einem sehr guten optischen Filter das rote Laserlicht hervor und kann sich so einigermaßen darauf verlassen, daß der rote Punkt innerhalb jeder abgetasteten TV-Zeile so hervorsticht, daß er mit einer Komparatorschaltung im TV-Signal sicher detektiert werden kann. Die Abstandsmessung reduziert sich somit auf eine Zeitmessung innerhalb jeder TV-Zeile, bis der rote Punkt drankommt. Sehr geschickt.
Über die Sicherheit bei wechselndem Umgebungslicht bin ich mir nicht ganz im klaren. Lieber wäre mir schon eine Bildverarbeitung. Vielleicht nur zeilenweise, über einen Mustervergleich den einige Pixel breiten roten Peak suchen.
Damit sind wir schon bei der Vorstufe zu handgestricktem Videocapture, denn ich muß ja eine ganze Zeile per A/D-Wandler sampeln und in den Speicher stecken. Wenn das von der Geschwindigkeit her mit Hausmitteln geht, kann man wohl auch gleich das ganze Bild digitalisieren. Dann gehts gleich weiter: Ein Dunkelbild mit abgeschaltetem Laser und eines mit Laser aufnehmen und voneinander abziehen. Dann könnte man sich den tollen Rotfilter vielleicht sparen oder durch einen einfacheren ersetzen. Bei der Verarbeitung eines ganzen Kamerabildes muß man die Kamera auch nicht drehen, damit die Zeilen senkrecht stehen. (Wenngleich das eine pfiffige Idee war)
Das war ein bißchen über die Prinzipien schwadroniert, jetzt noch ein bißchen überschlägige Rechnerei:
CMOS-Kameramodul von Conrad, für 12€ mit 352x288 Pixel. Das sind bei 25 Bildern/s ca. 2,5MHz Pixelfrequenz bzw. 0,4us pro Pixel. Oder das ganze doppelt wegen 50 Halbbilder/s?
A/D-Wandler: Kurz bei Farnell geschaut, 8bit mit 0,018us Wandelzeit für etwa 9€ (ADC1173).
Fehlt natürlich noch der muskelstarke spurtstarke Mikrocontroller.
Und der Linienlaser (ca. 40€ bei Conrad) Oder den auch selbst bauen, etwas billiger, aber vor allem vielleicht besser anzusteuern für die schnelle Dunkelbild/Aktivbildabfolge.
So, bin ich verrückt?
Sehe ich alles viel zu rosig?
Bitte Kommentare.
Bei der Geschwindigkeit mit 2,5MPixel/s wird es vielleicht etwas voll am Controller. (DMA?)
Ich könnte mir vorstellen, dass man das Videosignal abtastet und die Daten über die Dauer von mehreren Bildern hereinholt.
Hat man erst mal ein Sampling Interface, dann kann man mit einer einstallbaren Phasenlage ab Zeilenbeginn und mit einstellbarer Abtastrate die Daten mit beliebig tiefer Rate und auch mit reduzierter Auflösung hereinholen was am Anfang ja auch schon mal ganz gut wäre.
Die Abtastung eines 2,5MHz Signals (bzw entsprechnd tiefer) geht mit relativ einfachen Mitteln wie Analogschaltern MC4016.
Nur erst mal als Richtung zum Nachdenken.
Manfred
Ja Manfred, das sind die Fragen, die sich bei mir auch aufwerfen, die aber mein Können weit übersteigen. Ich kann nur mutmaßen. Vielleicht klinkt sich ja noch jemand ein.Zitat von Manf
DMA kenne ich als Begriff aus der PC-Technik. Wie das aber ein Microcontroller nutzen soll... Dann muß man externes RAM einsetzen, das sowohl von der DMA-Logik als auch vom Controller angesprochen werden kann, oder?
Vielleicht geht es doch mit einem flotten Controller. Ich wäre auch durchaus damit zufrieden, mit Undersampling aus den horizontal 352 Pixeln nur ca. 100 zu machen. Bei einem analogen S/W-Signal geht das glaube ich, oder? Der Controller müßte nur die 8bit des Wandlers, die dieser hoffentlich parallel anbietet, von einem Port in den Speicher ablegen.
Lieber wäre mir, ganz schnell ein komplettes Bild zu grabben (oder ein Dunkelbild und eins mit Laser) und sich danach Zeit mit der Verarbeitung zu lassen. Ich denke, ein Entfernungsprofil alle 250ms würde schon ausreichen.
Gerade habe ich auf m.Artmanns Seite die CMU-Cam 2 in Aktion gesehen. Die folgt ja wirklich sehr schnell und sicher einem roten Ball. Leider ist in der Firmware, soweit ich gesehen habe, keine Auswertefunktion enthalten, die mir hilft. Könnte man die nicht umprogrammieren?
Mit der CMU2Cam kannst Du es nur so machen wie Du es oben schon geschildert hast.
Laser ausgeschaltet, Bild aufnehmen, Laser einschalten und wieder ein Bild aufnehmen.
Die CMU2Cam gibt Dir dann die Koordinaten der Differenz der beiden Bilder,
also wo der Laserstrahl ist.
Das Funktioniert aber nur wenn der Roboter dabei steht.
Rückt er zwischen den beiden Bildern auch nur einige cm von der Position ab,
dann sind es zuviele Unterschiede in den Bildern.
Gruß
m.artmann
Hallo,
freut mich, das euch meine Seite gefallen hat.
Die Geschwindigkeit dabei ist Echtzeit, d.h. 50/25 mal abtasten pro Sekunde.
Der Ansatz mit der CMU Cam klingt auch ganz gut, sollte klappen könnnen. Welche Ortsauflösung dabei erreicht werden kann würde mich jedoch interessieren. Ich vermute, man kommt etwas schlechter weg.
Allerdings: Wenn es für die Anwendung reicht, dann ist es ja gut.
Bernhard
Wenn du mit Peak den Laserpunkt meinst, dann funktioniert es nicht. Es ist eine S/W Kamera. Und wenn du eine farbige benutzt, und es kommt Rauschen dazu, dann hast du ganz viele lustige rote Punkte. Kann auch sein, dass ich zu doof bin...Über die Sicherheit bei wechselndem Umgebungslicht bin ich mir nicht ganz im klaren. Lieber wäre mir schon eine Bildverarbeitung. Vielleicht nur zeilenweise, über einen Mustervergleich den einige Pixel breiten roten Peak suchen.
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat!
http://de.youtube.com/watch?v=qV1cZ6jUeGE
Lesezeichen