Automatisierungs- und Regelungstechnik Institut … · • Piezoelement misst Kraft hervorgerufen...

Post on 17-Sep-2018

220 views 1 download

Transcript of Automatisierungs- und Regelungstechnik Institut … · • Piezoelement misst Kraft hervorgerufen...

Komponenten der Automation Teil 1

Markus VinczeAutomatisierungs- und Regelungstechnik Institut

Technische Universität Wienvincze@acin.tuwien.ac.at

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