design and control of variable stiffness actuation …design and control of variable stiffness...

50
Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele Vassura DEIS - DIEM - Universit` a di Bologna LAR - Laboratory of Automation and Robotics Viale Risorgimento 2, 40136, Bologna May 3, 2010 Gianluca Palli (Universit ` a di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 1 / 20

Upload: others

Post on 30-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Design and Control of

Variable Stiffness Actuation Systems

Gianluca Palli, Claudio Melchiorri,

Giovanni Berselli and Gabriele Vassura

DEIS - DIEM - Universita di Bologna

LAR - Laboratory of Automation and Robotics

Viale Risorgimento 2, 40136, Bologna

May 3, 2010

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 1 / 20

Page 2: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Outline

Variable Stiffness Joint Design

VSJ ImplementationVSJ Based on Compliant Flexures

VSJ Robot Control

Robot Dynamic Model

Static Feedback LinearizationSliding Mode Controller

Output-based Controller

Conclusions

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 2 / 20

Page 3: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Characteristics of VSJ

Drawbacks of the Variable Stiffness Actuation:

◮ A more complex mechanical design

◮ The number of actuators increases

◮ Non-linear transmission elements must be used

◮ High non-linear and cross coupled dynamic model

Open design issues:

◮ Mechanical implementation

◮ Physical dimensions

◮ Stiffness range

◮ Displacement range

◮ Torque/Displacement relation

Design Approach

◮ The joint structure and

dimensions have beenfixed

◮ A compliant transmission

element has beendesigned to achieve the

desired joint behavior

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20

Page 4: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Characteristics of VSJ

Drawbacks of the Variable Stiffness Actuation:

◮ A more complex mechanical design

◮ The number of actuators increases

◮ Non-linear transmission elements must be used

◮ High non-linear and cross coupled dynamic model

Open design issues:

◮ Mechanical implementation

◮ Physical dimensions

◮ Stiffness range

◮ Displacement range

◮ Torque/Displacement relation

Design Approach

◮ The joint structure and

dimensions have beenfixed

◮ A compliant transmission

element has beendesigned to achieve the

desired joint behavior

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20

Page 5: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Characteristics of VSJ

Drawbacks of the Variable Stiffness Actuation:

◮ A more complex mechanical design

◮ The number of actuators increases

◮ Non-linear transmission elements must be used

◮ High non-linear and cross coupled dynamic model

Open design issues:

◮ Mechanical implementation

◮ Physical dimensions

◮ Stiffness range

◮ Displacement range

◮ Torque/Displacement relation

Design Approach

◮ The joint structure and

dimensions have beenfixed

◮ A compliant transmission

element has beendesigned to achieve the

desired joint behavior

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20

Page 6: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Characteristics of VSJ

Drawbacks of the Variable Stiffness Actuation:

◮ A more complex mechanical design

◮ The number of actuators increases

◮ Non-linear transmission elements must be used

◮ High non-linear and cross coupled dynamic model

Open design issues:

◮ Mechanical implementation

◮ Physical dimensions

◮ Stiffness range

◮ Displacement range

◮ Torque/Displacement relation

Design Approach

◮ The joint structure and

dimensions have beenfixed

◮ A compliant transmission

element has beendesigned to achieve the

desired joint behavior

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20

Page 7: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Joint Frame Structure

◮ Antagonistic configuration

τ{1,2} = K (ǫ{1,2})

ǫ{1,2} = θ{1,2} ± θJ

τJ = τ1 − τ2

SJ =∂K (ǫ1)

∂θJ−

∂K (ǫ2)

∂θJ

◮ Compact and simple joint framedesign

◮ The compliant element ischangeable

Motor 1Motor 2

Moving Link

Nonlinear

ElasticTransmission

(CTE)

Nonlinear

ElasticTransmission

(CTE)

θ1θ2

τ1τ2

θj

τe

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20

Page 8: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Joint Frame Structure

◮ Antagonistic configuration

τ{1,2} = K (ǫ{1,2})

