Sie sind auf Seite 1von 39

Rampenprofil

vm
t 1=
am

s t
am
t2

te

t1

-am

vm

t
t1

se

t2

te

Fachhochschule
Darmstadt

te

1
2
s t = a mt
2

t 1 t t 2 : Phase der gleichfrmigen Bewegung


2
vm
s t = 0, s t = v m , s t = v mt
2 am

s t =a m ,

t2

s t = a mt ,

t 2 t t e : Bremsphase

st

t1

se
t 2 = t e t 1=
vm

0 t 1 : Beschleunigungsphase
s t = a m ,

s t

s v
t e= e m
vm am

s t = v m a m t

se
,
vm

se vm 2
1
s t = s e a m t
2
vm am

Robotik

Prof. Dr. A. Weigl-Seitz

Sinoidenprofil

t 1= 2

vm
am

t e=

vm
se
2
am
vm

t 2 = t e t 1=

se
vm

0 t t 1 : Beschleunigungsphase
a
t

2
s t = a msin 2 t , s t = m t 1 sin
t ,
2
t1
t1
2
2
2
1 2 t1
s t = a m t 2 cos
t 1
4
t
8
1

s t

t 1 t t 2 : Phase der gleichfrmigen Bewegung


v
s t =0, s t = v m , s t = v m t m
am
t 2 t t e : Bremsphase

s t =a msin 2 t t 2 ,
t1
a
t
2
s t = v m m t t 2 1 sin
t t 2 ,
2
t
2
1
2
am
a m t 12
2
2 vm
s t = v m t t t 2 2 cos
t t 2 1
4
am 8
t1

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Berechnungsschritte der Robotersteuerung bei der Zirkularinterpolation


(1) Festlegung eines Koordinatensystems C im Startpunkt P1 des Kreisbogens.
(2) Transformationsmatrix BTC aufstellen Vektoren, die im
Koordinatensystem C dargestellt sind, knnen damit in die Darstellung des
Koordinatensystems B berfhrt werden und umgekehrt.
(3) Ermittlung des Radiusvektors rM , der vom Ursprung des Koordinatensystems C zum Kreismittelpunkt M zeigt.
Radius R und Zentriwinkel z berechnen Bogenlnge se bestimmen.
(4) Interpolation durchfhren bezogen auf den Kreisbogen, d.h. Berechnung
zeitlicher Zwischenwerte sc(t) = R(t) bzw. (t).
(5) Berechnung des zeitabhngigen Vektors Cp(t) aus sc(t) oder (t).
C
p(t) zeigt vom Ursprung von C zum aktuellen Punkt auf dem Kreisbogen.
(6) Berechnung von Bp(t) aus Cp(t) Transformation.
(7) Berechnung der zugehrigen Gelenkstellungen q(t) ber die Inverse
Kinematik (Rckwrtstransformation).
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Euler Winkel z-y-z


T Euler = Rot z , Rot y , Rot z ,

T Euler =

T Euler =

cos sin
sin cos
0
0
0
0

0
0
1
0

0
0
0
1

cos
0
sin
0

cos cos cos sin sin


sin cos cos cos sin
sin cos
0

0
1
0
0

sin
0
cos
0

0
0
0
1

cos sin
sin cos
0
0
0
0

cos cos sin sin cos

0
0
1
0

0
0
0
1

cos sin
sin cos sin cos cos sin sin
sin sin
cos
0
0

o
a

0
0
0
1

Achtung: Interpretationsreihenfolge (Pr- bzw. Post-Multiplikation)


Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

x
Yaw

Roll-Pitch-Yaw (RPY) Winkel

T RPY =

T RPY =

cos sin
sin cos
0
0
0
0

0
0
1
0

0
0
0
1

cos
0
sin
0

Pitch

T RPY = Rot z , Rot y , Rot x ,


0
1
0
0

sin
0
cos
0

0
0
0
1

1
0
0
0

Roll
z

0
0
cos sin
sin cos
0
0

0
0
0
1

cos cos cos sin sin sin cos cos sin cos sin sin
sin cos sin sin sin cos cos sin sin cos cos sin
sin
cos sin
cos cos
0
0
0

n
o
a

0
0
0
1

Achtung: Interpretationsreihenfolge (Pr- bzw. Post-Multiplikation)


Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

3.1 Bewegungssteuerung in Gelenkkoordinaten (PTP Bewegung)


