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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Top Related