ǫ{1,2} = θ{1,2} ± θJ

τJ = τ1 − τ2

SJ =∂K (ǫ1)

∂θJ−

∂K (ǫ2)

∂θJ

◮ Compact and simple joint frame

design

◮ The compliant element is

changeable

Motor 2 Motor 1

MovingLink

Base

Link

(CommonFrame)

Nonlinear

ElasticTransmission

(CTE)

Nonlinear

ElasticTransmission

(CTE)

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20

Page 9: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Joint Frame Structure

◮ Antagonistic configuration

τ{1,2} = K (ǫ{1,2})

ǫ{1,2} = θ{1,2} ± θJ

τJ = τ1 − τ2

SJ =∂K (ǫ1)

∂θJ−

∂K (ǫ2)

∂θJ

◮ Compact and simple joint framedesign

◮ The compliant element is

changeable DC Motors

Motor

Encoders

MovingLink

Base

Link

Main

Shaft CTE

Motor

Gear

ShaftGear

Shaft Gear

& CTE

Support+ Bearings

Shaft

Support+ Bearing

Joint

Encoder

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20

Page 10: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Design Considerations

The selection of suitable displacement and stiffness ranges depend on:

◮ the inertia of the robot

◮ the robot cover (soft cover)

◮ the maximum velocity and load

◮ the adopted security criteria

Does an optimal torque/displacement (stiffness) relation exists?

◮ Several different torque/displacement characteristic can be found incurrent VSJ implementations

◮ Quadratic◮ Polynomial◮ Exponential◮ ...

◮ Quadratic torque/displacement relation presents some interestingadvantages from the control point of view

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20

Page 11: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Design Considerations

The selection of suitable displacement and stiffness ranges depend on:

◮ the inertia of the robot

◮ the robot cover (soft cover)

◮ the maximum velocity and load

◮ the adopted security criteria

Does an optimal torque/displacement (stiffness) relation exists?

◮ Several different torque/displacement characteristic can be found incurrent VSJ implementations

◮ Quadratic◮ Polynomial◮ Exponential◮ ...

◮ Quadratic torque/displacement relation presents some interestingadvantages from the control point of view

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20

Page 12: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Design Considerations

The selection of suitable displacement and stiffness ranges depend on:

◮ the inertia of the robot

◮ the robot cover (soft cover)

◮ the maximum velocity and load

◮ the adopted security criteria

Does an optimal torque/displacement (stiffness) relation exists?

◮ Several different torque/displacement characteristic can be found incurrent VSJ implementations

◮ Quadratic◮ Polynomial◮ Exponential◮ ...

◮ Quadratic torque/displacement relation presents some interestingadvantages from the control point of view

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20

Page 13: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Design Considerations

The selection of suitable displacement and stiffness ranges depend on:

◮ the inertia of the robot

◮ the robot cover (soft cover)

◮ the maximum velocity and load

◮ the adopted security criteria

Does an optimal torque/displacement (stiffness) relation exists?

◮ Several different torque/displacement characteristic can be found incurrent VSJ implementations

◮ Quadratic◮ Polynomial◮ Exponential◮ ...

◮ Quadratic torque/displacement relation presents some interestingadvantages from the control point of view

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20

Page 14: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Selection of the torque/displacement relation

◮ Quadratic stiffness relation

of the coupling elements

allows constant stiffnessalong joint displacement

◮ Actuators and Joint Torques

τ{1,2} = α2 ǫ2{1,2} + α1 ǫ{1,2} + α0

τJ = [α2(θ1 + θ2) + α1][θ1 − θ2 + 2θJ ]

◮ Joint Stiffness

SJ = 2 [α2(θ1 + θ2) + α1]

Motor 1Motor 2

Moving Link

NonlinearElastic

Transmission

(CTE)

NonlinearElastic

Transmission

(CTE)

θ1θ2

τ1τ2

θj

τe

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 6 / 20

Page 15: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Implementation

Selection of the torque/displacement relation