Trajektorie wird als Funktion der Gelenkvariablen spezifiziert
Asynchrone PTP Bewegung:
Bewegungssegment jedes Gelenks wird unabhngig von den anderen
Gelenken berechnet und ausgefhrt
Bewegungen der einzelnen Gelenken sind nicht immer gleichzeitig beendet
Synchrone PTP Bewegung:
Bewegungssegmente aller Gelenke starten und enden gleichzeitig
Gelenk mit der lngsten Fahrzeit (Bahndauer) bestimmt die Fahrzeiten der
anderen Gelenke, deren Geschwindigkeiten dann entsprechend reduziert
werden, so dass alle Achsen gleichzeitig ihre Zielstellung erreichen
Vollsynchrone PTP Bewegung:
Zustzlich zu den Bahnzeiten sind auch die Beschleunigungs- und
Bremszeiten fr alle Gelenke gleich
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Interpolationsschema der PTP Bewegung


qA , qB , am , vm (Anwendervorgaben)
Berechnung der absoluten Bahnlnge se (Weg-/Winkeldifferenz)
se
Anpassung der Anwendervorgaben vm und am (falls notwendig)
Berechnung der Bahnzeiten
te: Bahndauer t1: Beschleunigungsszeit t2: Bremszeitpunkt
Interpolation (Berechnung der zeitabhngigen Zwischenwerte)
s t

s t , s t

Berechnung der zeitabhngigen Gelenksollwerte


q s t

qs t , qs t
Problem: Wie wird s(t) berechnet?

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Phasen eines Bewegungssegments fr die PTP Bewegung eines Gelenks


Startposition qA

Gelenk in Ruhe, v=0

Phase 1

Definierte Gelenkbeschleunigung
bis gewnschte Geschwindigkeit erreicht

Phase 2

Gleichfrmige Bewegung (v=const.)


bis Bremszeitpunkt erreicht

Phase 3

Definierte Gelenkabbremsung
bis gewnschte Zielposition erreicht
Zielposition qB

Fachhochschule
Darmstadt

Robotik

Gelenk in Ruhe, v=0


Prof. Dr. A. Weigl-Seitz

Asynchrone PTP Bewegung:


Bewegung jedes Gelenks unabhngig von den anderen Gelenken
Fr jedes Gelenk wird vorgegeben: qStart,i , qZiel,i , vm,i , am,i
v
Bahndauer te,i (i. Allg. unterschiedlich fr jedes Gelenk)

Synchrone PTP Bewegung:

Bewegungen aller Gelenke starten und enden zur gleichen Zeit


Fr jedes Gelenk wird vorgegeben: qStart,i , qZiel,i , vm,i , am,i

Berechnung der jeweiligen Bahndauer te,i

Ermittlung der maximalen Bahndauer te,max = max { te,i }

fr jedes Gelenk wird te,i = te,max gesetzt


(Achse mit lngster Bahndauer = Leitachse)
Anpassung der Gelenkgeschwindigkeiten:
1

v m , i = 2a m , it e , max
Fachhochschule
Darmstadt

i = 1... n

1 2
2
a
t
s e , ia m , i
4 m , i e , max

Robotik

Prof. Dr. A. Weigl-Seitz

Interne und externe Regelung

externe Sensorinformation

Zielvorgaben

externe
Regelung

kartesische
Sollwerte
(Weltkoord.)

inverse
Kinematik

Gelenksollwerte

interne Regelung
(Gelenkregelung)

Gelenkmesswerte

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Knickarm-Roboter (6 Achsen)

SCARA-Roboter (4 Achsen)

Zentralhand

[Schmid et al. 2001]


Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Robotergenerationen
1. Generation

Roboter mit fester Programmierung zur Ausfhrung fester


Bewegungssequenzen einfache Pick-and-Place Aufgaben
nur interne Sensoren

2. Generation

(~ 1975)

(~ 1980)

Roboter ausgestattet mit externen Sensoren, die eine Interaktion mit der
Umgebung ermglichen Korrektur der geplanten Bewegung
Programmierung mit speziellen (hheren) Programmiersprachen

3. Generation

Roboter kann seine Umwelt ber vielfltige Sensoren erfassen und


entsprechend agieren (z.B. Roboter mit Hand-Auge )
adaptives Verhalten durch Anwendung von Methoden der KI
aufgabenorientierte und implizite Programmierung
mobile und autonome Roboter (z.B. Serviceroboter)
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

