Hallo, das Thema Kartierung und Navigation gibt so unendlich viel her, dass ich meinen Arbeitsaufwand für den Unterbau minimieren und das Feld den Maschbauern und Zerspanungsmechanikern überlassen will. Vielleicht ergibt sich im Laufe der Zeit ja, dass ich an ein robusteres Fahrwerk komme.Zitat von daniel.weber
Bild hier
Zum bisherigen Softwarestand:
Kommt alles. Ich brauch jedes mal Ewigkeiten um einen Post zu erstellen, lese mir alles mehrfach durch und versuche Schrift- und Formfehler zu finden.Ich habe derzeit lediglich ein paar kleine Programme zum Umgang mit den Phidgets und Messwerten geschrieben, die bisher Teilbereiche abdecken.
Bild hier
Ein Programm lässt den Bot geradeaus fahren und bei Kollisionsgefahr (durch die 5cm IRs) etwas rotieren, danach seine Fahrt fortsetzen.
Ein Anderes erweitert die Funktion oben um die Verwendung der 80cm IR-Sensoren. Die Sensortürme schwenken dabei gleichmäßig hin und her. Wird im Schwellbereich von 10-20cm ein Hindernis entdeckt, liefern die Scanthreads die Distanz und die ermittelten Winkel des Turms an den Hauptstrang der Anwendung. Diese stoppt die Motoren und macht eine Konsolenausgabe.
Für die Darstellung der Messwerte in der Ebene nutze ich die Standardelemente wie Linien und Ovale von Java Swing, für die dreidimensionale Darstellung der Messwerte verwende ich Java Bindings for OpenGL (JOGL). Beide Vorgehen haben sich bewährt und sind für OS X, Linux und Windows ohne ausschweifende Frickelei nutzbar.
Zur Visualisierung habe ich verschiedene Bereiche begonnen.
Angefangen habe ich, den Umgang mit den IR-Sensoren zu testen. Ich wusste anfangs nicht, dass in den Sharp Sensoren ein PSD verbaut ist und dass sich damit sogar verhältnismäßig präzise ein dreidimensionaler Raum erfassen lässt. <BittenichtZUernstNehmen> Verhältnis im Bezug der Anschaffungskosten und Größe eines Sharp IR-Sensors und eines SICK Laserscanners. Ok, der Vergleich ist schon flexibel hergeholt aber ich war erstaunt, was mit den IR-Sensoren machbar ist. </BittenichtZUernstNehmen>
Bild hier Bild hier
Die Messwerterfassung per Infrarot und Ultraschall in der Ebene hatte ich mit der 2D-Darstellung ausprobiert. Da wird sich noch zeigen, welche Winkel, Oberflächenbeschaffenheit usw. die Messwerte wie Beeinflussen. Eine Erkenntnis der ersten Tage war z.B., dass die Horizontale/Vertikale Montage des Sharp große Auswirkungen auf die Erfassung von Ecken und Kanten hat. - Wusste ich bis dato nicht. Dahinter steckt wohl das Triangulationsprinzip des Sensors. (In der Herstellerdoku stand auch etwas zur Montage)
Ich habe die Sensortürme zeilenweise scannen lassen und dazu die 3D-Visualisierung geschrieben. Für Entscheidungsfindung des Bots ist das sicher uninteressant, für mich ist es aber immer wieder ein Aha-Erlebnis. Bilder von Ergebnissen hänge ich an. Ich rechne hierbei, wie auch in 2D, die ermittelten Polarkoordinaten in das kartesische Koordinatensystem um und stelle die Punkte im Raum durch verschieden große Klötze um. Die Größe eines "glutSolidCube" ist abhängig von Entfernung und Winkelschrittweite. Die Farbe zeigt den Abstand zum Sensor und dabei auch dessen Messbereich an. Infrarot: Grünfärbung bei 80cm Entfernung, Rotfärbung bei 10cm, alles außerhalb des Bereichs gilt als Messfehler. Bei Ultraschall setze ich z.B. eine Entfernung von 6,5m als grün.
Die Visualisierung kann dann (hoffentlich) später neben den Werten der IR und US-Sensoren auch die, durch den Laser und Webcam erfassen Punktwolken darstellen.
Meine Erfassungsunternehmungen beziehen sich aktuell immer auf den Stillstand des Bots. Bewegung UND Kartierung zur gleichen Zeit gibt es derzeit nicht.
Ich hoffe, dass es erst mal aufgekommene Neugier stillt. Ich muss was tun, sonst komme ich heute zu nix mehr.![]()
Lesezeichen