◮ Quadratic stiffness relation

of the coupling elements

allows constant stiffnessalong joint displacement

◮ Actuators and Joint Torques

τ{1,2} = α2 ǫ2{1,2} + α1 ǫ{1,2} + α0

τJ = [α2(θ1 + θ2) + α1][θ1 − θ2 + 2θJ ]

◮ Joint Stiffness

SJ = 2 [α2(θ1 + θ2) + α1]

Motor 1Motor 2

Moving Link

NonlinearElastic

Transmission

(CTE)

NonlinearElastic

Transmission

(CTE)

θ1θ2

τ1τ2

θj

τe

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 6 / 20

Page 16: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Based on Compliant Flexures

Introducing Compliant Flexures

◮ Exploit compliant flexures enhances the compactness and the flexibility ofthe design

◮ Concentrated deformation and with linear elastic deflection◮ Continuous compliant mechanisms

◮ Nonlinear torsional stiffness has been achieved by using compliantelements with linear elastic deflection (Palli et al., IDETC 2010 [PBMV10])

Ψ1

Inner Frame

Outer FrameInner Frame

Outer Frame

r1

r2

r3

r4

k2

k3

k4

γ2

γ3

γ4

Crank

Coupler

Rocker

Base

φ

β

λδ

r1

r2

r3

r4

k2

k3

k4

γ2

γ3

γ4

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 7 / 20

Page 17: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Based on Compliant Flexures

Compliant Elements Design Procedure

◮ Selection of the material

◮ Optimization of the compliant elements design◮ to obtain a quadratic torque/displacement relation◮ with the desired displacement◮ given the stiffness range

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5−10

−5

0

5

10

15

20

25

Optimized

Desired

FEM Analysis

Reaction

Torq

ueT

1[N

m]

Deflection Ψ1 [rad]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 8 / 20

Page 18: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Based on Compliant Flexures

VSJ Prototype

◮ Prototype of the VSJ with compliant flexures

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20

Page 19: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Based on Compliant Flexures

VSJ Prototype

◮ Prototype of the VSJ with compliant flexures

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20

Page 20: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Variable Stiffness Joint Design VSJ Based on Compliant Flexures

VSJ Prototype

◮ Prototype of the VSJ with compliant flexures

−0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4−30

−20

−10

0

10

20

30

EffectiveDesired

Stiffness [N m rad−1]

25.537.048.5

60.071.583.0

94.4

Join

tTorq

ue

[Nm

]

Joint Deflection [rad]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20

Page 21: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Dynamic equations of a robotic manipulators with elastic joints

M(q) q + N(q, q) + K (q − θ) = 0

B θ + K (θ − q) = τ

◮ The diagonal joint stiffness matrix

K = diag{k1, . . . , kn}, K = K (t) > 0

◮ The dynamics of the joint stiffness k is written as a generic nonlinear

function of the system configuration (Palli et al., ICRA 2007 [PMW+07])

k = β(q, θ) + γ(q, θ) τk

◮ The stiffness depends on the joint and actuators relative positions◮ The dynamics of some mechanism used to adjust the stiffness is considered

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20

Page 22: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Dynamic equations of a robotic manipulators with elastic joints

M(q) q + N(q, q) + K (q − θ) = 0

B θ + K (θ − q) = τ

◮ The diagonal joint stiffness matrix

K = diag{k1, . . . , kn}, K = K (t) > 0

◮ The dynamics of the joint stiffness k is written as a generic nonlinear

function of the system configuration (Palli et al., ICRA 2007 [PMW+07])

k = β(q, θ) + γ(q, θ) τk

◮ The stiffness depends on the joint and actuators relative positions◮ The dynamics of some mechanism used to adjust the stiffness is considered

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20

Page 23: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Dynamic equations of a robotic manipulators with elastic joints

M(q) q + N(q, q) + K (q − θ) = 0

B θ + K (θ − q) = τ

◮ The diagonal joint stiffness matrix is considered time-variant

K = diag{k1, . . . , kn}, K = K (t) > 0

