-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: 3D-Scanner / Hinderniserkennung mit Laser

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101

    3D-Scanner / Hinderniserkennung mit Laser

    Anzeige

    Hallo Leute

    Um die Hindernisserkennung meines Roboters zu verbessern möchte ich mir einen 3D-Scanner bauen. Ich dachte daran das ich ich einen Laserstrahl unter einem definierten Winkel aussende und die Reflektion mit einer Kamera erfasse. Aus dem Kamerabild müsste ich dann nur noch die Position des Laserpunktes bestimmen.
    Die Entfernung zum angepeilten Punkt lässt sich dann über Trigonometrische Funktionen berechnen.


    Das Ablenken des Laser funktiniert schon ganz gut. Problematisch ist nur die Erkennung des Laserpunktes auf der Reflektionsebene. Ich habe eine Analoge Farbkamera an einer TV-Karte mit der ich zur Zeit versuche die Bilder auszulesen. Leider erziele ich da nur mäßige Fortschritte. Außerdem ist diese Methode auch recht langsam und daher eher ungeeignet für mobile Roboter.

    Würde der Kauf einer CmuCam lohnen? Mit der Color Tracking funktion müsste ich den Laserpunkt doch lokalisieren können oder? In Verbindung mit einem µC könnte die dann auch die gesamte Berechnung übernehmen und ich brauch keinen extrnen Computer mehr.
    Hat vielleicht schon jemand Erfahrung damit?


    Für konstrukitve Kritik bin ich immer offen. Vielleicht gibt es ja noch Verbesserungsvorschläge.

    mfg Omnikron
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken laser_dot.jpg   3d_laser_scanner.jpg  

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2005
    Beiträge
    219
    Hm, für kurze Entfernungen könntest du auch einen SHARP-Sensor nehmen,

    für weite Entfernungen brauchst du recht hochaufgelöste Bilder um da noch was über die Entfernung aussagen zu können.

    Das kannst du natürlich mit "Zoom-Objektiven" verbessern - aber den Zoom zu verändern kostet doch viel Zeit.

    Wie genau willst du denn messen? Rechne das ganze mal ein bisschen durch

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    der kauf der cmucam2 lohnt sich immer. der punkt wird ausgewertet. du musst aber vorher die rgbmin und rgbmax ermitteln.
    kannst mit dem beiliegenden java-programm machen.
    mfg pebisoft

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    Hi

    Bevor ich den Scanner baute, habe ich die erzielbare Auflösung abgeschätzt. Diese hängt ja maßgeblich von der Auflösung der Kamera ab. Mehr als 2 Meter brauche ich nicht zu überblicken.

    Sharp Sensoren benutze ich bereits, bin damit aber eher unzufrieden. Die Reichweite ist zu gering. Und mit der Entfernung werden die auch recht ungenau.

    Mich interessiert es nun ob ich auch eine Cmu Cam dafür einsetzen kann.

    Ein Zoom Objektiv habe ich leider nciht zu verfügung.

    mfg
    Omnikron

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    rgbmin und rgbmax sind Variablen die den Puntk beschreiben? Das würde bedeuten, dass ich das einmalig bestimme und danach das system selbständig arbeitet.
    Sendet die cmucam2 die xy position über die ´rs232?
    Was meinst du wieviel fps ich damit schaffe.

  6. #6
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.367
    Problematisch ist nur die Erkennung des Laserpunktes auf der Reflektionsebene.
    Falls Du an eine eigene Lösung denkst solltest Du bestimmt den Laser modulieren erlässt sich dann im Differenzbild leichter finden.

    Ein Zoom Objektiv habe ich leider nciht zu verfügung.
    Ich hätte noch ein paar billige Zoomobjektive, aber ich glaube nicht, dass die dafür nötig sind. Du willst doch praktisch nur im Abstand von 1-2m oder mehr messen.
    Manfred

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    23.03.2004
    Ort
    Österreich
    Beiträge
    16
    Ist wahrscheinlich eine unnötige Hilfestellung weil du sicher schon dran gedacht hast aber ich sags mal vielleicht bringts doch was.

    Setz vor deine Kamera eine Blende um den Punkt leichter zu finden!
    Ich mein ne RGB Blende mit der du einfach die Umgebungsfarben ausblendest und dich auf die Wellenlänge des Lasers konzentrierst.

    Und spiel dich mal mit ein paar Tools im Netz um zumbeispiel eine leichtere auswertung zu erhalten kannst du ja ein negativ des Bildes machen.

    Du kannst auch sogenannte Patterns machen--> Falls nicht bekannt erklär ichs kurz: Mach von dem Punkt mehrere Aufnehmen speichere sie in ner Datei ab und such dir ne Software die das so entstandene Pattern im Gesamtbild findet! Das Prinzip ist dass die Software einen Punkt findet und nicht unabsichtlich ein rotes Hemd Soweit mir bekannt ist brauchst du dazu Vektor grafiken also in nem jpeg abspeichern.

    Ich hoffe das war enigermassen verständlich und hilft!

    gerrylix \/

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    @gerrylix

    Wollte zuerst eine SW kamera benuzen. Dazu hätte ich den Filter auf jeden fal gebraucht. Hab mal im Netz gesicht und bei nem Optiker welche gefunden. Die sind aber sehr teuer. Daher dachte ich mir das ich mir den Filter spare und einfach eine Farbkamera benutze.

    Wie funktioniert das mit den Pattern wenn der Punkt keiner mehr ist sondern eine Ellipse oder so.? Wenn der Laserstrahl eine schiefe ebene streft dann ist der "Kreis" ja deformiert.

    @manf

    Das ist eine gute Idee mit dem Modulieren des Strahls. Habe ich hier in einem andern thread auch schon gelesen. Dachte das ich ein bild mit und eins ohne laser mache und in die Subtraktion dann zu analyse benutze.


    Ich bastele gerade an einem VB Projekt bei dem ich ein Bild einlesen kann und darin den Punkt suche. Selbst mit der langsamen Point methode will es nicht so recht funktionieren.

    Wie kann ich denn in VB die Farben eines pixels in RGB speichern?



    Omnikron

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    34
    Beiträge
    1.780
    Bei einer Farbkamera kannst du dir die Modulation evtl. sparen...

    Subtrahiere einfach vom R-Kanal die beiden anderen und du erhälst ein Graustufenbild auf dem alles Rote weiss ist, und der Rest schwarz.
    Auf diesem Bild musst du dann nurnoch kleine weisse Punkte finden,
    wobei es wohl sinnvoll wäre nur in dem Bereich des Bildes zu suchen in dem der Punkt überhaupt liegen kann.
    (diesen Bereich musst du natürlich vorher erstmal grob berechnen)


    Damit sollte das ganze schon sehr gut funktionieren, sofern der Laser keinen roten Gegenstand trifft
    (oder auch direkt neben/in einen Haufen roter Stecknadeln)

    Falls der Abstand zwischen Scanner und Ziel wesentlich größer ist als der zwischen Kamera und Laser (und das nehme ich mal an),
    ist die Form des Punktes auch kein großes Problem (es sei denn man trifft das Objekt in einem sehr flachen Winkel)


    edit:
    bei der Variante gehe ich mal davon aus, daß ausreichend Rechenleistung zur Verfügung steht
    (Laptop oder ein sehr schneller µC der nur für die Bildverarbeitung zuständig ist)
    So viele Treppen und so wenig Zeit!

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.05.2004
    Ort
    Solingen
    Beiträge
    101
    Mit welcher Methode kann ich denn in VB die Farbe eines Pixels in alle 3 Kanäle aufspalten? Dannach kann ich den roten Anteil aus dem Bild extrahieren.
    Leider fehlt mir die benötigte Rechenleistung am Roboter. Deswegen muss ich das Bild über Funk an meinen Desktop Rechner senden und die ausgewerteten Daten wieder zurück schicken.
    Daher die Überlegung die cmucam zun nutzten, vorausgesetzt die ist Schnell genug.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •