-         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: 3D-sensing für ROS

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.01.2018
    Beiträge
    11

    3D-sensing für ROS

    Anzeige

    Hallo RoboterNETZ,

    ich habe mich mal im Internet nach konkreten ROS Paketen zur Anwendung von 3D Sensoren umgeschaut (wie z.B. für MS Kinect, Intel RealSense, …). Diese Sensoren liefern äußerst nützliche Tiefeninformationen, welche u.a. als PointCloud dargestellt werden können. Allerdings ist mir aufgefallen, dass die meisten Anwendungen nur einen Bruchteil der vorhandenen Informationen nutzen. Oftmals nutzen die Pakete lediglich eine einzelne Zeile des Tiefenbilds z.B. zur Navigation, um einen 2D Laserscanner zu imitieren. Das steht meiner Meinung nach aber komplett im Widerspruch zum Sinn eines 3D-Sensors.

    Gibt es eine gute Möglichkeit, die gesamten 3D Daten zum Ausweichen von Hindernissen zu nutzen? Vielleicht nutzt jemand von euch ja bereits ein ROS Package und hat gute Erfahrungen gemacht?

    Viele Grüße,
    Astro

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.598
    die Technologien dafür sind vielseitig und ausgereift, aber kaum jemand der sich damit befasst diese 3D-Punktwolken zu verwerten hat mehr als einen Demonstrator dafür programmiert leider

    ich habe mit ToF Kameras von TI gearbeitet aber wir haben nur damit rumgespielt und die Punktwolken mit den Augen angesehen und die Leistung bewertet

    außerdem habe ich noch einen LeapMotion Sensor der das gleiche kann aber billiger ist, mit dem würde ich gerne reale Objekte als Virtuelle Einblendung in einer VR Umgebung haben, aber das wird mich wohl einige Stunden Arbeit kosten, weil ich dafür zumindest noch keinen Beispielcode gefunden habe nocht nicht mal wie cih an die 3D Punktwolke vom LeapMotion rankomme
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.01.2018
    Beiträge
    11
    Es gab den ROS 3D Contest. In dessen Rahmen sind viele tolle Projekte entstanden. Allerdings reichen die meisten nicht über den Status einer Alpha- oder bestenfalls Betaentwicklung hinaus. Jedoch zeigen die Ergebnisse, dass das Nutzen von 3D Sensoren z.B. in einer PointCloud funktionieren kann.

    Ist es denn sehr aufwendig solch eine Applikation zu entwickeln? Ich habe bislang nicht allzu viel mit PCL und co. gearbeitet. Aber solche Tools sehen sehr mächtig aus und sind sicherlich nützlich.

    Wäre es z.B. möglich mit einem angemessenen Aufwand eine stabile Lösung zur Applikation von Flächen auf die Geometrien der PointCloud Punkte zu applezieren? Beispielsweise stelle ich mir vor, dass ein horizontales Hindernis auf Höhe X meinem Roboter im Weg ist. Darüber und darunter ist der Weg frei. Jetzt erkennt mein System das Hindernis und entscheidet, ob es passierbar ist, oder nicht. Ist solch ein Szenario realistisch umzusetzen? Welche Tools könnte ich hierfür nutzen? Die PCL habe ich mir ja bereits angeschaut.

    Ich denke solch eine Lösung wäre sowohl für viele Hobby-Roboter-Enthusiasten, als auch für Produktentwickler interessant. Irgendwelche Ideen, Konzepte, Anmerkungen, Vorschläge?

    Gruß, Astro

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.598
    Wäre es z.B. möglich mit einem angemessenen Aufwand eine stabile Lösung zur Applikation von Flächen auf die Geometrien der PointCloud Punkte zu applezieren?
    wir haben eine Demo Applikation gehabt, welche normale Geometrische Formen erkannt und berechnet hat, man hat einen Würfel in die Kamera gehalten und die Software hat versucht alle Kantenlängen zu erfassen und das Volumen berechnet, war sehr eindrucksvoll.

    Ich habe schon bei den Machern von LeapMotion angefragt ob die API nebst Bilderdaten auch die Tiefeninformation als eine Art Bitmap anbieten aber noch keine Antwort.
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    67
    Zitat Zitat von AstroRobot Beitrag anzeigen
    Gibt es eine gute Möglichkeit, die gesamten 3D Daten zum Ausweichen von Hindernissen zu nutzen?
    ..was IMHO zumindest für UGVs auch Sinn macht, da diese auch nur in 2D navigieren können. 3D wird in erster Linie (soweit ich gesehen habe) für Arbeiten mit Manipulatoren verwendet, siehe Moveit. Und für die Lokalisierung im Raum kann RTAB-Map helfen.

    Zitat Zitat von AstroRobot Beitrag anzeigen
    Beispielsweise stelle ich mir vor, dass ein horizontales Hindernis auf Höhe X meinem Roboter im Weg ist. Darüber und darunter ist der Weg frei. Jetzt erkennt mein System das Hindernis und entscheidet, ob es passierbar ist, oder nicht.
    Klingt also eher nach UAV. Mein Vorschlag: Existierende Roboter ansehen und gucken was die zur Navigation verwenden

    Update: Hier navigiert jemand mit Moveit: https://www.youtube.com/watch?v=VlBQLbmc03g
    Geändert von Defiant (30.01.2018 um 18:11 Uhr)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.598
    Die Idee eine 3D Abbildung zu verwenden hat multiple Vorteile

    man kann zum Beispiel bewerten ob ein Objekt flach genug ist es zu passieren (Türschwelle) oder zu hoch (Rohr eines Klapp-Wäscheständers, SEHR populäres Beispiel und hab ich auch selber schon live erlebt wie sich der Saugrobo von nem Kumpel mehrmals daran festgefahren hat)

    oder ob ein Hinderniss ausreichend hoch ist um darunter passieren zu können (Der Robo von meinem Kumpel hat tatsächlich einen LIDAR und hat sich auch schonmal unter dem Sofa festgefressen weil er leicht schräg nach Vorne unten guckt und das Sofa quasi nicht sichtbar für ihn war)

    Allerdings brauch man auch den entsprechenden Beef im Prozessor um das auszuwerten

    Leider scheinen meine Bemühungen mit dem LeapMotion wohl nicht von Erfolg gekrönt zu sein, der misst einfach Stereoskopisch und die Bereitgestellten APIs liefern nur die Daten von getrackten Händen aus aber keine Punktwolken -.-

    ich kann mir zwar die Stereobilder holen aber dann müsste ich die Tiefenauswertung komplett selber schreiben und echtes ToF ist das dann leider auch nicht, aber Hände tracken kann das Ding echt klasse!

    PS:
    Ist es denn sehr aufwendig solch eine Applikation zu entwickeln?
    ich habe den Kern deiner Frage garnicht erfasst ... sorry ... die Punktwolke zu erhalten ist die eine Sache und je nach verwendetem Erfassungs-Werkzeug nicht unbedingt schwer oder gar unheimlich simpel! (Es sei denn man muss den Sensor selber ansteuern um die Punktwolke zu realisieren)

    Das andere ist die Auswertung der Punktwolke und ungefähr gleich schwer vorzustellen wie auf einem 2D-Bild eine Objekt mittel Algorithmen zu erkennen.

    Wenn ich die Tiefeninformation im Bild als Grauskala speichere kann man sogar gezielt Bilderkennung verwenden.

    Ich finde das beste daran ist, dass man jedem Pixel einem gedachten Lichtstrahl zuordnen kann und anhand der Ausrichtung des Lichtstrahls und dem gemessenen Abstand vortrefflich die Höhe des im Pixel reflektierten Objektes feststellen kann.

    Ich würde vermutlich so heran gehen, dass ich die Kamera vorne leicht Schräg nach unten sehen lasse und pro Pixelzeile (unter der Annahme dass alle Pixel im Raum parallel zum Boden verlaufen) einen Grenzwert festlege. Überschreitet einer der Pixel (bis zur Zeile die leicht nach oben abstrahlt) diesen Grenzwert ist ein Objekt im Weg, habe ich eine hinreichende Bestätigung bei Annäherung (also einen zusammenhängenden Pixelcluster in der 2D Tabelle/Bitmap) welcher hinreichend groß ist, weiche ich aktiv aus. Für die Erkennung von flachen Hindernissen und flachen passiwerbaren Hindernissen müsste ich mir noch was einfallen lassen, aber das sollte auch mit ein paar geschickten Grwenzwerten (Gutbereich für Bodenschwellen z.B.) zu lösen sein.

    PPS: Wenn jemand ein paar gute ToF Kameras < 150€ kennt, würde ich mich über entsprechende Links freuen Ich will nämlcih noch was gaaanz anderes damit machen
    Geändert von Ceos (31.01.2018 um 06:48 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  7. #7
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    67
    Zitat Zitat von Ceos Beitrag anzeigen
    man kann zum Beispiel bewerten ob ein Objekt flach genug ist es zu passieren (Türschwelle) oder zu hoch (Rohr eines Klapp-Wäscheständers, SEHR populäres Beispiel und hab ich auch selber schon live erlebt wie sich der Saugrobo von nem Kumpel mehrmals daran festgefahren hat)
    Alles eine Frage der Abbildung in den 2D-Raum.

    Objekt zu hoch: In die 2D costmap.
    Objekt niedrig: Nicht in die 2D costmap.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.598
    mit einem LIDAR hat man nur eine einzelne Pixelzeile und die Hinderniserkennung ist nur Zeitlich abhängig realisierbar, bei der 3D lösung kann man das Ojekt sofort udn als ganzes erfassen, denn beim ausweichen/drehen hat man die Randdaten ja nicht mehr und wo man gerade noch an einem Hinderniss vorbeigefahren ist, kann es pasieren dass ich mich jetzt drehe und das neue Hinderniss gerade in der Blinden Zone liegt

    Auch ein live erlebtes Beispiel, fährt an einem Karton vorbei, der offen hängende Deckel des Karton ist gerade hoch genug um vom LIDAR beim vorbeifahren nicht bemerkt zu werden. Der Robo dreht dann als er beim Vorbeifahren ein Tischbein erkennt in Richtung des Karton und rammelt volles Mett gegen den Kartondeckel weil er ihn nicht sehen kann. Mit einer 3D Abtastung hätte er den Deckel als Hinderniss gesehen. Hindernisse die gerade hoch genug sind um sich einzuklemmen kanne r einfach nciht sehen weil der LIDAR eben nciht nach oben sondern schräg nach unten guckt! Und ein querliegendes 1.5cm Rohr kann er auch nur schwer abtasten, eine ToF Kamera jedoch kann recht deutlich und zu jeder Zeit das Rohr erkennen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    08.01.2018
    Beiträge
    11
    Ich sehe, das Schlüsselelement auch hierzu ist die layered Costmap. Jetzt muss ich nur noch die 3D Daten entsprechend verarbeiten und in die Costmap übertragen.

    Wobei Ceos' Idee mit den Grenzwerten für jeden einzelnen Pixel sicherlich auch gut für einen ersten Test ist.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.598
    ich bin eher der bare-metal typ, die ganze ROS sache ist zwar nett udn für größere Projekte gut ich bin aber eher jemand der mehr spaß dran hat funktionsweisen zu verstehen udn nachzubauen oder zu verbessern (treiberebene wäre dann mein favorisierter bereich)

    ich will versuchen die punktwolke in eine VR umgebung zu projezieren, damit ich ein wenig mixed reality machen kann
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Sensorless Sensing: Korrektur von Temperatureffekten bei gedimmten LEDs
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 10.01.2013, 13:30
  2. Back-Emf Sensing
    Von demir im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 16.09.2004, 12:56

Stichworte

Berechtigungen

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