4. Programmierung von Robotern


Benutzerschnittstelle

Anwender Vorgabe der


gewnschten Roboterbewegung
(komplexe Sequenz/Aufgabe)

Programmierumgebung
gewnschte
Roboterbewegung

externe Sensorsignale

Robotersteuerung
Bahnplanung
Koordinatentransformation

Aktorik des
Robotersystems

Gelenksollwerte
Schnittstellen
zu anderen
Systemen

q s , q s

Stellwerte fr
die Antriebe

Gelenkregelung
Gelenkmesswerte

q , q

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Hierarchie der Roboterprogrammierung


Task Level

Aktionsplanung basierend
auf Aufgabenbeschreibung

z.B. Fge Bolzen in Loch

Object Level

Objektbezogene Anweisungen
Weltmodell

z.B. Greife Teil (Bolzen)

Robot Level

Beschreibung der kart. Trajektorie;


keine explizite Objektreprsentation
Transformationen, Frames

z.B. move_lin target_frame_1

Regelung der einzelnen Gelenke


PTP-Bewegung

z.B. Achse #6 30

Joint Level
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

4.1 Methoden der Roboterprogrammierung

Roboterprogrammierung

online

teach-in

(direkt)

offline

play-back

graphisch

(indirekt)

textuell

explizit
Fachhochschule
Darmstadt

Robotik

implizit
Prof. Dr. A. Weigl-Seitz

Merkmale der
Online Programmierung und Offline Programmierung

Reales Robotersystem und


Anlagenumgebung erforderlich

Produktion unterbrochen whrend


der Roboterprogrammierung

Test des Roboterprogramms am


realen System

Beschrnkter Zugang zu
Management-Informationsystemen

Qualitt des Anwenderprogramms


abhngig von der Erfahrung des
Programmierers

Fachhochschule
Darmstadt

Robotik

Computermodell des Robotersystems


und der Anlage erforderlich
Programmierung in der Arbeitsvorbereitung als Teil d.
Produktionsplanung
Test des Roboterprogramms durch
Simulationen
Volle Integration von ManagementInformationsystemen ist mglich
Untersttzung des Programmierers
durch intelligente, computeruntersttzte Werkzeuge
Prof. Dr. A. Weigl-Seitz

4.2 Online Programmierung


Teach-In Programmierung
Anwender steuert Roboter manuell mit Handbediengert zu Zielstellungen

Steuerung einzelner Roboterachsen Teach-in in Gelenkkoordinaten

Steuerung kartesischer DOF Teach-in in kartesischen Koordinaten


(relativ zu Basis- oder Werkzeugkoordinatensystem)

Nach Erreichen der Zielstellung Speicherung der aktuellen Koordinaten


(und evtl. weiterer Daten)
als Sollwerte im Roboterprogramm

Play-Back Programmierung
Roboter (Endeffektor) wird manuell entlang einer gewnschten Bahn gefhrt
(Hohe Sicherheitsanforderungen, da Anwender im Roboterarbeitsraum!)

In definierten Zeitabstnden Speicherung der aktuellen Gelenkkoordinaten


(groe Datenmengen; erfordert viel Speicherplatz)
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Vor- und Nachteile der Online Programmierung

Programmierung am realen Robotersystem


Richtigkeit und Genauigkeit der Bewegungsvorgaben knnen
direkt getestet werden
Roboter steht whrend der Programmierung nicht fr die
Produktion zur Verfgung
Programmierung und Test komplexer Bewegungssequenzen ist
sehr zeitaufwndig
Programmierung von flexiblen Bewegungssequenzen basierend
auf externen Sensordaten (KMS, BV etc.) ist nicht mglich

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

4.3 Offline Programmierung


Indirekte Programmierung auf separaten Computersystemen unter
Verwendung von Modellen des Roboters (und der Anlage)

komplexe Roboteraufgaben knnen programmiert werden

flexible Ablufe unter Einbeziehung externer Sensorinformationen

Methoden:

Textuelle Programmierung

Graphisch-interaktive Programmierung

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Textuelle Programmierung
Roboteraufgabe wird spezifiziert durch Befehlssequenzen in einer
Roboterprogrammiersprache (hnlich wie hhere Programmiersprachen)
Spezifische Roboterbefehle, z.B.:

Roboterspezifische Datentypen, z.B. Transformationsmatrizen und zugehrige


