Bewegungsalgorithmen in der Robotik. Seminar über Algorithmen (SoSe 2004) Tobias Hermes, Raphaela Wrede

Ähnliche Dokumente
Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung

Hindernisumfahrung eines autonomen Roboters in einer unbekannten statischen Umgebung. Ronny Menzel

Cell Decomposition & Potential Field

Autonome Roboter. Von Matthias Hauth Seminar Moderne Robotik

Dynamische Geometrie & Komplexitätstheorie. Céline Schöne und Gunther Kraut

Prüfung WS 2006/07. Robotik

Verkehr Analyse. Inhalt. Was ist Verkehr Analyse? Geschichte der Verkehr Analyse. Iavor Jelev Jintao Ding

9 SLAM Simultaneous Localization and Mapping

KEY AGREEMENT IN DYNAMIC PEER GROUPS

Einführung in die Informatik Turing Machines

Grundlagen der Objektmodellierung

Prof. J. Zhang Universität Hamburg. AB Technische Aspekte Multimodaler Systeme. 20. Januar 2005

Gliederung. Gliederung (cont.) Grundlage zur Programmierung auf Aufgabenebene

Bewegungsplanung von mehrachsigen Gelenkrobotern

Algorithmen für schwierige Probleme

Lineare Gleichungssysteme

Einführung in die Robotik. Jianwei Zhang

Arbeitsblatt: Wie rede ich mit einem Roboter?

Planung von Handlungen bei unsicherer Information

Javakurs für Anfänger

Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Grundlagen: Algorithmen und Datenstrukturen

Einführung in die Informatik Turing Machines

Seminar über Algorithmen

Bachelorarbeit: Programmable Matter

Datenstrukturen und Algorithmen (SS 2013)

Glossar. zum Projekt. Dynamische Geometrie-Software. Version 1 vom Gruppe geo09, Projektleiter: Andy Stock

Gliederung. Gliederung (cont.) Gliederung (cont.)

Man sieht hier einzelne Fragmente, die man häufig bei der Programmierung mit Schleifen antrifft. Es gibt eine lokale Variable, die vor dem

( )= c+t(n-1) n>1. Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Vorwärtskinematik und inverse Kinematik. Andreas Schmidtke

Einführung in die Robotik. Jianwei Zhang

Gliederung. Gliederung (cont.) Gliederung (cont.)

Methoden der Offline Bewegungsplanung für Roboter

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

3. Das Reinforcement Lernproblem

6. Funktionen, Parameterübergabe

Simulation als epistemologische Grundlage für intelligente Roboter

Lösungsvorschlag Serie 2 Rekursion

Übersicht. 3.1 Datendarstellung durch Zeichenreihen. 3.2 Syntaxdefinitionen. 3.3 Algorithmen

Klausur Algorithmen und Datenstrukturen II

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Modell-Programmierte Roboter Regelung. Univ.-Prof. Dr. Michael Hofbaur Institut für Automatisierungs- und Regelungstechnik, UMIT, Hall i.

Eingabegeräte. für Virtuelle Präsenz. Mark Poguntke 1 / 24. Proseminar Virtuelle Präsenz SS 2005 Universität Ulm

3 Programmierung von Robotern

Radgetriebene Systeme

Stand der Vorlesung Komplexität von Algorithmen (Kapitel 3)

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.

Einführung in die Robotik. Jianwei Zhang

Kapitel 10. Komplexität von Algorithmen und Sortieralgorithmen

Blue-Bot TacTile Reader

Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen

Seminar. Algorithmische Geometrie

von Prof. Dr. P. H. Osanna, Prof. Dr. N. M. Durakbasa, Dr. techn. L. Kräuter Inhalt

SIMERO: Erzeugung von flüssigen und schnellen Roboterbewegungen

MoveIt Setup Assistent

Blatt 10 Lösungshinweise

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Wissensbasierte Systeme. Kombinatorische Explosion und die Notwendigkeit Heuristischer Suche. Heuristiken und ihre Eigenschaften

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition)

