Komponenten der Automation Teil 1
Markus VinczeAutomatisierungs- und Regelungstechnik Institut
Technische Universität [email protected]
2
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige Beispiele• Sensoren
• Kinematik
• Regelung und Steuerung
• Kollisionsvermeidung
• Bildverarbeitung für die Robotik und Automation
3
50 Jahre Roboter
Oussama Khatib, Stanford University
4
Robotik – Geschichte (1/2)1920: Karel Čapek – „Rossums Universal Robots“
– Theaterstück über künstliche Menschen, Urauff. 25.1.1921 – Tschechisch robota = frohnarbeiten
1942: Isaac Asimov – „Runaround“Drei Grundgesetze für Roboter1. Ein Roboter darf keinem Menschen Schaden zufügen.2. Ein Roboter muss den Anweisungen des Menschen folge
leisten, außer es würde das 1. Gesetz verletzt.3. Ein Roboter muss sich selbst schützen, außer dies würde
gegen die Gesetzte 1 und 2 verstoßen.
1944: R.C. Goertz: Master-Slave Manipulator (ArgonneNational Laboratory)
5
Robotik – Geschichte (2/2)1954: G. Devol patentiert „Servo“
1961: G. Devol, J. Engelberger: 1. Industrielle Installation bei GM in Trenton
1962: Gründung von Unimation, Inc.
1970: 1st National Symposium on Industrial Robotics
1973: Cincinnati Milacron und ASEA (ABB) bringen den ersten rechnergesteuerten Roboter auf den Markt
1989: Buch über „Service Robotics“ von J. Engelberger
2000: HONDA präsentiert humanoiden Roboter
6
Mobile Roboter - indoor
7
Mobile Roboter - outdoor
8
Mobile Roboter in der Industrie
9
Mobile Roboter – Transport von Menschen
MOVEMENT - EU Projekt bis Aug/07
10
Mobile Roboter zu Hause
11
Mobile Roboter – viele andere
12
Humanoide Roboter
Sony - QRIO
Toyota – Partner robotsHonda - Asimo
Fujitsu - Hoap
13
Androide Roboter
H. Ishiguro, Osaka U
14
Vision – Persönlicher Roboter
15
Sehen für die Robotik
• „James, bitte bring mir mein Häferl!“
• Navigation
• Gegenstände finden und greifen
• „Kognitive“ Fähigkeiten, z.B. Anweisungen verstehen
16
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige Beispiele
• Sensoren– Relative Ortsbestimmung– Absolute Ortsbestimmung– Hinderniserkennung– Hinderniserkennung und Ortsbestimmung
• ...
17
Odometrie• Messsystem für die
zurückgelegte Wegstrecke
• Üblich: Berechung aus der Winkelmessung der Räder
• Oder: Integration der Signale von Trägheitssensoren (Beschleunigungssensor, Gyroskop/Winkelgeschwin-digkeitssensor) Δy
Δx
Δα
18
Optischer Winkelgeber• Auflösung: 2000-36000 Striche/Umdrehung
• Referenzmarke zur Initialisierung
• 2 versetzte Photosensoren Drehrichtung
• 4 Zustände Bessere Auflösung
19
Absoluter Winkelgeber• Binärcodierte Ringe als Referenz
• Auflösung: ~1000 Schritte/Umdrehung
• Teurer, weniger genau als inkrementeller Geber
20
Beschleunigungsensor
• Piezoelement misst Kraft hervorgerufen durch Beschleunigung einer Masse
• 2 g bis 500 g
• Auflösung bis 1:10000
• Frequenz bis 15 kHz
Seismische Masse
Quarzelement
21
Kapazitiver Beschleunigungsensor
• Misst Kapazitäten C1und C2 hervorgerufen durch bewegliche Masse M
• 2 g bis 100 g
• Auflösung bis 0.1 g
• Frequenz bis 2 kHz
• Billiger Kapazitiver
Beschleuniguns-sensor aus
Polysilizium, FhG - ISIT
fix
fix
bewegliche Masse
22
Optische Kreiselsensoren
• Fiber-optische Kreisel
• Misst Winkelgeschwindigkeit
• Drift: 1° - 0.001° / h
0.3 °/min, 630 g
23
Mechanische Kreiselsensoren
• 150$, 102 g, Drift: 20 °/min
• 300$, 40 g, Drift: 9 °/min
24
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige Beispiele
• Sensoren– Relative Ortsbestimmung– Absolute Ortsbestimmung– Hinderniserkennung– Hinderniserkennung und Ortsbestimmung
• ...
25
Laufzeit
• Radiosignale, passive Laufzeitmessung
• ABC – AC = konstant
26
Laufzeit
• Aktive Transponder
• Genauigkeit: 2m (in bis zu 75 km)
27
Global Positioning System - GPS
• Genauigkeit: 2cm – 30m abhängig von Zeit
28
Differenzielles GPS
Zusätzliche Bodenstation
für lokale Korrektur
29
GPS / DGPS
GPS Empfangsgeräte mit 12 Kanälen– 200-500€– Genauigkeit: < 10m, oft < 5m
DGPS mit „Pseudo-Range Korrekturverfahren“– Referenzdienst erforderlich, oft kostenpflichtig– Viele verschiedene Systeme (ASCOS, AMDS,
SAPOS; frei: Beacon, EGNOS)– Genauigkeit: immer < 3m, oft < 1m
30
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige
Roboterbeispiele
• Sensoren– Relative Ortsbestimmung– Absolute Ortsbestimmung– Hinderniserkennung– Hinderniserkennung und Ortsbestimmung
• ...
31
Bumper, Stoßstange
• Mechanischer Schalter oder z.B.
• Leiter auf Druck oder Lichtablenkung
32
Infrarot Abstandsensoren• Kurze Reichweite
• Billig
• Relativ genau ( < 1%)
Khepera 70 mm Durchmesser
33
Infrarot-Sensoren Anwendung: Batterieladestation
• Anfahrt mit Odometrie
• In Ladestation mit IR-Sensoren
• Korrigiert: +/- 7cm, +/- 30°
• 8-12 Stunden Betrieb
• 4-12 Stundenladen
34
Ultraschall• Laufzeitmessung des Echos 20-50 x pro Sekunde
• Polariod: 50 kHz Impuls
• Reichweite: 0.2 – 10m
• Auflösung: 1%
35
Ultraschall - ProblemeA keine Reflexion (> +/- 30°)
B rot reflektiert zuerst, verschiedene Laufzeiten
C Mehrfachreflexion, Objekt weiter weg als in Wirklichkeit
D Crosstalk - Beeinflussung anderer Sensoren
• Gut bei Glas
36
Ultraschallsensoren für Navigation• Keine genaue Richtungsinformation
• Mehrere Sensoren sequentiell getriggert niedrige Abtastfrequenz (~ 1 Hz)
• Triggerfrequenz ist hörbar unangenehm
• Blindbereich ganz nahe (< 20 cm)
• Reflektiert nicht an Watte, Schaum
• Billig
37
Laser-Abstandsmessung• Laufzeitmessung mit infrarotem Laser
• 180° Schwenkbereich
• Auflösung: < 0.1 %
38
Lasersensor - ProblemeA keine Reflexion (> +/- 60-80°,
abhängig von Rauigkeit)
B Punktreflexion
C keine Mehrfachreflexionen
D Crosstalk – nur wenn direkt ins Auge eines 2. Sensors
• Bei Glas, nichtreflektierenden oder spiegelnden Oberflächen
Abb.: Beispiele für Ultraschall
39
Navigation• Ziel in Plan
ansteuern• Verbindet
relative und absolute Messungen
• Relativ: Drift• Absolut:
Korrektur
40
Laser-Abstandsmessung
• Rotierender Laser
• Retroreflektive Marker
• Größe = Distanz
• Scanzeit = Winkel
41
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige Beispiele
• Sensoren– Relative Ortsbestimmung– Absolute Ortsbestimmung– Hinderniserkennung– Hinderniserkennung und Ortsbestimmung
• ...
42
Triangulation• Winkel des Roboters R zu drei oder mehr
Referenzpositionen (S1, S2, S3)
• Nur Winkel-,keine Distanz-messung
• MobilerRoboter:3 DOF inEbene
Roboter: Pose unbekannt
43
2D Lokalisation• Triangulation: Auflösung: ~0.1%, 0.1°
• Natürliche Landmarken oder auch Laser-basiert
• Mehr als 3 Land-marken:– robustere Ortung– Mittelung der
Messunsicherheit
44
Omni-direktionale Kamera• 360° Blickwinkel
• 3 Landmarken oder statistische Bildinformation
Linse mit Parabolspiegel
(oben) sowie Komplettsystem
(links)Bild der Kamera
(rechts) und nach der Entzerrung (unten)
45
Sehen• Mächtigster „Sensor“
– Objekte und Umgebung verfolgen
– Hindernisse erkennen
• Kameras: Farbbilder– Viel Information, aber nicht
in richtiger Form
• Stereo: Tiefenbilder– Weniger genau als Laser– Nur texturierte Oberflächen
46
3D (6DoF) Objektverfolgung
47
Roboter Navigation im Büro
48
RobVision: Vision Based Navigation
49
RobVision: C2V – CAD to Vision
50
RobVision: C2V - Online
51
Video: Navigation im Mockup
52
Visual Servoing
0 100 200 300 4000.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Number of tracking cycle
Tran
slat
iona
l coo
rdin
ates
[m]
x
y
z
0 100 200 300 400-0.5
0
0.5
1
1.5
2
2.5
3
3.5
Number of tracking cycle
Rot
atio
nal c
oord
inat
es [r
ad]
x
y
z
8-beinigerRoboter
„Robug V“
4-rädriger Wagen
53
Zusammenfassung• Probleme von Sensoren
– Sehen: variierende Lichtverhältnisse; Glas – Laser: Tischkanten, schlanke Tisch- oder
Sesselbeine; Glas– Aktive Sensoren: absorbierende Stoffe
• Jeder Sensor hat Vor- und Nachteile⇒ Kombination von Sensoren
• Und noch 3 Beispiele
54
Aibo (Sony)
• Kamera: Farbobjekte
• Infrarot: Abstand
• Tastsinn: Kinn, Rücken und
• Rollsensoren
• Stereo-Mikrophone
• Gefühlsanzeige
• Lautsprecher
• Statusanzeige
• Ladestation
55
QRIO (Sony)
• 58 cm, 6.5kg: Entertainment: tanzen
• 38 Gelenke (Kopf 4, Körper 2, Arme 2x5, Beine 2x6, Finger 2x5)
• Stereo vision
• 10 Gesichter erkennen
• Singing voice synthesiser
• Intertial Sensoren an Füßen und Körper: Stabilisierung
• Entwicklung: 40 Personen seit 1997
56
Asimo(Honda)
• 160 cm, 90kg: Forschungsplattform
• 46 Gelenke (Kopf 4, Körper 2, Arme 2x6, Beine 2x6, Finger 2x8)
• Stereo vision
• Manuelle Steuerung der Bewegungen
• Simulation
57
InhaltsangabeRobotik und Sensorik in der Automation• Robotik – Geschichte und einige Beispiele
• Sensoren
• Kinematik
• Regelung und Steuerung
• Kollisionsvermeidung
• Bildverarbeitung für die Robotik und Automation
58
Roboterbewegungen
Roboterarme, Manipulatoren
• Ziel: bewegen von Objekten
• Notwendig: Lage der Objekte (3D)
• Programmierung: teach-in, off-line
Mobile (gehende, fahrende) Roboter
• Ziel: bewegen in Räumen
• Notwendig: Lage im Raum (quasi 2D)
• Programmierung: Plan, navigieren; verhaltensbasiert
59
Freiheitsgrade (Degrees of Freedom)
• Gelenke mit einem Freiheitsgrad– Schubgelenk (prismatic joint): lineare Bewegung– Drehgelenk (revolute, rotary joint): Drehbewegung
Abb.: Beispiele für Gelenke mit verschiedenen Freiheitsgraden.
Abb.: Ebener redundanter Platziermechanismus.
60
Implizite Programmierung• Aufgabenorientiert
• Aufgabe definiert unabhängig von der Art der späteren Ausführung– Z.B., stelle den blauen auf den roten Block
• Fortlaufende Aktualisierung des Umweltmodels
61
Explizite Programmierung• Bewegungsorientiert
• Jeder Befehl wird in der entgültigen Reihenfolge programmiert und in der Steuerung abgearbeitet– Z.B., MOVE [Punkt, Geschwindigkeit, Bewegungsart]
62
Off-line Programmierung (OLP)• Problem: Unterschied Realität – Modell
– Zelle kann nicht ganz genau vermessen werden– Roboter entspricht nicht exakt seinem Modell
• Hybride Programmierung– Programmerstellung in OLP System– Testlauf auf Anlage und Korrektur der Punkte durch
Teach-in
• OLP Systeme– Pakete für diverse Anwendungen (Kalibrieren,
Lackieren, Schweißen,...)
63
OLP – Vergleich von SystemenCimStation Thor Grasp Igrip RobCAD
Einsatzbereich KMM Robotik Robotik Robotik Robotik
Lizenzgebühr 6.000€ 3.000€ 8.000€ 23.000€ 20.000€
Wartung 1.300€ 1.000€ 4.500€ 2.900€
Schulung 1.300€ 2.200€ 2.400€
Plattform Unix, W Win Win Win Unix
HW 2.500€ 2.500€ 2.500€ 2.500€ 8.000€
Kinematik translat. + + + +
Realistische Simulation + - - + +
Programm. Sprache - ° - + +
Macros + - + - +
Kollissionserkennung + - + + +
Kollissionsvermeidung - + - + -
64
OLP - Einsatzbeispiel
Video: EU-Projekt FlexPaint: Simulation Lackierprozess (Profactor)
65
Bewegungssimulation• Definition: Simulation, die den Bewegungsablauf
eines räumlich und zeitlich definierten Systems nachvollzieht
• Kinematik: Gebiet der Mechanik, das sich mit der Bewegung von Körpern in Zeit und Raum befaßt
• Simulation der Bewegung von– Objekten– Mechanismen– Umgebungen (Virtual Reality)– Tieren, Menschen (Filmindustrie)– ideales Beispiel: Roboter
66
Homogene Koordinaten (homogeneous coordinates)
• Position: Orientierung:
• Homogene Transformationsmatrix
• Anwendung, z.B.: v = T u mit u, v = (x y z 1)t
• x, y, z: orthogonale Einheitsvektoren
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=
zyx
p⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛=
zzz
yyy
xxx
zyxzyxzyx
R
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛=
SkalierungePerspektivPositionatrixRotationsm
s xx
xx
1131
1333
fpR
T
67
Transformationen
• Inverse Transformation
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⋅−⋅−⋅−
=−
1000
1
apspnp
Tzyx
zyx
zyx
aaasssnnn
TB T
TB T
68
Beschreibung von Bewegungen
• Translation, Verschiebung:
• Rotation, Drehung:
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
==
1000100010001
),,(dba
dbaTransT
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛ −
=
1000010000cossin00sincos
),(θθθθ
θzRot
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−=
10000cos0sin00100sin0cos
),(ββ
ββ
βyRot
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
=
10000cossin00sincos00001
),(αααα
αxRot
69
Koordinatentransformation
70
Beschreibung der Orientierung (1/2)• RPY (Roll Pitch Yaw) Konvention
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−−++−
=
==
ψθψθθ
ψφψθφψφψθφθφ
ψφψθφψφψθφθφ
ψθφψθφ
CCSCSSCCSSCCSSCCSSSCSCCSSSCCC
xyz ),(),(),(),,( RotRotRotRPY
2/ und 2/-zwischen für ),2(atan
),2(atan
),2(atan22
ππθψθ
φ
zz
zzz
xy
asasn
nn
=
+−=
=
drehen
nicken
Gierenψ
71
Beschreibung der Orientierung (2/2)• (Eine der) Euler Konvention(en)
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
−+−+−−−
=
===
θψθψθ
θφψφψθφψφψθφ
θφψφψθφψφψθφ
ψθφψθφ
CSSCSSSCCSCSSCCCSSCCSSCCSSCCC
zyz ),(),(),(),,(
RotRotRotEuler
2/ und 2/-zwischen für ),2(atan
),2(atan
),2(atan22
ππθψ
θ
φ
zz
zyx
xy
ns
aaa
aa
−=
+=
=
72
Spezifikation der Pose (Frame)
• Transformation T zur Beschreibung von Position und Orientierung (= Pose)
73
Koordinatenübergang (Transformation)
• Transformation T als Übergang zwischen zwei Koordinatensystemen
74
• Systematische Beschreibung kinematischer Ketten (Arm – Gelenk – Arm – Gelenk ...)
• Dreh- oder Schubgelenke verbinden Arme
• Arme sind starr, keine Elastizität
• Zwei Schritte:1. Jeder Arm (Kettenglied) erhält ein eigenes
Koordinatensystem 2. Definition einer einheitlichen Transformation
zwischen diesen Koordinatensystemen (KS)
• Idee: kleinster Abstand zwischen zwei Geraden
Methode nach Denavit-Hartenberg (DH 1955, Paul 1981)
75
1. Schritt: Festlegen der KS
• Das Gelenk n bewegt sich um die zn-1 (!)Koordinatenachse von Arm n-1
• Die xn-1 Achse ist normal zur zn-1 Achse und deutet weg von dieser (in Richtung Ende der Kette)
• Die yn-1 Achse komplettiert das rechtwinkelige Koordinatensystem
• (Um die fixe Basis 0 dreht sich Gelenk 1 mit Arm 1, um Arm 1 dreht sich Gelenk 2 mit Arm 2, ...)
76
2. Schritt: Transformation von Gelenk n nach Gelenk n+1
θn Winkel zwischen xn-1 und xn Achse gemessen um die zn-1 Achse (= Variable q eines Drehgelenkes)
dn Abstand von xn-1 nach xn gemessen entlang der zn-1 Achse (= Variable q eines Schubgelenkes)
an Abstand von zn-1 nach zn gemessen entlang der xn Achse (= der kürzeste Abstand zwischen zn-1 und zn)
αn Winkel zwischen zn-1 und zn Achse gemessen um die xn Achse
77
DH-Parameter Drehgelenk
[Paul 1981]
78
DH-Parameter Schubgelenk
[Paul 1981]
79
Transformation von KS n-1 nach n
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
−
=
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛ −
=
=⋅⋅⋅== −
1000cossin0
sinsincoscoscossincossinsincossincos
10000cossin00sincos00001
1000100
0010001
1000010000cossin00sincos
),()0,0,(),0,0(),(1
daa
d
axadzn
nn
ααθαθαθθθαθαθθ
ααααθθ
θθαθ RotTransTransRotTT
• Für das Dreh- bzw. Schubgelenk n:
nn q+=θθ nn qll +=• Drehgelenk: Schubgelenk:
80
Beispiel: Stanford Roboter
Gelenk θ d a α1 -90 d1 0 -902 -90 d2 0 903 -90 d3 0 04 0 0 0 -905 0 0 0 906 0 d6 0 0
81
Beispiel: Puma RoboterGelenk θ d a α
1 90 0 0 -902 0 149.09 431.8 03 90 0 -20.32 904 0 433.07 0 -905 0 0 0 906 0 56.25 0 0
82
Puma: Gelenktransformationen
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−
−
=
100000100000
11
11
10 CS
SC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛ −
=
100010000
2
2222
2222
21
dSaCSCaSC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−
−
=
1000010
0000
4
44
44
43
dCSSC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
=
10000010
00
3333
3333
32 SaCS
CaSC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
=
100000100000
55
55
54 CS
SC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛ −
=
1000100
0000
6
66
66
65
dCSSC
A
mitii
ii
CS
θθ
cossin
==
)cos(
)sin(
jiij
jiij
C
S
θθ
θθ
+=
+=
83
Puma: gesamte Transformation
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
=⋅⋅⋅⋅⋅=
1000
654321
zzzz
yyyy
xxxx
pasnpasnpasn
AAAAAAT
Mit °=°=°=°=°=°=
0,0,0,90,0,90
654
321
θθθθθθ
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−
−−
=
100032.2000112.92110009.149010
T2223342354235236
2546122233423523542361
2546122233423523542361
5235423
54152354231
54152354231
65236465423
646541652364654231
646541652364654231
65236465423
646541652364654231
646541652364654231
)(
)(])([)(])([
)()(
)(
)(])([)(])([
)(
)(])([)(])([
wobei
SaSadCSCSCCdp
dSSdCCaCadSCSSCCdSpdSSdSCaCadSCSSCCdCp
CCSCSa
SSCCSSCCSaSSSCSSCCCaSSCCSSCCSs
CCSCSCCSSCSSCCCSsCCSCSSCSSCSSCCCCs
CSCSSCCCSn
SCCCSCCSSSSCCCCSnSCCCSSCSSSSCCCCCn
z
y
x
z
y
x
z
y
x
z
y
x
−−+−=
++++++=+−++++=
+−=
++=−+=++=
+−+++−=+−−+−−=
−−−=
++−−=+−−−=
84
6 DOF vs. 4 Parameter• Verwendung des kürzesten Abstands
• D.h., KS auf Drehachsen nicht verschiebbar
• D.h., nur zwei Drehrichtungen im Raum festgelegt (2 DOF pro Richtung)
• Nachteile:– KS nicht frei wählbar– Parallele Achsen: kleine Änderungen der
Achsenorientierung bewirken große Veränderungen in den Parametern ( Kalibrierung)
• Vorteil: einfache und komplette Definition
85
Direkte Kinematik (Forward Kinematics)
GB
TCPG
OS
SW
BW TTTTT =⋅⋅⋅ −− 11
TCPG
GB
BW
OS
SW TTTTT ⋅⋅=⋅Direkte Kinematik:
)(60
654321 qAAAAAAA =⋅⋅⋅⋅⋅==constT
86
Inverse Kinematik (Inverse Kinematics)
• Allgemeiner Lösungsweg aus
• Linke Seite nur abhängig von q1
• Weiters erhält man
)()()()()()( 665544332211654321 qqqqqqconst AAAAAAAAAAAAT ⋅⋅⋅⋅⋅=⋅⋅⋅⋅⋅=
654321
1 AAAAATA ⋅⋅⋅⋅=⋅−const
61
11
21
31
41
5
651
11
21
31
4
6541
11
21
3
65431
11
2
ATAAAAA
AATAAAA
AAATAAA
AAAATAA
=⋅⋅⋅⋅⋅
⋅=⋅⋅⋅⋅
⋅⋅=⋅⋅⋅
⋅⋅⋅=⋅⋅
−−−−−
−−−−
−−−
−−
const
const
const
const
87
Inverse Kinematik Lösungen• Algebraische Lösung wenn sich drei Achsen in
einem Punkt schneiden [Pieper, 1968]
• Generell: je mehr DH-Parameter ungleich null sind, desto mehr Lösungen gibt es
• Z.B., Roboter mit 6 DOF
Konfiguration Lösungena1 = a3 = a5 = 0 <= 4a3 = a5 = 0 <= 8a3 = 0 <= 16alle ai <> 0 <= 16
88
Trigonometrische Gleichungen• -a sinθ + b cosθ = 0
– mit Lösung: θ = atan2 (b,a)– 2 Lösungen 180° versetzt– a = b = 0 ... degenerierte Lösung
• -a sinθ + b cosθ = c– mit Lösung θ = atan2 (b,a) - atan2 (c, (a2+b2-c2)½ )– 2 Lösungen, beide < 180°
• sinθ = f, cosθ = g– mit Lösung θ = atan2 (f,g)– eindeutige Lösung
89
ArcTan für jeden Quadranten
• Klassisch: arctan(f/g) [-π/2 π/2]
• Besser: atan2(f,g) [-π π] (z.B., Matlab)
x
y
θ
x y+ +
x y+ -
x y- -
x y- +
f
g
Abbildung: Quadrant je nach Vorzeichen der Argumente für atan2.
90
Beispiel: Stanford Roboter 3DOF
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−
−
=
100000100000
11
11
1
CSSC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−−
=
1000001
00
2
2322
2322
31
dCdCS
SdSC
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−+−−
=
10000 2322
1221321211
1221321211
30
CdCSCdSSdSSCSCSdSCdSCCCS
A
A T A11
31
3− ⋅ =
91
Singularitäten (Singularities)
• Unstetiger Zusammenhang Gelenk- und Weltkoordinaten
• Nicht alle Gelenke werden zum Erreichen einer Pose benötigt
• Siehe „Beschreibung der Orientierung“
• Bei kartesischen Bahnen nahe singulärer Stellung: Achsgeschwindigkeiten ∝– Stop der Bewegung des Industrieroboters
• Lösungen: rechnerische Näherung; spezielle Konstruktion, z.B. Kuka 45° Handgelenk
92
Geschwindigkeiten am Roboter• Zusammenhang zwischen Geschwindigkeiten im
Welt- und Roboterkoordinatensystem
• Jacobi-Matrix: qqJωp
vx &&
& ⋅=⎟⎟⎠
⎞⎜⎜⎝
⎛== )(
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
⋅
⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
6
5
4
3
2
1
621
621
621
qqqqqq
qF
qF
qF
qF
qF
qF
qF
qF
qF
zyx
yyy
xxx
&
&
&
&
&
&
L
MOMM
L
L
&
&&
&
&
&
δδ
δδ
δδ
δδ
δδ
δδ
δδ
δδ
δδ
θβα
θθθ
( ) 60 Aq == FFmit
93
Inverse Jacobi Matrix• Verfahren kleiner Wege:
• Symbolische Inversion ist nicht immer möglich
• Numerische Lösung ist rechenintensiv – in der Nähe von Singularitäten unbrauchbar bis
unmöglich
• Algebraische Form: Lösungen der inversenKinematik differenzieren
xJq dd 1 ⋅= −
94
InhaltsangabeRobotik und Sensorik in der Automation• Robotik, mobile Roboter, OLP
• Sensoren
• Kinematik
• Regelung und Steuerung
• Kollisionsvermeidung
• Bildverarbeitung für die Robotik und Automation
95
Dynamik• Zweig der Mechanik, der Bewegungen mit
Berücksichtigung von Massen, Kräften und Momenten untersucht
• Methoden: Lagrange, d'Alembert, Newton-Euler (iterativ aber effizient)
• Gleiche Grundgleichungen für Manipulatoren und mobile Roboter– Praxis: komplett unterschiedliche Regelkonzepte– Manipulatoren: klassisch– Mobile Roboter: verhaltenbasierte Regelung
96
Regelung mit internen und externen Sensoren
• Intern: Achswinkel, sofortiges Messergebnis
• Extern: Pose des Geifers oder Objektes, Pose im Raum, Hindernisse, Ort der Ladestation
97
Dynamik Gleichung• Gleichung für einen Roboterarm in Matrixform
Momente in den n Gelenken
Trägheitsmomente (symmetrische Matrix)
Coriolis- und Zentrifugalkräfte
Kräfte durch Gravitation
1:)( ×ntτ
)(),()()( qcqqhqqDτ ++= &&&t
nn×=)(qD
1),( ×= nqqh &
1)( ×= nqc
98
Industrieller Einsatz, Probleme• nichtlinear (nicht nur wegen Reibung)
• abhängig von der Stellung jedes einzelnen Gelenkes
• abhängig von der Last
• IR: rechenerische Berücksichtigung des Modells
• Regelung klassisch: PID, PI; Kaskadenregler: Position/Winkel, Geschwindigkeit/Drehzahl, Strom
• Regelung im Labor: adaptiv, lernend, nicht linear mit Berechnung der Dynamik, ...
99
Mobile Roboter: Antrieb• Holonomer Antrieb
(keine kinematische Bewegungsein-schränkung, x´ = dx)
• Differentieller Antrieb
• Auto: nicht-holonom,kann nicht am Stand rotieren
100
Mobile Roboter: Regelung
• Kontinuierliche Reduktion des Fehlers zwischen Sollwert und Istwert
• Methoden der Regelungstechnik oder KI (Künstlichen Intelligenz)
• Standard Zyklus: sense-think-act
sense compute(think) act
101
Implementierung: Architekturen
• Verschiedene Verfahren um sense-think-act zu implementieren
• Typen von Verfahren
– modellbasiert– reaktiv– hybrid
Modell-basiert
reaktiv
hybrid
Verhalten-basiert
102
Modellbasiert
• Ein symbolisches internes “Weltmodell” wird berechnet
• Unterteilung in funktionelle Schichten
sense perception
modelling
planning
task execution
motor control act
103
Probleme mit Modellen
• Ein adäquates, genaues und aktuelles Modell muß immer berechnet werden– Schwierig in der Umsetzung und Anwendung– Z.B., unbekannte Objekte ohne Symbol oder
bewegte Objekte
• Große Abhängigkeiten zwischen den Schichten– Wenn eine Funktion schlechte Ergebnisse liefert,
geht gar nichts mehr
• Signifikante Computerleistung ist notwendig
104
Reaktive Regelung
• Quasi ‘modellfreie Systeme’
• Modelle sind “einfach“ und implizit– Keine symbolischen Modelle– Z.B. Regeln, wie ein Roboter in einem Eck
reagieren oder einer Wand folgen soll – Implizit: Annahmen über die Umgebung sind fix
codiert
105
Verhaltenbasiert• Gleichberechtigte horizontale Module, oder
behaviours (= Verhalten), die parallel ablaufen
• Jedes Verhalten hat direkten Zugriff auf die Sensordaten und kann die Motoren ansteuern
sense
identify objectsbuild maps
explorewander
avoid objects
act
106
Verhalten - Vorteile• Unterstützt mehrere Ziele gleichzeitig zu lösen
– Jede Schicht kann an einem anderen Ziel arbeiten
• Das System ist (manchmal) leichter zuentwerfen und erweitern– Jedes Module kann seperat entworfen werden
• Das System ist (relativ) robust– Wenn ein Modul ausfällt, z.B., wander, dann können
andere immer noch funktionieren, z.B., avoid obstacles, und vernünftige Verhalten erzeugen
107
Verhalten - Nachteile• Wie implementiert man Pläne?
– Kein Speicher und kein Gedächtnis
• Wie kooperieren viele Verhalten?– emergent behaviour: ”zufälliges” Zusammenspiel der
Verhalten
• Erweitern und Debugging schwierig
• Roboter kann “stecken” bleiben– Sackgasse, lokales Minimum
108
InhaltsangabeRobotik und Sensorik in der Automation• Robotik, mobile Roboter, OLP
• Sensoren
• Kinematik
• Regelung und Steuerung
• Kollisionsvermeidung
• Bildverarbeitung für die Robotik und Automation
109
Kollisionserkennung (Collision Detection)
• OLP: Visuelle Kontrolle– Blickwinkel und Sichtbarkeit schwierig
• OLP: Objekte = „Hyperpolygone“– Prüfen ob m Eckpunkte der n Polygone vor oder
hinter den Flächen liegen, Aufwand: O(mn)– Automatische Anzeige durch ändern der Farbe
• Umschreiben der Objekte und Arme des Roboters mit Kugeln, Ellipsoiden, Zylindern – schnelle erste Kollisionsprüfung
• Sensoren: Ultraschall, Laser Range Finder, Bumper, Kameras, ...
110
Kollissionsvermeidung(Collision Avoidance)
• Quadrant oder Teil des Arbeitsraumes für Roboter sperren– auch dynamisch bei mehreren Robotern möglich
• Besser: Bahnplanung mit Kollisionsvermeidung– lokale oder globale Ansätze– Gelenksraum– Abstraktion der Größe des Roboters– Vier Methoden
111
Lokale und Globale Bahnplanung (Local and Global Path Planning)
• Lokal: nur unmittelbare Umgebung bekannt
• Global: der Arbeitsraum von der aktuellen Position bis zum Ziel ist bekannt
Abbildung: lokale (links) und globale Methoden der Bahnplanung.
Start
Ziel
Start/Ziel
Start/Ziel
112
Gelenkraum (Configuration Space)
• Koordinatenachsen sind die Bewegungsachsen
Abbildung: Kartesische (links) und Gelenkskoordinaten (rechts).
113
Abstraktion der Größe des Roboters
• Punkförmige Roboter sind leicht zu behandeln
• Objekte um Größe des Roboters vergrößert
Abbildung: Objekt Vergrößerung für kreisförmigen Roboter bzw. für
Roboter in Dreieckform für zwei verschiedenen Orientierungen.
114
Suchbaum 2D (Quadtree, Occupancy Grid)
• Arbeitsraum unterteilt in quadratische Zellen mit den Eigenschaften– frei oder unbekannt oder voll
• Unbekannte Zellen rekursiv weiter unterteilen bis die gewünschte Auflösung erreicht wird
Abbildung: Beispiel eines 2D Suchbaumes.
115
Suchbaum 3D (Octtree)
• Arbeitsraum wird in kubische Zellen unterteilt
• Aufgabe gibt die Genauigkeit der Unterteilung vor
• Aufwand: O(2mh)– m = 3 für 3D, 2 für 2D– h = Tiefe der
Auflösung
Abbildung: 3D Suchbaum.
116
Sichtbarkeitsgraph (Visibility Graph)
• Verbindungen zwischen äußerster Ecken der Objekte (= Sichtbarkeit)
• Kartesisch und im Gelenkraum möglich
Abbildung: Beispiel eines Sichtbarkeitsgraphen. Konvexe
Polygone sind „unsichtbar“.
117
Verallgemeinerte Zylinder (Generalized Cylinders)
Abbildung: „Verallgemeinerter Zylinder“ und Freiraum
modelliert mit 4 „Zylindern“.
• Freiraum wird durch „verallgemeinerte“Zylinder/Kegel angenähert
• Der Weg durch die Hindernisse erfolgt entlang der Zylinder/Kegelachsen
• Ungünstig bei vielen Objekten
118
Abstoßende Felder (Potential Field)
Abbildung: (a) Hindernisse mit Start und Ziel Position. (b) Anziehendes Feld. (c) Abstoßendes Feld. (d) = (b) + (c). (e) Potentiallinien. (f) Gradient des Feldes.
• Abstoßende Kraft um jedes Hindernis
• Oussama Khatib (1986)
119
Abstoßende Felder (Fortsetzung)
• Problem:anziehendes und abstoßendes Feld können gleich sein ⇒ lokales Minimum
• Lösung:anziehendes Feld aus dem „Skelett“des globalen Weges erzeugen
Abbildung: (a) „Skelett“. (b), (c) Potentialfeld. (d) Gefundener Weg „bergab“.
120
InhaltsangabeRobotik und Sensorik in der Automation• Robotik, mobile Roboter, OLP
• Sensoren
• Kinematik
• Regelung und Steuerung
• Kollisionsvermeidung
• Bildverarbeitung für die Robotik und Automation