Operatoren, ...
Befehle zur Bewegung des Roboters, z.B. PTP-, Linear-, Zirkularbewegung...
Befehle zur Steuerung von Peripherie-Einrichtungen (Greifer, Werkzeuge,
weitere Achsen...)
Befehle zur Steuerung des Programmflusses (Modifikation der
Programmsequenz in Abhngigkeit von externen Binrsignalen oder
Sensorinformationen)
Sensorintegration (Interaktion mit Sensoren, z.B. BV-System)

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Normalerweise hat jeder Roboterhersteller eine eigene

proprietre Robotersteuerung und

proprietre Roboterprogrammiersprache
Anwender braucht spezielle Kenntnisse in der jeweiligen
Roboterprogrammiersprache!
Zahlreiche Roboterprogrammiersprachen sind entwickelt worden von
verschiedenen Herstellern
Internationaler Standard (DIN 66312):
Industrial Robot Programming Language (IRL)
hat sich leider nicht erfolgreich durchgesetzt;
bisher kaum realisiert in industriellen Robotersteuerungen!

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Graphisch-interaktive Programmierung
Programmierung wird untersttzt durch graphische Simulationssysteme, die
die Roboterbewegung und die Roboterzelle visualisieren
Simulation der offline programmierten Roboterbewegungen
(spter Download auf das Robotsystem zur Programmausfhrung)

exakte kinematische und geometrische Modelle von Roboter und Arbeitszelle


erforderlich
Nutzung der Original-Algorithmen des realen Robotersystems
(z.B. inverse Kinematik, Bahnplanung)
Module sind eingebettet in der Simulationsumgebung und knnen von der
Simulationssoftware aufgerufen werden
Kombination mit geeigneten 3D Visualisierungssystemen, um die
Roboterbewegungen in Echtzeit zu zeigen

CAR: Computer Aided Robotics


Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

4.4 Task Level Programmierung


Idee: Programmierer davon befreien, alle spezifischen Maschinendetails
kennen zu mssen u. jede Bewegung/Aktion in allen Einzelheiten genau
definieren zu mssen Spezifikation auf hohem Abstraktionslevel
Programmierer spezifiziert WAS der Roboter tun soll, aber nicht WIE
Implizites Programmierkonzept
automatisierte Roboterprogrammierung erfordert viele komplexe Module,
z.B. benutzerfreundliches HMI zur Vorgabe der Roboteraufgaben
(weites Feld von graphischer Spezifikation in CAD-Umgebung bis hin zu
gesprochenen Kommandos oder Gesten)
Bisher noch keine echte Task Level Programmierung in industriellen
Robotersystemen; zur Zeit noch Gegenstand der Forschung!

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Aufgabenplaner
Modul Aufgabenplaner erzeugt das Roboterprogramm
Dazu wird bentigt:

Wissenbasis mit Umweltmodell

Wissenbasis mit Regeln, wie eine Aufgabe in Einzelschritte zu zerlegen ist

Algorithmen zur Montageplanung, Greifplanung, Bahnplanung

Algorithmen zur Sensorintegration

Synchronisationsmuster zur Koordination der Ttigkeiten des Roboters mit


der Umwelt

Umweltmodell enthlt u.a.:

Strukturierung der Umwelt in Objekte und Teilobjekte


Beschreibung der Objekteigenschaften
Beschreibung der Beziehungen zwischen den Objekten
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Grundstruktur eines Aufgabentransformators


Zerlegung in die notwendigen Aktionen zur Durchfhrung der Aufgabe
Beispiel: Pick-and-Place Aufgabe Bewege Objekt O zu Zielposition Z
Schritte:

Lokalisieren des Objekts O mit einem Sensor (falls Objektlage unbekannt)

Planen des Greifpunkts G am Objekt O

Planen der kollisionsfreien Bahn zum Anrckpunkt des Greifpunkts G

Planen der Feinbewegungen beim Greifen

Planen des Umgreifens von Objekt O (d.h. Abstellen u. Fassen an neuem Greifpunkt)

Planen der kollisionsfreien Bahn zum Anrckpunkt des Ziels Z

Planen der Feinbewegung beim Ablegen des Objekts


(kann mglicherweise ein komplexer Montage- oder Fgevorgang sein, der auch
weitere Umgreifoperationen enthalten kann)
Jeder Schritt resultiert in der Generierung einer Folge von spezifischen Anweisungen
fr Roboter, Endeffektoren und Sensoren
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

