Deck 1 Flashcards
(25 cards)
Aufbau (Architektur) intelligenter Roboter-Agent und seine Komponenten
1.Wahrnehmung (Perception):
* Zuständig für die Aufnahme von Informationen aus der externen Welt und der gemeinsamen Umgebung
* Dies geschieht mithilfe von Sensoren, die verschiedene Daten wie visuelle Informationen, Audiodaten, taktile Informationen, Distanzen usw. erfassen können.
* Aufgabe der Perzeption ist die Sensorfusion, Weltmodellierung und Intention Recognition (Erkennung von Absichten anderer Agenten).
2.Kognition (Cognition):
Diese Komponente stellt das “Gehirn” des intelligenten Agenten dar. Hier werden die wahrgenommenen Informationen verarbeitet, Entscheidungen getroffen und Handlungen geplant.
* Verhaltens- und Reaktionsauswahl (Behaviors and response selection): * Auswahl geeigneter Verhaltensweisen basierend auf der aktuellen Situation.
* Lernen und Aktionsplanung (Learning and action planning): Fähigkeit, aus Erfahrungen zu lernen und zukünftige Handlungen zu planen.
* Verhandlung und Kooperation (Negotiation and Cooperation): Fähigkeit, mit anderen Agenten zu kommunizieren, zu verhandeln und zusammenzuarbeiten, um gemeinsame Ziele zu erreichen.
* Intern beinhaltet die Kognition einen Knowledge Base (KB) (Wissensbasis), verschiedene Modelle wie das World Model (Weltmodell), Self (Plant) Model (Selbstmodell), Social Model (soziales Modell) und Mental Model (mentales Modell).
3.Aktion (Action):
Diese Komponente ist für die Ausführung der geplanten Handlungen in der externen Welt zuständig.
* Dies geschieht mithilfe von Aktuatoren oder Effektoren, die Bewegungen, Manipulationen oder andere Interaktionen mit der Umgebung ermöglichen.
* Wichtige Aspekte sind Motion planning and execution (Bewegungsplanung und -ausführung), Action safety protection (Sicherheit bei der Ausführung von Aktionen) und Emotion demonstration (Demonstration von Emotionen, falls relevant für die Interaktion).
4.Kommunikation (Communication Component):
* Ermöglicht dem intelligenten Agenten die Interaktion mit anderen Agenten (Mensch oder Roboter) über eine Human + Robotic Agent Communication Interface.
* Beinhaltet die Fähigkeit zum Senden und Empfangen von Nachrichten.
5.Verhandlung (Negotiation Component):
* Spezifische Komponente für die Aushandlung von Vereinbarungen und die Lösung von Konflikten mit anderen Agenten.
6.Knowledge Acquisition Component:
* zuständig für den Erwerb und die Aktualisierung von Wissen in der Wissensbasis (KB).
7.Action Execution Component:
* Detaillierte Steuerung der Aktuatoren zur Umsetzung der geplanten Aktionen.
8.Technical (Hardware) Component:
* Umfasst die physischen Komponenten des Roboters, wie Sensoren und Effektoren.
9.Intern Communication Bus:
* Ein interner Kommunikationskanal, der den Austausch von Informationen zwischen den verschiedenen Komponenten des intelligenten Agenten ermöglicht.
Arten von technischen Komponenten (Robotern) von Intelligenter Robotic Agent
- Stationary Robots (Industrie Roboter
- Mobile Robots (Mars Rover)
- Humanoid & Service Robots (Tesla)
Technische Komponente: Arten von Manipulator Arm und hierarchische Strukturen
1.Das anthropomorphe System:
Beschreibt ein artikuliertes System, ähnlich einem menschlichen Arm mit verbundenen Abschnitten.
* Besitzt “Schulter”- und “Ellbogen”-Gelenke, die hauptsächlich Drehbewegungen ermöglichen.
* Ist hochgradig manövrierfähig.
* Hat den Nachteil, dass es keine große Reichweite abdecken kann und es schwierig ist, das Ende des Arms in einer geraden Linie zu bewegen.
2.Das zylindrische System:
* Der Arm kann sich auf einer zentralen Säule drehen.
* Ermöglicht dem Roboterarm, sich über die Oberfläche eines imaginären Zylinders zu bewegen.
* Kann sich viel schneller als der kartesische Roboterarm bewegen.
* Eignet sich gut zum Be- und Entladen.
3.Das polare System (Spherical System):
* Besitzt ein sphärisches System, bei dem der Arm so gelagert ist, dass er sich in der vertikalen Ebene drehen und entlang der z-Achse auf und ab bewegen kann.
* Ermöglicht dem Roboterarm, die Oberfläche einer Kugel abzudecken.
* Kann sich schneller in vertikaler Richtung bewegen als ein zylindrischer Arm.
4.Das hierarchische System:
* Hierarchische Systeme bauen auf Gliedmaßenkonnektivität, die in Modelle (Gelenke) eingebaut ist.
* Modellkörper (Glieder) fungieren als Knoten eines Baumes.
* Alle Körperrahmen sind lokal (relativ zum Elternkörper).
* Transformationen, die die Wurzel aller Kinder betreffen, beeinflussen alle Kinder.
* Transformationen, die irgendein Kind betreffen, beeinflussen alle seine Kinder.
Aktuatoren:
Ein Aktor wird als der Mechanismus definiert, der den Roboterarm antreibt.
Es werden drei Haupttypen von Aktuatoren genannt:
* Elektrische Motoren: Eignen sich besser für das Antreiben von Drehbewegungen (revolute joints).
* Hydraulische Aktuatoren: Generell gut geeignet für prismatische Gelenke, da sie eine lineare Direktbewegung erzeugen.
* Pneumatische Aktuatoren: Ähnlich wie hydraulische Aktuatoren für lineare Bewegungen geeignet. Hydraulische und pneumatische Aktuatoren werden auch als Linearantriebe bezeichnet.
Technische Komponente: Wahrnehmung - Art der internen und nach außen gerichteten Sensoren
Intern:
* Angular Encoder: Misst den Rotationsgrad eines Gelenks
* Force Sensor
* Sun Sensor: Misst den Stand der Sonne
* Tilt Sensor: um den Roboter auszubalancieren
* Gyroscope: Misst Winkelgeschwindigkeit oder Drehrate
* Accelerometer: Misst die Beschleunigung
Außen:
* Tactile Sensor
* Infrared Ranging Sensor
* Laser Ranging
* Ultrasonic (Ultraschall)
* Vision (Computer Vision - Stereo Vision)
* Pressure & Temperatur Sensor
* Air Pressure
* Magnetometer
* Loudspeakers
* Microphone
* 2D Camera
* 3D Camera
Technische Komponente: Arten der Näherungs- und Abstandsmesssensoren
- Infrared Ranging Sensor: Misst wie viel Infrarot-Licht zum Sensor zurückgeworfen wird
- Laser Ranging Sensor: Misst wie lange es dauert bis der Laser wieder zum Sensor zurückgeworfen wird; oder wo der Laser auf ein Objekt trifft
- Ultrasonic Sensor: Misst wie lange es braucht bis der Ultraschall wieder auf den Sensor trifft
- Vision Sensor: Durch Stereovision wird genaue Position durch triangulation bestimmt
Technische Komponente: Effektoren - Arten der Greifer und Roboterwerkzeuge
**Effektor: **Ende eines Roboter-Armes; kann ausgetauscht werden, je nachdem was gebraucht wird
Gripper
* Mechanisch
* Vacuum
* Magnetisiert
* Adhesive
* Hooks, Scoops
Tools
* Welding (Spot or Arc)
* Drilling, grinding
* Cutting
* Pressure sprayer
Entwicklungsphasen vom Industrieroboter über den intelligenten Roboteragenten zum Human-kollaborativen Roboterassistenten (Steigerung der Fähigkeiten)
Industrie Roboter:
* Manipulate - arms, gripper
* Move - wheels, fly, swim, orbit
* Operate - remotely, program control
* Sense - reactive behaviour
* React - responds to different. input signals
Hazardous Environment:
* for Space exploration f.e.
* Tiefsee Roboter
Cooperative Robotic Agents:
* Operate – program control, autonomously motion and action planning
* Sense – recognition- vision, sensors, other inputs
* communicate – between agent group
* think – artificial intelligence, mechanism, self-awareness
* intelligent react – adapt and respond to different environments
Humanoid Robots:
* mimic – appearance, human tasks
* communicate – expressions, sounds, voice, digital, analog
* think - brain, mechanism, self-awareness
* operate remotely, program control, autonomously
* react and respond to different situations (humans & environment)
* assistive
* respect human factor: safety, privacy, satisfaction, etc.
Notwendige Fähigkeiten des Human-kollaborativen Roboterassistenten (Human-Robot-Cooperation)
Action Safety:
* Es müssen Sicherheits-Komponenten gegeben sein
* Action Planning System
* Reactive Control System: hat ein Concflict Resultion System integriert
Ein human-kollaborativer Roboterassistent benötigt folgende Kernfähigkeiten für eine effektive und sichere Zusammenarbeit mit Menschen:
- Präzise Wahrnehmung: Umfassende Erfassung der Umgebung (visuell, taktil, Kraft), Erkennung und Verfolgung von Menschen (Pose, Gesten, Blick), sowie Objekterkennung und -klassifizierung.
- Intelligente Kognition: Erkennung menschlicher Absichten, gemeinsame und adaptive Aufgabenplanung, Fehlererkennung und -behandlung.
- Effektive Kommunikation: Verbale und nonverbale Interaktion, verständliche Rückmeldung an den Menschen.
- Adaptives Lernen: Verbesserung durch Interaktion, Anpassung an menschliche Arbeitsstile, Situationsbewusstsein.
- Sichere und Kooperative Bewegung: Kollisionsvermeidung, Kraftbegrenzung, sanfte Bewegungen, gemeinsames Greifen und Handhaben von Objekten, unterstützende Bewegungen.
- Zuverlässigkeit: Fehlertoleranz, Stabilität, Benutzerfreundlichkeit.
Zentrales und dezentrales Management im Human-Robotikagenten-System (Task, Contract und Conflict Management)
Zentrales Management:
Eine zentrale Einheit steuert Aufgabenverteilung, “Verträge” (Kooperationsvereinbarungen) und Konfliktlösung.
- Task: Zentrale Zuweisung und Überwachung.
- Contract: Zentrale Initiierung und Verwaltung von Vereinbarungen.
- Conflict: Zentrale Intervention und Lösung von Konflikten.
Vorteile: Globale Übersicht, einfache Koordination, konsistente Entscheidungen.
Nachteile: Anfällig für Ausfall, Kommunikationsengpass, unflexibel, Überlastung.
Dezentrales Management:
Einzelne Agenten treffen autonom Entscheidungen zu Aufgaben, “Verträgen” und Konflikten durch direkte Interaktion.
- Task: Selbstzuweisung oder verteilte Mechanismen.
- Contract: Direkte Verhandlung zwischen Agenten.
- Conflict: Direkte Verhandlung oder gemeinsame Protokolle.
Vorteile: Robustheit, Skalierbarkeit, Flexibilität, Effizienz.
Nachteile: Koordinationsschwierigkeiten, Ineffizienzpotenzial, schwierige Konfliktlösung, unvorhersehbar.
Hybride Ansätze: Kombination zentraler Richtlinien mit dezentraler Ausführung ist üblich. Die Wahl hängt von den Systemanforderungen ab.
Ein hybrider Ansatz kann die Vorteile beider Systeme kombinieren, beispielsweise indem eine zentrale Einheit für die Gesamtplanung und -koordination zuständig ist, während die Roboter selbstständig Entscheidungen für ihre lokalen Aufgaben treffen.
Hierarchische Kinematikketten komplexer Roboter (Humanoid) und mechanische Einschränkungen
Hierarchische Kinematik komplexer Roboter (wie Humanoiden) bedeutet, dass die Gelenke in einer Eltern-Kind-Beziehung verbunden sind. Die Bewegung eines “Eltern”-Gelenks beeinflusst alle nachfolgenden “Kinder”-Gelenke. Die Gliedmaßen bilden Ketten, und der gesamte Roboter kann als Baumstruktur gesehen werden. Transformationen (Bewegungen/Rotationen) der Basis beeinflussen alles, während Transformationen eines Knotens nur seine “Kinder” beeinflussen.
Mechanische Einschränkungen begrenzen die tatsächlichen Bewegungsmöglichkeiten durch:
- Gelenkgrenzen: Maximale/minimale Winkel oder Ausdehnungen.
- Geschwindigkeits-/Beschleunigungsbegrenzungen.
- Kraft-/Drehmomentbegrenzungen.
- Singularitäten: Verlust von Freiheitsgraden in bestimmten Posen.
- Selbstkollisionen.
- Arbeitsraumgrenzen: Beschränkter erreichbarer Bereich des Endeffektors.
Die Anzahl der Freiheitsgrade (DOF) bestimmt die Manipulationsfähigkeit, wobei mechanische Einschränkungen die nutzbaren Bewegungen innerhalb dieser Grade einschränken.
Vorwärts- und Inverse Kinematik - Mehrdeutigkeitsproblem und Prinzip der Lösungsmethode
Vorwärtskinematik: Berechnet eindeutig die Endeffektorposition aus gegebenen Gelenkwinkeln.
Inverse Kinematik: Berechnet (oft mehrdeutig) die Gelenkwinkel, die eine gewünschte Endeffektorposition erreichen. Das Mehrdeutigkeitsproblem bedeutet, dass es mehrere mögliche Roboterarmeinstellungen für dieselbe Endposition geben kann.
Lösungsansätze:
- Analytisch: Direkte Formeln (oft nur für einfache Roboter, liefert potenziell mehrere Lösungen).
- Numerisch: Iterative Annäherung (für komplexere Roboter, findet meist eine Lösung abhängig vom Startwert).
Die Wahl der inversen Kinematiklösung erfordert oft zusätzliche Kriterien zur Auswahl der geeigneten Konfiguration.
Robot Dynamics-Modell und seine Anwendungen
Das dynamische Modell beschreibt, wie Kräfte/Drehmomente die Bewegung (Beschleunigung) eines Roboters beeinflussen.
- Direktes Modell: Berechnet Beschleunigung aus bekannten Kräften/Drehmomenten, Position und Geschwindigkeit. Für Simulation und Bewegungsanalyse.
- Inverses Modell: Berechnet erforderliche Kräfte/Drehmomente für gewünschte Beschleunigung, Geschwindigkeit und Position. Wichtig für Robotersteuerung in Echtzeit.
Methoden zur Modellierung:
- Euler-Lagrange: Energiebasiert, symbolische Gleichungen, gut für Analyse und Regelungsdesign.
- Newton-Euler: Kräfte-/Drehmomentbilanz, numerische/rekursive Gleichungen, gut für Regelungsimplementierung (inverse Dynamik).
Weitere mechanische Prinzipien können zur Ableitung genutzt werden. Das dynamische Modell ist grundlegend für das Verständnis und die Steuerung von Roboterbewegungen.
Was macht ein gutes Modell der Umgebung (Weltmodel) für Behaviour Roboteragenten aus?
Wenn der Roboter sich selbst im Modell (der Umgebung) orientiert
* und mit dem Modell einen Plan erstellen kann
* und er diesen Plan in der realen Umgebung umsetzen kann
* und der Plan den erwünschten Effekt/das erwünschte Ziel hat
Weltmodell: Methoden zur Szenenmodellierung bei vollständiger Kenntnis der Umgebung
Die Szene einer Arbeitszelle ist hierarchisch aufgebaut Unterscheidung:
* real cell - physical group of machines
* virtual cell - computer model in central control system
VIRTUAL CELL
1.Logisches Modell
* Gruppen von Maschinen und Roboter werden in Untergruppen (=Machining Centers) aufgeteilt
* Wartung der Machining Centers durch einzelne Roboter → Teile werden von Agents transferiert, die die Zelle bedienen (bringen Machining Centers bspw. Materialien)
2.Geometrisches Modell (Szenenmodellierung)
Jedes Objekt wird mit einem Solid oder Wireframe Modell erstellt und beinhaltet Design+Analyse der Objekte in einer geometrischen Datenbank → Objekte einer Roboterszene können mit jeder Orientierung/Position geplant werden!
* Solid Modelling: Primitive geometrische Objekte werden erstellt. Durch Bearbeitung wie Ausschneiden, Intersection, Union, usw. können komplexere Objekte aufgebaut werden. (zb mit CAD)
* Wireframe Modelling: Repräsentiert die Form eines Objekts durch Abstände der einzelnen Primitive über Linien und Punkte; 2 Schemata gespeichert - 1. Ecken, 2. Kanten inkl. Koordinaten
* Surface Modelling: beschreibt das Äußere eines Objekts als eine Art Hautoberfläche. Diese ist dabei durch lofts, sweeps und curves definiert (komplizierter, aber robuster als Solid und Wireframe)
Weltmodell: Darstellungen von Arbeitsszenenmodellen bei teilweiser oder fehlender Kenntnis der Umgebung
(allg. haben wir diese Unkenntnis bei mobilen Robotern, weil da der Arbeitsraum mit Menschen und anderen Robotern geteilt werden muss)
Scanning - Geometrisches Modell der Roboter-Umgebung aufbauen
* Ständiges Scannen der Umgebung (zB Infrarot, Sensoren, Kameras), produziert viele Punkte (als Voxel) → cloud of points
* Nachbearbeitung dieser Punktwolke
-Reduktion der Punkteanzahl
-Clustering - Extraktion der Objekte
-Smoothing - Rauschen in den Eingabedaten reduzieren
-Oberflächen-Rekonstruktion oder volumetric modeling (siehe Frage 25)
Das gescannte Modell kann auf verschiedene Weisen gespeichert/dargestellt werden:
* Volumetric Modeling (Frage 25)
-mit 2D Belegungsgitter (nur Höhe und Fläche interessant) zB Auto als 2D Bild
-mit 3D Belegungsgitter (3D Voxel Grid) zB Drohne generiert 3D Bild
* Wireframe Modeling (Frage 26)
Volumetric-Modellierung -Online Belegunsraster 3D (Occupancy grid)
- = 3D Raum wird in kleine Würfel (=Voxel) aufgeteilt → jeder Voxel kann mehrere Daten speichern zB Farbe, Transparenz
- Belegungsraster (= Sammlung von Voxeln) zeigt, wo es Objekte gibt
Annahme: es gibt einen bekannten, gebundenen Bereich, in dem das relevante Objekt liegt. Bereich ist meist ein Würfel, der die Arbeitsszene umgibt.
Vorteile/Nachteile:
* schnell, aber grob
* desto mehr Punkte, desto genauere Abbildung
Oktärbäume (Octrees): platzsparendere Kodierung, wenn viele Voxel transparent sind
Wireframe Modeling: On Line - Drahtmodellierung
Daten werden durch Bereichs-Scanning-Systeme ermittelt und meist als Polygon-Grid der Abstände vom Sensor zum Objekt gescannt. Wenn der Sensor und das Objekt fixiert sind, können nur “Punkte im sichtbaren” Bereich erfasst werden. Fortgeschrittenere Systeme ermöglichen die vollständige digitale Erfassung - bewegliche Sensoren ermöglichen das Erfassen von zylindrischen Objekten - hier werden alle generierten Daten von unterschiedlichen Ansichten zusammengefügt.
Sequenzieller Prozess; Schritte zur Oberflächenrekonstruktion:
1. Ausreißer entfernen
2. glätten, um Noise zu reduzieren
3. Objekte extrahieren (Clustering)
4. Mesh/Netz Rekonstruktion
Use Case: lokaler Roboter - Objekte müssen bewegt werden
Möglichkeiten
* Multi-View (Mehrere Bilder) Scanning
* Raw Point Cloud Vorverarbeitung (Ausreißer entfernen)
* Punktwolken-Clusterung (mittels Triangulation, nur Cluster mit großer Dichte werden berücksichtigt, andere werden gelöscht)
* Objekt-Extrahierung
* Netzrekonstruktion
* Objektlokalisation
Was bedeutet Semantic3d und wofür wird es verwendet?
Punktwolken Deep Learning = populäre Methode der 3D Objektklassifikation (zur Computervision)
Punktwolke = Menge von 3D Punkten P(x, y, z), die von Sensoren erzeugt werden
* meist zur Visualisierung & Klassifizierung von 3D Objekten in der Robotik verwendet
* nah an rohen Sensordaten
* wird vor dem Ausliefern an ein neurales Netz in andere Repräsentationen konvertiert (sonst zu hohe Datenmenge)
Klassifizierung
* Ein Objekt erkennen: erkennen was es ist (zb Auto)
Part Segmentierung
* Segmentierung (Zerlegung) der Szene in Objekte/einzelne Parts
Semantische Segmentierung
* Bild wird in semantisch sinnvolle Teile geteilt und dann in vordefinierte Klassen gelabelt
Verwendete Technologien
* Convolutional Neural Network (CNN) (zB PointNet) → gute Ergebnisse
* Forest Classifier → auch populär, 1. Bild rechts
Convolutional Neural Network:
Die Punktwolke wird in verschiedene Repräsentationen umgewandelt.
Roboter-Agent Komponente zum Schutz und zur Kontrolle der Sicherheit (Safety Protection Component)
Durch die Hochgeschwindigkeit von Robotersystemen ist eine Security Komponente nötig.
Möglichkeit zur Kontrolle: Security Zone
Durch Zonen rund um die Objekte werden Security Zonen aufgebaut. Wenn irgendein Objekt in der Zone ist, wird ein Alarm ausgelöst. Es kann gemessen werden, wie weit ein Objekt in der Security Zone ist.
State Engine:
Zustand des Motors der Sicherheitsschutz-Komponente
Inputs
* Anfrage für Aktionsänderung
* Sensordaten
* Neue State Konfiguration
States
* Idle
* Negotiationsantwort
* Security Analyse
* Gefahrenerkennung
* Knowledge Antwort
* Emergency Aktions- und Bewegungsplanung
Outputs
* Vorschlag für Aktionsänderung
* Sicher
* Umweg oder Verlassen
* Konfigurationsanfrage
Wissensbasis - Mentales Modell eines Roboteragenten
Mentales Modell: Beinhaltet Wissen darüber welche Risiken gewisse Entscheidungen mit sich bringen. Im mentalen Modell befindet sich auch die Komponente für Verhandlung und Verantwortlichkeit (negotiation-responsible)
Negotiation-Responsible Component trifft Entscheidungen gegenüber:
* Tracing (Pfad) Genauigkeit
* Anpassung des vorher geplanten Pfads
* Fine Tuning einer Aktion
Neurofuzzy = Ungenauigkeitslogik (Wie Menschen lernt der Computer ungenaue/unpräzise Entscheidungen zu treffen, da es nicht möglich ist präzise Entscheidungen zu treffen)
Neurofuzzy-regelbasiertes Entscheidungssystem
* man bekommt akzeptables Sicherheitsniveau
* Durch aktive IF-THEN-Regeln beschrieben
* Input für das System (3 linguistische Werte: SMALL, MEDIUM, LARGE)
-Distance = sprachliche Darstellungen der Entfernungen zu den Hindernissen und Änderungen der Priorität der Aufgabe
-Priority/Proposed Safety Zone = Priorität der Aufgabe o Believes = Vertrauen in Roboter-Partner-Aktionen
Fuzzyfication → Distanz und Priorität in linguistische Werte umwandeln
Fuzzy Inference → If-Then-Else Regeln bauen
*Fuzzy-Entscheidungsregeln *→ Wenn Distanz=x, vorgeschlagene Safety Zone =y und Believe=y, dann ist die akzeptierte Safety Zone …
Defuzzyfication → linguistische in echte Werte umwandeln
Reaktive Kollisionsvermeidung von Sicherheitskomponenten
- 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
Bewegungsplanung Komponente des Roboteragenten: Aufgabe und Lösungen Prinzip (C-Space)
Jeder Pfad/Weg im C-Space repräsentiert eine vollständige Bewegung vom Start bis zum Ziel eines Roboters im ursprünglichen Raum.
C-Space = Raum aller möglichen Konfigurationen
* jeder Roboter eines 2D/3D kart. Workspaces wird auf einen Punkt im n-D C-Space gemappt
* jeder Roboterpfad ist eine Kurve im C-Space
-Bewegungspfad = Ein Stück einer Kurve, die zwei Konfigurationen verbindet -Bewegungstrajectory = Ein Pfad, der über Zeit parametriert wurde und einige Constraints hat:
—Endliche Länge
—Begrenzte Krümmung (Curvature)
—Glättung
—Minimale Länge, Zeit und Energie
Einige Lösungsansätze:
* Roadmap-Ansatz
* Sichtbarkeitsgraph-Methoden (mögliche Wege sind über Punkte & Kanten definiert = Sichtbarkeitsgraph, siehe Bild)
* Potenzialfelder
* Zell-Dekompositionsansatz (Konfigurationsraum wird in Zellräume zerlegt, die für die Pfadplanung verwendet werden können)
Desto mehr Knotenpunkte, desto mehr Rechenzeit!
Kollisionsfrei Bewegungsplanung in 2D -CS (2D -(x,y) -Konfigurationsraum) für mobile runde Roboter)
Um Hindernissen auszuweichen werden folgende Dinge definiert:
* Free Space => Sammlung von Roboterkonfigurationen, die möglich sind
* C-Obstacle Space => Sammlung von Roboterkonfigurationen, bei denen der Roboter mit einem Hindernis kollidiert
* Semi-Free Configuration => Eine Konfiguration, bei der der Roboter das Hindernis berührt aber nicht damit überlappt
* Free Configuration => Eine Konfiguration, bei der der Roboter das Hindernis nicht berührt/überlappt
* Free Path => Ein freier Pfad liegt komplett im Free Space
2D(x,y) – Configuration Space:
Man muss immer beachten, wo der Körper des Roboters ist, sodass er nicht kollidiert. Im 2D Raum ist das einfacher als im 3D Raum. Es gibt zwar ein Alpha (Rotation des Roboters), aber dieses Alpha bleibt immer konstant. Verändern tut sich nur x und y. Der Roboter kann hier nur eine Translation und keine Rotation durchführen.
Anmerkung: Mit 3D ist hier nicht das dreidimensionale Koordinatensystem, das wir kennen. Als dritte Dimension kommt hier die Rotation des Roboters dazu.
Online Belegungsraster (occupancy Grid) und virtuelles Potenzialfeld Methode
Mit dem Algorithmus “virtuelle Potenzialfeld Methode” ist es möglich Hindernisse zu erkennen und einen Weg um die Hindernisse herum zu finden. Dies funktioniert mit einem Occupancy-Grid und einem Polar Histogramm, das vom Roboter ausgeht. Auf dem Occupancy Grid wird abgebildet, ob es ein Hindernis auf diesem Platz ein Hindernis gibt oder nicht (Hindernis > 0). Das Polar Histogramm zeigt dem Roboter an in welche Richtung es Hindernisse gibt.
Algorithmus:
Gegeben: Sonarabstand d (Wieweit Histogramm nach hinten geht)
1. Eine einzelne Zelle entlang der Achse wird inkrementiert
2. Occupancy Grid und wird kontinuierlich mit den Sensorwerte upgedated
3. Mit dem Occupancy Grid wird ein “virtual force field” (Potenzialfeld) berechnet
4. Hindernisse aus dem Belegungsraster nach der Richtung vom Roboter aggregieren 5. Polar Histogramm erstellen
6. Schwellenwert bestimmt die Sicherheit
7. zum Zentrum des sicheren Sektors in Zielrichtung steuern