Erklärung
Hiermit erkläre ich, daß ich diese Diplomarbeit selbständig verfaßt habe, sie noch nicht
anderweitig für Prüfzwecke vorlegte und keine anderen als die angegebenen Quellen
oder Hilfsmittel gebrauchte.
Biebergemünd, den 3. November 1999
Holger Ohmacht, der Verfasser. eMail: Holger.Ohmacht@gmx.net
Vorwort
An dieser Stelle möchte ich mich bei jenen Personen bedanken, die dazu beitrugen, daß ich die vorliegende Diplomarbeit am Institut für Robotik und Systemdynamik des Deutschen Zentrums für Luft- und Raumfahrt in Oberpfaffenhofen bei München schreiben durfte, allen voran dem Leiter des Institutes, Herrn Prof. Dr. Hirzinger.
Desweiteren möchte ich einen Dank an meinen Betreuer, Dipl.-Ing. Gernot Koegel, aussprechen, der die Idee für dieses Thema hatte und mir stets mit fachlichen Rat zur Seite stand. Auch danke ich meinen Referenten an der Fachhochschule Frankfurt/Main, Herrn Prof. Dr. Güsmann und Herrn Prof. Dr. Wolf, die sich dazu bereit erklärten, dieses Thema trotz der Komplexität anzunehmen.
Selbstverständlich dürfen hier nicht Herr Dr. Klaus Arbter und Herr Dipl.-Ing. Jan Grewe vergessen werden, die mir für manch vertracktes Problem den entscheidenden Tip gaben.
Oberpfaffenhofen, im Oktober 1999
4
Inhaltsverzeichnis
1. EINLEITUNG 6
1.1. Der Entwicklungsstand der heutigen Robotik und deren Stellenwert im Leben des modernen
Menschen 6
1.2. Die Bedeutung der Bildverarbeitung 7
1.3. Die Ausgangssituation dieser Diplomarbeit 7
1.3.1. Das Aufgabenorientierte Programmieren. 7
1.3.2. Die Arbeitszelle. 9
1.3.3. Die dreidimensionale Modellwelt 12
1.4. Die Aufgabenstellung 14
2. DER UHB-POSITIONSERMITTLER 17
2.1. Die Merkmalsauswahl 17
2.1.1. Kanten als Merkmale 18
2.1.1.1. Schwellwert für die Länge der sichtbaren Teilstücke. 19
2.1.2. Die „Regions-of-Interest“ 19
2.1.2.1. Die Modellkanten der UHB als ROIs. 20
2.1.2.2. Maßnahmen bei einem Mißerfolg 21
2.2. Die Bildvorverarbeitung 21
2.2.1. Die Weitwinkelkameras als Sensoren 21
2.2.1.1. Das interne Modell 22
2.2.1.2. Das externe Modell 23
2.2.2. Die Verwendung von Kantenfiltern 23
2.2.2.1. Definition einer Kante im Bild 23
2.2.2.2. Kurze Einführung in die Thematik der Ortsbereichsfilter 25
2.2.2.3. Farbskalierung. 26
2.2.2.4. Mögliche Operatoren. 26
2.2.2.4.1. Die einfache Ableitung bzw. der Gradient. 26
2.2.2.4.2. Der Sobel-Filter 27
2.2.2.4.3. Der Laplace-Filter. 28
2.2.2.4.4. Auswahl des zu verwendenden Operators 28
2.3. Merkmalsisolierung. 29
2.3.1. Die Hough-Transformation. 29
2.3.2. Die modifizierte Hough-Transformation. 33
2.3.2.1. Die Verwendung des Gradientenwinkels 34
2.3.2.2. Einschränkung des Winkelbereiches. 34
2.3.3. Das Auswerten des Hough-Akkumulators 34
2.3.3.1. Bestimmung des Suchbereichs 35
2.3.3.1.1. Ursprung gleich dem Bildkoordinatenursprung. 35
2.3.3.1.2. Ursprung im Zentrum der Region-of-Interest 37
2.3.3.1.3. Auswahl des Suchbereichsermittlungsverfahrens. 38
2.3.3.2. Suche nach dem Maximum 39
2.3.3.2.1. Die Sonderbehandlung paralleler Bildlinien. 41
2.4. Der Lageschätzer 43
2.4.1. Optimierung des Lageschätzers 49
5
2.5. Realisation. 50
2.5.1. Kurze Umschreibung der Funktionsweise 50
2.6. Experimente und Beurteilung 52
2.6.1. Vereinbarungen. 52
2.6.2. Tests. 53
3. DAS SCHUBLADEN-DETEKTIONSPROGRAMM 63
3.1. Die Verwendung des Laserscanner als räumliche Informationsquelle. 63
3.1.1. Das Laser-Triangulationsverfahren. 63
3.1.2. Der rotierende Laserscanner 64
3.2. Die Detektion der Schubladen 66
3.2.1. Vergleich möglicher Meßverfahren 66
3.2.2. Detektionsvorgang 66
3.2.2.1. Positionieren des Roboters vor einem Schubfach 67
3.2.2.2. Eigentliche Messung 67
3.2.2.3. Vergleich der realen Meßwerte mit den errechneten. 70
3.3. Die Implementierung als Klasse ScanDrawer. 71
3.4. Versuche und Bewertung. 72
3.4.1. Vereinbarungen. 72
3.4.2. Die Tests 73
4. ZUSAMMENFASSUNG UND AUSBLICK. 77
ANHANG A : KOORDINATENSYSTEME 79
ANHANG B : TRANSFORMATIONSMATRIZEN. 81
ANHANG C : KARDAN-VEKTOREN 84
ANHANG D : DIE KONFIGURATIONSDATEIEN 87
ANHANG E : DIE APPLIKATIONSKLASSEN ALS TESTUMGEBUNG. 89
ANHANG F : TECHNISCHE DATEN DES LASERSCANNERS 91
GLOSSAR 92
QUELLENANGABEN. 97
INDEX 100
6
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 Programmierens“ 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).
8
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 .
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.
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.
10
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.
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.
12
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.
14
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.
2. Die Belegung der UHB-Schubfächer ist festzustellen.
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.
18
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ürgriffals einzige modelliert:
Unterdessen war sicherzustellen, daß sämtliche Kanten nachstehende Eigenschaften aufweisen:
• Sichtbarkeit
• Mindestlänge
• 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:
mit n als Anzahl der sichtbaren Teilstücke und
Endpunkte in Bildkoordinaten eines jeden Teilstücks.
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.
20
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
charakterisiert, so müßten diese mit Hilfe der Kameraklassen (Abschnitt 2.2.1.2) in die Bildebene projiziert werden, d.h. in Pixelkoordinaten umgewandelt werden. Erst dann wären die Koordinaten als ROI zu verwenden:
sowie
Zu beachten ist dabei folgende Bedingung:
≥ ≥ Bild Bild Bild Bild ( ) ( ) und ( ) ( ) p p p p (2-5)
Ende x Anfang x Ende y Anfang y
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.
Arbeit zitieren:
Holger Ohmacht, 1999, Entwicklung und Implementation von Bildverarbeitungsalgorithmen zur Unterstützung beim Hantieren mit Schubladen durch einen Roboter, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Kamerageführte Greifvorgänge am laufenden Transportband, realisiert mi...
Studienarbeit, 74 Seiten
Marktuntersuchung: Bildverarbeitungssysteme
Ingenieurwissenschaften - Wirtschaftsingenieurwesen
Seminararbeit, 19 Seiten
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Holger Ohmacht hat den Text Entwicklung und Implementation von Bildverarbeitungsalgorithmen zur Unterstützung beim Hantieren mit Schubladen durch einen Roboter veröffentlicht
Holger Ohmacht hat einen neuen Text hochgeladen
Implementing Lean Software Development
From Concept to Cash
Mary Poppendieck, Tom Poppendieck
Computer Vision, Virtual Reality and Robotics in Medicine
First International Conference...
Nicholas Ayache
Die Unterstützung ausländischer Schiedsverfahren durch staatliche Geri...
Eine rechtsvergleichende Unter...
Ben Steinbrück
Unterstützung und Mittelbereitstellung durch die Unternehmensleitung
Dia Planung einer Sensibilisie...
European Commission
Wie optische Qualitätskontroll...
Christian Demant, Bernd Streicher-Abel, Axel Springhoff
Ein Einstieg für Ingenieure
Thorsten A. Kern, Marc Matysek, Oliver Meckel, Jacqueline Rausch, Alexander Rettig, Andreas Röse, Stephanie Sindlinger
Nutzergerechte Entwicklung von Mensch-Maschine-Systemen
Useware-Engineering für techni...
Detlef Zühlke
0 Kommentare