task level
programming

dynamic
world
model

planning system
task interpreter
explicit robot program

command
execution

tools

robot
simulator

Fachhochschule
Darmstadt

robot

sensors

robot workcell
real world

Robotik

Prof. Dr. A. Weigl-Seitz

1.5 Komponenten eines Robotersystems


Programmierumgebung
gewnschte
Roboterbewegung

externe Sensorsignale

Robotersteuerung
Bahnplanung
Koordinatentransformation
Gelenksollwerte
Schnittstellen
zu anderen
Systemen

q s , q s

Stellwerte fr
die Antriebe

Aktorik des
Robotersystems

Gelenkregelung
Gelenkmesswerte

q , q

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Rotationstransformationen (Elementare Drehungen)

Rot x , =

1
0
0 cos
0 sin
0
0

Rot y , =

cos
0
sin
0

Rot z , =

cos
sin
0
0

Fachhochschule
Darmstadt

0
sin
cos
0

0
0
0
1

0 sin
1
0
0 cos
0
0

0
0
0
1

sin

cos
0
0

0
0
1
0

0
0
0
1

Robotik

Prof. Dr. A. Weigl-Seitz

3.4 Spline-Interpolation
Ziel: Zwischenpunkte mit definierter Geschwindigkeit exakt durchfahren
Erzeugung gekrmmter Kurven Spline-Interpolation
Geometrische Anschauung:
Biegedraht
wird vom Startpunkt ber die
Zwischenpunkte (=Sttzstellen)
zum Zielpunkt gefhrt und dabei
so wenig wie mglich geknickt

Mathematische Definition:
Ein Spline m-ten Grades ist ein stckweise definiertes Polynom m-ten Grades
Beispiel: m=3 (kubische Splines)
Fachhochschule
Darmstadt

s t =c 0 c 1 t c 2 t 2 c 3 t 3
Robotik

Prof. Dr. A. Weigl-Seitz

Koordinatensysteme:

Transformationsgleichungen
[T6]
[E]

T6

[B]:

Roboterbasis

[T6]:

Handwurzel

[E]:

Endeffektor (Greifer)

[O]:

Objekt

[G]:

Greifpunkt

B T6 E = O G

[B]
[O]

T6 = B-1 O G E-1
T6 (q) ?

[W]
Fachhochschule
Darmstadt

Weltkoordinatensystem

Roboterstellung zum
Greifen der Kiste ?
[G]

[W]:

Robotik

Prof. Dr. A. Weigl-Seitz

3.3 bergang zwischen Bahnsegmenten


Einfache Methode: berschleifen
Roboter fhrt nicht genau durch die Zwischenpunkte; kurz bevor das
Bahnsegment beendet ist, wird bereits das nchste Bahnsegment begonnen.
weicher bergang zwischen den
Bahnsegmenten, ohne in den
Zwischenpunkten anzuhalten
Aber: Zwischenpunkte werden
nicht exakt angefahren
( Eckenverrundung)
Mgliche Schwellen:
Unterschreitung des Mindestabstands zum Ziel Positionsberschleifen
Unterschreitung der Geschwindigkeit Geschwindigkeitsberschleifen

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Einige interessante Links

German Robotics Server: http://wwwiaim.ira.uka.de/germrob/

KUKA Roboter GmbH: http://www.kuka.com/germany/de

REIS Robotics: http://www.reisrobotics.com

ABB Robotics: http://www.abb.de/roboter

Adept Technology: http://www.adept.com/Main/products/robots/index.shtml

IFR International Federation of Robotics: http://www.ifr.org

DLR Institut fr Robotik und Mechatronik: http://www.robotic.dlr.de

Virtuelles Labor: http://www.vvl.de/VVL/Teilprojekt1/Basics/index.htm

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

3. Bewegungssteuerung von Robotern


Grundproblem:
Bewege Roboter von A nach B
Startstellung Zielstellung

Beispiel: Montageaufgabe
Aufgreifen und Fgen von
Bolzen in eine Bohrung
Anfahren verschiedener
Zielstellungen
(Position / Orientierung)
[Paul 1981]
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Methoden der Bewegungssteuerung


Bewegungssteuerung in Gelenkkoordinaten (PTP Bewegung):

Interpolation der Zwischenwerte in Gelenkkoordinaten


