36
7. Bewegungsplanung, Interpolation und Regelung 29.12.2011 V3.1 - 7-1 - © Dr-Ing. habil. Jörg Wollnack 7 Bewegungsplanung, Interpolation und Regelung Die Bewegungsplanung, Interpolation und Regelung erfolgt heute überwiegend mit digitalen Rechnersystemen. Nach der Bewegungsplanung der Posebahn mittels eines kontinuierlichen parametrischen Bewegungsmodells liegt in digitalen Systemen eine diskrete Repräsentation von Stützstellen der Posebahn vor. Soll diese Interpolation bzw. Diskretisierung den kontinu- ierlichen Bewegungsverlaufes exakt beschreiben, so sind bestimmte Bedingungen zu erfüllen, die die prinzipiellen Anforderungen an die Interpolationsansätze und digitalen Regler auf- zeigen (siehe auch [204] und [205]). Die Aufteilung hinsichtlich der Bewegungsplanung, Interpolation und Regelung kann abhängig von den zur Verfügung stehenden Rechner- leistungen logisch auf mehrere Prozesse oder physikalisch auf mehrere Mikroprozessor- systeme erfolgen. Das Shannonsche Abtasttheorem Max 2 , {1,..., }, m m f f m M M δ (7-1) bandbegrenzter Signale { } { } ( ) { } Max ()( ) für ()( ) ()( ) 0 sonst m m m h t f f f t f h t f =ℑ = h (7-2) im Zusammenhang mit dem Anstiegszeittheorem B 2 m m f t = (7-3) der Wendepunkttangente des idealen Tiefpasses B T 1 für ( ) 0 sonst m m f f F f = (7-4) stellt Relationen zwischen Signalbandbreiten B m f und Abtastfrequenzen m f δ der digitalen Systeme her, die einzuhalten sind. Aus dem zeitlich kürzesten Bewegungssprung m t der Pose ( ) TCP A () () () m t t h t = p h lässt sich die erforderliche Abtastrate m f δ nach unten hin über die Ungleichung A A 4 , 1 m m q f q t δ (7-5) abschätzen. Der Parameter q A dient dabei zur Anpassung an die reale Tiefpasswirkung des Systems. Er wird typischerweise im Bereich zwischen 2 und 10 gewählt und soll Aliasing- effekte weitgehend ausschließen.

7 Bewegungsplanung, Interpolation und Regelung · sprechend Abb. 7-1 vollzieht. Da hier die Korrelationen zur Soll-Posebewegung verloren gehen, wird ein zusätzlicher Posefehler entstehen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-1 - © Dr-Ing. habil. Jörg Wollnack

7 Bewegungsplanung, Interpolation und Regelung

Die Bewegungsplanung, Interpolation und Regelung erfolgt heute überwiegend mit digitalen Rechnersystemen. Nach der Bewegungsplanung der Posebahn mittels eines kontinuierlichen parametrischen Bewegungsmodells liegt in digitalen Systemen eine diskrete Repräsentation von Stützstellen der Posebahn vor. Soll diese Interpolation bzw. Diskretisierung den kontinu-ierlichen Bewegungsverlaufes exakt beschreiben, so sind bestimmte Bedingungen zu erfüllen, die die prinzipiellen Anforderungen an die Interpolationsansätze und digitalen Regler auf-zeigen (siehe auch [204] und [205]). Die Aufteilung hinsichtlich der Bewegungsplanung, Interpolation und Regelung kann abhängig von den zur Verfügung stehenden Rechner-leistungen logisch auf mehrere Prozesse oder physikalisch auf mehrere Mikroprozessor-systeme erfolgen.

Das Shannonsche Abtasttheorem

Max2 , {1,..., } ,m mf f m M Mδ ≥ ∈ ∈ � (7-1)

bandbegrenzter Signale

{ } { }( ) { } Max( ) ( ) für( ) ( ) ( ) ( )

0 sonst

m mm

h t f f ft f h t f

ℑ ≤ℑ = ℑ = h (7-2)

im Zusammenhang mit dem Anstiegszeittheorem

B

2m

m

ft∆

= (7-3)

der Wendepunkttangente des idealen Tiefpasses

BT

1 für( )

0 sonst

mm

f fF f

≤ =

(7-4)

stellt Relationen zwischen Signalbandbreiten Bmf und Abtastfrequenzen mfδ der digitalen

Systeme her, die einzuhalten sind. Aus dem zeitlich kürzesten Bewegungssprung mt∆ der

Pose ( )TCPA ( ) ( ) ( )mt t h t≡ =p h lässt sich die erforderliche Abtastrate mfδ nach unten hin über

die Ungleichung

AA4 , 1m

m

qf q

tδ ∆≥ ≥ (7-5)

abschätzen. Der Parameter qA dient dabei zur Anpassung an die reale Tiefpasswirkung des Systems. Er wird typischerweise im Bereich zwischen 2 und 10 gewählt und soll Aliasing-effekte weitgehend ausschließen.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-2 - © Dr-Ing. habil. Jörg Wollnack

Der spezielle Sachverhalt in (7-5) wird in analoger Weise bereits ganz allgemein durch den Ähnlichkeitssatz

{ } { }1( ) ( ) ( ) ( / ) , \{0}t f t fλ λ λ λ

λℑ = ℑ ∈h h � (7-6)

der Fourier-Transformation beschrieben. Eine zeitliche Beschleunigung der Bewegung führt somit grundsätzlich zu einer Ausdehnung des Spektrums bzw. Erhöhung der Bandbreiten und Abtastraten.

Nach Shannon kann man das kontinuierliche Signal exakt ohne Informationsverlust aus dem abgetasteten Signal über den idealen Tiefpass (7-4) rekonstruieren, wobei diese Tiefpass-filterung im Zeitbereich über eine Faltung mit der Spaltfunktion

( )B B( ) si( )m m h hv

h t h v t vπ ω ω π∞

=−∞= −∑ (7-7)

beschrieben wird. Diese Interpolationsformel repräsentiert letztlich die ideale Fein-Interpola-tionsformel eines durch eine diskrete Datenrepräsentation beschriebenen kontinuierlichen bandbegrenzten Signals.

Bei dem Stand der Technik lassen sich heute Lagereglertakte im Bereich zwischen 100 µs und 20 ms realisieren, womit die Sprungzeiten auf 800,00 µs bis 160 ms zu begrenzen sind, sofern nicht ohnehin vorliegende Leistungsgrenzen der Antriebe geringere Sprungzeiten bei der Be-wegungsplanung erzwingen.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-3 - © Dr-Ing. habil. Jörg Wollnack

7.1 Bewegungsplanung und Interpolation

Einhergehend mit der Entwicklung der Mikroelektronik und Rechnertechnik haben sich im Laufe der Zeit fortgeschrittene Bewegungskonzepte entwickelt. Die Bewegung kann dabei in den sechs Freiheitsgraden der Pose erfolgen. Aufgrund der Frenetschen Formeln lassen sich allgemeine Bewegungen der Position lokal in Linear- und Kreisbewegungen zerlegen, die deshalb Grundlage einer allgemeinen Bewegungsbeschreibung sind. Da auch die grafischen Primitiva sowohl des klassischen als auch rechnerunterstützen Design die Linear- und Kreis-elemente für Konstruktionen heranziehen, sind die Bewegungsarten der Linear- und Kreis-interpolation in Kap. 9.3 bereits sehr früh in den Robotersteuerungen umgesetzt worden. Ziel der Entwicklungen sollte es letztlich sein, dass 3D-Modelle der Konstruktion und Be-wegungsinterpolation weitgehend kompatibel miteinander sind. Berücksichtigt man dabei zudem die physikalischen Gegebenheiten oder Grenzen der Roboterbewegungen, so werden die Bewegungsfehler zwischen den Soll- und Istwerten potenziell geringer ausfallen. Mit dem Fortschritt der Rechnertechnologien werden diese Entwicklungspotenziale unter den Echtzeit-anforderungen mehr und mehr im Bereich des wirtschaftlich Möglichen liegen.

Die Orientierung kann nach Definition des Positionsverlaufes letztlich beliebig festgelegt werden. In der Praxis haben sich jedoch für verschiedene Aufgaben, wie z. B. dem Bahn-schweißen, Schneiden, Entgraten, Montiere usw., typische Orientierungsvarianten als zweck-mäßig herausgestellt. Dies sind

• Orientierung konstant zum Aktuatorkoordinatensystem • Orientierung konstant zu Vektoren der Positionsverlaufes • Orientierung ausgerichtet an Flächennormalenvektoren von Objekten • Orientierungsänderung interpoliert aus definierten Posen

Hinsichtlich der Positionsverlaufes stehen zumeist die Bewegungsarten

• 3D-Point zu 3D-Point (PTP) mit asynchroner und synchroner Achsbewegung • 3D-Point zu 3D-Point mit Überschleifen mit asynchroner und synchroner

Achsbewegung • 3D-Multi-Point Bewegung (MPTP) mit Überschleifen sowie asynchroner und syn-

chroner Achsbewegung • Continuous Path (CP) mit linearer, zirkularer und Spline-Interpolation (synchrone

Achsbewegung)

zur Verfügung. Bei der PTP-Steuerung wird die Bewegung zwischen den Punkten nicht ge-plant, weshalb man als Anwender über den Zwischenverlauf keine Annahmen einführen darf. Es ist letztlich dem Steuerungshersteller überlassen, wie er die Bewegung vollzieht. Lediglich bei synchroner Achsbewegung wird sichergestellt, dass im Gegensatz zur asynchronen Bewe-gung, sämtliche Achsen ihre Bewegungen gleichzeitig abschließen. Bei synchronen Be-wegungen kann es zweckmäßig sein, die dynamisch trägste Achse als Leitachse mit einem Bereich konstanter Geschwindigkeit heranzuziehen.

PTP-Bewegungen zeichnen sich durch verschwindende Posegeschwindigkeiten an den de-finierten Posepunkten aus. Beim Überschleifen wird auf ein Anhalten der Achsen verzichtet, weshalb bedingt durch integrale Systemeigenschaften der Antriebe und Bewegungsgleichun-gen letztlich gerundete Kurven bzw. Kurven mit stetigen Ableitungen entstehen.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-4 - © Dr-Ing. habil. Jörg Wollnack