Jan Henrik Sylvester. 10. Februar 2003

Minimalpolynome und Implikanten

Algorithmen und Datenstrukturen 1 Kapitel 5

Pattern Movement. Technische Universität Darmstadt Seminar Informatik SS 06 Prof. Dr. Fürnkranz. Ante Zubac

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

Werkzeuge in der mathematischen Lehre und Forschung: Fachspezifische Software

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Fachspezifische Software in der mathematischen Lehre und Forschung

Kapitel 4: Komplexitätstheorie Gliederung

Anwendungsbezogenes Tracking

Beschleunigungsverfahren für Raytracing Grids Hierarchische Grids Bewertung Fazit

Grundlagen der Künstlichen Intelligenz

Seminararbeit: K-Opt und die Lin-Kernighan-Heuristik für das allgemeine TSP

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

1 Karol stellt sich vor

Blue-Bot LEHRANLEITUNG

1. Prinzip von d'alembert

Map Matching. Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Prof. J. Zhang Universität Hamburg. AB Technische Aspekte Multimodaler Systeme. 16. Dezember 2003

Implementierung des Scan-Matching-Algorithmus MbICP im Fach Mensch-Maschine- Kommunikation/Robotik

Bildregistrierung in der Medizin. Fethi KAYA - Yusuf ÖZBEK

ADS: Algorithmen und Datenstrukturen 2

Docken von Proteinen. Timo von Oertzen St. Johann, September 2002

HMMs und der Viterbi-Algorithmus

GIS-basierte topologische Fahrzeuglokalisierung durch LIDAR Kreuzungserkennung

Clustering. Ausarbeitung von Michael Speckner. Proseminar Data Mining

Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Nullpunkte und Nullpunktverschiebungen

Dynamische Optimierung

Cognitive Interaction Technology Center of Excellence

Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.

Vor(schau)kurs für Studienanfänger Mathematik: Aussagen und Mengen

Modellgestützte Online-Programmierverfahren für Industrieroboter

DAP2 Probeklausur. Matrikelnummer Vorname Nachname. Datum: 24. Juli C. Sohler A. Krivo²ija, A. Rey, H. Sandvoÿ

3.3 Laufzeit von Programmen

Transkript:

Bewegungsalgorithmen in der Robotik Seminar über Algorithmen (SoSe 2004) Tobias Hermes, Raphaela Wrede

Einleitung: Roboter... Erfüllen Aufgaben, indem sie Bewegungen ausführen, im physikalischen Raum, der sie umgibt Sind programmierbar, Software enthält Roboter-Algorithmen Robitk 2

Roboter-Algorithmen (allgemein) Unterscheiden sich von traditionellen Algorithmen Prozesse finden häufig nicht in streng begrenzten und definierten Umgebungen statt Aufgaben/mögliche Eingaben (Daten) sind unterspezifiziert Robitk 3

Grundlegende Prinzipien in der Robotik Erstes Ziel eines Roboter-Algorithmus ist es, eine Prozedur zu beschreiben, um eine Teilmenge der realen Welt (Arbeitsumgebung (workspace)) zu kontrollieren, um ein bestimmtes Ziel zu erreichen Robitk 4

Grundlegende Prinzipien in der Robotik Roboter-Algorithmen muss so entworfen sein, dass er eine Menge von relevanten Zuständen identifizieren kann, um Abfolge von Operationen auswählen zu können, um die Arbeitsumgebung durch eine Folge von Zuständen zu führen bis Zielzustand erreicht ist 3 Probleme: Zustandwahl, Operationsauswahl, Konstruktion von Zustandserkennungsfunktionen Robitk 5

Algorithmen-Planer (planner) Algor. muss Sensing, Planning und Acting miteinander verweben z.b. muss zur eindeutigen Zustandserkennung on the fly Sensing durchgeführt werden Es ist deshalb ein sog. Planer nötig, der einen Steuerungs-Algorithmen generiert und als ein separater Algorithmus. gesehen werden kann Robitk 6

