73
Variable Stiffness Actuation: Modeling and Control Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and Robotics Viale Risorgimento 2, 40136, Bologna TEL: +39 051 2093903 E-mail: [email protected] October 24, 2008 Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 1 / 31

Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Variable Stiffness Actuation:

Modeling and Control

Gianluca Palli

DEIS - University of BolognaLAR - Laboratory of Automation and Robotics

Viale Risorgimento 2, 40136, BolognaTEL: +39 051 2093903

E-mail: [email protected]

October 24, 2008

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 1 / 31

Page 2: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Table of contents

1 Why Variable Stiffness Actuation?

2 Variable Joint Stiffness Robot DynamicsRobot Dynamic Model

3 Inverse Dynamics of Variable Stiffness RobotsComputing Actuator Commands

4 Feedback LinearizationStatic Feedback LinearizationDynamic Feedback LinearizationControl Strategy

5 Simulation of a two-link Planar Manipulator

6 Application to Antagonistic Variable Stiffness DevicesState Variables ReconstructionCompensation of external loadVisco-elastic transmission system

7 Conclusions

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 2 / 31

Page 3: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Why Variable Stiffness Actuation?

Improves the safety of the robotic device with respect to:

interaction with unknown environment

unexpected collisions

limited controller and sensors bandwidth

actuator failures

A. Bicchi and G. Tonietti. “Fast and soft arm tactics: Dealing with thesafety-performance trade-off in robot arms design and control”. IEEE Roboticsand Automation Magazine, 2004.

G. Tonietti, R. Schiavi, and A. Bicchi. “Design and control of a variable stiffnessactuator for safe and fast physical human/robot interaction”. In Proc. IEEE Int.Conf. on Robotics and Automation, 2005.

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 3 / 31

Page 4: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Why Variable Stiffness Actuation?

Improves the safety of the robotic device with respect to:

interaction with unknown environment

unexpected collisions

limited controller and sensors bandwidth

actuator failures

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

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 3 / 31

Page 5: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

Robot dynamic equations

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

Alternative notation

K (q − θ) = Φk , Φ = diag{(q1 − θ1), . . . , (qn − θn)}, k = [k1, . . . , kn]T

1 The joint stiffness k can be directly changed by means of a (suitably scaled)additional command τk

k = τk

2 The variation of joint stiffness may be modeled as a second-order dynamicsystem

k = φ(x , k , k , τk)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 4 / 31

Page 6: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

Robot dynamic equations

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

Alternative notation

K (q − θ) = Φk , Φ = diag{(q1 − θ1), . . . , (qn − θn)}, k = [k1, . . . , kn]T

1 The joint stiffness k can be directly changed by means of a (suitably scaled)additional command τk

k = τk

2 The variation of joint stiffness may be modeled as a second-order dynamicsystem

k = φ(x , k , k , τk)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 4 / 31

Page 7: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

Robot dynamic equations

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

Alternative notation

K (q − θ) = Φk , Φ = diag{(q1 − θ1), . . . , (qn − θn)}, k = [k1, . . . , kn]T

1 The joint stiffness k can be directly changed by means of a (suitably scaled)additional command τk

k = τk

2 The variation of joint stiffness may be modeled as a second-order dynamicsystem

k = φ(x , k , k , τk)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 4 / 31

Page 8: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

The input u and the robot state x are:

u =

[

τ

τk

]

∈ R2n, x =

[

qT qT θT θT]T

∈ R4n

In the case of second-order stiffness variation model, the state vector of therobot becomes:

xe =[

qT qT θT θT kT kT]T

∈ R6n

In all cases, the objective will be to simultaneously control the following setof outputs

y =

[

q

k

]

∈ R2n

namely the link positions (and thus, through the robot direct kinematics, theend-effector pose) and the joint stiffness

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 5 / 31

Page 9: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

The input u and the robot state x are:

u =

[

τ

τk

]

∈ R2n, x =

[

qT qT θT θT]T

∈ R4n