Insofern ist eine Bewegungsdefinition, die von vornherein von stetig differenzierbaren Funk-tionen ausgeht, anzustreben, weil hier keine Sprung- bzw. Dirac-Funktionen auftreten, die

physikalisch nicht realisierbar sind. Man nennt solche Bewegungen ruck- und stoß-frei1. Diese Bewegungen zeichnen sich so-wohl durch potenziell geringe Soll-Istfehler als auch einen materialschonenden, vibra-tionsarmen Betrieb aus.

MPTP-Bewegungen setzen sich aus mehre-ren Punkten zusammen, so dass die PTP-Be-wegung als Grundelement verstanden wer-den kann.

Bei den Linear- und Zirkularbewegungen wird eine Raumgerade bzw. ein Kreis in einer Ebene in der Position angefahren. Eine asynchrone Achsbewegung macht hier keinen Sinn. Dies gilt analog für die Spline-Interpolation.

Die Bewegungsbeschreibung einer Posebahn wird nach der Bewegungsinterpolation über die analytische Inverse kinematische Trans-formation in Kap. 3.4.3 in einen Satz von Maschinenkoordinaten überführt. Führt die Interpolation durch einen ausgezeichneten Rangdefekt der Maschinenkoordinaten, so versagt die analytische Inversenberechnung.

Mit zunehmender Rechnerleistung ließe sich die Inverse auch unter den Echtzeitan-forderungen iterativ nach (3-44) berechnen. Ist dies nicht möglich, so muss eine Bewegungs-definition herangezogen werden, die nicht durch einen Rangdefekt führt.

Diese Bewegungsinterpolationen müssten letztlich im Lagereglertakt erfolgen. Dies ist ent-weder unwirtschaftlich oder technisch noch nicht realisierbar, weshalb man hierarchisch nach einer relativ groben Bewegungsinterpolation eine Fein-Interpolation im Lagereglertakt ent-sprechend Abb. 7-1 vollzieht. Da hier die Korrelationen zur Soll-Posebewegung verloren gehen, wird ein zusätzlicher Posefehler entstehen. Dies macht deutlich, dass ein Optimierungsproblem hinsichtlich der Aufteilung der Grob- und Fein-Interpolation vorliegt. Die Grob- und Fein-Interpolation wird im Steuerrechner vollzogen. Diese Aufteilung kann, wie gesagt, in physikalischer oder logischer Form erfolgen.

1 Stoßfreie Bewegungen beziehen sich letztlich auf die im System existierende höchste Ableitung, da der Dirac-Puls physikalisch nicht sinnvoll ist (unendliche physikalische Zustände).

Grob-Inter-polation{ }it

{ }kt

Bewegungs-variante G

Maschinenkoordinaten

Geschwindigkeits-und Beschleunigungs-

vorgaben

Zeitfolge

Zeitfolge

AnalytischeInverse

Fein-Inter-polation

Lage-regler

Trans-formation

TCPA ( )itp

( )itx

F ( )ktx

I ( )tx

Steuerrechner

Abb. 7-1: Grob- und Fein-Interpolation

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-5 - © Dr-Ing. habil. Jörg Wollnack

7.1.1 Grob-Interpolation

Die Grobinterpolation erfolgt über ein parametrisches Bewegungsmodell2

G

G GTCP TCP 6A G G G A

G G

1

( , )( ) ( , ) , , , ,

( , )

{1,..., } ,i

Pi

t t

i i

tt t t

t

i I t t

=

+

≡ = ∈ ∈ ∈

∈ >

t tf pp f p p p

f pΘ ΘΘ ΘΘ ΘΘ Θ� � �

(7-8)

der Pose. Mit den an den Stützstellen vorgegebenen Posen TCPA ( )itp , Geschwindigkeiten

TCPA ( )itp� und Beschleunigungen TCP

A ( )itp�� lassen sich die Achs- bzw. Maschinenkoordinaten

( )itx und deren Geschwindigkeiten und Beschleunigungen (siehe auch Kap. 3.5 und 3.5.3)

über

TCPKI A( ) ( , ( ))i it t=x f p p 3, (7-9)

1 TCPA( ) ( , ( )) ( )i i it t t−= xx J p x p�� , mit ( )det ( , ( )) 0it ≠xJ p x , (7-10)

( )1 TCPA( ) ( , ( )) ( ) ( , ( )) ( )i i i i it t t t t−= −x xx J p x p J p x x�

���� � und (7-11)

( )1 TCPA( ) ( , ( )) ( ) ( , ( )) ( ) 2 ( , ( )) ( )i i i i i i it t t t t t t−= − −x x xx J p x p J p x x J p x x�� �

������ � �� (7-12)

analytisch berechnen. Zumeist sind zudem Beschränkungen hinsichtlich maximaler Geschwindigkeiten und Beschleunigungen der Antriebsachsen im Sinne der Ungleichungen

Max( )x t vε ε≤� und

Max( )x t aε ε≤�� , {1,...,6}ε ∈ (7-13)

zu berücksichtigen. Ein einfacher Plausibilitätstest der Restriktionen kann über die mittleren Geschwindigkeiten

1Max

1

( ) ( ){1,..., } ( ) i i

ii i

x t x ti I x t v

t tε ε

ε ε−

−∀ ∈ = ≤−

� , {1,...,6}ε ∈ und

und Beschleunigungen

1Max

1

( ) ( ){1,..., } ( ) i i

ii i

x t x ti I x t a

t tε

ε ε−

−∀ ∈ = ≤−

� �

�� , {1,...,6}ε ∈ (7-14)

der Bewegungsdefinition erfolgen.

2 Als Elemente der Vektorfunktion können z. B. die Geraden- oder Kreisgleichung nach Kap. 9.3 herangezogen werden. 3 Der Index KI steht für analytische kinematische Inverse (siehe auch Kap. 3.4.3).

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-6 - © Dr-Ing. habil. Jörg Wollnack

Als parametrische Bewegungsmodelle der Pose lassen sich Geraden, Kreise und Splines heranziehen. Die über diese Elemente definierte Posebahn

TCP 6A

( )( )

( )

tt t

t

∈ → = ∈

rp� �

ΘΘΘΘ (7-15)

kann hinsichtlich des Positions- und Orientierungsverlaufes voneinander unabhängig festge-legt werden. Insofern lassen sich diese parametrischen Modelle sowohl für den Positions- als auch Orientierungsverlauf nutzen. Eine Beschreibung die sowohl koordinatensystemabhän-gige als auch unabhängige Charakteristika der Bewegungen nutzt, stellt die über das Bogen-maß s(t) parametrisierte Bewegung

TCP 6A

( ( ))( )

( ( ))

s tt t

s t

∈ → = ∈

rp� �

ΘΘΘΘ , mit

0

td d( ) d

d d

t

t

t s t tt t

∈ → = ∈∫r r

� � . (7-16)

dar. Mit dieser Darstellung der Positions-, Geschwindigkeits-, Beschleunigungs- und Ruck-verläufe, kann man unter Anwendung der Produkt- und Kettenregel die Geometrie- und Bewegungsanteile klarer herausarbeiten:

• Positionsverlauf

TCP 6A

( ( ))( )

( ( ))

s tt t

s t

∈ → = ∈

rp� �

ΘΘΘΘ (7-17)

• Geschwindigkeitsverlauf

TCP 6A

( ) ( )( )

( ) ( )

s s tt

s s t

= ∈

rp

� �

� �� �ΘΘΘΘ

(7-18)

• Beschleunigungsverlauf

TCP 6A

( ) ( ) ( ) ( )( )

( ) ( ) ( ) ( )

s s t s s tt

s s t s s t

+ = ∈ +

r rp

�� �� ��

�� ��� �� ��Θ ΘΘ ΘΘ ΘΘ Θ

(7-19)

• Ruckverlauf

TCP 6A

( ) ( ) 2 ( ) ( ) ( ) ( )( )

( ) ( ) 2 ( ) ( ) ( ) ( )

s s t s s t s s tt

s s t s s t s s t

+ + = ∈ + +

r r rp

��� �� �� �� ���

��� ���� �� �� �� ���Θ Θ ΘΘ Θ ΘΘ Θ ΘΘ Θ Θ

(7-20)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-7 - © Dr-Ing. habil. Jörg Wollnack

In dieser Form kann erhält man für die Geraden-, Kreis- und Spline-Interpolation die Darstel-lungen in Tab. 7-1 (siehe auch Kap. 7.1.2 und 9.3).

Linear-Interpolation

x

y

z

ri

Abb. 7-2: Linear-Interpolation

( )1 2 1 0( ) , 0 , 0t t t t= + − = ≥r r r r

( ) ( )t2 t 20 0( ) ( ) ( ) ( ) ( )s t t t t t t= − − =r r r r a a

2 1t

( ),

s tt = = −a r r

a a

(7-21)

Kreis-Interpolation

x

y

z

ri

P1

P2

P3

x

zK’ y

Abb. 7-3: Kreis-Interpolation

'

00'

0

cos 2( )

, 0 , 0( )

sin 2

x

y

t

Tr tr t t

r t t

T

π

π

= = ≥

0

( ) 2t

s t rT

π=

0

( )

2

s tt T

rπ=

(7-22)

Spline-Interpolation

t∆t

x tε( )

d ( ) d

n

n

x ttε , n = 1,2,...

Abb. 7-4: Spline-Interpolation

( ) ( )0 0 1 0 0

0

( ) ... ,

, , , , {1,...,6}

n

n

k

x t t c c t t c t t

n c t t

ε ε ε ε

ε ε− = + − + + −

∈ ∈ ∈� �

2 2 21 2 3( ) ( ) ( ) ( )s t s t s t s t= + + , mit

( ) ( )( )

( ) ( ) ( )

( ) ( ) ( )

0

0

0 1 0 0

2 1

0 0 1 0 0

2 1

0 0 1 0 0

( ) ... d

1 1...

2 1

1 1...

2 1

tn

n

t

tn

nt

n

n

s t c c t t c t t t

c t t c t t c t tn

c t t c t t c t tn

ε ε ε ε

ε ε ε

ε ε ε

+

+

= + − + + −

= − + − + + − +

= − + − + + −+

(7-23) Tab. 7-1: Parametrische Grobinterpolationsmodelle

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-8 - © Dr-Ing. habil. Jörg Wollnack

7.1.2 Fein-Interpolation