Roboter-Algorithmus = Planungs-Algorithmus + Steuerungs-Algorithmus Robitk 7

Hohe Laufzeiten treten auf, weil sehr große Räume betrachtet werden müssen deshalb wiegt man Vollständigkeit gegen Laufzeit ab und verzichtet häufig auf Vollständigkeit Robitk 8

Hohe Kosten für das Planen, das on-line geschehen muss Algorithmus muss sehr vorsichtig Zeit für das Planen und andererseits für das Steuern einteilen Zeiteinteilungsproblem bis heute sehr wenig verstanden Robitk 9

Roboter-Algorithmen bedenken Geometrie Alle Roboter, egal für welchen Zweck müssen die Geometrie ihrer Umgebung berücksichtigen Zusätzlich auch noch Kräfte wie Gravitation, Trägheit, Reibung(bei Kontakten) D.h. Konzepte der Mechanik müssen betrachtet werden Robitk 10

Roboter-Algorithmen haben physikalische Komplexität Charakterisiert durch Anzahl benötigter Hände, Anzahl Bewegungen oder Blinklichter Dies beeinflusst Laufzeit sowie Baukosten/Herstellungskosten Falls physikalische Komplexität zu groß ist, kann dies dazu führen, dass Aufgabe redefiniert wird Robitk 11

Aufgabenbereiche für Roboter-Algorithmen Bearbeitung von Teilen (Part Manipulation) Wird sehr oft in der industriellen Robotik benötigt Robitk 12

Das Greifen Hauptziel ist es, ein sicheres Greifen von einem Objekt, dessen Modell als Eingabe dient, zu berechnen Robitk 13

Anbringen, Befestigen, Fixieren (Fixturing) Die meisten Operationen in der industriellen Fertigung verlangen das Fixieren von Teilen Oft werden einstellbare Halterungssystem verwendet (z.b. Lochgitter) Robitk 14

Teilzuführung (Part Feeding) Muss sehr schnell erfolgen und mit hoher Zuverlässigkeit Basiert meistens auf nicht-greifende Methoden Robitk 15

Montageplanung (Assembly-Sequencing) Ziel: sowohl eine Reihenfolge, in der die Teile zusammengefügt werden können, als auch die dafür benötigten Bewegungen müssen berechnet werden Damit kann geprüft werden, ob ein best. Produkt leicht herzustellen ist Robitk 16

Wegplanung (Basic Path Planning) Bewegungsplanung: : Roboter werden mit der Fähigkeit ausgestattet, automatisch zu entscheiden, welche Bewegungen ausgeführt werden müssen Bei der grundlegenden Wegplanung geht es darum einen kollisionsfreien Weg für einen Roboter in einem statischen Umfeld zu finden Andere Bewegungsplanungsprobleme beschäftigen sich mit sich bewegenden Hindernissen, mehreren Robotern, bewegbaren Objekten und Unsicherheit... Robitk 17

Begriffe: Konfiguration (Configuration) Konfiguration eines Roboters A = Position und Orientierung jedes Teils von A Konfigurationsraum (Configuration Space) C Konfigurationsraum C = Menge aller Konfigurationen von A Freier Weg (Free Path) Weg, der vollständig im freien Raum, d.h., ohne Hindernisse, liegt Halbfreier Weg (Semi-free Path) Weg im Verschluss von freiem Raum Robitk 18

Komplette Algorithmen Finden immer Lösung, falls eine existiert und melden es, falls keine existiert Benötigen exponentielle Zeit in der Anzahl der Freiheitsgrade Robitk 19

wahrscheinlichkeitstheoretische Algorithmen (Probabilistic Algorithms) Vollständigkeit wird gegen Zeit abgewägt Falls eine Lösung existiert, wird diese nur mit hoher Wahrscheinlichkeit gefunden Benutzen häufig Randomization Bei einfachen geometrischen Umgebungen kann logarithmische Laufzeit erreicht werden Robitk 20

