1. Einleitung
1.1. Der Entwicklungsstand der heutigen Robotik und
deren Stellenwert im Leben des modernen Menschen
Je weiter der moderne Mensch an Orte vordringt, an welchen er sich selbst nur mittels eines immens hohen technischen Aufwandes, wie z.B. dem Weltraum, und/oder verbunden mit erheblichen Gefahren, wie der Tiefsee, aufhalten kann, desto mehr stellt er an die Wissenschaft die Forderung, Roboter mit eigener Intelligenz zu entwickeln.
Mit dieser Eigenschaft befähigt, sollen diese - ohne die für einen Menschen geltenden natürlichen Restriktionen, wie z.B. Luftversorgung, Verpflegung, Schlaf, ärztliche Betreuung - an gefährlichen Plätzen dessen Aufgaben übernehmen. Auch aus dem
Grund, daß der Mensch selbst aller Voraussicht nach die größte Fehlerquelle darstellt - vorwiegend dann, wenn er unter extremen Situationen innerhalb besonders knappen Reaktionszeiten handeln muß.
Die bisherige Vorgehensweise in der Weltraumrobotik, die Fernsteuerung „dummer“ Roboter, ist anbetracht der stetig größer werdenden Distanzen, die die Signale zurücklegen müssen (und der damit verbundenen Zeitverzögerungen), kläglich zum Scheitern verurteilt. Bereits bei unserem nächsten planetaren Nachbarn, dem Mars, treten schon Signallaufzeiten auf, die im ungünstigsten Falle mehr als 10 Minuten betragen können.
Nicht immer allein sind es die außergewöhnlichen Aufgaben, die man bewältigen möchte. Meistens sind es klassische, zum Teil monotone Aufgabenbereiche, die trotzdessen ein Höchstmaß an Präzision und Flexibilität bei immer kürzeren Produktionszeiten fordern, schaut man sich in diesem Zusammenhang die heutige Industrierobotik an. Und wer denkt vermutlich nicht auch an das überforderte und
überlastete Krankenhauspersonal, denen eines Tages ein Serviceroboter unter die Arme greifen soll?
Mangelnde Flexibilität ist das größte Handicap heutiger Roboter, da sie durch ihre vorprogrammierten Bewegungsabläufe außerstande sind, auf Veränderungen ihrer Umgebung adäquat reagieren, wie z.B. dem unerwarteten Auftauchen einer Person innerhalb ihres Bewegungsraumes.
Nicht zu vergessen ist das Dilemma mit der Handhabung: Eine Vielzahl von Modellen verschiedener Firmen, jedes einzelne beschränkt auf ein kleines Aufgabengebiet, inkompatibel zueinander und schwierig zu programmieren, ließen - und lassen häufig den Wunsch nach einem universell einsetzbaren Roboter mit einer unkompliziert zu betätigenden Bedieneroberfläche laut werden.
[...]
Inhaltsverzeichnis
1. EINLEITUNG
1.1. Der Entwicklungsstand der heutigen Robotik und deren Stellenwert im Leben des modernen Menschen
1.2. Die Bedeutung der Bildverarbeitung
1.3. Die Ausgangssituation dieser Diplomarbeit
1.3.1. Das Aufgabenorientierte Programmieren
1.3.2. Die Arbeitszelle
1.3.3. Die dreidimensionale Modellwelt
1.4. Die Aufgabenstellung
2. DER UHB-POSITIONSERMITTLER
2.1. Die Merkmalsauswahl
2.1.1. Kanten als Merkmale
2.1.1.1. Schwellwert für die Länge der sichtbaren Teilstücke
2.1.2. Die „Regions-of-Interest“
2.1.2.1. Die Modellkanten der UHB als ROIs
2.1.2.2. Maßnahmen bei einem Mißerfolg
2.2. Die Bildvorverarbeitung
2.2.1. Die Weitwinkelkameras als Sensoren
2.2.1.1. Das interne Modell
2.2.1.2. Das externe Modell
2.2.2. Die Verwendung von Kantenfiltern
2.2.2.1. Definition einer Kante im Bild
2.2.2.2. Kurze Einführung in die Thematik der Ortsbereichsfilter
2.2.2.3. Farbskalierung
2.2.2.4. Mögliche Operatoren
2.2.2.4.1. Die einfache Ableitung bzw. der Gradient
2.2.2.4.2. Der Sobel-Filter
2.2.2.4.3. Der Laplace-Filter
2.2.2.4.4. Auswahl des zu verwendenden Operators
2.3. Merkmalsisolierung
2.3.1. Die Hough-Transformation
2.3.2. Die modifizierte Hough-Transformation
2.3.2.1. Die Verwendung des Gradientenwinkels
2.3.2.2. Einschränkung des Winkelbereiches
2.3.3. Das Auswerten des Hough-Akkumulators
2.3.3.1. Bestimmung des Suchbereichs
2.3.3.1.1. Ursprung gleich dem Bildkoordinatenursprung
2.3.3.1.2. Ursprung im Zentrum der Region-of-Interest
2.3.3.1.3. Auswahl des Suchbereichsermittlungsverfahrens
2.3.3.2. Suche nach dem Maximum
2.3.3.2.1. Die Sonderbehandlung paralleler Bildlinien
2.4. Der Lageschätzer
2.4.1. Optimierung des Lageschätzers
2.5. Realisation
2.5.1. Kurze Umschreibung der Funktionsweise
2.6. Experimente und Beurteilung
2.6.1. Vereinbarungen
2.6.2. Tests
3. DAS SCHUBLADEN-DETEKTIONSPROGRAMM
3.1. Die Verwendung des Laserscanner als räumliche Informationsquelle
3.1.1. Das Laser-Triangulationsverfahren
3.1.2. Der rotierende Laserscanner
3.2. Die Detektion der Schubladen
3.2.1. Vergleich möglicher Meßverfahren
3.2.2. Detektionsvorgang
3.2.2.1. Positionieren des Roboters vor einem Schubfach
3.2.2.2. Eigentliche Messung
3.2.2.3. Vergleich der realen Meßwerte mit den errechneten
3.3. Die Implementierung als Klasse ScanDrawer
3.4. Versuche und Bewertung
3.4.1. Vereinbarungen
3.4.2. Die Tests
4. ZUSAMMENFASSUNG UND AUSBLICK
ANHANG A : KOORDINATENSYSTEME
ANHANG B : TRANSFORMATIONSMATRIZEN
ANHANG C : KARDAN-VEKTOREN
ANHANG D : DIE KONFIGURATIONSDATEIEN
ANHANG E : DIE APPLIKATIONSKLASSEN ALS TESTUMGEBUNG
ANHANG F : TECHNISCHE DATEN DES LASERSCANNERS
GLOSSAR
QUELLENANGABEN
INDEX
1. Einleitung
1.1. Der Entwicklungsstand der heutigen Robotik und deren Stellenwert im Leben des modernen Menschen
Je weiter der moderne Mensch an Orte vordringt, an welchen er sich selbst nur mittels eines immens hohen technischen Aufwandes, wie z.B. dem Weltraum, und/oder verbunden mit erheblichen Gefahren, wie der Tiefsee, aufhalten kann, desto mehr stellt er an die Wissenschaft die Forderung, Roboter mit eigener Intelligenz zu entwickeln.
Mit dieser Eigenschaft befähigt, sollen diese - ohne die für einen Menschen geltenden natürlichen Restriktionen, wie z.B. Luftversorgung, Verpflegung, Schlaf, ärztliche Betreuung - an gefährlichen Plätzen dessen Aufgaben übernehmen. Auch aus dem Grund, daß der Mensch selbst aller Voraussicht nach die größte Fehlerquelle darstellt - vorwiegend dann, wenn er unter extremen Situationen innerhalb besonders knappen Reaktionszeiten handeln muß.
Die bisherige Vorgehensweise in der Weltraumrobotik, die Fernsteuerung „dummer“ Roboter, ist anbetracht der stetig größer werdenden Distanzen, die die Signale zurücklegen müssen (und der damit verbundenen Zeitverzögerungen), kläglich zum Scheitern verurteilt. Bereits bei unserem nächsten planetaren Nachbarn, dem Mars, treten schon Signallaufzeiten auf, die im ungünstigsten Falle mehr als 10 Minuten betragen können.
Nicht immer allein sind es die außergewöhnlichen Aufgaben, die man bewältigen möchte. Meistens sind es klassische, zum Teil monotone Aufgabenbereiche, die trotzdessen ein Höchstmaß an Präzision und Flexibilität bei immer kürzeren Produktionszeiten fordern, schaut man sich in diesem Zusammenhang die heutige Industrierobotik an. Und wer denkt vermutlich nicht auch an das überforderte und überlastete Krankenhauspersonal, denen eines Tages ein Serviceroboter unter die Arme greifen soll?
Mangelnde Flexibilität ist das größte Handicap heutiger Roboter, da sie durch ihre vorprogrammierten Bewegungsabläufe außerstande sind, auf Veränderungen ihrer Umgebung adäquat reagieren, wie z.B. dem unerwarteten Auftauchen einer Person innerhalb ihres Bewegungsraumes.
Nicht zu vergessen ist das Dilemma mit der Handhabung: Eine Vielzahl von Modellen verschiedener Firmen, jedes einzelne beschränkt auf ein kleines Aufgabengebiet, inkompatibel zueinander und schwierig zu programmieren, ließen - und lassen häufig den Wunsch nach einem universell einsetzbaren Roboter mit einer unkompliziert zu betätigenden Bedieneroberfläche laut werden.
1.2. Die Bedeutung der Bildverarbeitung
Nach dem Lesen des vorangegangenen Abschnitts ist es sofort offenkundig, daß Sensoren und deren robuste Auswertung einen enorm hohen Stellenwert bei zukünftigen Robotergenerationen besitzen werden.
Es ist nicht verwunderlich, daß viel Tatkraft in die Entwicklung von Sensoren und die Verarbeitung ihrer Signale gesteckt wird, wobei dies vorwiegend auf die optischen Sensoren zutrifft, die seit jeher das Problemkind der Robotik darstellen.
Optische Sensoren bieten den unumstößlichen Vorteil, daß sie mehr Daten als irgendein anderer von ihrer Umwelt erfassen („ Ein Bild sagt mehr als tausend Worte “), ohne jemals einen direkten Kontakt zu einem Objekt haben zu müssen, wie es ein Kraft-Momenten-Sensor braucht. Demgegenüber steht die Schwierigkeit, die gewünschte Information aus der Masse der Daten herauszufiltern.
1.3. Die Ausgangssituation dieser Diplomarbeit
1.3.1. Das Aufgabenorientierte Programmieren
Um die Entwicklung autonomer Roboter voranzutreiben und womöglich eine Lösung für die in Abschnitt 1.1 geschilderten Probleme anzubieten, führte das Institut für Robotik 1993 im Zuge der D2-Weltraummission das ROTEX-Experiment durch, bei dem erstmalig ein Roboter im Weltraum exemplarische Arbeiten ausübte. Aus den Erkenntnissen, die aus diesem Versuch gewonnen wurden, ging das Konzept des
„ Aufgabenorientierten Programmi erens “ hervor, kurz AOP [Brunner99], [Brunner94].
Der Kern des AOPs sind die Elemental moves, was sich im übertragenen Sinne als elementare Arbeitsschritte übersetzten läßt, und bedeutet, daß komplexe Aufgaben zwar nach wie vor durch einen menschlichen Operator durchgeführt werden, allerdings aufgegliedert in viele kleine Operationen, die der Roboter mit Hilfe einer großen Anzahl von Sensoren ohne die Hilfe eines Menschen durchführen kann (Diese Unterteilung wird auch als Shared autonomy, zu deutsch geteilte Autonomie bezeichnet).
Weiterhin wurde die unmittelbare Umgebung, sofern sie schon bekannt ist, in eine dreidimensionale Modellwelt im Computer nachgebildet, um so dem Roboter und dem Menschen eine grundlegende Orientierungshilfe zu geben (World model, Virtual reality). Im Falle, daß während der Arbeit Gegenstände auftreten, die vorher nicht bekannt waren bzw. nicht vorab modelliert werden konnten, soll diese der Roboter mit dem ihm zur Verfügung stehenden Sensoren analysieren und seine Rückschlüsse daraus ziehen, z.B. eigenständig modellieren (World model update).
Zusätzlich widerfährt dem menschlichen Operator bei seiner Arbeit ein Feedback der Sensoren des Roboters. Beim Greifen eines Gegenstandes z.B., wird dessen Gewicht (oder die Oberflächenstruktur usw.) durch Kraftrückkopplung an den Menschen weitergegeben. Faszinierend ist dabei die Tatsache, das dieses Feedback genauso bei der nachfolgend beschriebenen Voraussimulation geschieht und bedeutet, daß die Eigenschaften eines dem realen Objekt nachgebildeten Modells wirklichkeitsgetreu simuliert werden (Sensorsimulation).
Die entscheidende Überlegenheit ist aber der Predictive graphics approach, d.h. die grafische Voraussimulation aller Arbeitsschritte. Potentielle Fehler, die zu katastrophalen Ergebnissen führen würden (z.B. umgestürzte Container, zerstörte Versuchsmittel) lassen sich dadurch im Vorfeld stark dezimieren. In diesem Zusammenhang ist besonders der Aspekt der besseren Auslastung des Roboters interessant, denn nach der Übermittlung der fehlerfreien Kommandos kann eine zügigere Ausführung stattfinden und es entfallen die sonst nach jedem Arbeitsschritt auftretenden „Rückfragen“ beim Operator.
Für den Gesichtspunkt der Teleoperation [Brunner93], d.h. der Fernsteuerung eines Roboters, ist ein plattformunabhängiges grafisches Interface konzipiert worden (Abbildung 1), daß u.a. auf den Computersprachen C++, JAVA und VRML [Vogel99] basiert. Es gestattet durch die grafische Darstellung der Modellwelt auf einem Bildschirm, daß von einer erdgebundenen Station mittels zweier Betriebsmodi (Einfach und Experte) der Roboter gesteuert und die von ihm gesendeten Sensordaten ausgewertet werden können .
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1: Teleoperationssteuerung; Links die VRML- Oberfläche im Internet, rechts die Expertensteuerung unter UNIX.
1.3.2. Die Arbeitszelle
Für das ROTEX-Experiment installierte man im Labor des Instituts einen Versuchsaufbau, an dem Aufgaben durchgeführt werden sollen, wie sie Roboter bei künftigen Weltraummissionen erwarten. Zentrales Kernstück ist hierbei die ROTEX-Arbeitszelle, bestehend u.a. aus der Universal Handling Box (kurz UHB) und einem Manutec R2 -Roboter.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2: Die ROTEX-Arbeitszelle
Die Universal Handling Box ist eine Art Behälter, der mit einer Tür und 16 rechteckigen Schubfächern ausgestattet. Außerdem sind an ihr Vorrichtungen für exemplarische Fügevorgänge angebracht. Die Schubfächer, in denen Schubladen mit Versuchsmitteln Unterschlupf finden, besitzen die ungefähren Ausmaße 10cm ´ 5cm
´ 16cm (B´H´T) und sind in vier Reihen mal vier Spalten angeordnet.
Der Manutec R2-Roboter ist ein herkömmlicher Industrieroboter mit sechs Achsen, der starr zwischen den Versuchsmitteln montiert wurde und unter Verwendung eines in der Nähe befindlichen Steuerschrankes gelenkt wird. Überdies ist er mit dem ROTEX-Greifer versehen, in dem neben vier Abstandsmeßgeräten für den Nahbereich auch zwei Kraft-Momenten-Sensoren und zwei druckempfindliche Sensoren (Taktile Arrays) integriert sind.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3: Der ROTEX-Greifer
Am Greifer installierte man zwei miniaturisierte CCD-Kameras, die zusammen ausgewertet ein farbiges Stereobild der PAL-Fernsehnorm liefern. Außerdem ist ein sog. rotierendes Laserentfernungsmeßgerät befestigt, mit dessen Hilfe die Entfernungen zu einem Körper auf einer Abtastebene innerhalb eines Bereiches von ca. 5 bis 40 cm verhältnismäßig exakt festgestellt werden können
Die Verständigung mit den Sensoren als auch dem Roboter ereignet sich über einen eigens dafür vorgesehenen SGI Onyx-Rechner, der zusammen mit weiteren SGI- und SUN -Workstations sowie Windows NT -Rechnern ein heterogenes Netzwerk auf Basis eines Ethernets bildet. Ergänzend dazu ist der Onyx-Rechner durch den VME-Bus (Siehe Abbildung 4) an ein VME-Bus-Rack (eine Art Schnittstellen-Schrank) gekoppelt, in dem mehrere VX-Works - Echtzeitrechner und einige DATACUBE- Pipeline-Grafikrechner als Steckkarten eingesteckt sind.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 4: Kommunikation der Komponenten
Alle Komponenten greifen auf ein Shared Memory zu, ein im VME-BUS-Rack integrierten Speicher, über den die Kommunikation aller Komponenten verläuft. Auch die der Onyx-Rechner mit den Sensoren bzw. dem Steuerschrank des Roboters. Die Kameras sind hingegen mit einen DATACUBE-Rechner verbunden.
Das Lasersentfernungsmeßgerät ist indessen an der seriellen Schnittstelle des Onyx- Rechners angeschlossen und folglich ohne Umweg ansprechbar. Um diese diffizile Situation zu veranschaulichen, siehe dazu Abbildung 5.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 5: Schematische Darstellung der Arbeitsumgebung
1.3.3. Die dreidimensionale Modellwelt
Weiterer Ausgangspunkt ist das schon im Abschnitt 1.3.1 erwähnte Weltmodell (oder auch virtuelle Welt genannt), das im Computer abgelegt ist und dessen wichtigster Zweck es ist, sowohl dem Roboter als auch dem Menschen eine existentielle Orientierungsgrundlage für das Arbeiten mit dem AOP zu geben.
Ein weiterer Verwendungszweck eines solchen Modells tat sich im Rahmen dieser Diplomarbeit auf, indem es zusätzlich als Basis für das Regions-of-Interest-Verfahren diente, auf das in Abschnitt 2.2.2 noch näher eingegangen wird.
Das derzeit am Institut als Weltmodell verwendete System, wurde 1994 von Thomas Peter, einem Studenten der Fachhochschule Augsburg im Rahmen seiner Diplomarbeit [Peter94] zur Problematik der verdeckten Kanten (engl. Hidden line) entwickelt. Es bildet die uns in der Arbeitszelle bekannten Objekte, wie UHB, Versuchsmittel und Schubladen als Polyeder nach.
Mit anderen Worten: Jeder reale Körper im Weltmodell setzt sich aus einer Menge von Primitiven, d.h. aus Punkten, Kanten und Flächen zu einem Vieleck zusammen. Sowohl Polyeder als auch die anderen Primitive sind als eigene C++- Objektstrukturen in den Hidden-Line-Bibliotheken definiert (auch als Hidden-Line- Klassen bezeichnet) und erlauben es, das Informationen über Aufbau, Position usw. von weitergehenden Bildverarbeitungsalgorithmen verwendet werden können.
Von größerer Bedeutung ist der Versuch, das extrem diffizile Problem der verdeckten Primitiven bei dieser Version so gut wie nur möglich in Griff zu bekommen. So versuchte man, die Vorteile aus der Vielzahl aus bekannten Lösungsverfahren, wie Z-Buffer usw., zu kombinieren und nahm dabei das Manko bestimmter Verfahren, wie z.B. ein großer Speicherplatzverbrauch, immer dann in Kauf, sofern daraus nur ein geringer Geschwindigkeitsvorteil gewonnen werden konnte.
Unter anderem drückt dies aus, daß das Verfahren hochredundant ist und viele Informationen an verschiedenen Stellen bzw. in verschiedenen Objekten mehrmals auftauchen. Damit wurde versucht, die sehr zeitraubende Pointer-Arithmetik, u.a. das „Hangeln von Objektstruktur zu Objektstruktur“, weitgehend zu verringern. Weiterhin konnte durch Ausschluß unnötiger Berechnung mittels einem pyramidenförmigen Sichtfeld, einer objektumschließenden Sichtbarkeitssphäre, der Vergabe von Flächenprioritäten usw., die Geschwindigkeit des Verfahrens entscheidend gesteigert werden.
Ergebnis ist ein Simulations-Kamera-Objekt, das die Umsetzung des dreidimensionalen Szenarios in den zweidimensionalen Bildraum dadurch bewerkstelligt, indem es die Kameraklassen (Siehe „ Die Weitwinkelkameras als Sensoren “, Abschnitt 2.2.1) und sämtliche wahrnehmbaren dreidimensionalen Objekte verwaltet, und die sichtbaren Kanten in Abhängigkeit von der Komplexität des Szenarios in annähernd Echtzeit berechnet.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 6: Beispiel für ein dreidimensionales Modell mit und ohne verdeckten Kanten
Für die Speicherung und Definition der Objekte entschied man sich bei dem Dateiformat für eine simple Textdatei, in der - mit einem Texteditor leicht modifizierbar - alle Kanten, Punkte, Flächen, sowie deren Farbe usw. vermerkt sind. Weitaus wichtiger ist indes die Tatsache, daß in dieser Datei auch die Position des Objekts im Weltkoordinatensystem beschrieben steht.
1.4. Die Aufgabenstellung
Der Gegenstand dieser Diplomarbeit sind zwei Problemstellungen:
1. Es ist zu ermitteln, wie die reale UHB im Raum orientiert ist. Diesbezüglich wird der Problemstellung vorausgesetzt, daß einerseits die Tür der UHB geschlossen ist, andererseits sei der Greifer des Roboters infolge des verwendeten dreidimensionalen Modells bereits grob vor der UHB positioniert. Folglich dürfte sich die Abweichung sowohl des Drehwinkels als auch der Verschiebung nur in Toleranzen von ±5° Verdrehung bzw. ±2 cm Verschiebung bewegen.
Ist die Lageschätzung mit Erfolg geschehen, soll das dreidimensionale UHB-Modell anhand dieser neuen Lage mit dem Bild zur Deckung gebracht werden. Jetzt wäre der Roboter imstande, ohne weitere menschliche Hilfe an die Tür der UHB zu fahren und diese auch zu öffnen. Letztgenannte Handlung gehört allerdings nicht zu der Aufgabenstellung dieser Diplomarbeit, da sie durch die übergeordneten AOP Funktionen erledigt wird.
2. Die Belegung der UHB-Schubfächer ist festzustellen.
Sofern das Öffnen der Tür ohne Komplikationen ablief, muß jetzt festgestellt werden, ob ein vom Operateur ausgewähltes Schubfach belegt ist oder nicht.
Damit Änderungen, wie z.B. an Toleranzen, im Verlauf späterer Tests schnell und einfach vollzogen werden können, sollen alle erforderlichen Parameter der beiden Aufgabenstellungen in Konfigurationsdateien gespeichert werden.
2. Der UHB-Positionsermittler
Die Aufgabe des UHB-Positionsermittler-Moduls ist, wie der Name bereits aussagt, die Positionsermittlung der realen UHB bezogen auf ein Weltkoordinatensystem. Der Vorgang läßt sich dabei in vier elementare Schritte unterteilen:
- Merkmalsauswahl (Abschnitt 2.1).
Weiteren Schritten vorausgehend ist eine Auswahl qualifizierter Merkmale des Objekts (hier die UHB) zu treffen, die eine robuste Lagebestimmung erlauben.
- Bildvorverarbeitung (Abschnitt 2.2).
Mit dem Wissen aus der Merkmalsauswahl präpariert man jetzt das Bildmaterial für die anstehende Merkmalsisolierung.
- Merkmalsisolierung (Abschnitt 2.3).
Auf das behandelte Bildmaterial setzt man jetzt Methoden an, welche die gewählten Merkmale im Bild lokalisieren und sie für eine darauffolgende Lageschätzung extrahieren.
- Lageschätzung (Abschnitt 2.4).
Mit den Ergebnissen des vorausgegangenen Schritts versucht nun ein Modul, den Ort der UHB zu schätzen und diese als Ergebnis an das AOP zurückzugeben.
2.1. Die Merkmalsauswahl
Um überhaupt eine Positionsermittlung zu vollziehen, ist eine Auswahl geeigneter Objektmerkmale zusammenzustellen, an denen wir die UHB im Bild unmißverständlich erkennen und genauso deren Lage ermitteln können. Das können
z.B. Farbe, Muster, Umriß bzw. Kanten, aber genauso zuvor angebrachte Markierungen als eindeutige Objektmerkmale sein.
Außerdem sollten mit Hinblick auf die Positionsbestimmung nur solche Merkmale selektiert werden, mit denen man auch die direkte räumliche Tiefeninformation ermitteln kann.
Sie geht durch das zweidimensionale Bildmaterial der Kameras verloren und ist nur noch unter Verwendung der Merkmale in Verbindung mit den Differenzen aus verschiedenen Sichtperspektiven (Stereobilder) oder mit den Wissen aus dem dreidimensionalen Modell wiederzugewinnen.
2.1.1. Kanten als Merkmale
Neben künstlich angebrachten Markierungen haben sich insbesondere Kanten vielfach für eine Positionsbestimmung bewährt. Sie bieten sich als natürliche Eigenschaft eines Körpers immer dann an, wenn das zu suchende, reale Objekt einerseits als Modell durch Polyeder hinreichend gut zu umschreiben ist und andererseits mindestens vier Kanten besitzt [Pfreundner96]. Insofern schließt dies kreisförmige bzw. ellipsenförmige Objekte gewissermaßen aus, da sie nur sehr schwer durch Kanten exakt nachzubilden sind. Eine Suche nach einem „Kreis“ mit zehn Kanten würde daher wohl kaum ein sinnvolles Resultat bringen.
Zurückkommend auf diese Diplomarbeit zog man die fünf Außenkanten der UHB als qualifizierte Kandidaten für die Positionsermittlung heran. Einerseits sind sie ein eindeutiges Kennzeichen der UHB, andererseits waren sie - abgesehen vom Türgriff - als einzige modelliert:
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 7: Skizze der UHB-Tür mit Kantennummern
Unterdessen war sicherzustellen, daß sämtliche Kanten nachstehende Eigenschaften aufweisen:
- Sichtbarkeit
Es erklärt sich von selbst, daß eine Kante, die sich im Innern des Körpers befindet oder zur Rückseite gerichtet ist, wohl kaum eine große Hilfe sein wird.
- Mindestlänge
Das eine lange Kante eher im Bild zu finden ist, als eine kurze, ist plausibel. Außerdem wäre sie bei einer teilweisen Verdeckung wahrscheinlich noch zu erkennen.
- Kontrast
Ein starker Helligkeitsunterschied zwischen einer Objektkante und dem Hintergrund gewährt eine bessere Hervorhebung der Kanten bei Einsatz der in Abschnitt 2.2.2 beschriebenen Kantenfiltern.
- Lage
Die Lage der Kanten sollte so zueinander sein, daß sich mit ihr die Position und Orientierung (Drehung) eindeutig ermitteln läßt. Geeignet sind dafür alle Anordnungen, sofern eine Seite des Objekt mit einer Markierung, wie
z.B. einer Einbuchtung (Siehe Kante Nr. 12 bei Abbildung 7) versehen ist. Vorzugsweise sind jene Kantenpaare zu nehmen, die gemeinsam eine große Winkeldifferenz bilden (ideal sind 90°).
Die Nummern der Kanten, die als geeignet befunden werden, halten wir typisch in einer Konfigurationsdatei fest, damit sich spätere Änderungen bequemer gestalten.
2.1.1.1. Schwellwert für die Länge der sichtbaren Teilstücke
Um die beiden Eigenschaften Mindestlänge und Sichtbarkeit abzudecken, entschied man sich in dieser Diplomarbeit für einen Schwellwert der sichtbaren Länge. Dieser muß von der Summe der Längen aller sichtbaren Teilstücke einer Modellkante überschritten werden, bevor sie für eine Detektion in Frage kommt.
Die sichtbaren Teilstücke, deren Koordinaten in die Bildebene projiziert werden müssen (Abschnitt 2.2.1.2), erhalten wir dabei durch die Hidden-Line-Klassen (Abschnitt 1.3.3). Die Summe errechnen wir mit nachstehender Formel:
Abbildung in dieser Leseprobe nicht enthalten
2.1.2. Die „Regions-of-Interest“
Es wäre nun ziemlich zeitaufwendig, das komplette Bild nach den gesuchten Merkmalen durchzuforsten, zumal sich damit auch die Wahrscheinlichkeit einer Fehlerkennung beträchtlich steigern würde. Um deshalb eine robustere und schnellere Merkmalsextraktion zu vollziehen, wird der Bildraum in einzelne Bildbereiche diskretisiert, den so bezeichneten Regions-of-Interest (zu deutsch: Regionen der Interesse), in welchen man die gesuchten Merkmale bzw. Informationen vermutet.
2.1.2.1. Die Modellkanten der UHB als ROIs
Da wir vereinbart hatten, daß der Greifer bereits ungefähr vor der UHB-Tür positioniert ist, ehe die Positionsermittlung gestartet wird, bietet es sich automatisch an, die Flächen, die von den Anfangs- und Endpunkten der Modellkanten aufgespannt werden, als ROIs zu nutzen.
Wäre jetzt eine beliebige Modellkante durch die Anfangs- und Endpunkte
Abbildung in dieser Leseprobe nicht enthalten
Hinzu kommt noch eine Toleranz, die um die ROI gelegt wird.
2.1.2.2. Maßnahmen bei einem Mißerfolg
Gezwungenermaßen stellt sich die Frage, was eintritt, wenn die Suche erfolglos blieb. An dieser Stelle bietet es sich an, die unmittelbaren Nachbarregionen zu durchsuchen und iterativ so weiter zu verfahren (das bedeutet, von diesen Nachbarregionen wieder deren Nachbarn, usw.), solange bis das vollständige Bild behandelt wurde. Erledigte Regionen müßten erwartungsgemäß bei derlei Vorgehen auf irgendeiner Weise markiert oder vermerkt werden, um ein wiederholtes Suchen zu verhindern.
Eine weitere Vorgehensweise, die durchaus denkbar wäre, sei die Verwendung derselben ROI, allerdings mit einem anderen Suchalgorithmus. Beide zuvor erwähnten Verfahren kamen dennoch für diese Diplomarbeit nicht in Frage, zumal wir zum einen schon Toleranzen gegeben haben, zum anderen der in Abschnitt 2.4 gezeigte Lageschätzer sehr sensibel auf fehlerhafte Ergebnisse reagiert.
2.2. Die Bildvorverarbeitung
2.2.1. Die Weitwinkelkameras als Sensoren
Wie bereits im Abschnitt 1.3 beschrieben wurde, dienen die Signale zweier am Greifer montierter Minikameras als Material für unsere Bildvorverarbeitung. Bevor allerdings das Bildmaterial ohne Vorbehalte verwendet wird, ist es unumgänglich, zu wissen, wie die Abbildungseigenschaften der Kameras sind bzw. in welcher Weise die aufgenommene Szene durch die Eigenschaften der Kameras manipuliert wurden.
Daher schuf man in der Robotik eine Abstraktion, die die Eigenschaften einer Kamera in zwei Modellen beschreibt:
- Das interne bzw.
- Das externe Kameramodell
Sinngemäß wurden diese Modelle am Institut in den C++-Objektklassen Camera und deren Nachfahren umgesetzt, um dadurch die Informationen für andere Klassen (wie
z.B. das Simulations-Kamera-Modell, Abschnitt 1.3.3) bereitzustellen.
2.2.1.1. Das interne Modell
Im allgemeinen beschreibt dieses Modell die internen Manipulationen wie z.B. Rauschen, Verzerrung, Farbverschiebungen usw., die eine Kamera am Bild durchführt, wobei sich das am Institut konstituierte Modell nur auf die Verzerrungen beschränkt. Das ein solches Modell zwingend ist, wird daran deutlich, daß es derzeit keine Kamera gibt, deren aufgenommenes Bild mit der reellen Szene zu 100% übereinstimmt.
Gleichermaßen ist dies bei den zwei Minikameras der Fall: Als Ausgleich für die sehr geringen Ausmaße und der damit verbundenen, minimalen Eintrittsöffnung für das Licht, besitzen sie sog. Weitwinkelobjektive. Damit wird versucht, in etwa die gleiche räumliche Erfassung zu erzielen, wie es bei Kameras normaler Bauweise der Fall ist.
Unglücklicherweise treten hierdurch unerwünschte physikalische Effekte ein, allen voran ist dies der Fischaugen-Effekt, der eine starke Verzerrung des Bildes hin zu den Rändern bewirkt (auch als starke radialsymmetrische Verzeichnung benannt):
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 8: Verzerrtes und entzerrtes Bild einer Minikamera.
Damit eine darauffolgende Verarbeitung überhaupt erst möglich wird, läuft deshalb ein sog. Warping-Algorithmus auf dem DATACUBE-Grafikrechner. Dieser entzerrt die Bilder zwar in Echtzeit (Abbildung 8), jedoch wird er von einer Einbuße der Bildschärfe begleitet, insbesondere zu den Bildrändern hin. Die für den Algorithmus benötigten Parameter erhält man durch eine Kamerakalibrierung [Koegel98], die vorab durchgeführt wird.
Mangelnde Schärfe ist ein weiteres, großes Problem solcher Minikameras, die genauso den in dieser Diplomarbeit verwendeten Algorithmen zu schaffen machen würden. Es wäre denkbar, hier einen Bildschärfe-Algorithmus vorzuschalten, gleichwohl würde damit auch das Bildrauschen verstärkt.
Komplikationen treten ebenso durch die unzureichende Helligkeitsausbeute sowie durch Farbverschiebungen (prismatische Effekte) auf. Das letztgenannte Problem hielt sich dank der Nichtbeachtung der Farbinformation in gewissen Grenzen (d.h. Verwendung von Graustufenbilder), während wir für das zuerst erwähnte eine Prämisse trafen, die stets eine Mindesthelligkeit des Umgebungslichts garantiert.
2.2.1.2. Das externe Modell
Verglichen mit dem zuvor erörterten Modell typisiert das externe Kameramodell die Lage der Abbildungsebene (d.h. die Position, an der die Kamera ein Bild aufnimmt), bezogen auf ein Basiskoordinatensystem (meistens das Weltsystem oder das Koordinatensystem, dessen Ursprung direkt im Roboter liegt).
Der praktischen Nutzen dieses Modells zeigt sich in Funktionen der am Institut realisierten C++-Objektklasse Camera und deren Nachkommen, die einen Modellpunkt in die Bildebene umrechnen.
[...]
- Quote paper
- Holger Ohmacht (Author), 1999, Entwicklung und Implementation von Bildverarbeitungsalgorithmen zur Unterstützung beim Hantieren mit Schubladen durch einen Roboter, Munich, GRIN Verlag, https://www.grin.com/document/43