-         

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: 3D-sensing für ROS

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

    @Ceos: Da stimme ich dir zu! Erst wenn man es selber wirklich "from the scratch" aufgebaut hat, kann man es wirklich.

    ROS ist ein tolles Tool, wenn man ein komplexes System aufsetzen will, wo viele Komponenten möglichst schnell zusammen funktionieren sollen. Wenn man ein wirklich stabiles, ausgereiftes und qualitätsbewusstes Produkt entwerfen will, würde ich auch zu einer Eigenentwicklung tendieren. Alleine weil man somit viel effizienter Hardwareressourcen nutzen kann, selbst wenn ROS bereits auf lightweight Design ausgelegt ist.

  2. #12
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    60
    Zitat Zitat von Ceos Beitrag anzeigen
    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.
    Das halte ich für ein Problem der Sensoren bzw Umsetzung der Projektion in den 2D-Raum, nicht als Problem einer 2D-Umgebung. Es spricht nichts dagegen den Karton mit seinem kompletten Umfang in die 2D-Ebene einzufügen.

    Zitat Zitat von AstroRobot Beitrag anzeigen
    Wenn man ein wirklich stabiles, ausgereiftes und qualitätsbewusstes Produkt entwerfen will, würde ich auch zu einer Eigenentwicklung tendieren.
    Genau hier möchte ich widersprechen. Gerade ROS ist stabiler und ausgereifter als jede Eigenentwicklung die ich oder sogar ein kleines Team in kurzer Zeit entwickeln könnte, zumindest für Anwendungsfälle die über das Folgen einer Linie hinausgehen.
    Sicherlich lernt man viel, wenn man ein Verfahren wie SLAM selbst implementiert, aber die Alternative ist ROS zu verwenden und die selbe Entwicklerzeit in eigene ROS-Pakete zu stecken oder bestehende zu verbessern, wovon dann andere profitieren könnten.

    Btw ROS ist alles andere als "lightweight", aber auf die Verwendung minimaler Ressourcen ist es nicht ausgelegt. (ROS2 hat hier ein paar Vorteile gegenüber ROS1 durch die Verwendung von DDS).

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.448
    Genau hier möchte ich widersprechen. Gerade ROS ist stabiler und ausgereifter als jede Eigenentwicklung die ich oder sogar ein kleines Team in kurzer Zeit entwickeln könnte, zumindest für Anwendungsfälle die über das Folgen einer Linie hinausgehen.
    das ist gewagt, denn wenn es hart auf hart kommt, ist es besser zu wissen was genau jeder fetzen code macht als darauf zu vertrauen dass die open source quelle fehlerfrei ist (anhand unzähliger beispiele nachgewiesener maßen ist sie es nicht)

    es sei denn man befasst sich mit der verwendeten codequelle udn macht sich begreiflich wie sie arbeitet um sie dann effektiv debuggen zu können. das wiederum setzt grundwissen voraus, das man sich erst durch eine low level implementierung erarbeiten muss oder eben durch intensive code review!

    die aussage einen qualitativen code von hand zu bauen ist nicht falsch aber teuer und langwierig (hohe initialkosten) aber man zehrt ewig von der erfahrung

    außerdem ist es interessensfrage, mein interesse ist, wie es so schön heißt, "zu wissen was die welt im inneren zusammenhält" ... und mein erfolgreichstes lernschema ist "learning by doing"

    leichtgewichtigkeit ist natürlich der hauptvorteil einer manuellen implementierung und im sinne des kunden (stückpreis) nactürlich auch resourcen schonender

    und solange sich die ersparnisse in hardware pro stück in absehbarer zeit über die menge gegen die initialkosten aufrechnen ist es das dann auch wert


    aber wir reden hier über ansichten die einer persönlichen note unterliegen, daher sage ich nciht dass du falsch liegst aber dass man es auch anders betrachten kann und sollte
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #14
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    60
    Natürlich ist nichts in ROS fehlerfrei (Welche SW ist das?) und natürlich gibt es immer noch unzählige Bugs. Es spricht natürlich nichts dagegen alles selbst zu schreiben aber die Aussage, dass selbstentwickelte SW stabiler und qualitativ besser ist als eine, die 10 Jahre von mehreren Menschen entwickelt und noch viel mehr verwendet wurde halte ich für vermessen. Persönlich finde ich es schade, dass der ROS-Community dadurch eine wertvolle Ressource fehlt. Gerade ROS bringt mit Tools wie rviz und Anbindung an z.B. Gazebo auch wertvolle Werkzeuge zum Debuggen mit.

    Es geht auch nicht darum alles selbst zu schreiben oder nur fertige ROS Module zu verwenden. ROS ist in erster Linie eine Middleware zur Kommunikation der einzelnen Module (Nodes) untereinander. So oder so wird man viele Algorithmen selber implementieren, aber gerade hier lässt ROS einem aufgrund der Modularität die Freiheit genau das zu tun. Und als Basis hat man bei ROS Software auf die man sich verlassen kann.

    Zitat Zitat von Ceos Beitrag anzeigen
    außerdem ist es interessensfrage, mein interesse ist, wie es so schön heißt, "zu wissen was die welt im inneren zusammenhält" ... und mein erfolgreichstes lernschema ist "learning by doing"
    Ist natürlich auch wichtig, dass es immer Leute gibt die das durchziehen, nur halt Qualität ist genau der eine Grund den ich nicht gelten lassen möchte. Abgesehen davon kenne ich deinen Anwendungsfall nicht, vielleicht profitiert dieser ja wirklich nicht von der Verwendung ROS. Bin jetzt von "Standard Robotik" ausgegangen.

    Aber lass und mal lieber zum Thema 3D Navigation zurück (Auf ROS oder nicht ROS habe ich nicht wirklich Lust

    Mir ist da grad was im ersten Post aufgefallen, was ich übersehen habe:
    Zitat Zitat von AstroRobot Beitrag anzeigen
    Oftmals nutzen die Pakete lediglich eine einzelne Zeile des Tiefenbilds z.B. zur Navigation, um einen 2D Laserscanner zu imitieren.
    Ich vermute du sprichst da depthimage_to_laserscan an, es gibt da den Parameter "scan_height", der die Anzahl Zeilen konfiguriert. Was leider fehlt ist die Option, z.B. nur die unteren 10 Zeilen zu verwenden. Aber für komplexere Anwendungsfälle gibt es ansonsten pointcloud_to_laserscan.
    Geändert von Defiant (01.02.2018 um 08:59 Uhr)

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.448
    Auf ROS oder nicht ROS habe ich nicht wirklich Lust
    über geschmack lässt sich vorzüglich streiten, aber das wollen wir ja nicht

    ich sehe im momnent ehrlich gesagt hauptsächlich das problem erstmal taugliche und bezahlbare 3D abtastung zu finden oder eine zuverlässige 2D abtastung zu konstruieren

    zu deiner aussage vorher stellt sich mir die frage, wie du den karton denn erfassen möchtest wenn er nicht im scanbereich ist?! (falls es nicht klar rauskam, der offene deckel war zu hoch für den zeilenscanner aber tief genug um den robo zu blockieren und das querliegende rohr des wäscheständer war so niedrig dass er es erst nicht gesehn hat udn dann beim wenden drauf auffuhr und stecken blieb)

    wenn cih nur einen einzeiligen zeilenscanner habe muss ich ihn so positionieren, dass er sowohl bodennahe objekte erfassen kann als auch objekte die sich sehr weit oben befinden, den scanner an der höchsten stelle des robo anzubringen und leicht schräg nach unten sehen zu lassen, erlaubt es dir einen relativ großen beerich abzuscannen, kann dann aber leicht unterlaufen werden, vor allem wenn sich der robo gerade dreht und seitlich ein niedriges hindernis ist oder das hindernis gerade tief genug hängt um nicht im strahl zu sein aber den robo zu behindern, eine volumentrische erfassung macht meiner meinung nach mehr sinn, benötigt aber eben eine bezahlbaren sensor und etwas mehr rechenpower ...


    by the way ich bin bei meinen bisherigen suchen nur auf 3d ToF kameras im miniformat für 150$ aufwärts gestoßen, keine günstigeren technologien soweit leider

    ----------

    also ich habe bisher nur 2 kameras gefunden wobei eine nur zeitweilig für einen ansehnlichen preis von 200€ mit 242x171 pixel zu finden war und eine von Seeed Studios mit 80x60 pixel für 175€, die 150€ lösung hat sich doch nur als überteuerter Rangefinder heausgestellt.

    dann gibt es da noch realsense von microsoft die wesentlich günstiger ist aber mit projezierten mustern arbeitet und einen gewissen mindestabstand fordert
    Geändert von Ceos (01.02.2018 um 12:02 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  6. #16
    Benutzer Stammmitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    60
    Da hab ich mich wohl unklar ausgedrückt. Natürlich muss ein Hindernis durch einen Sensor erfasst werden, damit dem ausgewichen werden kann. Mein Punkt ist aber das ich zum Ausweichen die Wegplanung in 2D machen kann. Ich kann z.B. eine 3D Kamera nehmen und den Raum um mich rum in de 2D-Ebene abbilden. Um beim Karton zu bleiben: Man nimmt seine Umrisse inkl. Deckel und bildet den kompletten Umfang in die Ebene ab.

    Bei dem PR2·sieht man übrigens einen Laserscanner der vertikal geschwenkt wird. Also auch eine Variante die den Deckel eines Karton sehen dürfte.

    P.S.: Kleine Korrektur: Realsense ist von Intel und anscheinend kein normales structured light wie die Primesense Kameras (Kinect v1) sind.

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.448
    Realsense ist von Intel und anscheinend kein normales structured light wie die Primesense Kameras (Kinect v1) sind
    ja das sieht viel mehr nach dem konzept aus dass auch das iphone x verwendet aber das hat wohl definitiv einen zu kleinen mindestabstand

    habe gerade ncoh ein angebot für eine 3te kamera bekommen, die angeblich "VGA" kann also wenn der begriff stimmt 640x480 aber ich tippe mal auf weniger, habe mich jedenfealls für diese entschieden und bestelle sie mir, ist aber auch n ganzen schwung teurer
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  8. #18
    Erfahrener Benutzer Begeisterter Techniker Avatar von Andre_S
    Registriert seit
    26.06.2005
    Beiträge
    319
    Hallo zusammen,

    es ist sehr interessant zu lesen, dass ROS nicht wirklich effektiv einen Sensor wie Kinect unterstützt. Simulation und Visualisierung besitzen in ROS ja einen hohen Anteil, allerdings dass es scheinbar nicht vernünftig möglich ist die Werte des Kinect Sensors für eine 3D Hinderniserkennung einzusetzen lässt mich mein Projekt (Umstellung auf ROS) erneut überdenken.
    Aber dies ist nicht das Thema.
    Die Berechnung passiert ja auf Triangulation, also einfachen Dreiecksberechnungen. Positiv dabei ist das die Entfernung immer die gerade vom Bot zum Objekt darstellt. Um mein damaliges Vorgehen grob darzustellen:
    Ich prüfe kontinuierlich in Bewegungsrichtung das Deph-Image auf gültige Entfernungswerte, die dem Umriss meines Bot entsprechen. Größe des Bot und Position der CAM ist ja bekannt und somit auch die notwendigen Bereiche. Tritt innerhalb des Bot-Bereiches ein gültiger Entfernungswert auf, wird in einem Array genau dieses Element erhöht. Das Array besteht also aus genau der Anzahl maximal möglicher Entfernungswerte. Nach Analyse des Tiefenbildes wird das Array ausgewertet. Der erste Arraywert, welcher eine Mindestanzahl von Punkten beinhaltet, (Mehrere gleiche Entfernungswerte sind notwendig um Fehlmessungen nicht als Hindernis zu interpretieren und auch auf eine Mindestobjektgröße zu prüfen) entspricht der Entfernung zum Hindernis.
    Bei meiner Botgröße und der damaligen Position/Winkel des Kinect Sensors konnte ich aber nur bis auf 5cm Bodenhöhe abtasten um nicht diesen situationsbedingt als Hindernis zu erhalten.
    Dieser Prozess geschieht kontinuierlich und aktualisiert zyklisch den Entfernungswert zu einem Hindernis mit welchem der Bot kollidieren würde.
    Ich hatte dies hier auch mal grafisch im unteren Bild visualisiert, an welchem man erkennt, dass er mit dem Drehstuhl unten und oben in ca. 110cm Entfernung kollidieren würde.
    http://home-robotics.de/Seite22.html


    Gruß André
    http://home-robotics.de
    ____________________________

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    16.12.2005
    Ort
    Oberschwaben
    Beiträge
    83
    Zitat Zitat von Ceos Beitrag anzeigen
    ja das sieht viel mehr nach dem konzept aus dass auch das iphone x verwendet
    Das Iphone X benutzt normales Structured Light, wie auch die Kinect 1 - kein Wunder, sind ja praktisch beide von Primesense.

Seite 2 von 2 ErsteErste 12

Ä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, 14:30
  2. Back-Emf Sensing
    Von demir im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 16.09.2004, 13:56

Stichworte

Berechtigungen

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