In the case of second-order stiffness variation model, the state vector of therobot becomes:

xe =[

qT qT θT θT kT kT]T

∈ R6n

In all cases, the objective will be to simultaneously control the following setof outputs

y =

[

q

k

]

∈ R2n

namely the link positions (and thus, through the robot direct kinematics, theend-effector pose) and the joint stiffness

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 5 / 31

Page 10: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Model of Robots with Variable Joint Stiffness

The input u and the robot state x are:

u =

[

τ

τk

]

∈ R2n, x =

[

qT qT θT θT]T

∈ R4n

In the case of second-order stiffness variation model, the state vector of therobot becomes:

xe =[

qT qT θT θT kT kT]T

∈ R6n

In all cases, the objective will be to simultaneously control the following setof outputs

y =

[

q

k

]

∈ R2n

namely the link positions (and thus, through the robot direct kinematics, theend-effector pose) and the joint stiffness

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 5 / 31

Page 11: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Inversion

The motion is specified in terms of a desired smooth position trajectoryq = qd(t) and joint stiffness matrix K = Kd(t) (or, equivalently, of thevector k = kd(t))

Assuming k = τk , we have simply τk,d = kd(t) and only the computation ofthe nominal motor torque τd is of actual interest

The robot dynamic equation is differentiated twice with respect to time

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

and

M(q) q[4] + 2 M(q) q[3] + M(q) q + N(q, q) +

+ K (q − θ) + 2 K (q − θ) + K (q − θ) = 0

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 6 / 31

Page 12: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Inversion

The motion is specified in terms of a desired smooth position trajectoryq = qd(t) and joint stiffness matrix K = Kd(t) (or, equivalently, of thevector k = kd(t))

Assuming k = τk , we have simply τk,d = kd(t) and only the computation ofthe nominal motor torque τd is of actual interest

The robot dynamic equation is differentiated twice with respect to time

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

and

M(q) q[4] + 2 M(q) q[3] + M(q) q + N(q, q) +

+ K (q − θ) + 2 K (q − θ) + K (q − θ) = 0

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 6 / 31

Page 13: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Inversion

The motion is specified in terms of a desired smooth position trajectoryq = qd(t) and joint stiffness matrix K = Kd(t) (or, equivalently, of thevector k = kd(t))

Assuming k = τk , we have simply τk,d = kd(t) and only the computation ofthe nominal motor torque τd is of actual interest

The robot dynamic equation is differentiated twice with respect to time

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

and

M(q) q[4] + 2 M(q) q[3] + M(q) q + N(q, q) +

+ K (q − θ) + 2 K (q − θ) + K (q − θ) = 0

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 6 / 31

Page 14: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Inversion

Reference motor position along the desired robot trajectory

θd = qd + K−1d (M(qd)qd + N(qd , qd )) .

Reference motor velocity

θd = qd + K−1d

(

M(qd)q[3]d + M(qd)qd + N(qd , qd)

− KdK−1d (M(qd )qd + N(qd , qd))

)

.

Actuators dynamic model inversion

θ = B−1 [τ − K (θ − q)] ,

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 7 / 31

Page 15: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actuator Torques Computation

Reference motor torque along the desired trajectory

τd = M(qd)qd + N(qd , qd) + BK−1d αd

(

qd , qd , qd , q[3]d , q

[4]d , kd , kd , kd

)

Some minimal smoothness requirements are imposed

qd(t) ∈ C4