jedes Gelenk bewegt sich unabhngig von seiner Start- zu seiner Zielstellung
TCP bewegt sich auf einer fr den Anwender nicht vorhersehbaren
Raumkurve
Anwendungen: Pick-and-Place, Punktschweien...

Bewegungssteuerung in kartesischen Koordinaten (CP Bewegung):

Interpolation der Zwischenwerte in kartesischen Koordinaten


komplette Bahn des TCP wird bezglich seiner Position und Orientierung
vorgegeben
Bewegungen der einzelnen Gelenke sind voneinander abhngig
Hufigste Interpolationsarten: Linear-, Zirkular-, Spline-Interpolation
Anwendungen: Bahnschweien, Montage, Lackieren ...
Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

Vor- und Nachteile der beiden Methoden


PTP Bewegung:

einfach und schnell zu berechnen


keine Berechnung der Inversen Kinematik notwendig
keine Probleme mit Mehrdeutigkeiten und Singularitten
TCP Bahn schwer vorhersehbar im kartesischen Raum (Kollisionsgefahr)

CP Bewegung:

Bewegung wird im kartesischen Raum vorgegeben, d.h. der TCP folgt einer
definierten Bahn
hoher Rechenaufwand zur Laufzeit
Berechnung der Inversen Kinematik notwendig in jeden Interpolationstakt
eventuelle Probleme mit Mehrdeutigkeiten und Singularitten
Zwischenpunkte knnen mglicherweise unerreichbar sein

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

PTP Bewegung:
Jede Gelenkkoordinate bewegt sich kontinuierlich (stetig wachsend oder fallend)
von Start- zur Zielstellung
nderungen in Gelenkkoordinaten sind minimal!
CP Bewegung:
Gelenke werden in Abhngigkeit voneinander so bewegt, dass der TCP einer
gewnschten Bahn im kartesischen Raum folgt (z.B. Gerade, Kreisbogen)
nderungen in Gelenkkoordinaten sind nicht unbedingt kontinuierlich!
Problem: Hohe Gelenkgeschwindigkeiten in der Nhe von Singularitten;
Zwischenpunkte evtl. auerhalb des Arbeitsraum

Fachhochschule
Darmstadt

Robotik

Prof. Dr. A. Weigl-Seitz

2.7 Differentielle Beziehungen


x = f q

Vorwrtstransformation

q = f 1 x

Inverse Kinematik

Problem: Lsen eines komplexen, nichtlinearen Gleichungssystems


Idee: Linearisierung um die aktuelle Gelenkstellung q Arbeitspunkt x0=f(q0)

x k = x ist k x k
x k =

xist

1
x ziel x ist k
N k

x = f(q)
k = 0, 1, 2 N max. Schrittanzahl

[B]
Fachhochschule
Darmstadt

xziel
q = q 0 q
Robotik

Berechnung von q(k) und q(k) ?


Prof. Dr. A. Weigl-Seitz

Ansatz: Linearisierung der Vorwrtstransformation x = f (q)


Taylorreihe:

3
x
1 2 x
2 1 x
x q = x 0 q q q 0 2 q q q 0 3 q q q 0 3
q 0
2 q 0
6 q 0

x =

Abbruch nach dem linearen Glied:

x =


x1

x1

q1

q2

q1

q2

x2

x2

xm

xm

q1

q2

Fachhochschule
Darmstadt

x
q q
q 0

fr x = x x 0 , q = q q 0
(inkrementelle nderungen)

x1

Jacobi-Matrix

qn

x2
qn

x = J q q q
0

xm
qn

m 1 m n
q0

Robotik

n 1

normalerweise m=6

Prof. Dr. A. Weigl-Seitz

Jacobi-Matrix = lineare Abbildung


nderung der kartesischen Koordinaten x
(Endeffektorgeschwindigkeit)

nderung der Gelenkkordinaten q


(Gelenkgeschwindigkeiten)

Berechnung der inkrementellen Gelenkwinkelnderungen q ?


Lsung des linearen Gleichungssystems x =J(q) q
q = J

q q x
0

Berechnung der inversen Jacobi-Matrix


Bedingungen: quadratische Matrix n=m
und det J q 0

Berechnung der absoluten Gelenkstellungen q :


q = q 0 q
Fachhochschule
Darmstadt

q = q 0 J 1 q 0 x x 0

Robotik

iterative Vorgehensweise!

Prof. Dr. A. Weigl-Seitz