Die Fein-Interpolation für Linear- und Rotationsachsen kann auf einen gemeinsamen Ansatz zurückgeführt werden. Die jeweilige andere Beschreibungsform erhält man durch Substitution der Variablen entsprechend Abb. 7-5.

0

T0

S0

T0

C

S

B

: Anfangsposition

: Endposition

: Anfangsgeschwindigkeit

: Endgeschwindigkeit

: konstante Geschwindigkeit

: konstante Beschleunigung Startphase

: konstante Beschleunigung Bremsphase

s

s

v

v

v

a

a

=======

0

T0

S0

T0

C

S

B

: Anfangswinkelposition

: Endwinkelposition

: Anfangswinkelgeschwindigkeit

: Endwinkelgeschwindigkeit

: konstante Winkelgeschwindigkeit

: konstante Winkelbeschleunigung Startphase

:

ϕϕωωωαα

======= konstante Winkelbeschleunigung Bremsphase

HeizSchneider

Linearachse Rotationsachse

Substitutionder Variablen

Abb. 7-5: Grob- und Fein-Interpolation

Das Konzept der Grob- und Feininterpolation er-fordert zwei Takte, den der Grob- und den der Feininterpolation. Der Takt der Grobinterpolation liegt typischer Weise in einem Bereich von 1 bis 10 ms und der der Feininterpolation in einem Bereich von 1 bis 10 µs. Mit zunehmender Leistungsfähigkeit der Rechner können sich diese Zeiten verkürzen oder eine Aufteilung dieser Art obsolet machen.

Bedingt durch diese Aufteilung entstehen ent-sprechend Abb. 7-5 zwei Folgen, die Grob- und Feininterpolationsfolge.

In der Regel wird für jede Antriebachse der gleiche Grobinterpolationstakt

0 1i iT t t −≡ − (7-24)

gewählt. Jedoch liegen unterschiedlichen Grobinterpolationslageänderung der Achsen

0 0 1( ) i is s T s s −− ≡ − (7-25)

vor.

t

ssi-1 si

si+1

ti-1 ti ti+1

{ }sG iGrobinterpolationsfolge{ }sF iFeininterpolationsfolge

Abb. 7-6: Diskretisierung der Bewegung

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-9 - © Dr-Ing. habil. Jörg Wollnack

Vollzieht man die Feininterpolation mit K Stützstellen, so gilt für den Feiniterpolationsansatz:

11( ) , [ , [ ,

1i i

k k i i k

t ts t t t t t

K∆ −

−−∈ =−

. (7-26)

Für s(t) lassen sich verschiedene Modelle, wie z.B. das Trapez- oder Splinemodell heran-ziehen.

7.1.2.1 Trapezmodell

Das Trapezmodell in Abb. 7-6 geht bei Geschwindigkeits-änderungen der Bewegung von konstanten Beschleunigungen aus. Hierdurch ergeben sich nicht stetig differenzierbare Ruckverläufe, die letztlich physikalisch nicht realisierbar sind. In diesem Modell sind folgende Größen zu berücksichtigen:

0

T0

T0

C

S

B

0

S

: Anfangsposition

: Endposition

: Endgeschwindigkeit

: konstante Geschwindigkeit

: konstante Beschleunigung Startphase

: konstante Beschleunigung Bremsphase

: Bewegungszeitabschnitt

s

s

v

v

a

a

T

t

=======

C C

B

: Beschleunigungsdauer Startphase

: Bewegungsdauer mit konstantem

: Beschleunigungsdauer Bremsphase

t v

t

===

(7-27)

Die Bewegungsbeschreibung muss dabei die Restriktionen

S C B Max Max 0 S C B0 , 0 , 0 , , ,t t t v v a a T t t t≥ ≥ ≥ ≤ ≤ = + + (7-28)

berücksichtigen. Durch Integration

( )

2

( ) d (0) d d d

(0) (0) / 2

is u a u v a u u u t t u t

s v u a u

= = + = − ⇒ =

= + +∫∫ ∫ (7-29)

und Differenziation des Geschwindigkeitsverlaufs erhält man das die Bewegung charakterisierende Gleichungssystem zu:

( ) ( )( )

2

1 1 1 1 1

1 1 1

1 1

( ) ( ) ( ) / 2

( ) ( )

( ) [ , [

i i i i i

i i i

i i i

s t t s t v t t t a t t

v t t v t a t t

a t t a t t t

− − − − −

− − −

− −

− = + − + −

− = + −− = ∈

. (7-30)

Hierbei sind die Endwerte

( ) ( )

( )

2

1 1 1 1 1 1

1 1 1 1

( ) ( ) ( ) ( ) / 2 für [ , [

( ) ( ) ( ) für [ , [i

i

i i i i i i i i i it t

i i i i i i it t

s t s t t s t v t t t a t t t t t

v t v t t v t a t t t t t

− − − − − −=

− − − −=

≡ − = + − + − ∈

≡ − = + − ∈ (7-31)

t

s

t

v

t

aS

aB

vS0

vC

vBT0

s0

sT0

tS tC tB

a

Abb. 7-7: Trapezmodell

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-10 - © Dr-Ing. habil. Jörg Wollnack

des vorhergehenden Zeitintervalls 1[ , [i it t t−∈ die Anfangswerte s(ti) und v(ti) des an-

schließenden Zeitintervalls:

( ) ( )

( )

2

1

1

( ) ( ) ( ) / 2 für [ , [

( ) ( ) für [ , [

i i i i i i i

i i i i i

s t t s t v t t t a t t t t t

v t t v t a t t t t t

+

+

− = + − + − ∈

− = + − ∈ . (7-32)

Tab. 7-2 zeigt zusammenfassend die Gleichungen des Positions-, Geschwindigkeits-, Beschleunigungs- und Rückverlauf des Trapez-Bewegungsmodells.

( )

( )( )

20 S0 S S

20 S0 S S S C S S S C

220 S0 S S S C C C B S C S C 0

1für [0, [

21

( ) für [ , [21 1

für [ , [2 2

s v t a t t t

s t s v t a t v t t t t t t

s v t a t v t v t a t t t t t t T

+ + ∈= + + + − ∈ + + + + + + − + ∈ +

Position

( )( )

S0 S S

C S S C

C B S C S C 0

für [0, [

( ) für [ , [

für [ , [

v a t t t

v t v t t t t

v a t t t t t t T

+ ∈= ∈ + + − + ∈ +

S S

S S C

B S C 0

für [0, [

( ) 0 für [ , [

für [ , [

a t t

a t t t t t

a t t t T

∈= ∈ + ∈ +

S S

S S S S C

B S C S C 0

B 0 0

( ) für [0, [

( ) für [ , [( )

( ( )) für [ , [

( ) für

a t t t

a t t t t t ta t

a t t t t t t T

a t T t T

δδδδ

∈− − ∈ += − + ∈ +− − =

Beschleunigung Ruck/Stoß

Geschwindigkeit

Tab. 7-2: Trapezmodell

Die Berechnung der Bewegungsparameter kann von Zeitvorgaben

C S0 BT0 CS B

S B

,v v v v

a at t

− −= = (7-33)

oder Beschleunigungsvorgaben

C S0 BT0 CS B

S B

,v v v v

t ta a

− −= = (7-34)

ausgehen. Damit lässt sich die Gleichung

2 2

0 0 S0 S S S C C C B B B

S S 0 C C 0 B B 0

1 1( ) , mit

2 2, ,

s T s v t a t v t v t a t

t q T t q T t q T

= + + + + +

= = = (7-35)

aufstellen. Hieraus erhält man

( )

( ) ( ) ( )

2 2 20 0 S0 S 0 C C 0 C B 0 S S B B 0

2 2 2S S B B 0 S0 S C C C B 0 0 0

1( )

21

( ) 02

s T s v q T v q T v q T a q a q T

a q a q T v q v q v q T s s T

⇒ = + + + + +

⇒ + + + + + − = (7-36)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-11 - © Dr-Ing. habil. Jörg Wollnack

bzw. die quadratische Gleichung

2 S0 S C C C B 0 00 02 2 2 2

S S B B S S B B

( )2 0

v q v q v q s s TT T

a q a q a q a q

+ + −+ + =+ +

. (7-37)

Deren Lösung in Tab. 7-3 bestimmt die Bewegungsdauer T0.

S C BS C B

0 0 0

, , ,t t t

q q qT T T

= = =

C S0 BT0 CS B C

S B

0 , 0 , 0v v v v

t t ta a

− −= ≥ = ≥ ≥

S C B 1 ,q q q+ + = Max Max,v v a a≤ ≤

2

01,2 ,2 2

p pT q

= − ± −

S0 S C C C B 0 02 2 2 2

S S B B S S B B

( )2 ,

v q v q v q s s Tp q

a q a q a q a q

+ + −= =+ +

01,2T +∈ �

Tab. 7-3: Bewegungsdauer des Trapezmodells

Damit ergeben sich realisierbare Bewegungen entsprechend Tab. 7-4.

2

0 0 S0 S C C C B2 2 2 2

S S B B S S B B

( ),

s s T v q v q v q

a q a q a q a q

− + +≤ + +

Realisierbare Bewegungen

C S0 BT0 CMax Max

S B

v v v va a

t t

− −≤ ∧ ≤

C Max S0 Max BT0 Maxv v v v v v≤ ∧ ≤ ∧ ≤Geschwindigkeitsrestriktion

Beschleunigungsrestriktion

( )C S B1q q q= − +

Streckenrestriktion

Tab. 7-4: Trapezmodell

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-12 - © Dr-Ing. habil. Jörg Wollnack

Bei Mehrachssystemen mit K Achsen wird die langsamste Achse L zur Leitachse erklärt. Deren Bewegungsdauer

{ }0 0Max , {1,..., }L kT T k K= ∈ (7-38)

Beschleunigungs- und Bremszeiten tS und tB werden für die anderen Achsen übernommen. Infolgedessen werden diese Achsen mit reduzierten Beschleunigungen und Geschwindig-keiten

' ' 'S B, , , {1,..., } \k k ka a v k K L∈ (7-39)

verfahren. Diese sind über das Gleichungssystem

( )

1'C S S0'S B BT0' 2 2 2 2B C B 0 S 0 B 0 0 0 S0 S

1 0

1 0

/ 2 / 2 ( )L L L L kkk

v t v

a t v

a q q T q T q T s T s v t

− − =

+ − −

(7-40)

bestimmt.

Bemerkungen: Diese Bewegung des Trapezmodells ist letztlich physikalisch nicht realisier-bar: Zur Vereinfachung sein ein Gleichstrommotor mit vernachlässigbarem Ankerwiderstand als Antrieb der Achse entsprechend Abb. 7-8 gewählt.

LARA

LE

RE

MuIuA uE

iA

JG

φ

Abb. 7-8: Bewegungsdauer des Trapezmodells

Für dieses System erhält man die Bewegungsfunktion zu:

3MA

G A

1( ) ( ) d

Ct u t t

J Lϕ = ∫∫∫ , mit (7-41)

CM := Motorkonstante, JG := Effektives am Motor wirkendes Trägheitsmoment, LA := Ankerinduktivität und uA := Ankerspannung.

Infolgedessen muss die Bewegungsfunktion ( )tϕ dreifach stetig differenzierbar sein, was das Trapezmodell mit dem vorliegenden Ruckverlauf entsprechend Tab. 7-2 nicht realisiert. Dies macht auch klar, warum an diesen Positionen relativ große Abweichungen im wahren Verlauf auftreten.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-13 - © Dr-Ing. habil. Jörg Wollnack

7.1.2.2 Spline -Interpolation

Geht man zur Bewegungsbeschreibung der Fein-Interpolation von einem Näherungspolynom n-ter Ordnung4

( ) ( )0 0 1 0 0 0( ) ... , , , , , {1,...,6}n

n kx t t c c t t c t t n c t tε ε ε ε ε ε− = + − + + − ∈ ∈ ∈� � (7-42)

aus, so lassen sich dessen Ableitungen über

( ) 1

0 1 0

d( ) 1 ...

dn

n

xt t c n c t t

ε ε−− = + + + −

( ) ( )2

2

0 2 02

d( ) ... 1

dn

n

xt t c n n c t t

ε ε−− = + + − −

� �

( ) ( ) ( )0 0

d( ) ... 1 ... 1 für

d

mn m

m nm

xt t c n n n m c t t m n

ε ε−− = + + − + − − ≤ (7-43)

bestimmen.

In Matrizennotation erhält man hierfür kompakt:

0 0( ) ( )t t t tε ε− = −cϒ Γϒ Γϒ Γϒ Γ , mit

( ) ( ) ( )( ) ( )

( )( )

( ) ( )( )

2

0 0 0

1

0 0

1

00

0

0

00

01

00

1

0 1 2

0 0 2 1( )

0 0 0 1 1 1

1

( )

( )

( )

( )( )

d

d

n

n

n

n m

n m

m

t t t t t t

t t n t t

n n t tt t

n n n m t t

m

x t t

x t tc

x t tc

x t tt t

cx

t

ε

εε

εε

εε ε

εε

− − − − − − −− = − + − −

+−−

−= −

c

ϒϒϒϒ

Γ =Γ =Γ =Γ =

� �

� �

� �

� � � � � �

� � � � � �

� � �

��

����

0( )t t

− . (7-44)

4 Für elektrische Antriebe ist in erster Näherung das Antriebsmoment proportional zum Motorstrom. Aufgrund der Induktivität der Motorwicklungen ist die Induktionsspannung proportional zum Differenzial des Motor-stroms. Infolgedessen ist zusammen mit der Bewegungsgleichung eine stetig Differenzierbarkeit der Posebe-wegung bis zur dritten Ordnung anzustreben. Dies kann z. B. durch ein Bewegungspolynom fünfter Ordnung realisiert werden.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-14 - © Dr-Ing. habil. Jörg Wollnack

Mit der aus der Grob-Interpolation vorgegebenen Folge der Stützstellen (7-8) erhält man so-dann das lineare Gleichungssystem

( ) ( )0 0( ) ( )i it t t tε ε− = −cϒ Γϒ Γϒ Γϒ Γ . (7-45)

Ist 1I m n≥ + , so kann man über die Pseudoinversen die Koeffizienten des Polynoms

( ) ( )( ) ( ) ( )1t t

0 0 0 0( ) ( ) ( ) ( )i i i it t t t t t t tε ε

−= − − − −c ϒ ϒ ϒ Γϒ ϒ ϒ Γϒ ϒ ϒ Γϒ ϒ ϒ Γ (7-46)

berechnen, sofern ( ) ( )( )t

0 0det ( ) ( ) 0i it t t t− − ≠ϒ ϒϒ ϒϒ ϒϒ ϒ .

Dieser Polynomansatz führt zu einem flexiblen Verfahren, bei dem sich die Überschleifungs-aufgabe für 0{2,..., 1} ( ) 0ii I v t tε∀ ∈ − − ≠ auf einfache Weise realisieren lässt. Nach Bestim-

mung der Polynomkoeffizienten lässt sich die Fein-Interpolation für die Lageregelung über

( )0 0 1 10

( ) , [ , ] , , {1,..., } , , {1,...,6}n

k k k I k kx t t c t t t t t t t k K K Iη

ε εηη

ε+=

− = − ∈ > ∈ ≥ ∈∑ (7-47)

umsetzen. Dabei ist es nicht zwingend, dass die Geschwindigkeiten, Beschleunigungen und höheren Ableitungen in (7-44) über die Transformationen (7-9 bis 7-11) festgelegt werden. Man kann diese alternativ mit Achsvorgaben belegen.

Besteht die Absicht, die Bewegung 0( ) ( ) (0)x T x T t xε ε ε ε ε∆ ∆ = − − in einer definierten Zeit

0T T tε ε∆ = − zu vollziehen, so kann man das Gleichungssystem (7-45) um die Gleichung

( )0 ( )nT T x Tε ε ε ε ε∆ ∆ ∆ ∆=c� (7-48)

erweitern, womit auch das Leitachsenkonzept 1T T Tε ε∆ ∆ ∆+ = ≡ umgesetzt werden kann.

In der Praxis werden überwiegend Polynome 5-ten Grades entsprechend Kap. 9.4 eingesetzt.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-15 - © Dr-Ing. habil. Jörg Wollnack

7.1.2.3 Fehlerabschätzung

Eine allgemeine Fehlerabschätzung zwischen der Grob- und Fein-Interpolation ist für die An-wendung nicht zweckmäßig, da diese im Allgemeinen einer analytischen Analyse nicht zu-gänglich ist. Mit der Annahme einer Geradenbewegung als Fein-Interpolation, liegt ein Poly-nom erster Ordnung vor, dessen Fehler größer ausfallen, als dies für die Fein-Interpolation in

(7-42) typischerweise der Fall ist. Aufgrund der Frenetischen Formeln ist die kritische Bewegung lokal eine Kreisbahn in einer Ebene. Insofern können die systematischen Fein-Interpolations-fehler erster Ordnung zur Abschätzung der Inter-polationsfehler n-ter Ordnung herangezogen werden.

Geht man von einer Kreisbewegung in Abb. 7-2 aus, so lässt sich diese über

t

2 2( ) cos sint r t t

T T

π π =

r (7-49)

beschreiben.

Deren m-te Ableitung erhält man zu:

md 2

( ) ( / 2)d

m

m t r t mt T

π π = +

rr . (7-50)

Mit der Interpolationszeit kt∆ erhält man das Verhältnis

2

kt s

T r

∆ ∆π

= , (7-51)

wobei die Grob-Interpolation über

k

TN

t∆= (7-52)

Stützstellen erfolgt. Aus der zweiten Ableitung (7-50) kann man über den trigonometrischen Pythagoras eine Beziehung zur Bewegungsgeschwindigkeit

2

v rT

π= (7-53)

herstellen. Der maximale Interpolationsfehler

Max r h∆ = − (7-54)

kann mit dem Pythagoras über

22

2Max 1 1

2 2

l lr r r

r∆

= − − = − −

(7-55)

beschrieben werden.

α / 2

∆Max

∆s

l / 2h

r

Abb. 7-9: Grob- und Fein-Interpolation am Kreis

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-16 - © Dr-Ing. habil. Jörg Wollnack

Mit der trigonometrischen Relation

( )sin / 22

l

rα= (7-56)

erhält man den maximalen Interpolationsfehler zu:

( ) ( ) ( )2Max 1 1 sin / 2 1 cos / 2 1 cosr r r N∆ α α π= − − = − = − . (7-57)

Da für den Winkel

2 kt

T

∆α π= (7-58)

gilt, erhält man weiter

Max 1 cos ktrT

∆∆ π = −

. (7-59)

Für eine hinreichend große Anzahl von Stützstellen kann man die lineare Näherung

2

Max

1für

2 2ktr

T N

∆ π∆ π = <

5 (7-60)

heranziehen. Mit (7-53) erhält man sodann die Näherung:

( )2

2

Max

1 1 1 1für

8 2 2kv t rr N N

π π∆ ∆ = = <

. (7-61)

Dieses Ergebnis zeigt, dass die Fein-Interpolationsfehler bei einem Polynommodell erster Ordnung (7-42) mit dem Quadrat der Bewegungsgeschwindigkeit und umgekehrt propor-tional zum Radius wachsen. Insofern wird verständlich, warum sowohl hohe Verfahrge-schwindigkeiten als auch kleine Krümmungsradien relativ große Abweichungen zwischen den Soll- und Istwerten bewirken. Dies ist quasi der Tribut, den die hierarchische Aufteilung nach sich zieht. Letztlich liegt dies an den vernachlässigten Korrelationen, die die TCP-Bewegung auf die Maschinenkoordinaten im Sinne von (7-9 bis 7-11) prägt. Eine Verringerung dieser Fehler hat eine Erhöhung der Auflösung der Grobinterpolation bis hin zur Lageregler-auflösung zu Folge. Da hierfür entsprechende Rechnerleistungen erforderlich sind, bieten sich Offline-Interpolationen, deren Schrittweiten adaptiv angepasst werden, an.

Zu diesen durch die Fein-Interpolation hervorgerufenen Fehlern kommen weitere dynamische Fehler der Antriebe, Regler und internen Sensoren hinzu.

Interessanterweise ist die Bedingung (7-61) bereits in analoger Form in der Gleichung (7-5) bzw.

AA

1, 1

4m

m

tq

t qδ∆

∆≥ ≥ (7-62)

enthalten, da die Signalanstiegszeit umgekehrt proportional mit der Geschwindigkeit wächst.

5 2 4

cos 1 ...2! 4!

x xx = − + −

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-17 - © Dr-Ing. habil. Jörg Wollnack

7.2 Kooperierende Systeme

Im Folgenden werden kooperierende Systeme im Hinblick auf die Grob- und Feininter-polation analysiert.

7.2.1 Kooperierende Robotersysteme

Aus der Zwangsbedingung

TCP A TCP TCPA A A TCP( ( )) ( ( ))m

m mt t ηη η=T p T T p T , {1,..., } \A mη ∈ , mit

A TCPA TCPconst constm

η = ∧ =T T (7-63)

der kooperierenden Posebewegung lassen sich die Posen der Slaves aus denen des Masters berechnen (siehe auch (3-140)), wobei die Transformationen A

AmηT und TCP

TCP mηT mittels

Parameteridentifikation zu bestimmen sind (siehe Kap. 8).

Bei einer hierarchischen Bewegungsinterpolation wird die Grob-Interpolation über (7-63) vollzogen. Zur Fein-Interpolation (7-47) werden die Eingangsdaten hinsichtlich des Geschwindigkeits-, Beschleunigungs-, Stoss- und Ruckverhaltens benötigt. Diese lassen sich mit (6-20 bis 6-22) und (6-23 bis 6-25) analytisch über die Gleichungen

TCP AA TCP

TCP AA TCPA TCP

A TCP

d d

d d

1

d d, {0,1,2,3}d d

1

n n

n n

n nm

mm n nm

t t

nt t

ηη

ηη

= ∈

D t

0

D tT T

0

, mit (7-64.1)

ATCP

TCPA

2

mm

m m

m m m

m m m m m m

m m m m m m m m m m m m m

=

= +

= + + +

t t

D D

D D

D α D D

D β D α D α D D

ωωωω

ω ωω ωω ωω ω

ω ω ω ω ωω ω ω ω ωω ω ω ω ωω ω ω ω ω

��

� � �

����

� � � � � � �

(7-64.2)

ATCP

A TCP A AA TCP A A

A TCP A AA TCP A A

A TCP A AA TCP A A

A TCP A AA TCP A A

m m mm m m

m m mm m m

m m mm m m

m m mm m m

ηη

ηη η η

ηη η η η

ηη η η η

ηη η η η

= + +

= + +

= + +

= + +

t t

D D t D t t

t D D t D t t

t D D t D t t

t D D t D t t

�� �

���� ��

������ ���

(7-64.3)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-18 - © Dr-Ing. habil. Jörg Wollnack

( )

TCP A TCPA A TCP

TCP A TCPA A TCP

t

t

t 2

mm m

mm m

ηη η η

ηη η η

η η η

η η η η η η

η η η η η η η η η ηη

≡ =

≡ =

= −

= − + +

D D D D D

D D D D D

D D

α D D E

β D D α α E

ω =ω =ω =ω =

ω ωω ωω ωω ω

ω ω ω ω ωω ω ω ω ωω ω ω ω ωω ω ω ω ω

� � �

��

� � �

� ���

� � � � � � �

(7-64.4)

berechnen.

Über das stationäre Steuerungsmodell des Multirobotersystems

( ),

( , ) , {1,..., } ,

k k

k k

P M Nk k k

k k k k

D W

k A A

+∀ ∈ ⊆ ∃ ∈ ⊆

= ∈ ∈f yp x y

y f p x

� �

, (7-65)

( , ) ( , )k k

kk k k k

k

∂≡ =∂x x

fJ J p x p x

x (7-66)

können sodann das Positions-, Geschwindigkeits-, Beschleunigungs-, Stoss- und Ruck-verhalten der Steuerungen ermittelt werden:

• Kinematisch vorwärts

( , )k k k k=y f p x (7-67)

kk k= xdy J dx (7-68)

kk k= xy J x� � (7-69)

k kk k k= +x xy J x J x�

�� � �� (7-70)

2k k kk k k k= + +x x xy J x J x J x�� �

��� � �� ��� (7-71)

• Kinematisch invers

KI ( , )k k k k=x f p y (7-72)

1

kk k−= xdx J dy , mit ( )det 0

k≠xJ (7-73)

1

kk k−= xx J y� � , mit ( )det 0

k≠xJ (7-74)

1 1

k kk k k− −= +x xx J y J y�

�� � �� , mit ( )det 0k≠xJ und ( )det 0

k≠xJ� (7-75)

1 1 12k k kk k k k− − −= + +x x xx J y J y J y�� �

��� � �� ��� , mit ( )det 0k≠xJ , ( )det 0

k≠xJ�

und ( )det 0k≠xJ��

(7-76)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-19 - © Dr-Ing. habil. Jörg Wollnack

• Kinematisch invers rekursive Alternative

( )11 kk i k i k k i

−+ = + −xx x J y y , mit ( )det 0

k≠xJ (7-77)

1 ( , )kk k k k−= xx J p x y� � , mit ( )det 0

k≠xJ (7-78)

( )1

k kk k k−= −x xx J y J x�

�� �� � , mit ( )det 0k≠xJ (7-79)

( )1 2k k kk k k k−= − −x x xx J y J x J x�� �

��� ��� � �� , mit ( )det 0k≠xJ (7-80)

Dabei gilt es die technischen Restriktionen Max( )k kx t vε ε≤� und Max( )k kx t aε ε≤�� , mit {1,..., } , 6f fε ∈ = (7-81)

der Antriebe zu beachten.

Infolgedessen stehen die Informationen für die Fein-Interpolation zur Verfügung. Die aktuelle Roboterpose des Masters muss den Slave-Steuerungen im Lagereglertakt zur Verfügung ge-stellt werden. Hierzu bedarf es einer echtzeitfähigen Kommunikation zwischen den Steuerun-gen. Die Echtzeitanforderungen werden dabei von den Lagereglertakten der Roboter-steuerungen definiert. Die Geschwindigkeits-, Beschleunigungs-, Stoss- und Ruckvorgaben der Slave-Steuerungen können typischerweise offline in der Planungssoftware berechnet werden. Lediglich die Slave-Posen müssen in Echtzeit ermittelt werden. Dabei werden die Master- und Slave-Posen über die Grob-Interpolation der parametrischen Bahnelemente Gerade und Kreis aus Teach- oder vorgelagerten Offline-Planungsdaten abgeleitet. Extrem hohe Genauigkeiten lassen sich jedoch nur dann erreichen, wenn sämtliche Bewegungs-zustände in Echtzeit bearbeitet werden können. Jede Slave-Steuerung benötigt zudem die zeitinvarianten Posebeziehungen (7-63).

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-20 - © Dr-Ing. habil. Jörg Wollnack

7.2.2 Kooperierendes Roboter-Laser-Scanner-System

Für ein sensorgeführtes roboterunterstütztes Remote-Laser-Schweiß-System in Abb. 7-10 er-geben sich typische Problemstellungen, die mit den in den vorherigen Abschnitten erörterten systemtheoretischen Methoden bearbeitet werden können. Das Sensorsystem ist für eine Systemkalibration der parametrischen Steuerungsmodelle oder/und Lageidentifikation des Bauteils oder der Schweißnahtlagen erforderlich, sofern die konstruktiven Daten nicht mit den erforderlichen Genauigkeiten zur Verfügung stehen oder auftretende Fertigungstoleranzen der Bauteile ein adaptives Verhalten erforderlich machen.

TTCP

A(t)

TC0

TCP

TL

TCP

TB

C0

STCP

SL

SC0

SB

SA

TBA

Br( )t

Lr( )t

Abb. 7-10: Roboterunterstütztes Remote-Laser-Schweißen

Aus den bekannten Prozessrandbedingungen des Schweißprozesses lässt sich die hoch-dynamische lokale Laser-Spot- B ( )tr sowie großvolumige geringdynamische Roboterbewe-

gung TCPA ( )tp ableiten, wobei die statischen Transformationen TCP

LT und BAT aus kon-

struktiven Daten ermittelt oder Mittels Systemkalibration bestimmt werden. Die Aufteilung der Bewegung auf die Roboter- und Laser-Spot-Steuerung ist mehrdeutig und wird von der vorgelagerten Bewegungsplanung vollzogen.

Gesucht ist somit die für die Schweißaufgabe notwendige hochdynamische Laser-Spot-Bewegung:

LL L L L L L L 3

Min Max Min Max Min Max( ) [ , ] [ , ] [ , ]x x y y z zt W r r r r r r∈ ≡ × × ⊂r

r � , mit den

Restriktionen: L LMax( )r t vε ε≤� und L L

Max( )r t aε ε≤�� , mit { , , }x y zε ∈ . (7-82)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-21 - © Dr-Ing. habil. Jörg Wollnack

Aus der Relation

L TCP 1 TCP B BL A A( ) ( ( )) ( )t t t−=r T T p T r , mit

t t1 TCP

A

( ) ( ) ( )( ( ))

1

t t tt−

−=

D D tT p

0 (7-83)

lassen sich das Geschwindigkeits-, Beschleunigungs-, Stoss- und Ruckverhalten der Laser-Spot-Steuerung ableiten:

L TCP 1 TCP B BL A A

t tTCP B BL A

d( ) ( ( )) ( )

d

( ) ( ) ( )( )

1

t t tt

t t tt

− =

−+

r T T p T r

D D tT T r

0

(7-84.1)

2L TCP 1 TCP B B TCP 1 TCP B B

L A A L A A2

TCP 1 TCP B B TCP 1 TCP B BL A A L A A

d d( ) ( ( )) ( ) ( ( )) ( )

d d

d( ( )) ( ) ( ( )) ( )

d

t t t t tt t

t t t tt

− −

− −

= +

+ +

r T T p T r T T p T r

T T p T r T T p T r

�� �

� ��

(7-84.2)

3 2L TCP 1 TCP B B TCP 1 TCP B B

L A A L A A3 2

2TCP 1 TCP B B TCP 1 TCP B BL A A L A A2

2TCP 1 TCP B BL A A2

d d( ) ( ( )) ( ) ( ( )) ( )

d d

d d( ( )) ( ) ( ( )) ( )

d d

d( ( )) (

d

t t t t tt t

t t t tt t

t tt

− −

− −

= +

+ +

+

r T T p T r T T p T r

T T p T r T T p T r

T T p T r

��� �

� ��

( )

TCP 1 TCP B BL A A

TCP 1 TCP B B TCP 1 TCP B BL A A L A A

d) ( ( )) ( )

d

d( ( )) ( ) ( ( )) ( )

d

t tt

t t t tt

− −

+

+ +

T T p T r

T T p T r T T p T r

��

�� ���

. (7-84.3)

Mit der Differenziationskonvention (2.3.4) homogener Matrizen erhält unter Anwendung der Produktregel und den Differenzialen der Rotationstensoren in Kap. 6.1:

( )

( ) ( )( )

t t t

1 TCPA

t t t

( ) ( ) ( ) ( ) ( )d( ( ))

d 1

( )1

t t t t tt

t

t

− − + =

− + =

D D t D tT p

0

D D t D t

0

ω ωω ωω ωω ω

� ��

� �

(7-85.1)

( )

( )

t t t21 TCP

A2

t t t t

d d( ) ( ) ( ) ( ) ( )d d d( ( ))

d1

2( ) , mit

1

und

t t t t tt tt

t

t

− + =

− + + =

== +

D D t D tT p

0

D D t D t D t

0

D D

D α D D

ωωωωωωωωωωωω

� ��

�� �� �� ��

��

� � �

(7-85.2)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-22 - © Dr-Ing. habil. Jörg Wollnack

( )

( )

( )

2 2t t t3

2 21 TCPA3

t t t t

t t t

t t t t

d d( ) ( ) ( ) ( ) ( )d d d( ( ))

d1

d( ) ( ) ( ) 2 ( ) ( ) ( ) ( )

d , mit1

d( ) ( ) 2 ( ) ( ) ( ) ( )

d

2

t t t t tt tt

t

t t t t t t tt

t t t t t tt

− + =

− + + =

+ +

= + + +

D D t D tT p

0

D D t D t D t

0

D t D t D t

D t D t D t D

� ��

��� �� �� ��

�� �� ��

��� �� �� �� � �( )( )t t ( ) ,

,

und

2

t+ +

== +

= + + +

t D t D t

D D

D α D D

D β D α D α D D

ωωωωωωωωωωωω

ω ω ωωωω ω ωωωω ω ωωωω ω ωωω

�� �� ���

��

� � �

����

� � � � � � �

. (7-85.3)

Über die stationären Laser- und Robotersteuerungsmodelle

TCPA A A A( ) ( , ( ))t t=p f p x und (7-86)

LL L L( ) ( , ( ))t t=r f p x (7-87)

lassen sich analog zu den Multirobotersystemen in Kap. 7.2.1 das Positions-, Geschwindig-keits-, Beschleunigungs-, Stoss- und Ruckverhalten beschreiben. Damit kann hierüber eine Grob- und Fein-Interpolation der Steuerungen implementiert werden. Hinsichtlich den Echt-zeitanforderungen und dem Genauigkeitsverhalten gelten analoge Bedingungen.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-23 - © Dr-Ing. habil. Jörg Wollnack

7.3 Regelung

Ziel der Roboterregelung in Abb. 7-11 ist es, dass der Roboter einer gegebenen Steuerfunk-tion

1 1 Soll( , )t≡u u q (7-88)

gegebenenfalls unter Berücksichtigung von Randbedingungen und Beschränkungen möglichst exakt folgt.

-

Steuer-rechner

Roboter

Regler

u1

u2

q1

qSoll

u

Abb. 7-11: Roboterregelung

Für die Regelung von Robotersystemen mit f Freiheitsgraden sind eine Reihe von Konzepten entwickelt worden, die sich nach Kreuzer [76] auf die im Folgenden erörterten Prinzipien zu-rückführen lassen. Hierzu geht man von der Bewegungsgleichung

d( ) ( , ) ( )+ + + = ≡M q q D q h q q g q u k�� � � 6 (7-89)

aus. Bei diesem Ansatz wurden die eingeprägten Kräfte in lineare geschwindigkeitspropor-tionale Dämpfungskräfte D q� und Gewichtskräfte ( )g q gemäß der Gleichung

( )e ( )= − +f D q g q� , mit { }diag iid=D (7-90)

zerlegt.

7.3.1 Einachsregler

Der Charme der Einachsregler liegt in der Zurückführung der Ansätze auf Methoden der klas-sischen Regelungstheorie (siehe auch [203, 204]). Die real vorliegenden Nichtlinearitäten und Achskoppelungen werden dabei als Störungen interpretiert. Betrachtet man hierzu den i-ten Antrieb, so erhält man aus (7-89) den Störterm zu:

1

( , , ) ( , ) ( )f

i i j j i iji j

s m q h g=≠

= + +∑q q q q q q� �� � ���� . (7-91)

Damit lassen sich die klassischen Einzelachsensysteme kompakt über

d( , , )i i i i i i i im q d q s k+ + =q q q� ���� � , {1,..., }i f∈ (7-92)

beschreiben.

6 d steht hier für Antriebs- bzw. Drive-Kräfte.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-24 - © Dr-Ing. habil. Jörg Wollnack

Interpretiert man diese Gleichung, so lassen sich folgende Systemeigenschaften nennen:

• Störungsterme verursachen sowohl dynamische als auch statische Posefehler. Eine Verstärkungserhöhung der offenen Regelschleife kann diese Einflüsse reduzieren. Jedoch muss auf die Stabilität der Regelstrecke geachtet werden. Hierbei sind ins-besondere die Eigenfrequenzen der Kinematik kritisch zu betrachten.

• In die Störterme gehen die Achsgeschwindigkeiten quadratisch ein, weshalb eine Re-duzierung der Verfahrgeschwindigkeiten im Allgemeinen eine signifikante Genauig-keitssteigerung der Posebahn bewirkt. Dies steht in Konkurrenz zum Wirtschaftlich-keitsgebot, weshalb hier letztlich ein Optimierungsproblem vorliegt.

• Die Trägheitsterme der Massenmatrix i im sind von der Stellung der Achsen abhängig.

Für den Reglerentwurf ist daher der hinsichtlich der Systemdämpfung ungünstigste Fall und damit der Maximalwert von i im heranzuziehen. In anderen Achslagen erhöht

sich die Systemdämpfung, was zu einer Stabilitätserhöhung aber auch Geschwindig-keitsminderung der Achse führt.

Letztlich wird der Reglerentwurf des Robotersystems ein Kompromiss zwischen verschie-denen konkurrierenden Zielen sein und somit auf ein Optimierungsproblem führen, dass durch die konventionelle Vorgehensweise des Reglerdesigns nur bedingt abgedeckt wird.

7.3.2 Grob- und Feinregelung

In der Wissenschaft spielt die Linearisierung nicht linearer Vorgänge eine zentrale Rolle (siehe auch [201]). Nutzt man diese Idee für die Beschreibung der nicht linearen Bewegungs-gleichung (7-89) über einen Grob- und Feinterm, so erhält man:

0 0

0 0

N N M

N N N N

N N

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( ) ( )

( , ) ( , ) ( ) ( ) ( , )

( ) ( ) ( ) ( )

t t t tt

t t t tt

∆ ∆

∆ ∆

∂= + +∂∂= + +∂∂= + +∂∂ ∂= + + +∂ ∂

∂= + +∂

q

q

h

g

qq q R

qq q R

MM q M q q q R q

q

h hh q q h q q q q q q R q q

q q

gg q g q q q R q

q

∆ ∆∆ ∆∆ ∆∆ ∆

∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆

∆ ∆∆ ∆∆ ∆∆ ∆

��

� �

��

�� ��

� � � � �

dd d 0 0 d( ) ( ) ( ) ( )t t t t t

t∆ ∆∂= + +

∂ k

kk k R , mit

N 0

N 0

( )

( )

t

t

≡≡

q q

q q� �

N 0( )t≡q q�� �� . (7-93)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-25 - © Dr-Ing. habil. Jörg Wollnack

Infolgedessen erhält man für die Bewegungsgleichung ferner:

N N M 0 0

0 0

N N N N

N N

( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( )

( , ) ( ) ( ) ( , )

( ) ( ) ( )

t t t tt

t t t tt

∆ ∆

∆ ∆

∂ ∂+ + + + ∂ ∂

∂+ + + ∂

∂ ∂+ + + +∂ ∂

∂+ + +∂

q

q

h

g

M qM q q q R q q R

q

qD q R

h hh q q q q q q R q q

q q

gg q q q R q

q

∆ ∆∆ ∆∆ ∆∆ ∆

∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆

∆ ∆∆ ∆∆ ∆∆ ∆

��

��

��

� � � �

dd 0 0 d( ) ( ) ( )t t t t

t∆ ∆∂= + +

∂ k

kk R . (7-94)

Separiert man die nominalen und linearen bzw. Grob- und Feinterme, so erhält man unter Vernachlässigung der Restglieder:

N 0 0 N N N d 0( ) ( ) ( ) ( , ) ( ) ( )t t t+ + + =M q q D q h q q g q k�� � � (7-95)

dN 0 N N N 0( ) ( ) ( ) ( ) ( ) ( )t t t t

t t∆ ∆ ∂∂ ∂ ∂ ∂ ∂+ + + = ∂ ∂ ∂ ∂ ∂ ∂

kM q h h gq q q q q q q q

q q q q∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆∆ ∆ ∆ ∆

��

� �

(7-96)

Der erste Teil (7-95) dieser Gleichungen repräsentiert die Bewegungsgleichung der Nomi-nal/Grobsteuerung. Erfüllt der Regler diese Bedingung im Idealfall, so verschwindet dieser Anteil und es bleibt die lineare Bewegungsgleichung der Nominaländerungen bzw. Feinterme (7-96) übrig. Dessen Matrizen sind von der nominalen Trajektorie N N ( )t≡q q abhängig, so

dass ein lineares zeitvariantes Systemmodell vorliegt. Eine Zurückführung auf lineare zeitin-variante Systeme erfolgt, in dem man die Zeitvarianz vernachlässigt und N const t=q setzt. In

dieser Situation führt die Nominalsteuerung auf eine Kompensation konstanter Gewichtsmo-mente und das Reglerdesign kann mit klassischen Ansätzen vollzogen werden.

7.3.3 Regelung des inversen Systems

Verwendet man anstatt der Nominal- oder Sollwerte gemessene (aktuelle) Koordinaten, so kann man die als Feedback-Kompensation bezeichnete Regelungsstrategie entwerfen. Zerlegt man hierzu die Antriebsgröße

d d1 d2= +k k k (7-97)

in einen Kompensations-

* * *d1 ( , ) ( )= + +k h q q g q D q� � (7-98)

und Regelungsterm

*d2 dR( )=k M q k , (7-99)

worin die mit dem * gekennzeichneten Symbole Schätzgrößen des Systems darstellen, so er-hält man für die Bewegungsgleichung

* * * *dR( ) ( , ) ( ) ( , ) ( ) ( )+ + + = + + +M q q D q h q q g q h q q g q D q M q k�� � � � � (7-100)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-26 - © Dr-Ing. habil. Jörg Wollnack

bzw.

( )* * * *d R( ) ( , ) ( , ) ( ) ( ) ( )+ − + − + − =M q q D D q h q q h q q g q g q M q k�� � � � . (7-101)

Sind die Schätzgrößen M*, D*, h* und g* frei von Fehlern, so erhält man hieraus:

*d R( ) ( )=M q q M q k�� . (7-102)

Da die Massenmatrix stets regulär ist, gilt für die linearisierte entkoppelte Feedback-Kompen-sation-Regelung das Gesetz:

dR=q k�� . (7-103)

Diese lineare Bewegungsgleichung kann man mit der klassischen Regelungstheorie bearbei-ten, womit der Reglerentwurf auf eine bereits gut ausgearbeitete etablierte Basis linearer zeitinvarianter Regleransätze gestellt wurde.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-27 - © Dr-Ing. habil. Jörg Wollnack

7.3.4 Regler mit Kompensationsmodell

Der Regler mit Kompensationsmodell in Abb. 7-12 beruht auf dem Ansatz in Kap. 7.3.1.

Roboter

Regelung

Kompen-sations-Modell

+

+

uq

qSoll

q

u2

u1

Abb. 7-12: Regler mit Kompensationsmodell

Drivegleichung mit Zerlegung in Achs- und Störanteile:

Achsterm

Drive, 1 1( ) ( , ) ( ) ( , , )i ii i i i i i i i i i ik m q d q h q q g q s= + + + +q q q q� ���� � � . (7-104)

Störterm

2 21

( , , ) ( , ) ( )f

i ij j i iji j

s m q h g=≠

= + +∑q q q q q q� �� ��� . (7-105)

Vereinfachungen:

Tabellen

{ }{ }2 2( ), ( , ), ( )i iii i ik ik im h q q g→ →k k kk q q q� oder (7-106)

Mittelwerte

2 2, ,ii i im h g . (7-107)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-28 - © Dr-Ing. habil. Jörg Wollnack

7.3.5 Regler mit nicht linearer Entkoppelung

Der Regler mit nicht linearer Entkoppelung in Abb. 7-13 basiert auf dem Prinzip des inversen Systems in Kap. 7.3.3.

x

KP

KD

Roboter

-

-

qs

kDrive

qs-qM qR( )

h q,qR( )

qs

qs

q

qq

qs-q

DR

g qR( )

Abb. 7-13: Regler mit nicht linearer Entkoppelung

Annahme: Äquivalenz von Referenzmodell und System:

( ) ( )t t

R R R R ≡M D h g M D h g . (7-108)

Antriebsgleichung:

( ) ( )( )Drive R s D s P s R R R( ) ( , ) ( )= + − + − + + +k M q q K q q K q q h q q D q g q�� � � � � . (7-109)

Antriebsgleichung äquivalent zur Bewegungsgleichung des Roboters (7-89) (siehe Abb. 7-13):

( ) ( ) ( )( )

( ) ( ) ( )R s D s P s

R R R

( )

( , ) ( , ) ( ) ( )

⇒ − + − + −

+ − + − + − =

M q q q K q q K q q

h q q h q q D D q g q g q 0

�� � � � �

� � �

. (7-110)

Lineare Vektor-DGL:

d D d P d+ + =q K q K q 0�� � , mit d s= −q q q . (7-111)

Die nicht lineare Entkoppelung führt zu einer linearen Vektor-DGL, die die Anwendung von klassischen Entwurfsmethoden bei dem Reglerentwurf ermöglicht [203, 204]:

• Pol-Nullstellen-Diagramm, • Charakteristische Gleichung, • Amplituden- und Phasenrandkriterium, • usw.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-29 - © Dr-Ing. habil. Jörg Wollnack

7.3.6 Regler mit Referenzentwurf

Der Regler mit Referenzentwurf in Abb. 7-14 verwendet ein dynamisches Referenzmodell. Mit diesem dynamischen Referenzmodell wird das angestrebte Systemverhalten festgelegt.

-

Roboter

Regler

Referenz-modell

InversesModell

Berechnungr q q q q q0 ( , � , , � , �� )s s s

q q q, , SS S

q q,N R

q q q, ,

∆r

kDrive

Abb. 7-14: Regler mit Referenzentwurf

Bewegungsgleichung:

Drive ( ) ( , ) ( )= + + +k M q q D q h q q g q�� � � . (7-112)

Beschleunigung:

( )1Drive( ) ( , ) ( )−= − − −q M q k D q h q q g q�� � � . (7-113)

Das dynamisches Referenzmodell

�� ( , � , , � ,�� )q r q q q q q= 0 s s s (7-114)

wird vorgeben. Fehlerhafte Modellparameter des Inversen Modells

* * * *Drive ( ) ( , ) ( )= + + +k M q r D q h q q g q� � (7-115)

sind durch * gekennzeichnet.

Zerlegung nach:

r r r= +0 ∆∆∆∆ . (7-116)

Der Fehlervektor ∆∆∆∆r wird über einen Regler über die Faltung

( )R N( ) ( )t t∆ = ∗ −r g q q (7-117)

berechnet, wobei die Nominalwerte qN mit Hilfe des Referenzmodells (7-114)

�� ( , � , , � , �� )q r q q q q qN N N s s s= 0 (7-118)

bestimmt werden.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-30 - © Dr-Ing. habil. Jörg Wollnack

7.3.7 Zusammenfassung

Industrieroboterregelungen zeichnen sich durch nicht lineare zeitvariante gekoppelte Systeme aus. Basis vieler in der Industrie realisierter Roboterregelungen sind Kaskaden- oder Zu-standsregler. Dabei werden zumeist die Koppelungen der Einzelachsregler vernachlässigt. So-lange die Systemträgheitsmomente von den Motor- und Getriebeträgheitsmomenten dominiert werden, was bei entsprechenden Übersetzungsverhältnissen der Getriebe mehr oder minder gegeben ist, wird dieses Vorgehen erfolgreich sein. Mit zunehmender Weiterentwicklung der Robotersysteme sowohl im Hinblick auf eine Genauigkeitssteigerung des Bewegungsver-haltens als auch eine Reduzierung der Zykluszeiten wird mehr und mehr das reale Systemver-halten in den Vordergrund treten. Bedenkt man, dass vermutlich in ca. 5 bis 10 Jahren auf einem Chip preiswert Rechnerleistungen zur Verfügung stehen, die heutigen Großrechnern vorbehalten sind, so wird die Regelung selbst hochkomplexer Systeme unter den jeweils spezifischen Echtzeitanforderungen (100µs bis 1ms) wirtschaftlich attraktiv umgesetzt wer-den können.

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-31 - © Dr-Ing. habil. Jörg Wollnack

7.4 Offene Robotersteuerungen und Programmierung

Die Entwicklungen der Robotersteuerungen der letzten Jahre haben mehr den ebenfalls wich-tigen Komfortaspekt im Auge gehabt und weniger auf Offenheit der Schnittstellen, der Er-weiter- und Skalierbarkeit, der Robustheit gegenüber äußeren Störungen und Anforderung im Hinblick auf die Integration externer Sensorik geachtet. Sie bieten zumeist unflexible Schnitt-stellen, die die Möglichkeit der Modellkalibration und Multisensorintegration erschweren oder gar unmöglich machen. Offene und flexible Steuerungsarchitekturen entsprechend Abb. 7-15 können die Basis für eine industrielle Umsetzung innovativer Lösungsansätze bieten und so den Einsatzbereich der Roboter signifikant erweitern.

Joint-Controll

Network-Card

Joint-Regulator

Grob-Inter-polation{ }it

{ }kt

Bewegungs-variante G

Maschinenkoordinaten

Geschwindigkeits-und Beschleunigungs-

vorgaben

Zeitfolge

Zeitfolg e

AnalytischeInverse

Fein-Inter-polation

Lage-regler

Trans-formation

TCPA ( )itp

( )itx

F( )ktx

I ( )tx

Steuerrechner

I/O-DA

Sensor(x,x,x)

Power-Amplifier

ExternalSensor

Realtime Gigabit Ethernet

Abb. 7-15: Open-Control-Architektur

Die Systemarchitektur offener Robotersteuerungen sollte kinematische Modelle, Gelenkposi-tionsregler einschließlich der Grob- und Fein-Interpolation verwenden, die über ein Interface für weitere Softwareschichten zu Verfügung stehen (siehe Abb. 7-17). Da diese Strukturierun-gen sowohl physikalisch als auch logisch je nach Echtzeitanforderung umgesetzt werden müs-sen, sollten die Prozesse ebenso auf verteilte Rechnersysteme ausgelagert werden können. Hierzu wird ein echtzeitfähiges Kommunikationssystem notwendig sein.

Mit dem vermehrten Einzug von PC-basierten Robotersteuerungssystemen nach Abb. 7-16 wird mehr und mehr eine Integration der Modellkalibration und Multisensordatenverarbeitung direkt in die Robotersteuerung im Bereich des Möglichen liegen. Letztlich ist dies sowohl wirtschaftlich als auch technologisch die attraktivste Lösung und eröffnet wirtschaftliche Potenziale für den Einsatz objektorientierter Programmiersprachen und grafischer Entwurfs-umgebungen. Offene Steuerungssysteme sollten in diesem Sinne mehr als Chance für eine weitere Verbreitung der Robotertechnologien als eine Gefahr gesehen werden. Für die Roboterhersteller wichtiges System-Know-how muss damit nicht preisgegeben werden.

Im diesem Sinne kann die Initiative von Bill Gates auf dem Gebiet der Robotik einen signifi-kanten Entwicklungsschub induzieren [41], den etablierte Roboterhersteller rechtzeitig mit in

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-32 - © Dr-Ing. habil. Jörg Wollnack

ihre Überlegungen und Entwicklungen einbeziehen sollten. Bedenkt man, dass vermutlich in ca. 5 bis 10 Jahren auf einem Chip preiswert Rechnerleistungen zur Verfügung stehen [19], die heutigen Großrechnern vorbehalten sind, so wird die Systemkalibration selbst hochkom-plexer Systeme, iterative Inversenberechnung der kinematischen Transformation des mit Achswinkelfehlern behafteten kinematischen Modells im Zusammenhang mit der Echtzeit-bahninterpolation bis hin zur Berechnung der kinematischen Inversen an praxisrelevanten Singularitäten der Maschinenkoordinaten, um nur einiges zu nennen, unter den jeweils spezi-fischen Echtzeitanforderungen umgesetzt werden können.

MachineApplication

C, C++, C#

Programmers Interface

ModelingSensor Vision

Motion & I/O - Interface

MotionPlanning

I / O

BlumeBlume

Sensors

OfflineProgramming

and Simulation

Sensor-Int.

I/O

Motion

Robots

OperatingSystem

KernelMode

User Mode(protected)

Hardware Interface LayerHardware

Filesystem

OtherDeviceDr iver

NetworkDrivers

GraphicsDrivers

GraphicsSubsystem

I/O Manager

Real Time

OO Code Classes API Vision

Abb. 7-16:Offene PC-basierte Robotersteuerungen

VerfahrbefehleGrob-Interpolations-TypHold/NoHold

Maximale GeschwindigkeitMaximale BeschleunigungPosevektoren

Synchronisationsart

Time-Befehlewait usw.

InterfaceCall Kinematische Forward/Inverse

Grob-Interpolation Call by Pointer/Call BackFein-Interpolation Call ReglerparameterRegleralgorithmus Call

Kinematik-ParameterKinematische Forward/Inverse by Pointer/Call Back

by Pointer/Call Back

by Pointer/Call Back

Library/DLL/DCOMI/O-InterfaceSensorinterfaceusw.

StrukturelementeKontrollstrukturenFunktionenProzeduren

DatentypenIntegerRealComplex

StrukturenVektoren und Matrizen

ReferenzenObjekte

Strings

Pointerenumeric

Open ControlInnovation

Development

Abb. 7-17: Programmiersprachen, Interface, Offene Steuerungen und Innovationsentwicklung

Die objektorientierte Programmierung basiert auf dem Konzept Daten und Funktionen mög-lichst eng in einem sogenannten Objekt zusammenzufassen und nach außen hin so zu kapseln,

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-33 - © Dr-Ing. habil. Jörg Wollnack

dass Methoden fremder Objekte diese Daten nicht manipulieren können. Im Gegensatz dazu nimmt die klassische prozedurale Programmierung eine strikte Trennung von Programmcode (Funktionen und Prozeduren) und Daten vor. Mit der objektorientierten Programmierung kann sowohl eine tiefere Strukturierung vollzogen als auch ein höherer Modularisierungsgrad realisiert sowie eine Wiederverwendbarkeit des Codes gewährleistet werden. Die Klasse bzw. das Objekt hat Attribute die durch Datentypen repräsentiert sind (siehe Tab. 7-5) . Das Ver-halten des Objekts wird durch Methoden charakterisiert. Objekte können von anderen Objek-ten abgeleitet werden, wodurch sich die Attribute und Methoden der Basis vererben. Verer-bung heißt, dass eine abgeleitete Klasse die Methoden und Objekte der Basis ebenfalls besitzt. Somit kann die abgeleitete Klasse darauf zugreifen. Neue Objekte können auf der Basis be-reits vorhandener Objekte definiert werden, wobei man neue Attribute hinzufügen oder vor-handene substituieren (überladen) kann, was letztlich Teil- oder Obermengen generiert. Ins-gesamt wird hierdurch die Effizienz, Wiederverwendbarkeit und Wartbarkeit von Program-men signifikant erhöht. Mit der Idee der Polymorphie7 können verschiedene Objekte auf namentlich gleiche Methoden oder Nachrichten unterschiedlich reagieren. Wird die Zu-ordnung der Nachrichten zu den Reaktionen zur Laufzeit aufgelöst, dann spricht man von später Bindung.

Gängige moderne Programmiersprachen wie Java, C++ und C# unterstützen sowohl die objektorientierte Programmierung als auch den prozeduralen Ansatz.

Die Ideen der objektorientierten Programmierung sind eng verwandt mit der Strukturtheorie und Mengenlehre der Mathematik. Hier sind z. B. die Isomorphiesätze ein mächtiges Werk-zeug, das bereits bewiesene Strukturrelationen auf andere mathematische Objekte vererbt:

• Der Nabla-Operator hat Vektoreigenschaften, so dass man die Vektoralgebra heran-ziehen kann, um ökonomisch Relationen zwischen rot, div und grad zu entwickeln.

• Differenzialoperator auf Funkionen hat Strukturen der Algebra reeller Zahlen, somit können Relationen für mehrdimensionale Ableitungen mit algebraischen Methoden entwicklen werden.

• Matrix- und Vektoralgebra für komplexe Zahlen und homogene Matrizen und Vek-toren als Teilmenge (Theorie der Körper und Abelschen Gruppen)

• usw.

Ebenso nutzt man dabei letztlich auch den Sachverhalt aus, dass die menschliche Ideenfin-dung von der Tatsache genährt wird, das strukturierte und damit kompakte, übersichtliche oder ähnliche Schreibweisen der assoziativen Informationsverarbeitung des Menschen entge-genkommen. Dies erklärt auch, warum Menschen die Übersetzung von Strukturen in Pro-gramme auf diese Weise effizienter, sicherer und wartbarer vollziehen können. Mit der zuneh-menden Komplexität der mechatronischen Systeme werden diese Aspekte mehr und mehr an Bedeutung gewinnen, weshalb die Robotik hieraus signifikant Nutzen ziehen kann und viel-leicht sogar muss. Dies schließt eine grafisch symbolische Programmierung und Simulation auf höheren Abstraktionsebenen letztlich mit ein.

7 Poly := Viel und Morphologie := Gestalts- oder Formenlehre

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-34 - © Dr-Ing. habil. Jörg Wollnack

//-------------------------------------------------------------------------------------------

class CSeriellRobot : public CObject

{

//-------------------------------------------------------------------------------------------

protected:

// Datenobjekte

CString m_ErrorInfo; // Fehlerinformation

Matrix<double> m_AchsParameter; // Statische Achsparameter

Vektor<double> m_OffsetValues; // Sensor-Offsetwerte (Nulllagenwerte)

Vektor<double> m_RiseValues; // Sensor-Steigungswerte

Vektor<int> m_TransformTyp; // Transformationstyp Achsmodelle

CString m_RoboterName; // Robotername

CString m_RoboterID; // Roboter-Identifikation

BOOL m_SynchNotAsynch; // synchrone oder asynchrone Bewegung

Vektor<double> m_vMax_Joints; // Geschwindigkeitswerte der Achsen

Vektor<double> m_aMax_Joints; // Beschleunigungswerte der Achsen

// Interne Methoden

// Kinematische Transformation und Interpolation

virtual Vektor<double> ForwardTransform(Vektor<double> & MachineKood);

virtual Vektor<double> InverseTransform(Vektor<double> & PoseTCPA);

virtual Matrix<double> FineInterpol(Matrix<double> & MachineKood)

//-------------------------------------------------------------------------------------------

public:

// Externe Methoden (User-Interface)

BOOL GetSynch(void)

BOOL SetSynch(vois)

Vektor<double> & Get_vMax(void)

Vektor<double> & Get_aMax(void)

BOOL Set_vMax(Vektor<double> & vMax)

BOOL Set_aMax(Vektor<double> & aMax)

BOOL bLinearInterpol(Matrix<double>& PoseTCPA);

BOOL bCircelInterpol(Matrix<double>& PoseTCPA);

BOOL MoveToPose(Vektor<double> & PoseTCPA);

Vektor<double> & GetTCPPose(void);

BOOL MoveToJoints(Vektor<double> & Joints);

Vektor<double> & GetJoints(void);

BOOL bGetDigitalIO(enumDChannelName Name)

BOOL bSetDigitalIO(enumDChannelName Name, BOOL bValue)

double bGetAnalogIO(enumAChannelName Name)

BOOL bSetAnalogIO(enumAChannelName Name, double bValue)

//-------------------------------------------------------------------------------------------

}

//-------------------------------------------------------------------------------------------

Tab. 7-5: Lehrbeispiel C++ Robotermodell-Objekt

(Vektor und Matrix sind Template-Objekte, die eine Matrixalgebra anbieten; BOOL ist unsigned char)

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-35 - © Dr-Ing. habil. Jörg Wollnack

7. Bewegungsplanung, Interpolation und Regelung

29.12.2011 V3.1 - 7-36 - © Dr-Ing. habil. Jörg Wollnack

Inhaltsverzeichnis

7� Bewegungsplanung, Interpolation und Regelung ................................................. 1�

7.1� Bewegungsplanung und Interpolation .................................................................. 3�

7.1.1� Grob-Interpolation ........................................................................................ 5�

7.1.2� Fein-Interpolation ......................................................................................... 8�

7.1.2.1� Trapezmodell ......................................................................................... 9�

7.1.2.2� Spline -Interpolation............................................................................. 13�

7.1.2.3� Fehlerabschätzung ................................................................................ 15�

7.2� Kooperierende Systeme ..................................................................................... 17�

7.2.1� Kooperierende Robotersysteme ................................................................... 17�

7.2.2� Kooperierendes Roboter-Laser-Scanner-System ......................................... 20�

7.3� Regelung ........................................................................................................... 23�

7.3.1� Einachsregler .............................................................................................. 23�

7.3.2� Grob- und Feinregelung .............................................................................. 24�

7.3.3� Regelung des inversen Systems ................................................................... 25�

7.3.4� Regler mit Kompensationsmodell ............................................................... 27�

7.3.5� Regler mit nicht linearer Entkoppelung ....................................................... 28�

7.3.6� Regler mit Referenzentwurf ........................................................................ 29�

7.3.7� Zusammenfassung ...................................................................................... 30�

7.4� Offene Robotersteuerungen und Programmierung .............................................. 31