Deck 2 Flashcards
(25 cards)
Dynamischer Arbeitsraum und Teilwissen: Online-Bewegungsplanung von Roboteragenten
Unvollständiges Wissen der (Arbeits)Umgebung.
* Zum Erkennen der Umgebung werden Sensoren benutzt
* Lokale Sensoren sind am Roboter verbaut (local world model),
* Globale Sensoren sind in der Umgebung verbaut und liefern dem Roboter
Feedback(global world model).
* Der Weg des Roboters muss anhand des Feedbacks der Sensordaten(des neuen World models) angepasst werden, wenn Hindernisse erkannt werden. Dies wird immer mit einem „Schritt“ Verzögerung berechnet.
Algorithmus:
1. Der Bewegungsplaner fordert das neue Worldmodel von den Sensoren an
2. Der Bewegungsplaner setzt die Parameter wie eigene Position und Position der Hindernisse fest. Die Evaluationsfunktion des Suchgraphen muss festgelegt sein.
3. Der Actionplaner berechnet mithilfe des A Algorithmus den neuen Weg unter Berücksichtigung der von Schritt 2 festgelegten Parameter. Um den weiteren Weg zu finden, wird das FSM-model des Roboters verwendet. Die Abbruchbedingung für A ist:
-Das Ziel wurde erreicht.
-OPEN ist leer
-OPEN hat mehr als N Elemente
4. Der neue Weg wurde berechnet und die Bewegung wird umgesetzt. Es wird wieder bei Schritt 1 begonnen.
(OPEN = Liste aller zu untersuchenden Knoten; CLOSED = alle bereits untersuchten Knoten)
Räumliches Konflikt-Management Komponente (Negotiation)
Negotiation Component Kommt zum Einsatz, wenn es einen Konflikt gibt.
Mögliche Konflikte:
* Ziele zweier Roboter stehen in direktem Konflikt
* Ziel ist für beide Roboter akzeptabel. Es kann aber aufgrund von Einschränkungen bei den Operationen nicht erreicht werden
Berechnung Roboterpriorität:
Benötigte Informationen von beiden Robotern
* Gesamtpriorität der Aufgabe => berechnet aus
-taskpriority
-job number in task,
-motion number in job
-(Es wird nicht berücksichtigt wie viel der Bewegung/Aktionschon
ausgeführt wurde)
* Temporärer Prioritätsfaktor => berechnet aus
-aktuellerDistanzzurzielposition
-Restzeit der bewegung
-aktuelle zeitliche verzögerung der Bewegung
-Modus des Path Tracing
-Ergebnis aus Verhandlungen (Negotiation) mit anderen Robotern
-(Es wird berücksichtigt wie viel der Bewegung/Aktionschon ausgeführt wurde)
Die aktuelle Priorität wird ermittelt indem man das Produkt aus Gesamtpriorität und Temporärem Prioritätsfaktor bildet. Diese aktuelle Priorität wird dann zwischen den Roboter Agents ausgetauscht. Der Roboter mit der höheren aktuellen Priorität ist der Gewinner und es wird versucht eine nicht-symmetrische Strategie anzuwenden. Führt dies nicht wird die symmetrische Strategie angewandt.
Konfliktlösungsstrategien
Test des Primärziels: Zuerst wird geprüft, ob das primäre Systemziel überhaupt erreichbar ist.
Asymmetrische Kompromissstrategie:
* Anwendung: Wenn das Ziel erreichbar ist und ein Konflikt vorliegt.
* Prinzip: Eine Konfliktpartei “gewinnt”, die andere muss ihre Zielerreichungsbedingungen durch Akzeptanz eines Kompromisses ändern.
Symmetrische Kompromissstrategie:
* Anwendung: Wenn die asymmetrische Strategie scheitert.
* Prinzip: Beide Konfliktparteien müssen Änderungen an ihren Zielerreichungsbedingungen vornehmen.
Pragmatische Lösungsstrategie:
* Anwendung: Wenn die symmetrische Strategie scheitert.
* Prinzip: Die Verhandlung endet ergebnislos. Der Konfliktmanagement-Agent entscheidet, welche Agentenziele ignoriert werden müssen, vorausgesetzt, das primäre Systemziel ist weiterhin erreichbar.
Multi Agent Arbeitsraum (MAS-System) und räumliche Konflikte - Verhandlungsbasierte Online-Bewegungsplanung
In einem MAS müssen Roboter und Menschen zusammenarbeiten. Eine wichtige Hauptkomponente dabei ist, dass alle ihre Bewegungen ausführen können und kein Konflikt entsteht (Security Zone verletzen). Dies ist mit berechneten Prioritäten und dem Mental Model möglich.
Ziel: Alle Roboter sollen ihre Zielkonfigurationen erreichen können.
Eine kollisions- und konfliktfreie Konfiguration (feasible Konfiguration) kann erreicht werden, wenn alle statischen und dynamischen Bedingungen erfüllt sind.
Statische Bedingung: Beschreiben die Bedingungen mit denen der Roboter und seine Umwelt kollisionsfrei sind
Dynamische Bedingung: Beschreiben die Bedingungen mit denen der Roboter und die anderen Roboter/Menschen kollisionsfrei sind. Diese Bedingungen verändern sich über die Zeit.
Sozialmodell des Roboters
Das Sozialmodell des Roboters befindet sich in der Knowledge Base.
Im Sozialmodell werden Informationen über die anderen Roboter (auch Collaboration genannt) gespeichert. Am Anfang ist diese Liste leer. Immer wenn ein Konflikt mit einem Roboter entsteht, wird dieser Roboter in die Liste aufgenommen, da angenommen wird dass es ein Nachbar ist.
Diese Information von der Collaboration-Liste/des Social Models kann genutzt werden, wenn der Roboter eine Kollaboration mit einem/mehreren anderen Roboter/n eingehen möchte um eine Aufgabe zu lösen.
Um den richtigen Roboter auszuwählen sortiert der Agent seine Nachbarn nach Nähe und Start State. Er sucht solange bis er geeignete Nachbarn für eine Zusammenarbeit gefunden hat.
qcontact => Der Status des Agents zum Zeitpunkt des Konflikts
dcontact => Die Distanz zum Roboter zum Zeitpunkt des Konflikts
Tcontact => Der Zeitpunkt des Konflikts
qtransfer => Ein interner Status, der zuerst leer ist. Die Tansferposition wird berechnet, wenn eine Kollaboration stattfinden soll und beide Roboter dafür ein gemeinsames Angebot für den Contract Manager vorbereiten
Konflikte
Konflikte entstehen, wenn die Konfiguration zweier oder mehrerer Roboter eine Kollision herbeiführen. Um dies zu verhindern wird eine Negotiation (Verhandlung) Komponente benötigt.
Verhandlungskomponente: Kompromissstrategien zur Konfliktlösung (Negotiation)
- Start (Idle): Das System ist bereit.
- Zielerreichbarkeitsanalyse: Bei einer Konfliktsituation wird geprüft, ob das primäre Ziel des Systems erreichbar ist.
-Ziel nicht erreichbar: Wenn das Ziel unmöglich ist, wird der Prozess beendet oder neu geplant (Stop Action, Replanning Request). - Nicht-symmetrische Kompromissstrategie:
-Anwendung: Wenn das Ziel erreichbar ist.
-Prinzip: Eine Partei “gewinnt”, die andere muss durch Kompromiss Zugeständnisse machen.
-Scheitern (“Change Not Accepted”): Führt zur symmetrischen Strategie. - Symmetrische Kompromissstrategie:
-Anwendung: Wenn die nicht-symmetrische Strategie scheitert.
-Prinzip: Beide Parteien müssen Änderungen vornehmen, um das Ziel zu erreichen.
-Scheitern (“Changes Not Accepted”): Führt zur pragmatischen Strategie. - Pragmatische Lösungsstrategie:
-Anwendung: Wenn die symmetrische Strategie scheitert.
-Prinzip: Die Verhandlung endet ohne explizites Ergebnis. Der Konfliktmanagement-Agent entscheidet, welche Unterziele von Agenten ignoriert werden können, solange das primäre Systemziel erreichbar bleibt.
Das System passt seine Verhandlungsstrategie stufenweise an, von Kompromissen mit nur einer Seite über beidseitige Zugeständnisse bis hin zur Priorisierung des Primärziels über individuelle Agentenziele
Kooperation und Koordination des Multi-Agent-Systems: Koordinationsdimensionen und Systemdimensionen
In einem MAS befinden sich sehr viele Roboter mit verschiedenen Features und Ausprägungen (Angefangen von einzelnen Sensoren bis hin zu menschenähnlichen Robotern).
Um diese besser klassifizieren zu können verwendet man sogenannte Dimensionen, die angeben welche features der Roboter besitzt. Diese Dimensionen werden in 2 Gruppen eingeteilt: Coordination Dimensions und System Dimensions.
Koordinationsdimensionen
* Level 1 – Kooperation: o kooperativ
-nichtkooperativ
* Level 2 – Knowledge:
-Aware(Teilwissen)
-Unaware(keinWissen)
* Level 3 – Coordination:
-Strongly Coordinated (vertraut auf Koordinationsprotokoll)
-Weakly Coordinated (vertraut nicht auf Koordinationsprotokoll)
-NotCoordinated
* Level 4 – Organization:
-Strongly Centralized (derselbe Leader in der ganzen Mission)
-Weak Centralized (mehr als 1 Agent ist Leader in der Mission)
-Distributed (Agenten arbeiten autonom, ohne Leader)
Systemdimensionen
* Level 1 – Kommunikation:
-Direkte Kommunikation (ein gebaute Hardware - teuer und unzuverlässig)
-Indirekte Kommunikation (Austausch von Informationen durch Veränderungen in der Umwelt; gemeinsame Kommunikationsstruktur, auf der jeder Agent gleichzeitig zugreifen kann.
* Level 2 – Composition (Teamzusammenstellung)
-heterogen(unterschiedlicheHard-undSoftware)
-homogen(TeammitgliedermitderselbenHard-undSoftware)
* Level 3 – Systemarchitektur:
-deliberative(MitgliedermacheneineStrategiezurReorganisationdes ganzen Teams)
-reaktiv(jederRoboterhateinenAnsatzseineneigenenTaskzu reorganisieren)
* Level 4 – Teamgröße (meist sehr eingeschränkt bzgl. der Agents in einem MAS)
Sozialmodell des Roboteragenten
Sozialmodell des Roboters
Das Sozialmodell des Roboters befindet sich in der Knowledge Base.
Im Sozialmodell werden Informationen über die anderen Roboter (auch Collaboration genannt) gespeichert. Am Anfang ist diese Liste leer. Immer wenn ein Konflikt mit einem Roboter entsteht, wird dieser Roboter in die Liste aufgenommen, da angenommen wird dass es ein Nachbar ist.
Diese Information von der Collaboration-Liste/des Social Models kann genutzt werden, wenn der Roboter eine Kollaboration mit einem/mehreren anderen Roboter/n eingehen möchte um eine Aufgabe zu lösen.
Um den richtigen Roboter auszuwählen sortiert der Agent seine Nachbarn nach Nähe und Start State. Er sucht solange bis er geeignete Nachbarn für eine Zusammenarbeit gefunden hat.
qcontact => Der Status des Agents zum Zeitpunkt des Konflikts
dcontact => Die Distanz zum Roboter zum Zeitpunkt des Konflikts
Tcontact => Der Zeitpunkt des Konflikts
qtransfer => Ein interner Status, der zuerst leer ist. Die Tansferposition wird berechnet, wenn eine Kollaboration stattfinden soll und beide Roboter dafür ein gemeinsames Angebot für den Contract Manager vorbereiten
Leader-Rolle in der Cobot-Zusammenarbeit, z.B. bei der Montage
KOORDINATION VON ROBOTERBEWEGUNGEN
Centralized coordination (on-line)
Der Contract Manager (zentraler Koordinator) berechnet schrittweise den kompletten Bewegungspfad des zu manipulierenden Objekts und die dazu benötigten Griffpositionen der Roboteragents.
Jeder Agent berechnet dann für sich die benötigten Roboterkonfigurationen über die inverse Kinematik. Dann führen alle Agents die Bewegungen gleichzeitig aus. Diese Methode wird meistens verwendet.
Decentralized coordination: One agent as a coordinator (on-line)
Der koordinierende Agent berechnet Schritt für Schritt zwei Dinge:
1. die eigenen Endpositionen
2. Die Griffpositionen (POSEi) für die übrigen Agenten
Er sendet die Griffpositionen an alle kooperierenden Agenten. Die Agenten bestimmen ihre inverse Kinematik, und alle führen eine gemeinsame Bewegung durch. Dann wird dieser Vorgang wiederholt.
Diese Methode braucht viel rechenleistung.
Neue Technologie: Agent-oriented Workcell
Sehr flexible, eigene Arbeitszelle für Roboteragents.
Standard Technologie: Arbeitslinie
Roboteragents werden auf einer Montaglinie eingesetzt.
Doppelarm-Roboter: Methoden zur Vermeidung von Selbstkollisionen
Motion Planner
* schnell
* Bewegungsabläufe an Umgebung anpassen
* kollisionsfrei
* viele Freiheitsgrade durch mehrere Joints machen die Anwendung eines Sampling basierten Algorithmus notwendig (Rapidly-Exploring-Trees (RRTs))
Sampling basierte Algorithmen
* zb Rapidly Exploring Trees
* Auflösung der Arme ist wichtig
* Je höher Auflösung desto besser die Qualität
* Je niedriger die Auflösung desto kürzere Laufzeit
* Es muss eine Zwischenlösung dafür gefunden werden => Falls Hindernis aufgrund von Qualität nicht erkannt wird benötigt man eine reactive detour motion (schnelle Bewegungsänderung wenn Hindernis erkannt wird)
Reactive Collision Avoidance
* Bereichssensoren (Abstand) oder sensitive Skin (~Touch) an jedem Manipulatorglied. Sensordaten schätzen die Nähe des Hindernisses mit der Verknüpfung der Frage (für jedes aktive Gelenk)
* Beim Eindringen des Hindernisses in die Sicherheitszone r wird die interne Meldung “Gefahr” an die reaktive Kollisionsvermeidungskomponente gesendet
* Hindernisvermeidung → durch Einleitung zusätzlicher Kräfte im künstlichen Potentialfeld für jedes Gelenk
-diese Kräfte erzeugen die zusätzlichen Fehler zwischen den sog. virtuellen Punkten und den Gelenkpositionen
-diese Fehler können in die inverse Berechnungsmethode eingebracht werden (virtuelle Punkte stellen die gewünschte Position der i-ten Verbindung dar, die eine Kollisionsvermeidung erreicht)
-virtuelle Punkte werden ggü.liegend zum Hindernis platziert
Zusammenarbeit zwischen Mensch und Roboter - Ebenen der Autonomie
Motion Planner:
* schnell
* Bewegungsabläufe an Umgebung anpassen
* kollisionsfrei
* viele Freiheitsgrade durch mehrere Joints machen die Anwendung eines Sampling basierten Algorithmus notwendig (Rapidly-Exploring-Trees (RRTs))
Sampling basierte Algorithmen
* zb Rapidly Exploring Trees
* Auflösung der Arme ist wichtig
* Je höher Auflösung desto besser die Qualität
* Je niedriger die Auflösung desto kürzere Laufzeit
* Es muss eine Zwischenlösung dafür gefunden werden => Falls Hindernis aufgrund von Qualität nicht erkannt wird benötigt man eine reactive detour motion (schnelle Bewegungsänderung wenn Hindernis erkannt wird)
Reactive Collision Avoidance
* Bereichssensoren (Abstand) oder sensitive Skin (~Touch) an jedem Manipulatorglied. Sensordaten schätzen die Nähe des Hindernisses mit der Verknüpfung der Frage (für jedes aktive Gelenk)
* Beim Eindringen des Hindernisses in die Sicherheitszone r wird die interne Meldung “Gefahr” an die reaktive Kollisionsvermeidungskomponente gesendet
* Hindernisvermeidung → durch Einleitung zusätzlicher Kräfte im künstlichen Potentialfeld für jedes Gelenk
-diese Kräfte erzeugen die zusätzlichen Fehler zwischen den sog. virtuellen Punkten und den Gelenkpositionen
-diese Fehler können in die inverse Berechnungsmethode eingebracht werden (virtuelle Punkte stellen die gewünschte Position der i-ten Verbindung dar, die eine Kollisionsvermeidung erreicht)
-virtuelle Punkte werden ggü.liegend zum Hindernis platziert
Mensch-Roboter-Zusammenarbeit - Arten des Informationsaustauschs
2 Dimensionen/Ebenen des Informationsaustausches. Es kommt auf 2 Dinge an:
1. Das Kommunikaitonsmedium
2. Das Format der Kommunikation
Primäre Medien werden durch Sehen, Hören und Tasten abgegrenzt
Diese Medien manifestieren sich in der HRI durch:
* Visualle Displays: meist GUIs oder AR -Interfaces
* Gesten: Hand-, Gesichts-bewegungen, bewegungsbasierte Signalisierung der Absicht
* speech & natural language: auditives Sprechen und textbasierte Antworten,
Schwerpunkt liegt meist auf Dialogen und Interaktionen mit gemischten Initiativen
* Non-speech-Audio: häufig bei Alarmierung verwendet
* physische & haptische Interaktion:
- oft verwendet im Zsm-Hang mit AR, Teleoperation - um das Gefühl der Anwesenheit in telemanipulations Tasks zu bewirken
- und zur Unterstützung des emotionalen, sozialen und unterstützenden Informationsaustausches
Rollen des Menschen im Human-RobotsTeam
HRI-probleme sind nicht nur auf einen Menschen & einen Roboter beschränkt
Roboter, die z.B. bei Such- & Rettungseinsätzen eingesetzt werden -> werden meist von 2 oder mehr Personen mit speziellen Rollen im Team geleitet
Rollen die ein Mensch/Roboter in HRI übernehmen kann:
* Supervisor
* Operator
* Maschinenbauer
* Fachkollege
* Zuschauer (Bystander)
* Mentor - der Roboter ist in einer “teaching”/leadership Rolle für den Menschen
* Information Consumer: Der Mensch kontrolliert den Roboter nicht, aber er nutzt Informationen die der Roboter zur Verfügung stellt z.B.: eine Aufklärungsaufgabe
Idee der gesprochenen sprachbasierten (SPL) Interaktion von Mensch-Roboter
SPL = “Spoken Language Programming System’s
Das Ziel des “Spoken Language Programming System’s (SPL)”, ist es dem Menschen die Interaktion mit einem Roboter über die Verwendung der natural language zu ermöglichen.
Interaktion über die SPL:
* Befehle äußern(Go, Back, Step Left, …)
* Programmieren
* Unterrichten des Roboters
Haptische, kraft- und berührungsbasierte Interaktion Mensch-Roboter
Haptische Geräte sind mechatronische Systeme, die Kräfte auf einen menschlichen Benutzer ausüben, die das Gefühl nachahmen, reale Objekte direkt zu berühren oder zu manipulieren. In der Regel üben kinästhetische haptische Schnittstellen nicht nur Kräfte auf den Benutzer aus, sondern erfassen auch die Position und Bewegungen der Hand oder der Finger des Benutzers.
Die Haptik kann in drei Bereiche unterteilt werden:
1. Menschliche Haptik - Lehre der menschl. Wahrnehmung & der Kontrolle durch Berührung
2. Maschinenhaptik - Design, Konstruktion und Verwendung von Maschinen zum Ersetzen oder Verstärken der menschlichen Berührung
3. Computerhaptik - Algorithmen und Software im Zusammenhang mit das Berühren und Fühlen von virtuellen Objekten erzeugen.
Haptische Mensch2Roboter-Interaktion: Haptische und Touch-Robotersteuerung (Teach in Programming)
Beim Teach-In-Verfahren (kurz: Teachen) fährt der Programmierer den Roboter mit einer Steuerkonsole in die gewünschte Position. Alle so erreichten Koordinaten (Punkte) werden in der Steuerung gespeichert. Dieser Schritt wird solange wiederholt, bis der gesamte Arbeitszyklus einmal durchlaufen ist.
Es gibt 2 Verfahren:
1. P2P-Point-to-Point: Der Roboter fährt von Punkt n nach Punkt n+1, wobei der geometrisch günstigste Weg gewählt wird. Diese Methode ist schnell, führt aber zu einem unbekannten Pfad zwischen den Punkten. Diese Fahrt ist in aller Regel keine Gerade.
2. CP-Continuous Path: Hier wird der Roboter angewiesen, nicht nur von einem Punkt zum anderen zu fahren, sondern auch noch einem vorgegebenen Pfad zu folgen. Diese Fahrt ist i. d. R. langsamer als P2P, dafür wird aber ein bestimmter Pfad nur innerhalb geringer Toleranzen verlassen. Diese Methode eignet sich für komplexe Fügevorgänge, bei denen es weniger auf Geschwindigkeit als auf Genauigkeit (z. B. wegen Hindernissen) ankommt.
Haptikbasierte Interaktion Roboter2Mensch (Online Programming)
Haptische Geräte sind mechatronische Systeme, die Kräfte auf einen menschlichen Benutzer ausüben, die das Gefühl nachahmen, reale Objekte direkt zu berühren oder zu manipulieren. In der Regel üben kinästhetische haptische Schnittstellen nicht nur Kräfte auf den Benutzer aus, sondern erfassen auch die Position und Bewegungen der Hand oder der Finger des Benutzers. Die Haptik kann in drei Bereiche unterteilt werden:
1. Menschliche Haptik - Lehre der menschl. Wahrnehmung & der Kontrolle durch Berührung
2. Maschinenhaptik - Design, Konstruktion und Verwendung von Maschinen zum Ersetzen oder Verstärken der menschlichen Berührung
3. Computerhaptik - Algorithmen und Software im Zusammenhang mit das Berühren und Fühlen von virtuellen Objekten erzeugen.
Ablauf Greifsteuerung
* Input: Greifbewegung von einem Menschen, Kräfte und Drehmomente für die Bewegung an einem haptischen Interface
* Evaluation : Das System evaluiert die Durchführbarkeit und passt die Daten an die antromorphe Hand an. Kann die Bewegung nicht durchgeführt werden, wird das dem Benutzer mitgeteilt.
* Positive Evaluation: Die Bewegung und die Eigenschaften davon wird im System gespeichert
* Negative Evaluation: Der Benutzer kann eine neue Alternative wählen oder einen Systemvorschlag annehmen, bei dem manche Parameter verändert wurden
* Simulation und Evaluierung der Qualität: Die Greifbewegung wird mehrmals
simuliert und Metriken werden berechnet um die Qualität zu ermitteln. Greifbewegung wird auch für nicht antromorphe Roboterarme angepasst.
* Aufbau einer Datenbank: Es wird eine Datenbank mit durchführbaren, getesteten und qualitativ hochwertigen Greifbewegungen angelegt
* Griffanpassung: Anhand der Daten aus der Datenbank können Robotergriffe so modifiziert werden, dass sie besser auf gewisse Tasks und Objekte anwendbar sind.
* Lernen nicht antropomorphischer Griffe mit ML: Der menschliche Benutzer kann Alternativen zum Roboterhandgriff demonstrieren. Durch Machine Learning kann dies dem System gelernt und Griffe können verbessert werden.
Gesten geführte Steuerung für Mensch-Robot Interaktion
3D Datenerfassung und Gestenerkennung
Man benötigt eine 3D Datenerfassung in Echtzeit um die Gesten des Menschen zu erkennen und dem Roboter. Solch eine 3D Datenerfassung muss den Menschen im ersten Schritt gut ausleuchten oder es muss generell eine gute Belichtung vorhanden sein. Dann projiziert das System schnell varierende Muster und aus den Informationen heraus können die Bilder verarbeitet und die Gesten erkannt werden.
Ablauf Gestensteuerung
Betritt der Mensch den Arbeitsbereich rund um den Roboter, erkennt dieser dessen Gesten, Gesicht und Körperhaltung. Die Daten nutzt er zum einen, um die Zusammenarbeit sicher zu gestalten, zum anderen zur Steuerung. So kann der Mensch seinem metallenen Kollegen beispielsweise über Hand- und Armgesten Arbeitsaufträge geben – der Roboter analysiert dabei selbst komplexe Bewegungen.
Visions- und Lidarbasierte Objekterkennung und -klassifizierung für die Mensch- Roboter-Kommunikation
=> Klassifizierung mit Voxelization (3D Deep Learning) und Projektion (2D Deep Learning)
Der Einsatz von 3D Vision Systemen gibt dem Roboter neue Möglichkeiten. Damit kann er mehr Dinge (Objekte, andere Roboter, eigene Teile, Menschen) in der Umgebung erkennen und analysieren. Hauptsächlich werden solche Systeme für die Identifikation und Navigation in der Arbeitszelle eingesetzt. Dafür werden mehrere Scanner und Algorithmen zur Bilderkennung verwendet. Die Scanner fungieren dabei als Augen des Roboters.
Anwendungsfälle:
* Vision based Positioning
* Vision based Object Recognition
* 3D Reconstruction
* Vision based Target Following
Humanoid Design-Konzepte
Humanoid:
* Hauptunterschied zu anderen Robotern → Bewegungen sind dem Menschen nachgebildet (v. a. „Biped-Robots“ (Roboter auf zwei Füßen)
* „Halbe“ Humanoide → z.B. oberer Teil ähnlich Mensch, unterer Teil eine runde Plattform
* Einsatz: in Bereichen, wo mit für Menschen designte Werkzeuge oder Umgebungen umgegangen werden muss
* Allg. Bestandteile: Kopf, zwei Arme, zwei Füße, einen Torso bzw. Rumpf
* interagieren mit ihrer Umwelt, bewegen sich darin und sammeln/verwenden über sie Daten.
* Fokus auf self-collision detection, Pfadplanung und Hindernisvermeidung
Konzepte:
1. Human motion: Bewegung wie Mensch (Herausforderung: Balance!)
2. DOF Configuration: Viele DOFs (System sollte sehr redundant sein)
3. Mechanisms und Hand: Mechanismus, Hand… ähnlich wie beim Menschen – Bewegung von Arm und Finger etc.
4. Emotion Expression: Der Roboter kann (mehr oder weniger) Emotionen zeigen
Humanoide und Androiden : DOF , Bewegungsstil und Emotionen
- Android: Menschenähnliche Roboter (Gesicht, Augen, Nase, …)
- Humanoid: Roboter, die nur grundsätzliche Eigenschaften des Menschen haben (Beine, Arme, Kopf). Gesicht ist jedoch oft anders (zb NAO)
DOF:
* Androide eher mehr DOF/sehr redundant, wie Menschen
* Humanoide alles was (technisch) benötigt wird
Bewegungsstil:
* Siehe https://www.dailymotion.com/video/x2mt8pu → Sehr redundantes (flexibles) System, das dieselben Bewegungen wie ein Mensch machen kann.
Emotionen:
* Androiden → menschenähnliches Gesicht
* Humanoide → z.B. LEDs
* Neutral, angeekelt, Angst, Traurigkeit, Glück, Überraschung, Wut
Hierarchische Kinematik von Humanoiden und Aufgaben von Humanoiden-Segmenten
Der Roboter besteht aus verschiedenen, kinematischen Ketten mit unterschiedlichen Aufgaben:
* Kopf: Beobachten mittels Kamera/Mikrofon/Sensorik; Sprachausgabe
* Arme: Manipulation (Dinge greifen, bewegen, bearbeiten, etc.) (Force Sensors, Range Sensors, Touch/Temperture Sensors)
* Beine: Bewegung im World-Space (Force Sensitive Resistors, Bumpers/Touch Sensors, Gyroscpe, Accelerometer)
Balancing Problem und Lösungsansätze
Balancing
Ist ein großes Problem bei humaoiden Robotern. Balancing kann erreicht werden über unabhängige Kontrollmechanismen, die das „Center of Pressure“ messen und dafür sorgen, dass der Roboter aufrecht stehen bleibt. Dabei soll die Balance gegeben sein und der Roboter so wenig Aufwand wie möglich darin aufwenden, ähnlich wie bei Menschen. Das Konzept, mit dem diese Probleme gelöst werden heißt Zero Moment Point (ZMP)
2 Strategien
* Ankle-Strategy: Fixiert alle Joints außer den Knöcheln; balancierte wie ein single- inverted (umgekehrtes) Pendel.
* Hip Strategy: Mit Hüftbeugen wird der Masseschwerpunkt (Center of Mass)
repositioniert.
Momentum Based Methode
Durch die Kontrolle der ground reaction force und des center of pressures für jeden support Fuß kann die Methode auf natürliche Weise die Balance halten. Allerdings nur auf flachem Untergrund. Dabei minimiert die Methode das Wackeln der Knöchel.
Beispiele
* ASIMO steht immer etwas mit geneigten Beinen da, um Gleichgewicht besser halten zu können.
* Bestes System hat Atlas
**Schwachstelle: **Wenn Strom ausfällt, kippt der Roboter in der Regel um.
Training and Balancing mit Motion-Capture-System-Ansatz
Ein Mensch trägt einen Body-Suit und die Bewegungen davon werden aufgezeichnet. Dies wird dann auf den Roboter übertragen.
Methoden:
* Nakaokas Method (Imitiert Hüftbewegungen eher schlecht)
* Proposed Method (Hüftbewegungen können besser nachgestellt werden)
Beispiele für biologisch inspirierte Roboter
- ATLAS von Boston Dynamics
- HONDA Asimo (am weitesten entwickelt)
- HANSON ROBOTICS Sophia
- FESTO BionicOpter - FESTO Bionic Kangaroo - Boston Dynamics „Spot“
Nao/Pepper-Programmierung - parametrisierte behaviour boxes und teach in
In der Choregraphe Suit gibt es sogenannte behavior boxes, welche Verhaltensweisen / Aktionen des NAOs bzw. logische Aktionen darstellen. Aus diesen können komplexere Programme zusammengestellt werden. Die “Boxen” werden in der Box Library zusammengefasst und werden unter anderem in folgende Kategorien unterteilt:
* LEDs
* Sensors: Sensoren auslesen
* Logic: Logische Operationen und Flow Control (Schleifen, IFs, …) [wie ichs verstehe, steht in den Folien als Punkt, in Choreographe heißt das “Flow Control”]
* Math: Mathematische Operationen (Random Numbers, Rechenoperationen,…)
* Motion: Bewegungen des NAO steuern (Stehen, Sitzen, Gehen, …)
-Walk [In den Folien als eigene Kategorie]
* Audio: Abspielen von Sounds und Sprachausgabe, Spracheingabe
* Video: Video-Objekterkennung, Videoaufnahme
* Tracker: Folgen von Objekten (Personen, Red Ball, …)
* Tool: bearbeiten vom Input von anderen Boxen
* Communication: E-Mail, Bluetooth, Infrarot, …
Teach In
Die Timeline kann außerdem beim Teach-In von Bewegungen verwendet werden - Schritte:
1. Starre(dass Roboter dort hält wo er ist) der zu lernenden kinematischen Kette
deaktivieren
2. Gelenke (Joints) per Hand in die gewünschte Position bewegen
3. Starre wieder aktivieren (enslaving)
4. Konfiguration in ein Key Frame der Timeline speichern (via left bumper).