◮ The dynamics of the joint stiffness k is written as a generic nonlinear

function of the system configuration (Palli et al., ICRA 2007 [PMW+07])

k = β(q, θ) + γ(q, θ) τk

◮ The stiffness depends on the joint and actuators relative positions◮ The dynamics of some mechanism used to adjust the stiffness is considered

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20

Page 24: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Dynamic equations of a robotic manipulators with elastic joints

M(q) q + N(q, q) + K (q − θ) = 0

B θ + K (θ − q) = τ

◮ The diagonal joint stiffness matrix is considered time-variant

K = diag{k1, . . . , kn}, K = K (t) > 0

◮ The dynamics of the joint stiffness k is written as a generic nonlinear

function of the system configuration (Palli et al., ICRA 2007 [PMW+07])

k = β(q, θ) + γ(q, θ) τk

◮ The stiffness depends on the joint and actuators relative positions◮ The dynamics of some mechanism used to adjust the stiffness is considered

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20

Page 25: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Complete robot dynamics with uncertainties

M(q) q + N(q, q) + K (q − θ) + ηq(t) = 0

B θ + K (θ − q) + ηθ(t) = τ

γ(q, θ)−1[

k − β(q, θ)(t) + ηk (t)]

= τk

◮ All the effects due to frictions, dead-zones, non-modeled dynamics,

parameters variability etc., can be introduced by the additive functions

η{q,θ,k}(t)◮ In the nominal case → η{q,θ,k}(t) = 0

◮ The input u and the robot state x are:

u =

[

τ

τk

]

, x =[

qT qT θT θT kT kT]T

, y =

