So, ja, hallo, guten Abend.
Ich begrüße euch herzlich zur heutigen Vorlesung.
Bevor ich damit anfange, möchte ich euch natürlich ein frohes neues
Jahr wünschen, voller Momente der Freude und voller Erfolgserlebnisse,
sowohl im Studium als auch allgemein im Leben.
Und in dieser Vorlesung möchte ich gerne weitermachen mit dem Kapitel
Greifen, womit wir vor Weihnachten, also 2017, angefangen haben.
Wir haben auch in der Übung uns mit dem Thema Y-Matrix,
beziehungsweise V-Matrix oder Metrik.
Das sind zwei Komponenten, mit denen man die Qualität eines Griffes
bewerten kann und wir können anhand von Kontaktpunkten, wie wir in der
Übung vor Weihnachten gesehen haben, den sogenannten Grass Branch
Space berechnen und diese zwei Metriken auch bestimmen, um, wie
gesagt, die Qualität eines Griffes zu evaluieren.
Bevor ich hier weitermache und ich würde gerne heute einige der
aktuellsten Algorithmen zur Greifplanung in der Robotik mit euch
behandeln, würde ich gerne auf das Problem des Suchraums beim Greifen,
und zwar ganz klar hier auf die sechs Freiheitsgrade der Hand, die
bestimmt werden müssen, wenn man einen Griff berechnet.
Das heißt, wenn ich jetzt hier einen Backing-Greifer, beispielsweise
der nur einen einzigen Motor, das Aufmachen und Zumachen des Greifers
bewirkt oder steuert, dann muss ich zusätzlich natürlich die Position
von diesem Greifer im Euklidischen Raum bestimmen.
Das heißt, allgemein bei einem Griff, wenn ein Griff geplant werden
muss, dann müssen wir auf jeden Fall die Anzahl der
Konfigurationsparameter der Finger der Hand, also alle
Bewegungsfreiheitsgrade der Hand bestimmen, plus sechs Parameter für
die Position und Orientierung der Hand im Raum.
Also bei einem Backing-Greifer mit einem einzigen Motor hat man einen
Raum, einen Suchraum, wo man nach gültigen oder zuverlässigen Griffen
sucht, der Dimension Sieben.
Bei der Arma 3 Hand, die insgesamt acht Aktuatoren hat, wie hier
dargestellt, und zwar unabhängig von der Art der Aktuatoren, ob das
jetzt elektrische Aktuatoren oder pneumatische Aktuatoren wie bei Arma
3.
Wir haben insgesamt acht Bewegungsfreiheitsgrade, das sind die
Freiheitsgrade, die wir ansteuern können.
Dazu kommen natürlich die sechs Parameter für die Position der Hand im
Raum und somit ergibt sich ein Suchraum der Dimension 14.
Wenn es darum geht, Griffe für die menschliche Hand zu bestimmen und
wir gehen von einem Modell der menschlichen Hand mit 21
Bewegungsfreiheitsgrade, also 21 Gelenke, dann müssen wir natürlich
diese sechs Parameter auch dazu addieren und kommen wir somit auf
einen Suchraum der Dimension 27.
Somit will ich diese grundlegenden Sachen abschließen und wie bereits
gesagt zu einigen der bekannten Algorithmen zur Generierung von
Griffen auf Objekte kommen.
Und wenn man sich erinnert an eine der ersten Folien bei diesem
Übersichtspaper zum Thema Griffen, datengetriebenes Greifen, dann
haben wir dort drei unterschiedliche Objektklassen definiert.
Und zwar das Problem ist durchaus unterschiedlich, auch von der
Komplexität oder vom Schwierigkeitsgrad, je nachdem wie viel Wissen
man hat.
Das heißt, wenn wir bekannte Objekte haben, also komplette Geometrie
der Objekte, dann ist das Problem ein Suchproblem, ein
Bewegungsplanungsproblem, was wir mit allen
Bewegungsplanungsalgorithmen, die wir zum Beispiel kennengelernt
haben, auch lösen können.
Zum Beispiel mit RRT.
Also wir suchen zufällig im Raum nach gültigen Griffen, schauen für
jeden Griff, ob der Griff vor dem Closure stabil ist, und dann
sortieren wir die besten Griffe und wählen sie zur Ausführungszeit
aus.
Das heißt, die einfachste Variante, und die ist noch schwierig, und
schwierig aufgrund der Tatsache, dass wir bei artikulierten Händen,
wir reden über Greifplanung für mehr fingerige, mehr gliedrige Hände
und nicht für einen Backengreifer.
Das heißt, wir haben einen großen Suchraum.
Und wenn man aber die Objektgeometrie kennt, das heißt, wenn wir ein
komplettes Objektmodell haben, dann verwenden wir irgendeinen Planer,
einen Greifplaner, wie die, die wir jetzt gleich kennenlernen werden
in dieser Vorlesung, der mit bekannten Objektgeometrien arbeitet.
Und das ist tatsächlich das klassische Domain der Greifplanung.
Das heißt, man sollte auch über Greifplanung nur dann sprechen, wenn
man bekannte Objektgeometrien hat, weil dann kann ich Griffe planen.
Wenn ich unbekannte oder teilweise unbekannte Objektgeometrien habe,
dann ist es meiner Meinung nach schlecht, von Planen zu sprechen,
sondern ich würde lieber von der Generierung von Greifhypothesen
reden.
Das heißt, die zweite Kategorie, wir haben eine bekannte Objektklasse,
zum Beispiel alle zylindrischen Objekten wie Flaschen, alle
boxförmigen Objekten wie Milchbox, Orangenbox, Zwiebackbox und so
weiter und so fort.
Das heißt, für diese quadratisch praktischen oder zylindrischen
Objekten haben wir für diese Geometrie bestimmte Griffe berechnet.
Und die Aufgabe hier ist tatsächlich so eine Art Transfer-Learning zu
machen.
Das heißt, man überträgt dieses Wissen, was man akquiriert hat oder
generiert hat, für eine bekannte Geometrie auf ähnliche Geometrien.
Das ist natürlich ein Gebiet des maschinellen Lernens und da werden
wir in der Vorlesung Robotik 2 hier eine ganze Menge von Methoden
kennenlernen.
Das ist noch ein schwierigeres Problem, weil wir haben kein komplettes
Objektwissen.
Wir haben nur die Information, dass eine gegebene Form in der Szene
ähnlich ist zu einer Form, für die wir Greifhy kennen.
Und wie man dieses Wissen über Greify für eine bekannte Form auf
Greify einer ähnlichen Form überträgt, das ist natürlich ein Thema des
maschinellen Lernens.
Also Überträge Wissen von bekannten Klassenelementen auf das
zugreifende Objekt.
Das Problem ist noch schwieriger, wenn man die gleiche Komplexität der
Hand betrachtet.
Also für die gleiche Hand, dann hat man natürlich noch das Problem,
dass man nicht das komplette Objekt kennt.
Und wahrscheinlich am schwierigsten ist es, wenn wir unbekannte
Objekte haben.
Also es gibt keine unbekannten Objekte für Menschen.
Oder kennt jemand von euch ein unbekanntes Objekt?
Das ist schwierig.
Wir hatten uns tatsächlich in einem europäischen Projekt, in dem GRAS
Projekt von 2008 bis 2012 mit dem Thema des Greifens beschäftigt.
Und ein großes Problem, das wir hatten, war bei der Beantwortung der
Frage, wie man menscheninspirierte Greify generiert.
Das heißt, neuartige Methoden der Greifgenerierung.
Und wir wollten von Menschen lernen und schauen, wie Menschen mit
bekannten Objekten greifen.
Wo gucken Menschen z.B.
auf der Tasse, wenn sie die Tasse greifen wollen?
Und wie sieht die Assoziation zwischen Blickrichtung, also die Punkte
z.B.
auf der Tasse, die man anschaut mit den Augen, und die Punkte, wo man
die Hand tut?
Und das ist natürlich bei bekannten Objekten kann man diese
sogenannten Psychophysical Experiments definieren.
Es sind Leute, die diese Experimente durchführen und dann Modelle über
die Art und Weise, wie Menschen bekannte Objekte greifen.
Ein großes Problem war, wie können wir solche Modelle, also Modelle
über die Art und Weise, wie Menschen Objekte greifen, wie können wir
diese Modelle für unbekannte Objekte erstellen?
Und ein großes Problem war, dass wir keine Objekte haben, die für uns
Menschen unbekannt sind.
Hat jemand von euch eine Idee, wie man mit diesem Problem umgehen
kann?
Also wir wollen jetzt inspiriert von Menschen sehen oder Strategien
erarbeiten, die uns helfen, in der Robotik unbekannte Objekte zu
greifen.
Wie soll ich diese menschlichen Experimente überhaupt definieren?
Also wie soll ich Objekte für einen Menschen unbekannt machen?
Ja, genau.
Also man könnte die Experimente mit Kindern machen, natürlich.
Das ist so die Motivation.
Wir wollen wirklich verstehen, wie Kinder mit all diesen Objekten
umgehen können.
Und zu Beginn sind alle Objekte für Kinder unbekannt.
Aber das ist natürlich schwierig, Kinder zu bekommen und noch diese
Kinder für die Experimente zu bekommen.
Also zu einem ganz frühen Zeitpunkt.
Wir wollen natürlich die Experimente mit Erwachsenen machen.
Hat jemand von euch einen anderen Vorschlag?
Also das ist gültig.
Also wenn du uns so ein Kind zur Verfügung stellst, dann könnten wir
so ein Experiment sogar definieren.
Ja, da gibt es einen anderen Vorschlag.
Mit Blinden.
Also von Geburt her blind, natürlich.
Wir haben aber auch im Laufe der Zeit gewisse Repräsentationen von den
Objekten gelernt.
Also wir wollen die Experimente mit 100% gesunden, erwachsenen
Menschen machen.
Mit euch hier.
Also mit dir.
Ja, genau.
Ganz komische Objekte.
Egal ob computergeneriert oder so.
Also Objekte, die wirklich komisch sind.
Also die für uns, wo man auf den ersten Blick sagt, was ist das?
Oh, was kann ich damit machen?
Und so weiter und so fort.
Das heißt tatsächlich künstliche Objekte, die man noch nie so gesehen
hat.
Zum Beispiel, wir werden heute bei einem der Algorithmen, die wir
kennenlernen werden, sehen, dass wir Symmetrien von Objekten nutzen
können, um effizient Griffe zu generieren.
Und alle Objekte sind symmetrisch.
Also egal, wo ich mal hingucke, welches Objekt, kann ich irgendeine
Symmetrie -Ebene finden für dieses Objekt.
Und wenn man Symmetrien benutzt, wie wir heute sehen werden, dann kann
man sehr effizient Griffe bilden.
Aber interessant wäre zum Beispiel komische Objekte, die entweder
keine oder Symmetrien haben, die schwierig zu identifizieren sind für
den Menschen.
Das ist nicht das Thema.
Also unbekannte Objekte, das ist weder Objektgeometrie noch
Objektklasse sind bekannt.
Natürlich haben wir unvollständige Sensordaten, weil wir müssen ja
irgendwie die Objekte wahrnehmen, zum Beispiel über Bildverarbeitung,
über Laserscanner, aber auch über Haptik.
Wir müssen natürlich die Objekte segmentieren vom Hintergrund.
Wir müssen irgendwie ein Teilmodell von dem vorliegenden Objekt
erstellen.
Und man merkt schon, das Problem ist nicht mal ein Greifproblem.
Das Problem ist ein Bildverarbeitungsproblem zunächst mal.
Das heißt, wir müssen Objekte segmentieren, wir müssen Detaile von
Objekten identifizieren.
Und da gibt es hier viele Ansätze in der Literatur.
Unter anderem, dass man mehrere Modalitäten, sensorische Modalitäten
kombiniert, um zuverlässige Informationen zu generieren, die man dann
wiederum nutzt, um Objektmodelle zu erzeugen oder Modelle von Teilen
von den Objekten zumindest zu erzeugen.
Und andere Methoden, die behelfen sich mit der Vorgehensweise der
aktiven Wahrnehmung, also wo man Objekte z.B.
in der Szene verschiebt, damit man überhaupt sieht, wo sind die
Grenzen eines Objekts, was hängt zusammen gerade z.B.
in einem Haufen von Alltagsobjekten auf dem Tisch, welche Objekte
gehören zusammen und welche Objekte sind unterschiedlich.
Und da werden wir für die Probleme des Greifens bekannter ähnlicher
Objekte, also das sind ähnliche Objekte bzw.
unbekannte Objekte, werden wir in der Robotik 2-Vorlesung hier mehr
darüber lernen.
Das heißt, hier in dieser Vorlesung beschränken wir uns nur auf die RC
-Klasse, also das Greifen von bekannten Objekten, wo die Geometrie von
dem Objekt vorhanden ist.
Also, wenn man sowas machen will, dann hat man zunächst einmal ein
Modell von dem Objekt und zum zweiten braucht man natürlich ein Modell
von der greifenden Hand.
Dann braucht man das, was wir in den letzten Vorlesungen gelernt
haben, die ganzen Kontaktmodelle, mit denen wir evaluieren können, ob
ein Griff, also eine Menge von Kontaktpunkten auf dem Objekt überhaupt
stabil ist oder nicht.
Und wie bereits erwähnt, hier ein Objektmodell.
Und der gibt es hier in der Literatur und das ist so, was ich versuche
in dieser Vorlesung.
Also, man hat bemerkt vielleicht, es gibt kein einziges Buch, was wir
einfach nehmen können und sagen, das ist das Buch zur Robotik 1
-Vorlesung in Carlos Rui.
Das wollen wir auch nicht.
Wir wollen tatsächlich, dass ihr hier die bekanntesten Algorithmen,
die man in der Community publiziert, auf dem Gebiet kennenlernt, aber
vor allem auch unsere eigenen Arbeiten.
Und wir werden hier zwei Beispiele zu eigenen Arbeiten, die wir hier
in dem Kontext durchgeführt haben.
Das habe ich schon mal erwähnt, also dieses Paper von 2014, Data
-Driven Grasp Synthesis.
Das ist ein Überblickspaper, wo wir arbeiten zum Thema Greifen von
2001 bis 2014.
Ein Paper von 1990 bis 2001 von Antonio Bicchi und Kumar deckt also
die Zeit davor.
Dann gibt es sogenannte randomisierte Verfahren.
Also randomisierte Verfahren, das erinnert uns an die Greifplanung,
also an RRT zum Beispiel.
Das sind sogenannte Verfahren, die mit Vorwärtsplanung arbeiten, von
Deinakow beispielsweise, Bernison, aber auch von uns hier, von Nico
Fahrenkamp in meiner Gruppe.
Dann gibt es Methoden zur Greifsynthese auf Objektteilen, also nicht
auf ein Gesamtobjekt, sondern auf einen Teil von dem Objekt.
Wenn ich beispielsweise weiß, wie ich den zylindrischen Teil eines
Objekts greife, dann interessiert mich die restliche Geometrie gar
nicht.
Da werden wir auch hier eine Methode kennenlernen, eine Zusammenarbeit
mit der Gruppe von Danica Gragic von der KTH in Stockholm von 2008.
Und dann werden wir einen Greifplaner von uns kennenlernen, der
tatsächlich die Repräsentation von Objekten oder von Formen mithilfe
der medialen Achse verwendet, um Griffy zu generieren.
Und eine ganze Reihe von weiteren Methoden für die Leute, die
interessiert sind, zum Beispiel Reduktion des Problems mithilfe von
Hauptkomponentenanalysen auf die sogenannten Eigen-Griffy, eine Arbeit
von Antonio Bicchi von 2011, oder die Greifplanung basierend auf
Independent Content Region, das vom DLR in Oberpfaffenhofen von
Massimo Roa.
Aber fangen wir mal an, also Greifsynthese durch Vorwärtsplanung.
Der Ansatz sieht bei all diesen Algorithmen wie folgt aus.
Man plant in Simulation, also man generiert Griffy.
Man hat ja ein Modell von der Hand, man hat ein Modell von dem Objekt.
Man kann ein Simulations-Framework, zum Beispiel Graspit oder Simox,
hier verwenden.
Und dann bestimmt man für einen Griff Anfahrtspunkte an das Objekt und
Anfahrtsrichtungen.
Ja, also wo muss ich an das Objekt ranfahren?
Das sind die Anfahrtspunkte.
Und aus welchen Richtungen?
Das ist, was man eigentlich bestimmen will.
Und dann nähert sich die Hand dem Objekt, bis ein Kontakt detektiert
wird.
Also man nimmt hier natürlich, wenn man das in der Realität machen
würde, also mit einem realen Roboter, dann muss man natürlich eine
haptische Sensorik an den Fingern haben, die diese Kontaktdetektion
machen.
Aber wir machen das in Simulation, wie es hier erwähnt.
Also die ganze Planung erfolgt hier in Simulation.
Und natürlich in Simulation können wir diese Kontakte, die nichts
anderes als Kollisionen zwischen zwei Meshes oder zwei Objekten,
leicht berechnen.
Man schließt die Finger um das Objekt, bis Kontakt hergestellt wird.
Und natürlich evaluiert er die Kontaktpunkte zwischen Hand und Objekt.
Ob zum Beispiel der resultierende Griff kraftgeschlossen stabil ist.
Mithilfe von diesen Y-Metriken oder V-Metriken, die in der letzten
Übung hier ausführlich behandelt wurden.
Die Vorteile von so einer Vorgehensweise, dass man natürlich jetzt in
Simulation arbeiten kann.
Das heißt, auf der einen Seite kann man viel probieren und viel Daten
generieren.
Das ist auch ein neuer Trend in der Forschungskommunity, dass man
tatsächlich so viele Daten, wie zum Beispiel Deep-Learning-Methoden in
Simulation generieren kann.
Beispielsweise Objektmodelle und Griff auf dieses Objektmodell kann
man in Simulation, Simulation ist billig, generieren.
Und diese Informationen dann auf einen realen Kontext übertragen und
schauen, dass ein Roboter dann für ähnliche Objekte hier entsprechende
Griffe generiert.
Also die Vorteile außerdem ist, dass diese Vorwärtsplanung ganz
ähnlich funktioniert, wie die Ausführung eines Griffs auf dem realen
Roboter.
Das ist, was wir normalerweise machen, wenn wir so einen Griff auf dem
realen Roboter ausführen.
Wir bewegen uns Richtung Objekt mit der Hand, bis wir einen Kontakt
detektieren, schließen wir die Finger und prüfen wir, ob der
resultierende Griff, also die Menge der Kontaktpunkte, einen
kraftgeschlossenen Griff ergeben.
Und die Griffe, die erfolgreich in der Simulation evaluiert wurden,
können mit höherer Wahrscheinlichkeit, also mit höherer
Wahrscheinlichkeit, das heißt nicht eins zu eins, man kann nicht davor
garantieren, dass die Griffe, und zwar die besten Griffe, die man in
der Simulation generiert hat, auf jeden Fall in der Realität
funktionieren.
Aber mit höherer Wahrscheinlichkeit sind diese besten Griffe, die man
in der Simulation erzeugt hat, gute Griffe, die man auf einem echten
Roboter ausführen kann.
Meine Frage ist, warum ist das nicht der Fall?
Warum können wir nicht immer davon ausgehen, dass die besten Griffe,
die wir in der Simulation generiert haben, nicht immer die besten in
der Realität sind?
Oder ein stabiler Griff in der Simulation nicht stabil in der Realität
ist?
Ja.
Die Simulation ist unzureichend.
Warum?
Kannst du genauer sagen, was zum Beispiel in der Simulation
unzureichend ist?
Das Objekt schwerer sein, also ich denke schon, dass wir Gewicht
messen und so weiter und so fort, das schaffen wir, bis auf einen
Gramm.
Aber das sind irgendwelche Parameter, die vielleicht die Simulation
nicht so genau machen.
Aber was ist so am kritischsten bei der Simulation?
Du wolltest, oder hast du deine Meinung geändert?
Massenschwerpunkt, naja, können wir auch... Ja, hinten.
Das Objekt könnte bewegliche Teile haben, die wir in der Simulation
nicht haben.
Wahrscheinlich, okay.
Aber nehmen wir an, wir haben rigide Objekte und wir haben harmlose
Objekte.
Oben, zweite Etage, nein?
Okay, dann nehme ich dich.
Hier bitte.
Neues Rauschen, Rauschen natürlich überall in der Ausführung, in der
Wahrnehmung und so weiter.
Aber womit haben wir dieses Kapitel angefangen eigentlich?
Was war ein Griff?
Wie war ein Griff definiert?
Als Menge von Kontaktpunkten auf dem Objekt.
Und welche Kontaktmodelle haben wir kennengelernt?
Habt ihr zu viel gefeiert?
Okay, das kann ich verstehen.
Aber natürlich die Kontaktmodelle, die man auch in der Simulation
zugrunde legen muss, die müssen ja möglichst genau sein.
Und wir haben gesehen, dass man dort von idealem Sternkontakt Kontakt
mit Treibung und Soft-Kontakt hat.
Und wenn es zum Beispiel um Griff geht, die eine Soft-Hand, eine Hand
mit weichen Fingerspitzen ausführen soll, dann können wir wirklich
nicht davon ausgehen, oder vielleicht hat irgendjemand eine sehr, sehr
genaue Modellierung von diesen Kontakten, die in der Simulation
berücksichtigt werden.
Aber wenn es um deformierbare Objekte geht, dann ist es eher
unwahrscheinlich.
Also das heißt, Rauschen ist ein Problem, wie er gesagt hat, dass man
die in der zum Beispiel Positionsbestimmung der Objekte, dass man in
der Ausführung hier Ungenauigkeiten hat.
Aber auf der anderen Seite in der Simulation können so viele Parameter
unberücksichtigt werden.
Zum Beispiel wirklich die Genauigkeit der Kontaktmodelle, die man in
der Simulation zugrunde gelegt hat, die stimmen nicht überein mit dem,
was man in der Realität hat.
So ein Algorithmus würde wie folgt funktionieren, also wenn man so ein
Greifplanungsalgorithmus implementieren will, dass man zunächst mal
Hand und Objektmodell in irgendeine Simulationsumgebung lädt.
Dann erzeugt man die Greifkandidaten, berechnet bestimmte
Näherungsrichtungen der Hand zum Objekt, bestimmt die Orientierung der
Hand.
Ja, kann man natürlich alles aus der Vorwärtskinematik und die
Gelenkwinkelwerte berechnen.
Man bestimmt die Handkonfiguration, beginnend zunächst mal mit der
offenen Hand, bevor man hier diesen Greif ausführt und nutzt
irgendwelche Heuristiken, um jetzt basierend auf der gegebenen
Geometrie von dem Objekt hier so einen Greif zu finden.
Und diese Heuristiken, wie wir sehen werden, die sind sehr wichtig,
weil die dienen dazu, diesen riesigen Suchraum, ja, diesen riesigen
Suchraum der Dimension 14, zum Beispiel hier bei der Amadrei-Hand zu
reduzieren.
Und wenn man mit Hilfe von diesen Heuristiken diese Greife bestimmt
hat, dann muss man natürlich diese Greifkandidaten evaluieren.
Also wie gut sind sie, im Sinne zum Beispiel der Y-Matrix, ja.
Das heißt, man bewegt die Hand entlang der Näherungsrichtung bis zu
Kontakt mit dem Objekt, schließt die Hand, bestimmt die Kontaktpunkte
und bestimmt die Greifqualität, zum Beispiel, wie ich bereits erwähnt
habe, mit der Y-Matrix, die wir das letzte Mal in der Übung
kennengelernt haben.
So, und die Frage ist natürlich bei der Greifqualität.
Man muss sich vorstellen, dass diese Näherungsrichtungen natürlich und
die Posen der Hand zufällig generiert werden, ja.
Also wie bei zufälligen oder bei randomisierten
Bewegungsplanungsalgorithmen.
Und die Frage oder die wichtigste Frage ist natürlich der letzte Teil
hier, wie man diese Qualität der Greife evaluiert.
Das heißt, wie gut kann ein Griff externe Kräfte widerstehen?
Das ist die Definition von einem kraftschlüssigen Griff.
Und hierzu, wie wir das letzte Mal auch in der Übung gesehen haben,
und die Leute, die das nicht angeguckt haben, die sollen das
vielleicht nachholen, man bestimmt die Kontaktpunkte und
Kontaktnormalen zwischen Objekt und Hand, wie man hier sieht.
Das sind die Kontaktpunkte und das sind diese Reibungskegel, also die
roten hier sind die Reibungskegel an den Kontaktpunkten, wie man sieht
hier, das ist so eine vierfingerige Hand und die berührt das Objekt
hier an vier Stellen.
Und das sind hier diese Reibungskegel und wir wissen halt, dass wir
diese Reibungskegel auch über den Reibungskoeffizienten am
Kontaktpunkt beschreiben können, bzw.
der Öffnungswinkel ist tangens vom Reibungskoeffizient.
Dann können wir für diese vier Punkte, und wir haben das letzte Mal,
also in der letzten Übung anhand von zweidimensionalen Beispielen
gesehen, wie wir diesen Grass Branch Space berechnen.
Natürlich hier haben wir einen dreidimensionalen Fall, wo dieser Grass
Branch Space hier als die Konvexiehülle über alle Reibungskegel
berechnet ist.
Und da sieht man hier Projektionen von diesem sechstdimensionalen
Grass Branch Space in unterschiedlichen Ebenen.
Also hier, das sind die Projektionen von diesem GWS, also Grass Branch
Space, als die Konvexiehülle, also Projektion der konvexen Hülle der
Reibungskegel.
Und mit der Y-Matrix wissen wir, dass die minimale Distanz vom Zentrum
von diesem GWS zum Rand vom GWS bestimmt.
Und die gibt uns eine Information, oder die ist ein Indiz davor, wie
stabil der gerade ausgeführte Griff oder generierte Griff ist.
So, also das ist so die Vorgehensweise, das Ganze natürlich in
Simulation, habe ich bereits erwähnt.
Und das sind hier einige Beispiele oder nochmal Erläuterungen.
Aber die Folien von der letzten Übung, die erklären das in
Detailliertheit, also mit echten Parametern beziehungsweise Werten
hier.
Und wir wissen hier, dass dieser Grass Branch Space ist nichts anderes
als die Konvexiehülle über die Vereinigung aller Contact Ranges.
Das sind hier die Kontaktpunkte am Objekt.
Und wir sehen hier, also das sind die Kontaktpunkte auf dem Objekt.
Und wir wissen, dass wir hier dann dieses GWS berechnen.
Und wir wissen, dass diese Distanz hier, diese Distanz vom Zentrum von
diesem Grass Branch Space zum Rand hier, die minimale Distanz, nichts
anderes als eine Metrik für die Qualität der Stabilität des Griffes.
Also Qualitätsmaß, Kraftschluss, das heißt, wenn der Grass Branch
Space den Ursprung hier enthält.
Man benutzt auch oft das Volumen von diesem Grass Branch Space als
Qualitätsmaß, beziehungsweise Y, das ist sozusagen der Radius von der
großen Kugel, die man in dieses GWS reintun kann, sodass sie den
Ursprung als Zentrum hat und natürlich die Kanten berührt,
beziehungsweise die kleinste Distanz vom Ursprung zum Rand.
Ja, also man sieht, das ist nicht das hier, nicht das hier, sondern
die kleinste Distanz vom Ursprung von diesem GWS zum Rand.
Das sind Details, die man natürlich implementieren muss, wenn man so
einen Greifplaner realisieren will, beziehungsweise die von heutigen,
die in heutigen Simulatoren, zum Beispiel unser Simulator von Nico
Fachringkamp hier, der natürlich hat diese Implementierungen von allen
diesen Qualitätsmetriken beziehungsweise mehrere Implementierungen von
diesen Vorwärtsplänen, von diesen Algorithmen für die vorwärts
basierte Planung von Griffen.
Okay, nun, wie können wir jetzt diese Vorwärtsplanung machen?
Der Ablauf randomisiert die Erzeugung von Greifhypothesen, das heißt
Position und Orientierung der Hand wird randomisiert erzeugt, aber
auch die Konfigurationen der Finger.
Und dann die Kontaktermittlung und die Evaluierung der Hypothesen, je
nachdem, ob Kollisionen der Finger mit dem, ungewollte Kollisionen der
Finger mit der Hand, ob der Griff robust ist oder ob der Griff
Kraftschlussgriff ist.
Und wir sehen gleich, wie das Ganze hier funktionieren wird.
Das heißt, man muss zunächst mal irgendwelche Hypothesen, also das
wäre jetzt so eine Hypothese für eine Barrett Hand.
Das ist eine Hand mit drei Fingern, wie man sieht, auf dieses Objekt.
Wenn man das machen würde, also man bewege die Hand entlang dieser
Annäherungsrichtung und wir werden gleich sehen, wie diese
Annäherungsrichtungen und Positionen der Hand bestimmt werden.
Man schließt die Hand, bis die Finger hier das Objekt berühren.
Dann haben wir hier die Kontaktpunkte.
Das heißt, wir hätten hier einen Kontaktpunkt, wir hätten hier einen
Kontaktpunkt und hier einen Kontaktpunkt.
Und wenn ich das mit bloßen Augen sehe, dann würde ich sofort sagen,
dieser Griff, was hier generiert wurde, ist ein instabiler Griff, ohne
ein GWS zu berechnen und Y-Matrix und so weiter.
Das kann man ja sehen, da wird das Objekt wahrscheinlich an der Kante
hier wegrutschen.
Das heißt, diese Algorithmen, wie bereits erwähnt, die sind in diesen
drei Päpern einmal in der Dissertation von Diana Koff, einmal bei
Dimitri Berneson und einmal bei uns hier im Simulator realisiert bzw.
implementiert.
Und wir wollen gucken, wie das im Einzelnen funktioniert.
Das heißt, man definiert zunächst einmal so ein Grasp-Centerpoint und
dieser Grasp-Centerpoint ist der Punkt G hier.
Und dann definiert man eine Annäherungsrichtung.
Und diese Annäherungsrichtung für einen bestimmten Greiftyp ist hier
gegeben durch A.
Und dann erzeugt man die Greifhypothesen, indem man die
Anfahrtsrichtung, das heißt die zufällige Wahl eines Kontaktpunktes,
wir wählen irgendeinen Kontaktpunkt hier auf der Oberfläche und wir
ermitteln den normalen, also nehmen wir mal an, wir hätten jetzt
diesen Kontaktpunkt gewählt und dann ermitteln wir den normalen hier,
das ist N.
Und ihr könnt euch vorstellen, das sind natürlich die Bilder jetzt
nicht nebeneinander, aber damit dieser Griff überhaupt so eine Chance
auf Erfolg hat, muss praktisch dieser Normalvektor irgendwie parallel
oder antiparallel zum Annäherungsvektor A sein.
Und das ist tatsächlich, was passiert.
Das heißt, ich gehe mal zurück hier zu einem einfacheren Beispiel mit
drei Fingern, damit man das sieht.
Also nochmal die Barrett-Hand.
Man definiert hier dieses Grasp-Starting-Point und die
Annäherungsrichtung ist der Vektor A und wir haben irgendeinen
Kontaktpunkt hier auf dem Objekt selektiert und N ist die normale.
Und was man hier macht, ist, dass man versucht hier, also G und A,
also G liegt auf der Halbgeraden, welche durch B und A definiert ist.
B und A sollen jetzt eine Halbgerade definieren und man kann sich
vorstellen, natürlich wenn das Ganze hier verschoben ist oder die
Handorientierung anders ist, dass das nicht erfüllt ist und deshalb
muss man dafür sorgen, dass die Hand so orientiert wird, dass A und N
kollinear sind oder antiparallel.
Also A und N antiparallel.
Und wenn man sieht hier, wenn man so eine Situation bekommt, dann
sieht man eigentlich, wenn die Hand entlang dieser Annäherungsrichtung
weiterfährt, dann würde man hier eher zu einem stabilen Griff kommen.
Das heißt, der freie Parameter Orientierung der Hand um A, das ist
noch ein Parameter, ich kann ja die Hand so an das Objekt ranfahren,
aber ich kann die Hand auch so an das Objekt ranfahren.
Das heißt, ich habe noch einen freien Parameter, was diese
Handorientierung angibt, damit das natürlich zur Geometrie von dem
Objekt passt.
Und dieser freie Parameter wird zufällig gewählt und muss man
natürlich hier auch suchen, bis man was Gescheites findet.
Kontaktermittlung, wir bewegen dann die Hand zum Objekt entlang A,
also wir nähern uns dem Objekt, wir schließen die Finger, wir
ermitteln diese Kontaktpunkte K1, K2 und K3 oder K3 und dann K2 und
der Rest ist eigentlich klar.
Das heißt, was müssen wir als nächstes machen?
Wir müssen natürlich diese Griffe analysieren.
Wenn wir Kontaktpunkte haben, dann können wir natürlich unser Grass
Branch Space berechnen und können wir unsere Y-Metrik bestimmen und
können wir die Griffe, die wir erzeugen während dieser Simulation, wir
generieren nicht nur einen Griff, das machen wir für jede zufällige
Variante, also zufällige Orientierung, zufällige Annäherung, Kontakte
auf.
Zufällige Annäherung, Kontakte, Evaluierung, stabil, nicht stabil,
okay, auf der guten Seite, instabil, auf der falschen Seite.
Und dann speichern wir diese Validen oder die Menge der guten und
stabilen Griffe und die schlechten Greif-Hypothesen bzw.
Griffe, die werden hier verworfen.
Und da sieht man hier, wie auf diese Art und Weise solche Griffe
erzeugt wurden.
Also zum Beispiel hier die Griffe auf diesem Walk von der Ama-Hand
bzw.
auf dieser Box hier von der iCub-Hand, also der Humanoid-Roboter aus
Genoa.
Hier ein Griff auf einer Box mit einer Dreifinger-Hand, mit der
Barrett -Hand und hier Griffe auf einer Box mithilfe von so einem
Backen -Greifer.
Ja, also das sind hier zwei Backen, aber die berühren das Objekt an
zwei unterschiedlichen Stellen.
Das hat hier die zwei Kegeln, drei, vier Kegel, also an vier Punkten
berühren sie das Objekt von jeder Seite.
Beziehungsweise der Griff mit der Ama-Hand hier auf einer Box, wo man
sieht, dass man diese Kegel zunächst mal hat von den Daumen und diese
vier Kegel von den einzelnen Fingern.
Natürlich, das Objekt berührt die Finger an der Stelle hier.
Das hat die Kegel hier unten, wenn man genauer hinguckt, und diese
Kegel hier, wo diese Kante vom Objekt mit der Hand auch kollidiert,
beziehungsweise in Kontakt ist.
So, okay, so viel dazu.
Gibt es Fragen soweit?
Ja.
Genau, danke, vielen Dank für die Frage.
Also die Frage war, wir haben es jetzt nicht berücksichtigt, ob diese
Griffe zum Beispiel die Objekte nicht zerstören.
Das berühmte Beispiel Greifen eines Eis.
Natürlich ist das noch nicht der Fall, weil wir haben ja nicht die
Information, also je mehr wir dynamische Informationen haben über die
Objekte, desto mehr solche Sachen berücksichtigt werden können.
Beziehungsweise, wenn man haptische Sensorik hat, dazu braucht man
noch haptische Sensorik, wenn ich weiß, ich kann auf der Oberfläche
eines Objekts mit einer maximalen Normalkraft x Newton ausüben, dann
muss ich natürlich auch diese Kraft messen können am Kontaktpunkt.
Das würde bedeuten, ich brauche eine ausgesprochen gute haptische
Sensorik an den Fingerspitzen beispielsweise, oder Kraftsensorik, die
mir sowas erlaubt.
Aber bis jetzt ist das kein Problem der Greifplanung, wie wir das hier
beschreiben oder behandeln.
Nun kann man das machen, wenn die Objekte, ich sage dazu, quadratisch
praktisch einfach sind.
Aber natürlich wissen wir, dass wir viele Objekte haben, die eine
komplexe Geometrie haben.
Und man könnte sich vorstellen, dass zum Beispiel so ein Hasen oder
andere schwer geformte Objekte oder komplex geformte Objekte, dass der
Rechenaufwand bzw.
dass der Vorgang zur Generierung von diesen Greifen komplizierter,
rechenaufwendiger, weniger zuverlässig ist.
Beziehungsweise man bekommt keine hohe Rate von stabilen Greifen, die
man erzeugt.
Man kann natürlich auf die gleiche Art und Weise Greifen für diesen
Hasen generieren, aber wahrscheinlich werden nur ein Prozent der
Greifen, die man generiert, auf die Art und Weise stabil.
Also wenn man den gleichen Ablauf nimmt wie vorher.
Die Frage, die sich hier stellt, ist, muss man überhaupt Greifen für
die komplette Objektgeometrie generieren oder reicht es nicht aus,
wenn ich für einen Teil des Objekts Greifen erzeuge oder generiere?
Ich meine, wenn ich jetzt einen Bierfass greifen will, dann muss ich
ja nicht für den Hauptkörper Greifen erzeugen.
Ich muss nur für den Griff Greifen erzeugen, beispielsweise.
Und das heißt, die Frage ist, können wir das Problem bei komplex
geformten Objekten nicht ein bisschen vereinfachen, indem wir Greifen
nicht für das komplette Objekt erzeugen, sondern für bestimmte Teile
von dem Objekt.
Und das ist, was man in der Literatur auch als Part-Based Grasping,
also Part, als Teil vom Objekt.
Also man generiert Greifen für Teile des Objektes und natürlich, wenn
diese Greifen für einen Teil des Objekts, unter Berücksichtigung jetzt
in dem Fall der Dynamik des Rest des Objekts, wenn diese Greifen
stabil sind, dann habe ich gewonnen, dann kann ich diese Objekte
greifen.
Und hier gibt es unterschiedliche Varianten, das heißt, wie geht man
hier vor?
Man versucht, die gegebene Objektgeometrie zu zerlegen bzw.
zu approximieren durch irgendwelche Formen Primitiven.
Das heißt, man kann beispielsweise sagen, okay, ich zerteile jetzt
mein Objekt in Boxen, in Zylinder oder in Kugeln oder in Kegeln, in
irgendwelche grundlegenden 3D-Formen.
Und dann, auf die gleiche Art und Weise, wie wir das beschrieben
haben, generiere ich Greifen für diese Formen, die wiederum Teil des
Objekts sind und versuche mein Glück damit.
Und da gibt es hier unterschiedliche Methoden, also einmal die
Unterteilung in sogenannten Shape Primitives, manuelle Unterteilung in
Primitiven, Boxen, Zylinder, Kegel, Kegel, bzw.
eine automatische Zerlegung oder Dekomposition von dem Objekt in
Boxen.
Naja, Boxen sind eigentlich am einfachsten.
Ich weiß ja, wie ich Greifen auf einer Box eigentlich generieren kann.
Wenn ich meine Vorgehensweise von vorher habe, dann kann ich schon die
Ebenen, die Seiten einer Box als Hinweis nehmen, um
Annäherungsrichtungen an das Objekt zu erzeugen.
Weil wahrscheinlich diese Greifen, wo die Hand parallel zu den Seiten
einer Box ist, sind mit höchster Wahrscheinlichkeit oder mit großer
Wahrscheinlichkeit stabile Greifen.
Da muss ich nicht diese Orientierung um die Box berücksichtigen.
Beziehungsweise, wenn man z.B.
diesen Hasen durch Boxen approximiert, dann hat man hier die Ohren als
eine Box oder den Kopf als eine Box und den Rest des Körpers als eine
zweite Box.
Das ist extrem grob eigentlich.
Man verliert ja so viel Informationen.
Natürlich kann ich die Boxen noch kleiner machen, sodass ich die
Ohren, die Nase, den Hals, den Fuß usw.
erfasse.
Aber es gibt auch andere Varianten für diese Zerlegung.
Und zwar, dass man diese Objektformen mithilfe von Superquadriken
darstellt.
Die andere Variante ist die Darstellung mithilfe von der medialen
Achse -Transformation oder der medialen Achse, die wir das letzte Mal
kennengelernt haben, wo ich das Objekt nur durch Kugeln bzw.
Kugelzentren approximieren kann.
Oder ich kann natürlich die Objektgeometrie beschreiben, indem ich
alle Oberflächen Normalen nehme.
Das sind unterschiedliche Oberflächen Normale.
Das klingt natürlich wunderbar, wenn wir die Annäherungsrichtungen
wählen.
Dann haben wir gesehen, dass dieser Annäherungsvektor A in eine
kollineare Konfiguration zur Normalen gebracht werden muss.
Das heißt, wenn die Repräsentation des Objekts sowieso als Oberflächen
Normalen vorliegt, dann habe ich viel gewonnen.
Dann brauche ich nicht mal diese Normalen zu bestimmen, die sind ja
schon da.
Ich muss nur Annäherungsrichtungen bestimmen, die kollinear zu den
Normalen sind.
Bevor ich zur nächsten Folie gehe, beantworte ich die Frage von
hinten, wenn sie noch nicht beantwortet ist.
So wie ich die Frage verstanden habe, unter welchen Umständen kann die
Zerlegung in Form primitiver versagen?
Was glaubt ihr?
Ich mache zu grobe Annahmen.
Beispielsweise approximiere ich den Kopf von dem Hasen durch einen
Zylinder und den Rest des Körpers durch einen anderen Zylinder.
Die wird nicht versagen, sondern die wird nicht alle Griffe erzeugen.
Zum Beispiel die wird nicht die Griffe am Ohr von dem Hasen erzeugen
oder die Griffe am Fuß, sondern die wird wahrscheinlich nur Griffe am
Körper und am Kopf erzeugen.
Weil sie in dem Fall, wie gesagt, solche Griffe sind, wo die Hände
oder die Normale an den Kontaktpunkten parallel zur Oberfläche sind.
Beantwortet das deine Frage?
Okay.
So, und wir wollen nicht alle hier kennenlernen.
Ich glaube, ich habe zwei oder drei davon mitgebracht.
Einmal Greifplanung mit Formprimitiven.
Das heißt, zunächst einmal die Objekte werden durch Formprimitiven
dargestellt.
Und für jedes Formprimitiv sind dann unterschiedliche Greifstrategien
vordefiniert, die wir kennen.
Die können als Startpunkt und also die enthaltenen Startpunkte als
auch die Annäherungsrichtung oder Anrufrichtung an das Objekt.
Und dann machen wir die Vorwärts-Simulation wie vorher.
Das heißt, Startpunkt definiert die initiale Greifer-Pose.
Dann haben wir die Anrufrichtung hier.
Basierend auf dieser Anrufrichtung wird der Greifer zum Objekt bewegt,
Kontakt ermittelt, Kontaktpunkte werden bestimmt.
Und dann evaluieren wir die Greifqualität basierend auf dem Grass
-Branch -Space-Ansatz.
Also zum Beispiel mit der Y-Metrik.
Und wie gesagt, Zerlegung in Formprimitiven.
Das heißt eigentlich, was wir machen müssen, wir müssen nur diese
Greife...
und da sieht man hier, das sind Greife hier, also diese komischen
Figuren, um die sie formen, sind Greife auf einem Zylinder, auf einer
Box, auf einem Kugel, auf einem Zylinder bzw.
auf einer Kegel.
Das heißt, wenn man das hat und man kann in dem vorliegenden Objekt
solche Formen identifizieren, dann hat man automatisch die Greife, die
man über Vorwärtsplanung erzeugt hat.
Natürlich hat man hier viele Parameter, die man berücksichtigen kann
bei einer gegebenen Geometrie von dem Objekt.
Zum Beispiel Anzahl der Unterteilungen, also wie weit gehe ich mit der
Unterteilung.
Anzahl der Kreisunterteilungen, also hier zum Beispiel bei Boxen, hier
bei Kreis.
Anzahl der Handorientierungen, die ich berücksichtige.
Also ich kann natürlich hier mehr Handorientierungen berücksichtigen,
dann kriege ich natürlich mehr Greifehypothesen für diese Form oder
für diese Teilform.
Und dann natürlich die Spiegelung der Greife.
Es macht wenig Sinn, dass man für eine symmetrische Form die Greife,
bzw.
wenn man Symmetrien bei symmetrischen Formen berücksichtigt, dann
spart man sich die Hälfte der Arbeit.
Das heißt, ich generiere die Greife nur für die eine Seite und alle
symmetrischen Greife, zum Beispiel bezüglich einer Ebene, sind auch
gültige bzw.
zulässige Greife.
Und diese Parameter, die werden automatisch aus den Objektdimensionen
normalerweise bestimmt.
So, das sind ein paar Greife, die auf die gleiche Art und Weise, in
dem Papier hier von Mila und Peter Allen, das ist der Entwickler von
dem Grasp-Simulator hier, kann man natürlich die Details hier, wie das
Ganze funktioniert, aber die Idee ist eigentlich die.
Und mithilfe dieser Vorgehensweise kann man diese Greife mit der
Barrett -Hand, das ist nochmal die gleiche Hand, die wir vorher
gesehen haben, mit drei Fingern, für eine Tasse, für einen
Telefonhörer, also das war mal ein Telefonhörer, für die meisten von
euch vielleicht ein unbekanntes Objekt, beziehungsweise hier dieses
Laborglas oder hier dieses Flugzeug.
Also man sieht hier, das Flugzeug wird durch zwei Boxen approximiert
und dann natürlich auf einfache Art und Weise kann man die Greife
hierzu generieren.
Ich will genauer auf einen einfacheren Einsatz eingehen, was extrem
erfolgsversprechend ist und was man auch bei komplexen Roboterhänden
einsetzen kann oder was wir bereits eingesetzt haben.
Und zwar, wir wollen Objekte mit Boxen, nur mit Boxen, approximieren.
Also die Objektgeometrie ist gegeben, wir reden über die Generierung
von Greifen für bekannte Objekte, das heißt die Geometrie ist gegeben
und jetzt, damit wir praktisch diese Suche von zufälligen
Annäherungsrichtungen, Handpositionen, Handorientierung reduzieren,
haben wir gesagt, okay, wir machen es nicht für jede beliebige
Geometrie, sondern wir approximieren die Objekte mit irgendwelchen
einfachen Geometrien und wir planen Greife auf Teile dieser Objekte.
Und das, was wir hier machen, wir approximieren...
Kennt ihr den?
Wer ist das?
Homer Simpson, genau.
Wir wollen ihn greifen.
Und zwar, wir gehen hin und wir haben so einen intelligenten
Algorithmus, der die Form von Homer Simpson zerlegt in Boxen,
beziehungsweise seine Form approximiert durch Boxen.
Nahliegend, ja, Kopf, eine Box.
Das sind Approximationen, die bei Tracking-Verfahren, zum Beispiel
Tracking von menschlichen Bewegungen, oft eingesetzt werden oder
eingesetzt wurden, bevor es so Deep Learning gab, wo man ja die
unterschiedlichen Körpersegmente durch Boxen approximiert.
Und das machen wir hier.
Und wir werden gleich sehen, wie dieser Algorithmus funktioniert.
Also man hat hier ihn zerteilt in Unterkörper, Oberkörper, der
Oberkörper hier, in Brust und Armen und Kopf.
Und den Kopf hat man wiederum unterteilt in zwei Teile, wie man hier
sieht.
Hier der Arm und die Brust und hier nochmal irgendwas die Hand.
Das heißt, das ist Homer Simpson jetzt.
Also so sieht er aus, dargestellt als Boxen.
Und jetzt generieren wir einen Griff für die unterschiedlichen Boxen,
für die Kopfbox, für die Armbox, für die Beinebox.
Und dann sagen wir, okay, dieser Griff ist toll.
Also das ist hier eine Hand, die den Kopf greift.
Man sieht hier, das ist sogar die Armerhand.
Das sind die Fingerspitzen hier und das ist der Daumen.
Und der greift sogar den Simpsons jetzt auf den Kopf, um es jemandem
zu zeigen.
Beispielsweise ein Taskspezifisches Griff, spezifischer Griff, aber
ganz nebenbei.
Also wir generieren hier Griffi und dann wählen wir einen gültigen
Griff hier.
Wie funktioniert das Ganze?
Das Ganze funktioniert für Alltagsobjekte, haben wir auch getestet mit
allen Alltagsobjekten, also die in der KIT Object Database vorhanden
sind.
Das sind Tassenteller, Boxen, inzwischen auch Hammer, Schraubendreher
und so weiter und so fort.
Und wo wir 3D-Repräsentationen, zum Beispiel als 3D-Punktwolken,
beziehungsweise als texturierte Meshes haben.
Und aus dieser Geometrie von diesen Objekten, also tatsächlich haben
wir ein 3D-Punktenmodell oder 3D-CAD-Modell von jedem Objekt, was der
Armer greifen kann, wenn es um das Greifen bekannter Objekte geht.
Der Armer kann auch unbekannte Objekte greifen.
Aber allgemein bei bekannten Objekten haben wir diese Repräsentationen
und dann brauchen wir einen Algorithmus, der für uns diese Geometrie
zerlegt in eine boxenförmige Geometrie.
Wie bei Homer Simpson vorher.
Und so einen Algorithmus gibt es, also sogar einen effizienten
Algorithmus, der sogenannte Minimum Volume Bounding Box, also MVBB
-Algorithmus, und basiert auf Punktwolken.
Also man kann hier nochmal die Anwendung auf das Greifen in diesem
Paper bzw.
in diesem zweiten Paper, wo wir das Ganze auf dem Armer hier
realisiert haben, nachlesen.
Aber der Algorithmus, der geht wie folgt.
Oh, die Folie ist auf Englisch, komischerweise.
So, man nimmt eine 3D-Punktwolke und man berechnet zunächst mal dieses
Minimum Volume Bounding Box.
Ich weiß ehrlich gesagt nicht, wie man das auf Deutsch sagt, aber
Minimum Volume Bounding Box, das heißt die Box, die um das Objekt
eingelegt werden kann, sodass sie alle Punkte vom Objekt umschließt
und die minimal ist.
Das heißt, natürlich muss, wenn ich jetzt hier dieses Objekt nehme,
dann kann ich eine riesige Box drum herum tun, aber das ist die
kleinste Box, die ich drum herum tue, damit ich dieses Objekt
approximiere.
Und man kann also hier 3D-Punktwolken nehmen und dann dieses Minimum
Volume Bounding Box berechnen.
Und was man braucht, also irgendein Kriterium, was uns sagt, wie wir
die vorliegende Form zerlegen in eine Menge von kleineren Boxen, die
nach wie vor das Objekt beschreiben, aber in der Summe vom Volumen
viel kleiner sind.
Also die Summe deren Volumen viel kleiner ist als das Original im VBB.
Und die Methode, die wir hier einsetzen, ist, dass wir sechs Flächen
parallele Ebenen, also sechs parallele Ebenen, also bei einer Box hat
man zwölf Ebenen, aber je zwei von denen sind parallel zueinander.
Und dann nehmen wir je zwei parallele Flächen bzw.
Seiten und nutzen wir sie, um diese Zerlegung bzw.
diese Dekomposition von einer Box in zwei Kinderboxen zu erreichen.
Und um das Problem zu vereinfachen, was bei diesem Algorithmus
funktioniert, statt dass man diese Zerlegung in 3D macht, man
reduziert das Problem der Zerlegung von einer 3D-Box, also von diesem
MVBB.
Also das ist der Hase hier und man sieht hier, das ist diese Minimum
Volume Bounding Box, die diesen Hasen umfasst.
Und statt dass wir diese Zerlegung in 3D machen, führen wir das
Problem auf die Zerlegung in der Ebene.
Das heißt, man hat hier eine Projektion, wie man sieht, von diesen
Hasen auf der Ebene B und C.
Und man sieht hier, dass diese Minimum Bounding Box hier A umfasst
natürlich diesen Hasen bzw.
die Projektion.
Das ist die andere Projektion und das ist die dritte Projektion hier.
Und dann geht man hin und sagt, okay, ich zerlege jetzt hier an dieser
Ebene, splitte mal diesen Hasen in zwei Teile, in zwei Boxen, Box 1
und Box 2.
Beziehungsweise hier, also das ist Box 1 und das ist Box 2.
Und man sieht hier, dass die Summe der Fläche, in 3D ist natürlich
Volumen, die Summe der Fläche von diesen zwei Rechtecken ist viel
kleiner als das Original.
Und man zerlegt natürlich auch in den anderen Ebenen, das heißt hier
oder bei den anderen Projektionen, da kriegt man diese zwei Boxen und
diese zwei Boxen, die sind natürlich in deren Fläche viel kleiner als
das hier.
Und so weiter und so fort.
Auf die Details werde ich jetzt hier nicht eingehen, aber wenn man das
hier macht und man kann es natürlich so lange machen, bis man sagt,
okay, der Approximationsgrad reicht mir und da stoppe ich hier.
Und dann hat man, das sind ja unterschiedliche Parameter, die man
natürlich bei der Zerlegung hier berücksichtigt.
Und dann hat man hier für diese Tasse solche Darstellungen, für diese
Ente diese Darstellungen.
Man sieht hier Kopf und Körper, hier Kopf und Körper, noch ein paar
Zylinder hier für Schnabel.
Das Beispiel von Homer Simpson haben wir vorher gesehen,
beziehungsweise auch von den Hasen.
Das ist von einem Tucker, das ist nochmal von einem anderen Tucker und
das ist von einem Laptop.
Das heißt, all diese komplexen Objektgeometrien kann man auf diese Art
und Weise in solchen Formen in diese Boxen zerlegen.
Somit sind wir von dieser 3D-Punkt-Darstellung von einem Objekt zu
einer boxartigen Darstellung oder Repräsentationsform der Objekte.
Jetzt ist die Greifplanung natürlich auf diese Boxen sehr einfach,
weil jede Box hat sechs Seitenflächen, welche jeweils vier
Greifhypothesen implizieren.
Einmal haben wir den Griffpunkt, das ist der Mittelpunkt der
Seitenfläche, wo ich meine Finger drücke, das ist der Mittelpunkt
einer Seitenfläche.
Die Griffrichtung entlang der Normalen auf einer Seitenfläche.
Und die Handorientierung, da habe ich vier Möglichkeiten, je nachdem
entlang welcher Kante der zwei Flächen ich mich orientiere.
Also hier, da, da oder da.
So, das heißt, auf eine einfache Art und Weise und mit diesen
trivialen Heuristiken kann man eigentlich diese Suche in dem komplexen
Suchraum massiv einschränken.
Und man kann natürlich über irgendwelche Informationen, wie groß sind
die Seitenflächen, wie sind die kinematischen Parameter der Hand, man
kann viele der Griffy aussortieren.
Zum Beispiel, wenn zwei Seitenflächen sehr weit weg voneinander sind,
also viel weiter als die maximale Öffnung der Hand, dann brauche ich
sie gar nicht zu berücksichtigen und ich brauche überhaupt keine
Greifhypothesen in diese Richtung zu erzeugen.
So, auch Greifhypothesen für blockierte oder verdeckte Seitenflächen
können durch einfache geometrische Berechnungen verworfen werden.
Also ich kann keine Greifhypothesen für die Unterseite von einem
Objekt erzeugen, wenn das Objekt auf dem Tisch beispielsweise liegt.
Da habe ich auch Zeit reduziert bei der Generierung der möglichen
Griffy.
So, wir haben das Ganze evaluiert, das sieht ziemlich trivial aus.
Während natürlich vorher bei dieser Vorwärtsplanung haben wir gesehen,
wir müssen praktisch die exakte Geometrie nehmen und dann natürlich,
wie ich bereits bei der Beantwortung seiner Frage vorher gesagt habe,
wir können nicht garantieren, dass alle Greifhy erzeugt werden.
Also wir können keine Greifhy generieren, die die Detailinformationen
der Geometrie berücksichtigen, sondern nur grobe Informationen.
Und das haben wir evaluiert, einmal die Simulationsumgebung Graspit
und dann haben wir zwei Handmodelle.
Einmal diese Barrett-Hand, die wir bereits kennen und einmal die Arma
-3 -Hand hier.
Und wir haben zwei Qualitätsmetriken, um die Qualität eines Griffes zu
bestimmen bzw.
evaluieren.
Einmal Volumen vom Graspunch-Space und einmal die Y-Metrik.
Das heißt die große Kugel, die wir in diesem Graspunch-Space reintun
können.
Und wir haben zwei Verfahren verglichen.
Einmal ein Verfahren, was so Greifhy auf zylindrische Objekte erzeugt,
also die Approximation der Objektformen mit Kugeln unterschiedlicher
Durchmesser.
Und einmal die Boxform, das heißt unsere Methode, die wir
kennengelernt haben.
Und man sieht schon, wie angedeutet wird hier, wie angedeutet wird,
natürlich diese Boxform generiert hier viel weniger Greifhy auf dem
Objekt als so ein zylindrisches Verfahren.
Also man sieht hier bei einem zylindrischen Verfahren haben wir eine
große Menge von Kontaktpunkten bzw.
von Griffen auf der Objektüberfläche.
Und das sind die Ergebnisse.
Die Ergebnisse verstehen natürlich keiner jetzt, wenn ich die Folie
auflege.
Aber wenn wir sie ein bisschen interpretieren, dann verstehen wir den
Vorteil von diesem neuen Verfahren.
Und zwar diese grünen Kreuze, das sind alle Greifhy, die ein
Standardverfahren, ein nicht boxbasiertes Verfahren, also dieses
zylindrische Verfahren erzeugt.
Also das ist ein sphärischer Griff, das sind alle sphärischen Greifhy.
Und das hier, der hier, der Griff hier ist der Beste unter denen im
Sinne der Y-Metrik.
Und man sieht natürlich, man hat Haufen, unglaublich viele Greifhy
hier erzeugt mit diesem Verfahren.
Die schwarzen Boxen hier, das sind die Greifhy, die unser boxbasiertes
Verfahren erzeugt hat.
Man sieht natürlich ganz sofort, dass das Verfahren nicht so viele
Greifhy wie das andere Verfahren erzeugt hat.
Und da sieht man hier zum Beispiel zwei Greifhy, zwei der besten
Greifhy, die das Verfahren erzeugt.
Also einmal den Homer Simpson am Bein und einmal am Kopf hier greifen.
Und die sehen, also das sind viel weniger Greifhy, wie man sieht im
Vergleich.
Warum sollen wir eigentlich so viele Greifhy erzeugen, wenn sie
schlecht sind?
Also am besten ist es, ein paar sehr gute Greifhy zu generieren, statt
alle möglichen Greifhy in diesem hochdimensionalen Suchraum zu haben.
Das heißt, diese Box-Dekompositionsmethode erzeugt wenige, aber
qualitativ hochwertige Greifhy.
Wir haben es mit anderen Objekten natürlich auch, also nicht nur mit
Homer Simpson, sondern mit weiteren Objekten.
Und da sieht man auch, wie viele Griffe hier von diesem Spherical
Grasplaner erzeugt werden.
Das ist der beste Greifhy.
Diese Greifhy sind dargestellt hier in der YV-Ebene.
Also das ist die Y-Metrik und das ist das Volume von dem Grasplaner.
So macht man das oder kann man das machen.
Und das ist der beste Greifhy für diese NTO und das sind die zwei
besten Greifhy hier, die mit diesem Box-Based Verfahren generiert
wurden.
Das Ganze haben wir natürlich auf dem AMA ausgeführt.
Und zwar 2009.
Und da sieht man hier ein Beispiel.
Also wir wollen diese Zwieback-Box greifen.
Und Zwieback-Box ist ja eine Box.
Das heißt, da gibt es nicht viel zu approximieren hier.
Man sieht hier, man hat ein Gen von ungefähr 1.
Das heißt, man muss überhaupt nicht splitten.
Und wie ich bereits erwähnt habe, das sind ja ein paar Möglichkeiten
von links, von rechts, von oben.
Von unten kann man ausschließen, weil das Objekt auf der Oberfläche
liegt.
Und das ist gleich hier die Ausführung auf dem AMA 3.
Also das heißt, ich habe hier Greifhy von links, von rechts.
Die kann ich auswählen und dann ausführen.
Da sieht man hier die Kameraperspektive mit der rechten Hand von
rechts oder mit der linken Hand von links.
Das ist so ein zylindrisches Objekt.
Das ist eine Salzbox.
Und zwar rund.
Und die müssen wir natürlich durch eine Box approximieren.
Okay, wir approximieren das durch eine Box.
Wir haben irgendeinen Genwegfaktor hier, auch an der Hand 1.
Und das ist eigentlich mehr oder weniger das Gleiche.
Die Greifhy sind mehr oder weniger das Gleiche.
Das ist nur eine Box.
Ich habe von links, ich habe von rechts und ich habe von oben.
Und vielleicht mehrere Varianten und nicht nur eine.
Das ist das Greifen von der rechten Seite.
Oder das Greifen von oben.
Das sind die Greifhy, die dieser Greifplaner automatisch erzeugt.
Das sind nicht so viele, man muss ja nicht so viel machen, um
irgendeinen Griff auszuwählen.
Und dann ein Top Grasp, wie man sieht hier.
Komplexer wird die Sache, wenn wir so ein Objekt haben.
Also das ist die Sprühdose oder die Sprühflasche.
Ein sehr bekanntes Objekt in der Grasping Community geworden.
Und man sieht hier natürlich, es gibt viele Details.
Und je nachdem, was ich mit diesem Objekt machen will, muss ich an
einer anderen Stelle greifen.
Das war so ein bisschen auch die Motivation für diese Arbeit, die wir
gemacht haben.
Weil wenn ich diese Sprühfläche jemandem geben soll, dann greife ich
normalerweise unten.
Also ich greife die untere Box.
Wenn ich aber sprühen will, dann greife ich ja die oberen Boxen.
Das heißt, man muss diese komplexe Geometrie jetzt mit dem Algorithmus
zerlegen.
Und da sieht man hier...
Was passiert?
Das war ich.
Und man sieht hier, je nachdem, wie groß dieser Faktor ist, hat man...
Entschuldigung.
Nein, so weit sind wir noch nicht.
...hat man eine genauere Repräsentation von dem Objekt.
Und jetzt kann man sagen, in Abhängigkeit von der Aufgabe, greife ich
mal die mittlere Box oder die untere Box oder die obere Box.
Von der linken Seite zum Beispiel.
Und dann wird natürlich dieser Griff hier, das ist die
Ernährungsrichtung dargestellt.
Das ist das Grasp-Starting-Point, wie man hier sieht.
Also wo der Griff losgeht sozusagen und die Hand anfängt, sich zu
schließen.
Und da sieht man hier die zentrale Box.
Also da soll in der Mitte jetzt gegriffen werden.
Oder beziehungsweise die untere Box.
So, und dann wird die untere Box gegriffen.
Das ist natürlich sehr wichtig, wenn man das Objekt jemandem anderen
übergeben wird.
Auch die untere Box von der anderen Seite.
Und die mittlere Box von der rechten Seite.
Also das heißt, man sieht auf die Art und Weise, eigentlich kann man
mit komplexen Geometrien umgehen.
Braucht man nicht so viel zu suchen, sondern man hat einfache,
intuitive Griffe, die resultierend sind.
Das sind tatsächlich Griffe, die vom Algorithmus kommen und die direkt
auf dem AMA hier ausgeführt werden.
Also Stand 2009, wie wir auf dem Video gesehen haben.
Okay, so, das heißt, was sagt uns dieses Verfahren?
Das sagt uns eine Sache, dass die Executive Form vom Objekt eigentlich
nicht so relevant für das Greifen ist.
Das ist natürlich eine große Behauptung, aber steht dazu, dass
Executive Form nicht notwendig ist, um Griffe zu erzeugen.
Wir können hochqualitative Griffe auf Objekte generieren, auch wenn
wir die Form extrem vereinfachen oder approximieren.
Das heißt, über vereinfachte Formen wie Boxen können wir auch die
Objekte besser verarbeiten.
Das heißt, bei diesem Verfahren sind wir tatsächlich zu diesen Boxen
von Punkt Wolken gekommen.
Das heißt, der Ausgangspunkt war Punkt Wolken Repräsentation von den
Objekten, wo wir für diese Punkt Wolken dann die Boxen erzeugt haben
und dann die Griffe.
Das heißt, wir sind von Punkten, 3D-Punkten zu Boxen, zu Griffen
gegangen.
Und wir können den Algorithmus natürlich sehr einfach parametrisieren.
Also wie detailliert wollen wir die Zerlegung oder die Dekomposition
machen.
Und wir konnten natürlich auch zeigen, dass dieser einfache
Algorithmus auch Griffe erzeugt, die auf einem komplexen humanoiden
Roboter mit einer fünffingrigen Hand ausgeführt werden können.
Okay, gut, das ist vielleicht zu einfach.
Man will ja doch den Huma-Simpson vielleicht an den Haaren mal greifen
und die Haare reißen.
Und deshalb muss man natürlich Griffe an genaueren Objektmodellen
erzeugen.
Und wie macht man das?
Man braucht genauere Repräsentationen von den Objekten.
Das ist noch ein Modell hier.
Ich will das, da es so ähnlich ist, will ich das nicht erklären,
sondern wir beschreiben die Objekte durch sogenannte Superquadrikel.
Das ist alles hier definiert.
Das ist auch kein Thema für die Prüfung.
Ich will nur die Parallelitäten zeigen.
Also die Superquadrikel sind kein Thema für die Prüfung oder für die
Klausur.
Das heißt, man hat irgendeine parametrische Repräsentation hier von
irgendwelchen parametrisierbaren Funktionen, die definieren die Form
von einem geometrischen Objekt.
Man sieht hier, man hat fünf Parameter, A1, A2 und A3, die beschreiben
die Größe von der Superquadrikel in Richtung der drei Raumachsen.
Und dann hat man hier diese tollen Exponenten Y1 und Y2, die bestimmen
die Schärfe des Kantenverlaufs bei so einer Superquadrikel.
Und basierend darauf oder mithilfe von dieser Repräsentation kann man
Objekte so repräsentieren, also darstellen.
Zum Beispiel, wir haben hier einen Teddy und man sieht hier, dass man
diesen Teddy zerlegen kann in Superquadrikel, acht
Dekompositionsschritten, da ergibt sich so ein Dekompositionstri.
Man fängt hier an bei dem Objekt hier und dann zerlegt das in zwei
Teile.
Wie man sieht, das ist der Teil hier und der Teil hier.
Man sieht, dass der blaue Teil wiederum zwei Teile bekommt.
Einmal grün hier, um die Arme zu berücksichtigen und einmal nochmal
blau.
Und dass dieser untere Teil hier, der Orangenie, in zwei Teile zerlegt
wird, die nachher dunkelbraun und orange sind.
Das sind die Füße.
Und dann geht es weiter hier bis zu einem bestimmten Grad, macht man
das hier.
Also man verfeinert praktisch diese Approximation bis zu einem
bestimmten Grad.
Dann haben wir diesen blauen Teil hier.
Der blaue Teil wird jetzt im Hauptkörper hier, also Brust sozusagen.
Und dann der rote Teil.
Der rote Teil ist der Kopf.
Und wie man sieht hier, der Kopf wird nochmal in Zentralkopf und Ohren
zerlegt.
Und am Ende hat man praktisch diese Dekomposition von dieser Form.
Und was macht man drauf?
Na ja, Greifplanung.
Wie macht man das?
Für jede Superquadrik werden dann Greifhypothesen erzeugt.
Und Greifhypothesen für diese Superquadriken hier zu erzeugen, ist ja
eine triviale Aufgabe, mehr oder weniger.
Weil wir haben ja die Geometrie vereinfacht.
Wir generieren die Greifhypothesen und dann können wir tatsächlich an
das Bein oder an den Arm oder an den Kopf oder an den Ohren sogar, an
den Ohren hier, können wir solche Griffe an diesem Teddy erzeugen.
Und natürlich evaluieren wir das über die bekannten Algorithmen von
Grasp, French Space, Metriken und so weiter und so fort.
Das sind so Ergebnisse, das sind Objekte hier, das sind deren
Zerlegungen und das sind hier die resultierenden Greifhy und deren
Qualität.
Also diese roten Ziffern oder roten Zahlen hier, die geben etwas über
die Qualität des Griffes.
Ich glaube hier im Sinne von der von der Y-Metrik an.
Ganz zuletzt wollen wir tatsächlich noch einen
Greifplanungsalgorithmus, der von uns kommt, aus meiner Gruppe hier.
Und zwar der eine fast vergessene Art der Repräsentation von Objekten
nutzt, um Griffe zu generieren auf bekannten Objekten.
Und zwar das sind hier Objekte, wie man sieht, das ist die berühmte
Sprühdose, das ist irgendein Container, ein Zylinder, ein Wok, eine
Salatschüssel und so weiter und so fort.
Und das sind Griffe, die mit der armen Hand, also mit einer
fünffingerigen Hand mit acht Freiheitsgraden hier erzeugt werden.
Aber was hat die mediale Achse?
Das habt ihr ja auch das letzte Mal kennengelernt und vielleicht der
eine oder andere, der aufgepasst hat.
Bei Voronoi-Diagrammen könnt ihr irgendwelche Parallelitäten zwischen
Voronoi -Diagrammen und medialer Achse feststellen.
Wenn das nicht der Fall ist, dann wird das jetzt wahrscheinlich klar.
Jetzt kommt die Motivation, aber ich habe motiviert.
Das heißt, wie können wir das verbessern, indem wir geometrisch
sinnvolle Griffe erzeugen und dabei lokale Symmetrie-Eigenschaften von
Objekten berücksichtigen?
Also nicht die normalen, nicht die Boxen und so weiter und so fort,
sondern wie können wir mit Symmetrie-Informationen der Objekte oder
wie können wir Symmetrie-Informationen der Objekte nutzen, um Griffe
zu erzeugen?
Und da sind wir hier, das hat Markus Przybylski in seiner
Dissertation, aber da sind wir 2009 auf die Idee gekommen, dass wir
Objekte nicht durch Boxen und nicht durch normalen Oberflächen oder
Superquadriken repräsentieren, sondern durch ihre medialen Achsen.
Und was ist mediale Achse?
Mediale Achse, das sind so Objekte, Zwieback, Schokolade, Salz und
Sprühfläche und dann Tassen, Salatschüssel und ein Waschmittel-Ding
und das sind die medialen Achsen dieser Objekte.
Weiß jemand aus der letzten Übung, wie die mediale Achse definiert
war?
Okay, habe ich mir gedacht.
So, die mediale Achse, die kommt von Blum in so einem Papier und
erstaunlicherweise, der Titel von dem Papier, Models for the
Perception of Speech and Visual Form.
Also hat mit Greifen eigentlich gar nichts zu tun.
Das heißt, das ist eine Repräsentation, die die Objektform über
enthaltene Kugeln mit maximalem Durchmesser approximiert.
Also nehmen wir mal am einfachsten diese Salatschüssel.
Nehmen wir mal diesen Salzzylinder und dann versuchen wir Kugeln in
diesen Salzzylinder reinzutun, mit maximalem Durchmesser.
Und dann kann man sich vorstellen, man tut die eine Kugel am Boden um
maximale Durchmesser.
Das heißt, sie muss eigentlich die Seiten an mindestens allen Seiten
berühren.
Und dann schieben wir diese Kugel nach oben, bis sie den Deckel
berührt.
Was bedeutet das?
Wenn ich jetzt alle Zentren von allen Kugeln nehme, die ich in diesen
Salatzylinder reingefüttert habe, dann kriege ich eine Linie.
Das ist diese Linie hier.
Also die mediale Achse, das ist diese Linie, die man gar nicht sieht.
Und somit habe ich natürlich das Objekt von oben nach unten
approximiert, aber unten, also unten, ich hätte eine Kugel mitbringen
sollen, unten berührt die Kugel so den Boden, aber drumherum ist noch
frei.
Da muss ich jetzt kleinere Kugeln nehmen, die natürlich diesen Platz
noch abdecken.
Und die Zentren dieser kleineren Kugeln, die sind auf dem grünen
Bereich hier.
Man sieht hier oben und unten habe ich natürlich noch irgendeine
Struktur.
Und das macht man hier für jedes Objekt.
So, diese mediale Achse, die beschreibt dann die tubologische Struktur
von einem Objekt, denn das hier, das ist eine Symmetrieachse von
diesem Objekt, definitiv, die kriege ich automatisch.
Und das ist wahrscheinlich, was mich am meisten interessiert beim
Greifen, weil wer von euch will jetzt diesen Salzzylinder an dieser
Ecke hier so greifen?
Keiner macht das, oder?
Und wir wollen auch natürliche Griffe, wenn es geht, erzeugen.
So, die Vorteile,
gute Approximation der Objektgeometrie, ich kann es betreiben, soweit
betreiben, wie ich will.
Details kann ich beibehalten, wenn ich noch kleinere Kugeln in dieses
Objekt reinfette oder einschreibe.
Und ich habe eine sehr gute Beschreibung der Symmetriebereiche in
diesem Objekt.
So, wie generiert man diese medialen Achsen?
Das habt ihr das letzte Mal in der Übung gesehen.
Nehmen wir mal an, wir hätten so ein Rechteck, 2D, also die Bilder
vorher waren für 3D, aber das ist so ein 2D-Beispiel, was ihr ja kennt
aus der Vorlesung, aus der Übung im letzten Jahr.
Und diese Linien, diese grünen Linien, das ist die mediale Achse von
diesem Rechteck.
Und zwar warum?
Weil wir Folgendes machen.
Wir wissen hier, wir können ja Kugeln entlang dieses Rechtecks mal
reinfetten, die den Rand an mindestens zwei Punkten berühren.
Dann kriege ich mal die Vereinigung aller Zentren dieser Kugeln.
Die Vereinigung aller Zentren aller Kugeln ist natürlich hier.
Dann habe ich diese Linie.
Man sieht natürlich, ich muss so viele Kugeln nebeneinander mal tun.
Und dann habe ich natürlich für die Bereiche, die ich noch nicht
abgedeckt habe, also hier sieht bei mir oval, aber hier sieht es für
die Bereiche, die ich noch nicht abgedeckt habe, ich bin ja von hier
losgegangen.
Also wenn ich zurückgehe, ich bin von hier losgegangen mit diesem
Punkt und ich bin hier zum Stehen gekommen mit diesem Punkt.
Und dann haben wir diese Linie erzeugt.
Aber ich muss auch diese Bereiche hier abdecken.
Ja und das wissen wir eigentlich aus der Übung.
Das heißt einmal die Linie und einmal die anderen Linien.
Hier kleinere Kugeln, die immer an mindestens zwei Stellen dieses
Rechtecks abdecken.
Und die Vereinigung aller Zentren von diesen Kugeln, in dem Fall sind
das Kreise, ist meine mediale Achse.
Das heißt die mediale Achse für diese Form ist nichts anderes als
diese Linie in der Mitte und dann die zwei Linien hier rechts und
links.
So, mediale Achse für einen Kreis oder für eine Kugel, das ist nur
eine Kugel, die ich reinfüttern kann und die mediale Achse ist ein
Punkt.
Weil die mediale Achse ist die Vereinigung der Zentren aller Kugeln,
die ich in diesem Objekt reinfüttern kann.
So, wie sieht es aus mit einem Dreieck?
Ich fange an mit dieser Kugel hier und man sieht, ich muss die
Bereiche hier abdecken und die Bereiche, deshalb wenn ich mich nach
oben bewege, muss ich Kreise kleineren Radius reinfüttern.
Das heißt, wenn ich mich hier nach oben bewege, dann habe ich alle
Kugeln oder alle Kreise mit dem Zentrum auf dieser Linie.
Und das Gleiche mache ich natürlich für die Richtung und für die
Richtung.
Wie sieht es aus bei G4 hier?
Das ist der erste Kreis und da muss ich mich natürlich in jede
Richtung mal bewegen.
Und dann kriege ich, wie man sieht hier aus diesen komplexen
Geometrien oder aus diesen komplexen Formen, kriege ich ziemlich
einfache Repräsentationen von diesen Objekten.
Gucken wir mal zu einem L.
Wir fangen an hier, also ein Teil von einem Rechteck.
Ganz kurz, ein Teil von einem Rechteck, das kennen wir eigentlich, das
war G1 und das war bis hier G1.
Da haben wir hier so eine Linie, so eine Linie und dann sowas.
Und dann versuchen wir jetzt Kreise mal einzufüttern, die immer den
Rand an mindestens zwei Punkten berühren.
Und da sehen wir hier, dass wir in der Mitte natürlich auch so einen
gekurvten Verlauf haben.
Natürlich müssen wir diesen Bereich hier abdecken und deshalb die
Linie hier.
Also, das ist mehr oder weniger, was ihr kennt.
Jetzt, wie setzen wir das ein für Greifplanung?
Was bringen mir... Ah, ich merke, die Zeit ist um, deshalb sind alle
ein bisschen unruhig.
Aber es gibt noch, glaube ich, 33 Sekunden.
Also, das nächste Mal werden wir sehen, wie wir ausgehend von diesen
komplexen Formen, also Rechteck, Dreieck und so weiter und so fort,
mithilfe von diesen komischen Formen, also mithilfe von den medialen
Achsen, Griffe auf diese Objekte generieren.
So, für heute bedanke ich mich für die Aufmerksamkeit und wünsche euch
noch einen schönen Abend.
Bis Donnerstag.