Wegplanung für nichtsteuerbare Roboter (Path Planning for nonholonomic Robots) Anzahl der Parameter, die gesteuert werden, ist kleiner als die, die eine Konfiguration definieren Beispiele: car-like Roboter enthalten in Lastzügen, Flugzeugen, Sateliten Robitk 21

Wegplanung für nichtsteuerbare Roboter Es ist wenig bekannt über die Wegplanung für nichtsteuerbare Roboter, die nicht lokal steuerbar sind Der Algorithmus entscheidet ob ein Weg zwischen zwei Konfigurationen existiert oder nicht Robitk 22

Bewegungsplanung mit Ungewissheit Problemformulierung Urbild (Preimage) schrittweise Planung (One-Step Planning) Mehrstufige Planung (Multistep Planning) grenzsteinbasierte Planung (Landmark- Based Planning) Robitk 23

Bewegungsplanung mit Ungewissheit Problemformulierung Eingabe: Startort,, an dem sich der Roboter schon bewegt hat Zielort,, an dem der Roboter aufhören soll sich zu bewegen Robitk 24

Bewegungsplanung mit Ungewissheit Problemformulierung Output: Abfolge von Bewegungsbefehlen, falls eine existiert, mit der der Roboter das Ziel vom Start aus erreichen kann. Jeder Befehl ist beschrieben durch einen Bewegungsvektor und einer Abbruchbedingung. Robitk 25

Bewegungsplanung mit Ungewissheit Problemformulierung Der Bewegungsvektor legt das erwünschte Verhalten der Roboter über die Zeit fest. Die Abbruchbedingung ist eine Bool sche Funktion, abhängig von den Sensormessungen und der Zeit. Ein Plan kann mehrere Verzweigungen haben. Robitk 26

Bewegungsplanung mit Ungewissheit Urbild (Preimage) Ein Urbild, in Abhängigkeit von einem Ziel und einem Befehl, ist ein Ort, von dem aus nach Ausführung des Befehls das Ziel erreicht werden kann Ein Ort heißt backprojection, wenn von dieser aus der Roboter das Ziel mit Hilfe der Bewegungabfolge erreichen kann Robitk 27

Bewegungsplanung mit Ungewissheit schrittweise Planung (One-Step Planning) eine schrittweise Planung kann erreicht werden, indem man den Startort durch die backprojection eingrenzt Robitk 28

Bewegungsplanung mit Ungewissheit Mehrstufige Planung (Multistep Planning) in einer mehrstufigen Planung setzt sich jeder Schritt aus folgenden drei Quantoren zusammen: Bewegungsrichtung, Zeit, Sensormessungen Robitk 29

Bewegungsplanung mit Ungewissheit grenzsteinbasierte Planung (Landmark-Based Planning) sog. Grenzsteine ermöglichen es, dass ein Roboter präzise seinen Ort bestimmen kann Durch diese Grenzsteine ist es für einen Roboter möglich, sich von Grenzstein zu Grenzstein zu bewegen und so sein Ziel zu erreichen Ein Weg wird berechnet, indem man vom Ziel rückwärts zum Start sich einen Weg über bekannte Grenzsteine errechnet und diesen dann vom Start aus abgeht Robitk 30

Andere Bewegungsplanungsprobleme Dynamischer Arbeitsraum (Dynamic Workspace) Einordnung von multiplen Robotern (Coordination of Multiple Robots) Handhabungsplanung (Manipulation Planning) Optimale Planung (Optimal Planning) Robitk 31

Andere Bewegungsplanungsprobleme Dynamischer Arbeitsraum (Dynamic Workspace) in der Präsenz von Bewegungshindernissen ist es nicht mehr möglich einen statischen Weg zu planen. Ein Weg muss anhängig von der Zeit geplant werden und wird dann Bewegungsablauf genannt Robitk 32