[

q

k

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20

Page 26: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Complete robot dynamics with uncertainties

M(q) q + N(q, q) + K (q − θ) + ηq(t) = 0

B θ + K (θ − q) + ηθ(t) = τ

γ(q, θ)−1[

k − β(q, θ)(t) + ηk (t)]

= τk

◮ All the effects due to frictions, dead-zones, non-modeled dynamics,

parameters variability etc., can be introduced by the additive functions

η{q,θ,k}(t)◮ In the nominal case → η{q,θ,k}(t) = 0

◮ The input u and the robot state x are:

u =

[

τ

τk

]

, x =[

qT qT θT θT kT kT]T

, y =

[

q

k

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20

Page 27: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Complete robot dynamics with uncertainties

M(q) q + N(q, q) + K (q − θ) + ηq(t) = 0

B θ + K (θ − q) + ηθ(t) = τ

γ(q, θ)−1[

k − β(q, θ)(t) + ηk (t)]

= τk

◮ All the effects due to frictions, dead-zones, non-modeled dynamics,

parameters variability etc., can be introduced by the additive functions

η{q,θ,k}(t)◮ In the nominal case → η{q,θ,k}(t) = 0

◮ The input u and the robot state x are:

u =

[

τ

τk

]

, x =[

qT qT θT θT kT kT]T

, y =

[

q

k

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20

Page 28: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Robot Dynamic Model

Dynamic Model of Robots with Variable Joint Stiffness

◮ Complete robot dynamics with uncertainties

M(q) q + N(q, q) + K (q − θ) + ηq(t) = 0

B θ + K (θ − q) + ηθ(t) = τ

γ(q, θ)−1[

k − β(q, θ)(t) + ηk (t)]

= τk

◮ All the effects due to frictions, dead-zones, non-modeled dynamics,

parameters variability etc., can be introduced by the additive functions

η{q,θ,k}(t)◮ In the nominal case → η{q,θ,k}(t) = 0

◮ The input u and the robot state x are:

u =

[

τ

τk

]

, x =[

qT qT θT θT kT kT]T

, y =

[

q

k

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20

Page 29: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Static Feedback Linearization

Feedback Linearized Model

◮ The overall system can be written as[

q[4]

k

]

=

[

α(x)β(q, θ)

]

+Q(x)

[

τ

τk

]

where Q(x) is the decoupling matrix:

Q(x) =

[

M−1KB−1 M−1Φ γ(q, θ)0n×n γ(q, θ)

]

◮ Non-Singularity Conditions →ki > 0

γi(qi , θi) 6= 0

}

∀ i = 1, . . . , n

◮ By applying the static state feedback[

τ

τk

]

= Q−1(x)

(

[

α(x)β(q, θ)

]

+

[

vqvk

])

the linearized model is obtained (Palli et al., ICRA 2008 [PMD08])[

q[4]

k

]

=

[

vqvk

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20

Page 30: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Static Feedback Linearization

Feedback Linearized Model

◮ The overall system can be written as[

q[4]

k

]

=

[

α(x)β(q, θ)

]

+Q(x)

[

τ

τk

]

where Q(x) is the decoupling matrix:

Q(x) =

[

M−1KB−1 M−1Φ γ(q, θ)0n×n γ(q, θ)

]

◮ Non-Singularity Conditions →ki > 0

γi(qi , θi) 6= 0

}

∀ i = 1, . . . , n

◮ By applying the static state feedback[

τ

τk

]

= Q−1(x)

(

[

α(x)β(q, θ)

]

+

[

vqvk

])

the linearized model is obtained (Palli et al., ICRA 2008 [PMD08])[

q[4]

k

]

=

[

vqvk

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20

Page 31: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Static Feedback Linearization

Feedback Linearized Model

◮ The overall system can be written as[

q[4]

k

]

=

[

α(x)β(q, θ)

]

+Q(x)

[

τ

τk

]

where Q(x) is the decoupling matrix:

Q(x) =

[

M−1KB−1 M−1Φ γ(q, θ)0n×n γ(q, θ)

]

◮ Non-Singularity Conditions →ki > 0

γi(qi , θi) 6= 0

}

∀ i = 1, . . . , n

◮ By applying the static state feedback[

τ

τk

]

= Q−1(x)

(

[

α(x)β(q, θ)

]

+

[

vqvk

])

the linearized model is obtained (Palli et al., ICRA 2008 [PMD08])[

q[4]

k

]

=

[

vqvk

]

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20

Page 32: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Static Feedback Linearization

Feedback Linearized Model

◮ The overall system can be written as[

q[4]

k

]

=

[

α(x)β(q, θ)

]

+Q(x)

[

τ

τk

]

where Q(x) is the decoupling matrix:

Q(x) =

[

M−1KB−1 M−1Φ γ(q, θ)0n×n γ(q, θ)

]

◮ Non-Singularity Conditions →ki > 0

γi(qi , θi) 6= 0

}

∀ i = 1, . . . , n

◮ By applying the static state feedback[

τ

τk

]

= Q−1(x)

(

[

α(x)β(q, θ)

]

+

[

vqvk

])

the linearized model is obtained (Palli et al., ICRA 2008 [PMD08])[

q[4]

k

]

=

[

vqvk

]

Fully-decoupled linear model

represented by two indipendent

chains of integrators

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20

Page 33: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Sliding Mode Controller

◮ The time-varying sliding surface is defined in the linearized state space:

S =

e[3]q + Pq3eq + Pq2eq + Pq1eq + Pq0

∫ t

0

eqdt

ek + Pk1ek + Pk0

∫ t

0

ekdt

◮ If η{q,θ,k}(t) 6= 0:

S =

[

e[4]q

ek

]

+ P e =

[

q[4]q

kd

]

[

α′(x , t)β′(q, θ, t)

]

−Q(x)

[

τ

τk

]

+ P e

where α′(x , t) and β′(q, θ, t) represent the dynamics of the system in the

non-nominal case

◮ The actual control action is defined as (Palli & Melchiorri, ICAR 2009

[PM09]):[

τ ′

τ ′k

]

=

[

τ

τk

]

+Q−1(x)R sign(S)

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20

Page 34: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Sliding Mode Controller

◮ The time-varying sliding surface is defined in the linearized state space:

S =

e[3]q + Pq3eq + Pq2eq + Pq1eq + Pq0

∫ t

0

eqdt

ek + Pk1ek + Pk0

∫ t

0

ekdt

◮ If η{q,θ,k}(t) 6= 0:

S =

[

e[4]q

ek

]

+ P e =

[

q[4]q

kd

]

[

α′(x , t)β′(q, θ, t)

]

−Q(x)

[

τ

τk

]

+ P e

where α′(x , t) and β′(q, θ, t) represent the dynamics of the system in the

non-nominal case

◮ The actual control action is defined as (Palli & Melchiorri, ICAR 2009

[PM09]):[

τ ′

τ ′k

]

=

[

τ

τk

]

+Q−1(x)R sign(S)

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20

Page 35: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Sliding Mode Controller

◮ The time-varying sliding surface is defined in the linearized state space:

S =

e[3]q + Pq3eq + Pq2eq + Pq1eq + Pq0

∫ t

0

eqdt

ek + Pk1ek + Pk0

∫ t

0

ekdt

◮ If η{q,θ,k}(t) 6= 0:

S =

[

e[4]q

ek

]

+ P e =

[

q[4]q

kd

]

[

α′(x , t)β′(q, θ, t)

]

−Q(x)

[

τ

τk

]

+ P e

where α′(x , t) and β′(q, θ, t) represent the dynamics of the system in the

non-nominal case

◮ The actual control action is defined as (Palli & Melchiorri, ICAR 2009

[PM09]):[

τ ′

τ ′k

]

=

[

τ

τk

]

+Q−1(x)R sign(S)

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20

Page 36: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Lyapunov Stability

◮ Candidate Lyapunov function:

V =1

2STS

◮ Condition for the asymptotic trajectory tracking:

V = ST S = ST {F − R sign(S)} < 0

where

F =

[

α(x)β(q, θ)

]

[

α′(x , t)β′(q, θ, t)

]

represents the residual dynamics of the manipulator due to non-prefect

knowledge of its model and to spurious effects◮ The elements of the matrix R must be larger than the error in the robot

dynamics:

Rii > |Fi |

◮ Given the boundedness of the the robot dynamics, a matrix R that globally

satisfies the required conditions can be found

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20

Page 37: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Lyapunov Stability

◮ Candidate Lyapunov function:

V =1

2STS

◮ Condition for the asymptotic trajectory tracking:

V = ST S = ST {F − R sign(S)} < 0

where

F =

[

α(x)β(q, θ)

]

[

α′(x , t)β′(q, θ, t)

]

represents the residual dynamics of the manipulator due to non-prefect

knowledge of its model and to spurious effects◮ The elements of the matrix R must be larger than the error in the robot

dynamics:

Rii > |Fi |

◮ Given the boundedness of the the robot dynamics, a matrix R that globally

satisfies the required conditions can be found

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20

Page 38: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Lyapunov Stability

◮ Candidate Lyapunov function:

V =1

2STS

◮ Condition for the asymptotic trajectory tracking:

V = ST S = ST {F − R sign(S)} < 0

where

F =

[

α(x)β(q, θ)

]

[

α′(x , t)β′(q, θ, t)

]

represents the residual dynamics of the manipulator due to non-prefect

knowledge of its model and to spurious effects◮ The elements of the matrix R must be larger than the error in the robot

dynamics:

Rii > |Fi |

◮ Given the boundedness of the the robot dynamics, a matrix R that globally

satisfies the required conditions can be found

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20

Page 39: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Lyapunov Stability

◮ Candidate Lyapunov function:

V =1

2STS

◮ Condition for the asymptotic trajectory tracking:

V = ST S = ST {F − R sign(S)} < 0

where

F =

[

α(x)β(q, θ)

]

[

α′(x , t)β′(q, θ, t)

]

represents the residual dynamics of the manipulator due to non-prefect

knowledge of its model and to spurious effects◮ The elements of the matrix R must be larger than the error in the robot

dynamics:

Rii > |Fi |

◮ Given the boundedness of the the robot dynamics, a matrix R that globally

satisfies the required conditions can be found

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20

Page 40: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Simulation of a two-links Planar Manipulator

◮ Nominal Model + Exact Feedback linearization

0 2 4 6 8 10−2

−1

0

1

2

Pos Joint 1

Pos Joint 2

0 2 4 6 8 10−1

−0.5

0

0.5

1x 10

−5

Err Joint 1

Err Joint 2

0 2 4 6 8 10−1

0

1

2

3

4

Stiff Joint 1

Stiff Joint 2

0 2 4 6 8 10−1

−0.5

0

0.5

1x 10

−5

Err Joint 1

Err Joint 2

Joint positions [rad ] Position errors [rad ]

Joint Stiffness [N m rad−1] Stiffness errors [N m rad−1]

Time [s] Time [s]Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20

Page 41: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Simulation of a two-links Planar Manipulator

◮ Perturbed Model + Simplified Feedback linearization

0 2 4 6 8 10−2

−1

0

1

2

3

Pos Joint 1

Pos Joint 2

0 2 4 6 8 10−1.5

−1

−0.5

0

0.5

Err Joint 1

Err Joint 2

0 2 4 6 8 10−1

0

1

2

3

4

Stiff Joint 1

Stiff Joint 2

0 2 4 6 8 10−0.1

−0.05

0

0.05

0.1

Err Joint 1

Err Joint 2

(b)

Joint positions [rad ] Position errors [rad ]

Joint Stiffness [N m rad−1] Stiffness errors [N m rad−1]

Time [s] Time [s]Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20

Page 42: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Sliding Mode Controller

Simulation of a two-links Planar Manipulator

◮ Perturbed Model + Simplified Feedback linearization + Sliding mode

0 2 4 6 8 10−2

−1

0

1

2

Pos Joint 1

Pos Joint 2

0 2 4 6 8 10−1

−0.5

0

0.5

1x 10

−5

Err Joint 1

Err Joint 2

0 2 4 6 8 10−1

0

1

2

3

4

Stiff Joint 1

Stiff Joint 2

0 2 4 6 8 10−2

−1

0

1

2x 10

−3

Err Joint 1

Err Joint 2

Joint positions [rad ] Position errors [rad ]

Joint Stiffness [N m rad−1] Stiffness errors [N m rad−1]

Time [s] Time [s]Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20

Page 43: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Output-based Controller

Output-based controller

◮ Both the robot, the motors and the stiffness dynamics are in the form:

A(v ,w)v + f (v , v ,w) + α = τ

◮ By using the general output-based dynamic compensator:

τ = A(v ,w) τ + f (z2, v ,w)

τ = −Λ1 (v − vd)− Λ2z2 + L(z3 − z2)

z1 = −Γ1 (z1 − v) + z2

z2 = −Γ2 (z1 − v) + τ − L(z3 − z2)

z3 = τ − L(z3 − z2)

the dynamics of these systems can be decoupled (Palli & Melchiorri,

NOLCOS 2010 [PM10])

◮ The controller provides direct estimations of the disturbance acting on the

motors, on the stiffness and on the robot arm

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20

Page 44: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Output-based Controller

Output-based controller

◮ Both the robot, the motors and the stiffness dynamics are in the form:

A(v ,w)v + f (v , v ,w) + α = τ

◮ By using the general output-based dynamic compensator:

τ = A(v ,w) τ + f (z2, v ,w)

τ = −Λ1 (v − vd)− Λ2z2 + L(z3 − z2)

z1 = −Γ1 (z1 − v) + z2

z2 = −Γ2 (z1 − v) + τ − L(z3 − z2)

z3 = τ − L(z3 − z2)

the dynamics of these systems can be decoupled (Palli & Melchiorri,

NOLCOS 2010 [PM10])

◮ The controller provides direct estimations of the disturbance acting on the

motors, on the stiffness and on the robot arm

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20

Page 45: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Output-based Controller

Output-based controller

◮ Both the robot, the motors and the stiffness dynamics are in the form:

A(v ,w)v + f (v , v ,w) + α = τ

◮ By using the general output-based dynamic compensator:

τ = A(v ,w) τ + f (z2, v ,w)

τ = −Λ1 (v − vd)− Λ2z2 + L(z3 − z2)

z1 = −Γ1 (z1 − v) + z2

z2 = −Γ2 (z1 − v) + τ − L(z3 − z2)

z3 = τ − L(z3 − z2)

the dynamics of these systems can be decoupled (Palli & Melchiorri,

NOLCOS 2010 [PM10])

◮ The controller provides direct estimations of the disturbance acting on the

motors, on the stiffness and on the robot arm

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20

Page 46: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

VSJ Robot Control Output-based Controller

Simulation of a two-links Planar Manipulator

◮ Perturbed Model + Output-based controller

0 2 4 6 8 10−1

−0.5

0

0.5

1

Pos x

Pos y

0 2 4 6 8 10−5

0

5x 10

−3

Err x

Err y

0 2 4 6 8 10−1

0

1

2

3

4

Stiff Joint 1

Stiff Joint 2

0 2 4 6 8 10−0.1

−0.05

0

0.05

0.1

Err Stiff 1

Err Stiff 2

End-effector positions [m] Position errors [m]

Joint Stiffness [N m rad−1] Stiffness errors [N m rad−1]

Time [s] Time [s]Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 17 / 20

Page 47: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Conclusions

Conclusions

◮ A flexible and compact solution for the implementation of variable

stiffness joints has been shown

◮ Complaint flexures have been adopted to improve compactness and to

achieve the desired stiffness profile

◮ The model of a robotic manipulator with variable joint stiffness has been

defined taking into account model uncertainties

◮ In the non-ideal case, the asymptotic tracking performance have beenrecovered by means of a sliding mode controller that compensates for

model uncertainties

◮ A robust output-based controller for the indipendent control of the robot

trajectory and joint stiffness has been shown

Questions?Thank you for your attention...

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 18 / 20

Page 48: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Conclusions

Conclusions

◮ A flexible and compact solution for the implementation of variable

stiffness joints has been shown

◮ Complaint flexures have been adopted to improve compactness and to

achieve the desired stiffness profile

◮ The model of a robotic manipulator with variable joint stiffness has been

defined taking into account model uncertainties

◮ In the non-ideal case, the asymptotic tracking performance have beenrecovered by means of a sliding mode controller that compensates for

model uncertainties

◮ A robust output-based controller for the indipendent control of the robot

trajectory and joint stiffness has been shown

Questions?Thank you for your attention...

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 18 / 20

Page 49: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Conclusions

Bibliography I

G. Palli, G. Berselli, C. Melchiorri, and G. Vassura.

Design and modeling of variable stiffness joints based on compliantflexures.

In Proc. of the ASME 2010 Int. Design Engineering Technical Conf.,

Montreal, Canada, 2010.

G. Palli and C. Melchiorri.Robust control of robots with variable joint stiffness.

In Proc. Int. Conf. on Advanced Robotics, Munich, Germany, 2009.

G. Palli and C. Melchiorri.Task space control of robots with variable stiffness actuation.

In Proc. of the 8th IFAC Symp. on Nonlinear Control Systems, Bologna,Italy, 2010.

G. Palli, C. Melchiorri, and A. De Luca.

On the feedback linearization of robots with variable joint stiffness.In Proc. of the IEEE Int. Conf. on Robotics and Automation, 2008.

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 19 / 20

Page 50: Design and Control of Variable Stiffness Actuation …Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele

Conclusions

Bibliography II

G. Palli, C. Melchiorri, T. Wimbock, M. Grebenstein, and G. Hirzinger.

Feedback linearization and simultaneous stiffness-position control of

robots with antagonistic actuated joints.In IEEE Int. Conf. on Robotics and Automation, 2007.

Gianluca Palli (Universita di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 20 / 20