and kd(t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor sidecan be considered without problems

Discontinuous phenomena acting on the link side should be approximated bya smooth model

The command torques τd can be kept within the saturation limits by asuitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 8 / 31

Page 16: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actuator Torques Computation

Reference motor torque along the desired trajectory

τd = M(qd)qd + N(qd , qd) + BK−1d αd

(

qd , qd , qd , q[3]d , q

[4]d , kd , kd , kd

)

Some minimal smoothness requirements are imposed

qd(t) ∈ C4

and kd(t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor sidecan be considered without problems

Discontinuous phenomena acting on the link side should be approximated bya smooth model

The command torques τd can be kept within the saturation limits by asuitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 8 / 31

Page 17: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actuator Torques Computation

Reference motor torque along the desired trajectory

τd = M(qd)qd + N(qd , qd) + BK−1d αd

(

qd , qd , qd , q[3]d , q

[4]d , kd , kd , kd

)

Some minimal smoothness requirements are imposed

qd(t) ∈ C4

and kd(t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor sidecan be considered without problems

Discontinuous phenomena acting on the link side should be approximated bya smooth model

The command torques τd can be kept within the saturation limits by asuitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 8 / 31

Page 18: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actuator Torques Computation

Reference motor torque along the desired trajectory

τd = M(qd)qd + N(qd , qd) + BK−1d αd

(

qd , qd , qd , q[3]d , q

[4]d , kd , kd , kd

)

Some minimal smoothness requirements are imposed

qd(t) ∈ C4

and kd(t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor sidecan be considered without problems

Discontinuous phenomena acting on the link side should be approximated bya smooth model

The command torques τd can be kept within the saturation limits by asuitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 8 / 31

Page 19: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Second-Order Stiffness Model

The dynamics of the joint stiffness k is written as a generic nonlinearfunction of the system configuration

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

Double differentiation wrt time of the robot dynamics

M q[4] + 2 M q[3] + M q + N

+ K(

q − B−1 [τ − K (θ − q)])

+ 2 K (q − θ) + Φ (β + γ τk ) = 0

where both the inputs τ and τk appear

Important notes

q = q(q, q), q[3] = q[3](q, q), q[4] = q[4](q, q)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 9 / 31

Page 20: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback Linearized ModelThe overall system can be written as

[

q[4]

k

]

=

[

α(xe)β(q, θ)

]

+ Q(xe)

[

τ

τk

]

where Q(xe) is the decoupling matrix:

Q(xe) =

[

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(xe)

(

[

α(xe)β(q, θ)

]

+

[

vq

vk

])

the full feedback linearized model is obtained[

q[4]

k

]

=

[

vq

vk

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 10 / 31

Page 21: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback Linearized ModelThe overall system can be written as

[

q[4]

k

]

=

[

α(xe)β(q, θ)

]

+ Q(xe)

[

τ

τk

]

where Q(xe) is the decoupling matrix:

Q(xe) =

[

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(xe)

(

[

α(xe)β(q, θ)

]

+

[

vq

vk

])

the full feedback linearized model is obtained[

q[4]

k

]

=

[

vq

vk

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 10 / 31

Page 22: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback Linearized ModelThe overall system can be written as

[

q[4]

k

]

=

[

α(xe)β(q, θ)

]

+ Q(xe)

[

τ

τk

]

where Q(xe) is the decoupling matrix:

Q(xe) =

[

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(xe)

(

[

α(xe)β(q, θ)

]

+

[

vq

vk

])

the full feedback linearized model is obtained[

q[4]

k

]

=

[

vq

vk

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 10 / 31

Page 23: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Feedback Linearization

Considering the very simple stiffness variation model

ki = τki

the dynamics of the system becomes:

[

q

k

]

=

[

−M−1N

0n×n

]

+

[

0n×n −M−1Φ0n×n In×n

] [

τ

τk

]

Problem

The decoupling matrix of the system is structurally singular

Solution

Dynamic extension on the input τk is needed

τk = uk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 11 / 31

Page 24: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Feedback Linearization

Considering the very simple stiffness variation model

ki = τki

the dynamics of the system becomes:

[

q

k

]

=

[

−M−1N

0n×n

]

+

[

0n×n −M−1Φ0n×n In×n

] [

τ

τk

]

Problem

The decoupling matrix of the system is structurally singular

Solution

Dynamic extension on the input τk is needed

τk = uk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 11 / 31

Page 25: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Dynamic Feedback Linearization

Considering the very simple stiffness variation model

ki = τki

the dynamics of the system becomes:

[

q

k

]

=

[

−M−1N

0n×n

]

+

[

0n×n −M−1Φ0n×n In×n

] [

τ

τk

]

Problem

The decoupling matrix of the system is structurally singular

Solution

Dynamic extension on the input τk is needed

τk = uk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 11 / 31

Page 26: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback Linearized Model

The system dynamics can be then rewritten as:

[

q[4]

k

]

=

[

α(xe)0n×n

]

+ Q(xe)

[

τ

uk

]

where

Q(xe) =

[

M−1KB−1 −M−1Φ0n×n In×n

]

By defining the control law:[

τ

uk

]

= Q−1(xe)

(

[

α(xe)0n×n

]

+

[

vq

vk

])

we obtain the feedback linearized model:[

q[4]

k

]

=

[

vq

vk

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 12 / 31

Page 27: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback Linearized Model

The system dynamics can be then rewritten as:

[

q[4]

k

]

=

[

α(xe)0n×n

]

+ Q(xe)

[

τ

uk

]

where

Q(xe) =

[

M−1KB−1 −M−1Φ0n×n In×n

]

By defining the control law:[

τ

uk

]

= Q−1(xe)

(

[

α(xe)0n×n

]

+

[

vq

vk

])

we obtain the feedback linearized model:[

q[4]

k

]

=

[

vq

vk

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 12 / 31

Page 28: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Control Strategy

A static state feedback in the state space of the feedback linearized system isused:

vc =

[

vq

vk

]

, vf =

[

q[4]d

kd

]

zd =[

qTd qT

d qTd q

[3]T

d kTd kT

d

]T

The state vector z of the feedback linearized system and a suitable nonlinearcoordinate transformation are defined:

z =h

qT qT qT q[3]T kT kT

iT

= Ψ(xe) =2

6

6

6

6

6

6

6

4

q

q

−M−1 [N + Φ k]

−M−1h

−M M−1 [N + Φ k] + N + Φ k + Φ ki

k

k

3

7

7

7

7

7

7

7

5

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 13 / 31

Page 29: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Control System Architecture

xe[qT qT θT θT ]T

z

τkτk

uk

∫ ∫

vczd

vf

+ ++

q

k

τ

Ψ

PFeedback

LinearizationRobotic

Manipulator

SetpointGenerator Dynamic Extension

The controller can be then rewritten as:

vc = vf + P[zd − z] = vf + P[zd − Ψ(xe)]

where

P =

[

Pq0 Pq1 Pq2 Pq3 0n×n 0n×n

0n×n 0n×n 0n×n 0n×n Pk0 Pk1

]

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 14 / 31

Page 30: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Simulation of a two-link Planar Manipulator

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 (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 15 / 31

Page 31: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Application to Antagonistic Variable Stiffness DevicesDynamic model of an antagonistic variable stiffness robot

M(q) q + N(q, q) + ηα − ηβ = 0

B θα + ηα = τα

B θβ + ηβ = τβ

By introducing the auxiliary variables

p =θα−θβ

2 positions of the generalized joint actuators

s = θα + θβ state of the virtual stiffness actuators

F (s) generalized joint stiffness matrix (diagonal)

g(q − p)strictly monotonically increasing functions(generalized joint displacements)

h(q − p, s) such that hi(0, 0) = 0

τ = τα − τβ , τk = τα + τβ

it is possible to write

M(q) q + N(q, q) + F (s)g(q − p) = 0

2Bp + F (s)g(p − q) = τ

Bs + h(q − p, s) = τk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 16 / 31

Page 32: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Application to Antagonistic Variable Stiffness DevicesDynamic model of an antagonistic variable stiffness robot

M(q) q + N(q, q) + ηα − ηβ = 0

B θα + ηα = τα

B θβ + ηβ = τβ

By introducing the auxiliary variables

p =θα−θβ

2 positions of the generalized joint actuators

s = θα + θβ state of the virtual stiffness actuators

F (s) generalized joint stiffness matrix (diagonal)

g(q − p)strictly monotonically increasing functions(generalized joint displacements)

h(q − p, s) such that hi(0, 0) = 0

τ = τα − τβ , τk = τα + τβ

it is possible to write

M(q) q + N(q, q) + F (s)g(q − p) = 0

2Bp + F (s)g(p − q) = τ

Bs + h(q − p, s) = τk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 16 / 31

Page 33: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Application to Antagonistic Variable Stiffness DevicesDynamic model of an antagonistic variable stiffness robot

M(q) q + N(q, q) + ηα − ηβ = 0

B θα + ηα = τα

B θβ + ηβ = τβ

By introducing the auxiliary variables

p =θα−θβ

2 positions of the generalized joint actuators

s = θα + θβ state of the virtual stiffness actuators

F (s) generalized joint stiffness matrix (diagonal)

g(q − p)strictly monotonically increasing functions(generalized joint displacements)

h(q − p, s) such that hi(0, 0) = 0

τ = τα − τβ , τk = τα + τβ

it is possible to write

M(q) q + N(q, q) + F (s)g(q − p) = 0

2Bp + F (s)g(p − q) = τ

Bs + h(q − p, s) = τk

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 16 / 31

Page 34: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 35: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 36: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 37: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 38: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 39: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Some Considerations on the Antagonistic Model

The system is composed by 3N rigid bodies (N links and 2N actuators)

The state space dimension is 6N (position and velocity of each rigid body)

The input dimension is 2N (actuator torques)

The output dimension is 3N (joint and actuator positions)

y has dimension 2N (position and stiffness of each joint)

The system has 2N DOF (N positioning DOF and N joint stiffnesses DOF)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 17 / 31

Page 40: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 41: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 42: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 43: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 44: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 45: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 18 / 31

Page 46: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actual Variable Stiffness Joint ImplementationsFor antagonistic actuated robot with exponential force/compressioncharacteristic (Palli et al. 2007)

fi (si ) = ea si

gi(qi − pi ) = b sinh(

c (qi − pi ))

hi (qi − pi , si ) = d[

cosh(

c (qi − pi ))

ea si − 1]

If transmission elements with quadratic force/compression characteristic areconsidered (Migliore et al. 2005)

fi(si ) = a1 si + a2

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s2i + b2 (qi − pi)

2

For the variable stiffness actuation joint (VSA), using a third-order polynomialapproximation of the transmission model (Boccadamo, Bicchi et al. 2006)

fi (si ) = a1 s2i + a2 si + a3

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s3i + b2 (qi − pi)

2si + b3 si

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 19 / 31

Page 47: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actual Variable Stiffness Joint ImplementationsFor antagonistic actuated robot with exponential force/compressioncharacteristic (Palli et al. 2007)

fi (si ) = ea si

gi(qi − pi ) = b sinh(

c (qi − pi ))

hi (qi − pi , si ) = d[

cosh(

c (qi − pi ))

ea si − 1]

If transmission elements with quadratic force/compression characteristic areconsidered (Migliore et al. 2005)

fi(si ) = a1 si + a2

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s2i + b2 (qi − pi)

2

For the variable stiffness actuation joint (VSA), using a third-order polynomialapproximation of the transmission model (Boccadamo, Bicchi et al. 2006)

fi (si ) = a1 s2i + a2 si + a3

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s3i + b2 (qi − pi)

2si + b3 si

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 19 / 31

Page 48: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Actual Variable Stiffness Joint ImplementationsFor antagonistic actuated robot with exponential force/compressioncharacteristic (Palli et al. 2007)

fi (si ) = ea si

gi(qi − pi ) = b sinh(

c (qi − pi ))

hi (qi − pi , si ) = d[

cosh(

c (qi − pi ))

ea si − 1]

If transmission elements with quadratic force/compression characteristic areconsidered (Migliore et al. 2005)

fi(si ) = a1 si + a2

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s2i + b2 (qi − pi)

2

For the variable stiffness actuation joint (VSA), using a third-order polynomialapproximation of the transmission model (Boccadamo, Bicchi et al. 2006)

fi (si ) = a1 s2i + a2 si + a3

gi(qi − pi) = qi − pi

hi(qi − pi , si) = b1 s3i + b2 (qi − pi)

2si + b3 si

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 19 / 31

Page 49: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

No unmodeled external forces are considered

State reconstruction

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 20 / 31

Page 50: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

State Reconstruction

The whole state of the system can be reconstructed by means of:

State Observers◮ Increase the complexity of the system◮ Parameters adaptation is needed◮ Require a measure (or a estimation) of the external forces

Filtering of position information◮ Generates noisy velocity signals◮ High-speed acquition and computation system

Tachometers◮ Increase costs◮ Difficulties due to the integration into the system

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 21 / 31

Page 51: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Transmission elements with static force-compression characteristic areconsidered

Disturbance compensation

No unmodeled external forces are considered

State reconstruction

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 22 / 31

Page 52: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Disturbance decoupling problem

The vector relative degrees of the outputs with respect to the input w is:

Ldq = 0N×N , LdF (s) = 0N×N

LdLf q = M(q)−1 , LdLf F (s) = M(q)−1 ∂g(q−p)∂q

The disturbance decoupling problem can’t be solved

The joint positions can’t be decoupled from the disturbance◮ The external load can be compensated only in steady state conditions

The effects of the disturbance on the joint stiffnesses can be compensated

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 23 / 31

Page 53: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Disturbance decoupling problem

The vector relative degrees of the outputs with respect to the input w is:

Ldq = 0N×N , LdF (s) = 0N×N

LdLf q = M(q)−1 , LdLf F (s) = M(q)−1 ∂g(q−p)∂q

The disturbance decoupling problem can’t be solved

The joint positions can’t be decoupled from the disturbance◮ The external load can be compensated only in steady state conditions

The effects of the disturbance on the joint stiffnesses can be compensated

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 23 / 31

Page 54: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Disturbance decoupling problem

The vector relative degrees of the outputs with respect to the input w is:

Ldq = 0N×N , LdF (s) = 0N×N

LdLf q = M(q)−1 , LdLf F (s) = M(q)−1 ∂g(q−p)∂q

The disturbance decoupling problem can’t be solved

The joint positions can’t be decoupled from the disturbance◮ The external load can be compensated only in steady state conditions

The effects of the disturbance on the joint stiffnesses can be compensated

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 23 / 31

Page 55: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Disturbance decoupling problem

The vector relative degrees of the outputs with respect to the input w is:

Ldq = 0N×N , LdF (s) = 0N×N

LdLf q = M(q)−1 , LdLf F (s) = M(q)−1 ∂g(q−p)∂q

The disturbance decoupling problem can’t be solved

The joint positions can’t be decoupled from the disturbance◮ The external load can be compensated only in steady state conditions

The effects of the disturbance on the joint stiffnesses can be compensated

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 23 / 31

Page 56: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

The dynamic equation of the robot manipulator can be rewritten to take intoaccount for external load

M(q)q + N(q, q) + ηα − ηβ = τext

The generalized momenta of the robotic arm is:

p = M(q)q

p = M(q)q + M(q)q = M(q)q − N(q, q) − ηα + ηβ + τext

Recalling the general property

qT [M(q) − 2C (q, q)]q = 0 ⇒ M(q) = C (q, q) + CT (q, q)

we obtain

p = −CT (q, q)q − Dq − g(q) − ηα + ηβ + τext = N(q, q) − τq + τext

N(q, q) = −CT (q, q)q − Dq − g(q) , ηα − ηβ = τq

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 24 / 31

Page 57: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

The dynamic equation of the robot manipulator can be rewritten to take intoaccount for external load

M(q)q + N(q, q) + ηα − ηβ = τext

The generalized momenta of the robotic arm is:

p = M(q)q

p = M(q)q + M(q)q = M(q)q − N(q, q) − ηα + ηβ + τext

Recalling the general property

qT [M(q) − 2C (q, q)]q = 0 ⇒ M(q) = C (q, q) + CT (q, q)

we obtain

p = −CT (q, q)q − Dq − g(q) − ηα + ηβ + τext = N(q, q) − τq + τext

N(q, q) = −CT (q, q)q − Dq − g(q) , ηα − ηβ = τq

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 24 / 31

Page 58: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

The dynamic equation of the robot manipulator can be rewritten to take intoaccount for external load

M(q)q + N(q, q) + ηα − ηβ = τext

The generalized momenta of the robotic arm is:

p = M(q)q

p = M(q)q + M(q)q = M(q)q − N(q, q) − ηα + ηβ + τext

Recalling the general property

qT [M(q) − 2C (q, q)]q = 0 ⇒ M(q) = C (q, q) + CT (q, q)

we obtain

p = −CT (q, q)q − Dq − g(q) − ηα + ηβ + τext = N(q, q) − τq + τext

N(q, q) = −CT (q, q)q − Dq − g(q) , ηα − ηβ = τq

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 24 / 31

Page 59: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

The dynamic equation of the robot manipulator can be rewritten to take intoaccount for external load

M(q)q + N(q, q) + ηα − ηβ = τext

The generalized momenta of the robotic arm is:

p = M(q)q

p = M(q)q + M(q)q = M(q)q − N(q, q) − ηα + ηβ + τext

Recalling the general property

qT [M(q) − 2C (q, q)]q = 0 ⇒ M(q) = C (q, q) + CT (q, q)

we obtain

p = −CT (q, q)q − Dq − g(q) − ηα + ηβ + τext = N(q, q) − τq + τext

N(q, q) = −CT (q, q)q − Dq − g(q) , ηα − ηβ = τq

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 24 / 31

Page 60: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

Defining the external load estimation as:

τext = L

[∫

(

τq − N(q, q) − τext

)

dt + p

]

whit positive defined (diagonal) L, the torque extimation dynamic is:

˙τext = −Lτext + Lτext

It is possible to define the transfer function between the real and theobserved external torques:

τext i(s) =

Li

s + Li

τext i(s)

A generalized momenta observer can be defined as:

˙p = N(q, q) − τq + L(p − p)

τext = L(p − p)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 25 / 31

Page 61: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

Defining the external load estimation as:

τext = L

[∫

(

τq − N(q, q) − τext

)

dt + p

]

whit positive defined (diagonal) L, the torque extimation dynamic is:

˙τext = −Lτext + Lτext

It is possible to define the transfer function between the real and theobserved external torques:

τext i(s) =

Li

s + Li

τext i(s)

A generalized momenta observer can be defined as:

˙p = N(q, q) − τq + L(p − p)

τext = L(p − p)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 25 / 31

Page 62: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

External load estimation

Defining the external load estimation as:

τext = L

[∫

(

τq − N(q, q) − τext

)

dt + p

]

whit positive defined (diagonal) L, the torque extimation dynamic is:

˙τext = −Lτext + Lτext

It is possible to define the transfer function between the real and theobserved external torques:

τext i(s) =

Li

s + Li

τext i(s)

A generalized momenta observer can be defined as:

˙p = N(q, q) − τq + L(p − p)

τext = L(p − p)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 25 / 31

Page 63: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Visco-elastic transmission elements

Transmission elements with static force-compression characteristic are considered

Disturbance compensation

No unmodeled external forces are considered

State reconstruction

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 26 / 31

Page 64: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization problem

The sum of the vector relative degrees is not equal to the state dimension

The full state linearization problem can’t be solved

Only input-output linearization can be achieved via static (critical) or dynamic(regular) feedback

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 27 / 31

Page 65: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization problem

The sum of the vector relative degrees is not equal to the state dimension

The full state linearization problem can’t be solved

Only input-output linearization can be achieved via static (critical) or dynamic(regular) feedback

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 27 / 31

Page 66: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization problem

The sum of the vector relative degrees is not equal to the state dimension

The full state linearization problem can’t be solved

Only input-output linearization can be achieved via static (critical) or dynamic(regular) feedback

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 27 / 31

Page 67: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Assumptions

The actuators have uniform mass distribution and center of mass on therotation axis

Kinetic energy coupling

The rotor kinetic energy is due only to their spinning angular velocity

Each joint is independently actuated by 2 motors in an antagonisticconfiguration (fully antagonistic kinematic chain)

Visco-elastic transmission elements

Transmission elements with static force-compression characteristic are considered

Disturbance compensation

No unmodeled external forces are considered

State reconstruction

All the state variables are known (full state feedback)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 28 / 31

Page 68: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm:

M(q)q + Hα θα + Hβ θβ + N(q, q) + ηα − ηβ = τext

B θα + HTα q + ηα = τθα

B θβ + HTβ q + ηβ = τθβ

with upper-triangular matrices Hα and Hβ

Full feedback linearization can be achieved via dynamic state feedback

A suitable dynamic extension algorithm can be used (similar to the case oflinear elastic joints)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 29 / 31

Page 69: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm:

M(q)q + Hα θα + Hβ θβ + N(q, q) + ηα − ηβ = τext

B θα + HTα q + ηα = τθα

B θβ + HTβ q + ηβ = τθβ

with upper-triangular matrices Hα and Hβ

Full feedback linearization can be achieved via dynamic state feedback

A suitable dynamic extension algorithm can be used (similar to the case oflinear elastic joints)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 29 / 31

Page 70: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm:

M(q)q + Hα θα + Hβ θβ + N(q, q) + ηα − ηβ = τext

B θα + HTα q + ηα = τθα

B θβ + HTβ q + ηβ = τθβ

with upper-triangular matrices Hα and Hβ

Full feedback linearization can be achieved via dynamic state feedback

A suitable dynamic extension algorithm can be used (similar to the case oflinear elastic joints)

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 29 / 31

Page 71: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

AssumptionsThe actuators have uniform mass distribution and center of mass on therotation axis

Kinetic energy coupling

The rotor kinetic energy is due only to their spinning angular velocity

Analysis of different configurations

Each joint is independently actuated by 2 motors in an antagonistic configuration(fully antagonistic kinematic chain)

Visco-elastic transmission elements

Transmission elements with static force-compression characteristic are considered

Disturbance compensation

No unmodeled external forces are considered

State reconstruction

All the state variables are known (full state feedback)Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 30 / 31

Page 72: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Conclusions

The feedforward control action needed to perform a desired motion profilehas been computed

The feedback linearization problem with decoupled control has been solvedtaking into account different stiffness variation models

The simultaneous asymptotic trajectory tracking of both the position and thestiffness has been achieved by means of an outer linear control loop

These results can be easily extended to the mixed rigid/elastic case

The proposed approach has been used to model several actualimplementation of variable stiffness devices

Questions?Thank you for your attention...

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 31 / 31

Page 73: Variable Stiffness Actuation: Modeling and Controlwpage.unina.it/agodesa/workshop/Variable_Stiffness...Gianluca Palli DEIS - University of Bologna LAR - Laboratory of Automation and

Conclusions

The feedforward control action needed to perform a desired motion profilehas been computed

The feedback linearization problem with decoupled control has been solvedtaking into account different stiffness variation models

The simultaneous asymptotic trajectory tracking of both the position and thestiffness has been achieved by means of an outer linear control loop

These results can be easily extended to the mixed rigid/elastic case

The proposed approach has been used to model several actualimplementation of variable stiffness devices

Questions?Thank you for your attention...

Gianluca Palli (University of Bologna) Human-Friendly Robotics, Napoli, IT October 24, 2008 31 / 31