Andere Bewegungsplanungsprobleme Einordnung von multiplen Robotern (Coordination of Multiple Robots) multiple Roboter können trivialer Weise adressiert werden, indem man die Bestandteil als einzelne Roboters sieht (Fehler im Handout) Robitk 33

Andere Bewegungsplanungsprobleme Handhabungsplanung (Manipulation Planning) Viele Roboter-Aufgaben beinhalten das Ausführen von Anordnungen von physikalischen Objekten. Diese Objekte werden bewegliche Objekte genannt und können sich nicht selbständig bewegen. Die Planung von diesen beweglichen Objekten wird Handhabungsplanung genannt Robitk 34

Andere Bewegungsplanungsprobleme Optimale Planung (Optimal Planning) Optimal-Zeit Steuerungsplanung (Optimal- Time Control Planning): Die Eingabe ist ein geometrischer freier Weg mit dem Parameter des Weges, der schon seit der Startkonfiguration gegangen worden ist. Das Problem ist es eine Zeitparametrisierung zu finden, die die Reisezeit für den Weg minimiert Robitk 35

Andere Bewegungsplanungsprobleme Optimale Planung (Optimal Planning) Minimal-Zeit Bewegungsablauf Planung (Minimal-Time Trajectory Planning): Der zuerst geplante geometrisch freie Weg wird iterativ korrigiert um die Reisezeit zu verringern. Jede Iteration benötigt eine Überprüfung des neuen Weges nach Kollisionen und Neuberechnung der Optimal-Zeit Steuerung Robitk 36

Abtastung (Sensing) Vorlagenerstellung (Model Building) Roboterlokalisierung (Robot Localization) Ergänzende Fragen in Bezug auf Abtastung Robitk 37

Abtastung (Sensing) Vorlagenerstellung (Model Building) Die erste Aufgabe eines Roboters in einer unbekannten Arbeitsumgebung ist die Erstellung eines geometrischen Modells dieser Umgebung. Hierzu benötigt der Roboter eine Reihe von Abtastungsoperationen an unterschiedlichen Stellen. Jede Operation liefert ein Teilmodell. Der Roboter muss versuchen diese Teilmodelle zu einer kompletten Karte seiner Arbeitsumgebung zusammenstellen Robitk 38

Abtastung (Sensing) Roboterlokalisierung (Robot Localization) Ein Roboter muss oft sich selbst in Relation zur Arbeitsumgebung lokalisieren. Hierzu vergleicht er die Abtastungsergebnisse mit der Arbeitsumgebung. Eine weitere Methode hierzu ist GPS (Global Positioning System), die sich schon weit verbreitet hat, jedoch nicht in jeder Arbeitsumgebung anwendbar ist. Robitk 39

Abtastung (Sensing) Roboterlokalisierung (Robot Localization) Es gibt zwei Probleme bei sensorbasierter Lokalisation: statisch: Der Roboter befindet sich in einer beliebigen unbekannten Konfiguration; das Problem ist nun die Berechnung dieser Konfiguration. Das Problem selbst ist sehr komplex, jedoch ist die Rechenzeit zu vernachlässigen. dynamisch: Der Roboter bewegt sich kontinuierlich und muss regelmäßig seine Konfiguration aktualisieren. Hier besteht i.d.r. ein Zeitproblem, da dies in Real-Zeit geschehen muss. Robitk 40

Abtastung (Sensing) Ergänzende Fragen in Bezug auf Abtastung Einerseits ist das Problem, der Platzierung des Sensors von dem aus der Sensor die Region aufzeichnen soll, andererseits besteht das Problem, die Minimalzahl von Sensoren und deren Platzierung zu finden, so dass sie eine Region vollständig erfassen können. Es besteht immer mehr das Interesse, die Form so zu verändern, dass einfachste Sensoren verwendet werden können Robitk 41

Zusammenfassung Roboter Algorithmen senden Befehle an Bedienteile und Sensoren, um damit einen Teil der Realen Welt, also der Arbeitsumgebung des Roboters, zu steuern Robitk 42

So long Robitk 43