Variable Stiffness Actuation: Modeling and Control

1 downloads 0 Views 763KB Size Report
Oct 24, 2008 - The motion is specified in terms of a desired smooth position trajectory q = qd (t) and joint stiffness matrix K = Kd (t) (or, equivalently, of the.
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

Table of contents 1

Why Variable Stiffness Actuation?

2

Variable Joint Stiffness Robot Dynamics Robot Dynamic Model

3

Inverse Dynamics of Variable Stiffness Robots Computing Actuator Commands

4

Feedback Linearization Static Feedback Linearization Dynamic Feedback Linearization Control Strategy

5

Simulation of a two-link Planar Manipulator

6

Application to Antagonistic Variable Stiffness Devices State Variables Reconstruction Compensation of external load Visco-elastic transmission system

7

Conclusions Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

2 / 31

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 the safety-performance trade-off in robot arms design and control”. IEEE Robotics and Automation Magazine, 2004. G. Tonietti, R. Schiavi, and A. Bicchi. “Design and control of a variable stiffness actuator 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

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

Dynamic Model of Robots with Variable Joint Stiffness Robot dynamic equations M(q) q¨ + N(q, q) ˙ + K (q − θ) B θ¨ + K (θ − q)

= 0 = τ

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 dynamic system ˙ τk ) k¨ = φ(x, k, k,

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

4 / 31

Dynamic Model of Robots with Variable Joint Stiffness Robot dynamic equations M(q) q¨ + N(q, q) ˙ + K (q − θ) B θ¨ + K (θ − q)

= 0 = τ

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 dynamic system ˙ τk ) k¨ = φ(x, k, k,

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

4 / 31

Dynamic Model of Robots with Variable Joint Stiffness Robot dynamic equations M(q) q¨ + N(q, q) ˙ + K (q − θ) B θ¨ + K (θ − q)

= 0 = τ

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 dynamic system ˙ τk ) k¨ = φ(x, k, k,

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

4 / 31

Dynamic Model of Robots with Variable Joint Stiffness The input u and the robot state x are:    τ ∈ R2n , x = q T u= τk

q˙ T

θT

θ˙T

T

∈ R4n

In the case of second-order stiffness variation model, the state vector of the robot becomes:  T xe = q T q˙ T θT θ˙T k T k˙ T ∈ R6n In all cases, the objective will be to simultaneously control the following set of outputs   q y= ∈ R2n k namely the link positions (and thus, through the robot direct kinematics, the end-effector pose) and the joint stiffness Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

5 / 31

Dynamic Model of Robots with Variable Joint Stiffness The input u and the robot state x are:    τ ∈ R2n , x = q T u= τk

q˙ T

θT

θ˙T

T

∈ R4n

In the case of second-order stiffness variation model, the state vector of the robot becomes:  T xe = q T q˙ T θT θ˙T k T k˙ T ∈ R6n In all cases, the objective will be to simultaneously control the following set of outputs   q y= ∈ R2n k namely the link positions (and thus, through the robot direct kinematics, the end-effector pose) and the joint stiffness Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

5 / 31

Dynamic Model of Robots with Variable Joint Stiffness The input u and the robot state x are:    τ ∈ R2n , x = q T u= τk

q˙ T

θT

θ˙T

T

∈ R4n

In the case of second-order stiffness variation model, the state vector of the robot becomes:  T xe = q T q˙ T θT θ˙T k T k˙ T ∈ R6n In all cases, the objective will be to simultaneously control the following set of outputs   q y= ∈ R2n k namely the link positions (and thus, through the robot direct kinematics, the end-effector pose) and the joint stiffness Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

5 / 31

Dynamic Inversion The motion is specified in terms of a desired smooth position trajectory q = qd (t) and joint stiffness matrix K = Kd (t) (or, equivalently, of the vector k = kd (t)) Assuming k = τk , we have simply τk,d = kd (t) and only the computation of the nominal motor torque τd is of actual interest The robot dynamic equation is differentiated twice with respect to time ˙ ˙ ˙ =0 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + K˙ (q − θ) + K (q˙ − θ) and ˙ ¨ ¨ M(q) q [4] + 2 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + ¨ + 2 K˙ (q˙ − θ) ˙ +K ¨ (q − θ) = 0 + K (¨ q − θ)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

6 / 31

Dynamic Inversion The motion is specified in terms of a desired smooth position trajectory q = qd (t) and joint stiffness matrix K = Kd (t) (or, equivalently, of the vector k = kd (t)) Assuming k = τk , we have simply τk,d = kd (t) and only the computation of the nominal motor torque τd is of actual interest The robot dynamic equation is differentiated twice with respect to time ˙ ˙ ˙ =0 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + K˙ (q − θ) + K (q˙ − θ) and ˙ ¨ ¨ M(q) q [4] + 2 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + ¨ + 2 K˙ (q˙ − θ) ˙ +K ¨ (q − θ) = 0 + K (¨ q − θ)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

6 / 31

Dynamic Inversion The motion is specified in terms of a desired smooth position trajectory q = qd (t) and joint stiffness matrix K = Kd (t) (or, equivalently, of the vector k = kd (t)) Assuming k = τk , we have simply τk,d = kd (t) and only the computation of the nominal motor torque τd is of actual interest The robot dynamic equation is differentiated twice with respect to time ˙ ˙ ˙ =0 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + K˙ (q − θ) + K (q˙ − θ) and ˙ ¨ ¨ M(q) q [4] + 2 M(q) q [3] + M(q) q¨ + N(q, q) ˙ + ¨ + 2 K˙ (q˙ − θ) ˙ +K ¨ (q − θ) = 0 + K (¨ q − θ)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

6 / 31

Dynamic Inversion

Reference motor position along the desired robot trajectory θd = qd + Kd−1 (M(qd )¨ qd + N(qd , q˙ d )) . Reference motor velocity  [3] ˙ d )¨ ˙ d , q˙ d ) θ˙d = q˙ d + Kd−1 M(qd )qd + M(q qd + N(q  − K˙ d Kd−1 (M(qd )¨ qd + N(qd , q˙ d )) .

Actuators dynamic model inversion

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

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

7 / 31

Actuator Torques Computation Reference motor torque along the desired trajectory   [3] [4] τd = M(qd )¨ qd + N(qd , q˙ d ) + BKd−1 αd qd , q˙ d , q¨d , qd , qd , kd , k˙ d , k¨d Some minimal smoothness requirements are imposed qd (t) ∈ C4

and kd (t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor side can be considered without problems Discontinuous phenomena acting on the link side should be approximated by a smooth model The command torques τd can be kept within the saturation limits by a suitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

8 / 31

Actuator Torques Computation Reference motor torque along the desired trajectory   [3] [4] τd = M(qd )¨ qd + N(qd , q˙ d ) + BKd−1 αd qd , q˙ d , q¨d , qd , qd , kd , k˙ d , k¨d Some minimal smoothness requirements are imposed qd (t) ∈ C4

and kd (t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor side can be considered without problems Discontinuous phenomena acting on the link side should be approximated by a smooth model The command torques τd can be kept within the saturation limits by a suitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

8 / 31

Actuator Torques Computation Reference motor torque along the desired trajectory   [3] [4] τd = M(qd )¨ qd + N(qd , q˙ d ) + BKd−1 αd qd , q˙ d , q¨d , qd , qd , kd , k˙ d , k¨d Some minimal smoothness requirements are imposed qd (t) ∈ C4

and kd (t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor side can be considered without problems Discontinuous phenomena acting on the link side should be approximated by a smooth model The command torques τd can be kept within the saturation limits by a suitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

8 / 31

Actuator Torques Computation Reference motor torque along the desired trajectory   [3] [4] τd = M(qd )¨ qd + N(qd , q˙ d ) + BKd−1 αd qd , q˙ d , q¨d , qd , qd , kd , k˙ d , k¨d Some minimal smoothness requirements are imposed qd (t) ∈ C4

and kd (t) ∈ C2

Discontinuous models of friction or actuator dead-zones on the motor side can be considered without problems Discontinuous phenomena acting on the link side should be approximated by a smooth model The command torques τd can be kept within the saturation limits by a suitable time scaling of the manipulator trajectory

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

8 / 31

Second-Order Stiffness Model The dynamics of the joint stiffness k is written as a generic nonlinear function of the system configuration k¨ = β(q, θ) + γ(q, θ) τk Double differentiation wrt time of the robot dynamics ˙ q [3] + M ¨ q¨ + N ¨ M q [4] + 2 M  + K q¨ − B −1 [τ − K (θ − q)] ˙ + Φ (β + γ τk ) = 0 + 2 K˙ (q˙ − θ) 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

Feedback Linearized Model The overall system can be written as   [4]     q α(xe ) τ = + Q(x ) e β(q, θ) τk k¨ where Q(xe ) is the decoupling matrix:  −1 −1 M KB Q(xe ) = 0n×n

M −1 Φ γ(q, θ) γ(q, θ)



Non-Singularity Conditions ki > 0 γi (qi , θi ) 6= 0



∀ i = 1, . . . , n

By applying the static state feedback        α(xe ) τ vq = Q −1 (xe ) − + vk β(q, θ) τk

the full feedback linearized model is obtained   [4]   q vq = vk k¨ Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

10 / 31

Feedback Linearized Model The overall system can be written as   [4]     q α(xe ) τ = + Q(x ) e β(q, θ) τk k¨ where Q(xe ) is the decoupling matrix:  −1 −1 M KB Q(xe ) = 0n×n

M −1 Φ γ(q, θ) γ(q, θ)



Non-Singularity Conditions ki > 0 γi (qi , θi ) 6= 0



∀ i = 1, . . . , n

By applying the static state feedback        α(xe ) τ vq = Q −1 (xe ) − + vk β(q, θ) τk

the full feedback linearized model is obtained   [4]   q vq = vk k¨ Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

10 / 31

Feedback Linearized Model The overall system can be written as   [4]     q α(xe ) τ = + Q(x ) e β(q, θ) τk k¨ where Q(xe ) is the decoupling matrix:  −1 −1 M KB Q(xe ) = 0n×n

M −1 Φ γ(q, θ) γ(q, θ)



Non-Singularity Conditions ki > 0 γi (qi , θi ) 6= 0



∀ i = 1, . . . , n

By applying the static state feedback        α(xe ) τ vq = Q −1 (xe ) − + vk β(q, θ) τk

the full feedback linearized model is obtained   [4]   q vq = vk k¨ Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

10 / 31

Dynamic Feedback Linearization Considering the very simple stiffness variation model ki = τki the dynamics of the system becomes:      0n×n q¨ −M −1 N + = 0n×n k 0n×n

−M −1 Φ 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

Dynamic Feedback Linearization Considering the very simple stiffness variation model ki = τki the dynamics of the system becomes:      0n×n q¨ −M −1 N + = 0n×n k 0n×n

−M −1 Φ 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

Dynamic Feedback Linearization Considering the very simple stiffness variation model ki = τki the dynamics of the system becomes:      0n×n q¨ −M −1 N + = 0n×n k 0n×n

−M −1 Φ 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

Feedback Linearized Model The system dynamics can be then rewritten as:     [4]   q τ α(xe ) + Q(xe ) = uk 0n×n k¨ where Q(xe )

=



M −1 KB −1 0n×n

−M −1 Φ In×n



By defining the control law:        vq α(xe ) τ + = Q −1 (xe ) − 0n×n vk uk we obtain the feedback linearized model:   [4]   q vq = vk k¨ Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

12 / 31

Feedback Linearized Model The system dynamics can be then rewritten as:     [4]   q τ α(xe ) + Q(xe ) = uk 0n×n k¨ where Q(xe )

=



M −1 KB −1 0n×n

−M −1 Φ In×n



By defining the control law:        vq α(xe ) τ + = Q −1 (xe ) − 0n×n vk uk we obtain the feedback linearized model:   [4]   q vq = vk k¨ Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

12 / 31

Control Strategy A static state feedback in the state space of the feedback linearized system is used: # "   [4] vq qd , vf = vc = vk k¨d zd =

h

qdT

q˙ dT

q¨dT

[3]T

qd

kdT

k˙ dT

iT

The state vector z of the feedback linearized system and a suitable nonlinear coordinate transformation are defined: z= 2

h

qT

q˙ T

q ¨T

q [3]

T

kT

k˙ T

iT

= Ψ(xe ) = 3

q 6 q˙ 6 6 −M −1 [N + Φ k] 6 h i 6 ˙ M −1 [N + Φ k] + N˙ + Φ k˙ + Φ ˙k 6 −M −1 −M 6 4 k k˙

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

7 7 7 7 7 7 7 5

October 24, 2008

13 / 31

Control System Architecture vf Setpoint Generator

zd

τ +

+ + Feedback vc Linearization

P



Ψ

z

q

Dynamic Extension

uk

R

τ˙k

R

Robotic Manipulator k

τk

[q T q˙ T θT θ˙T ]T

xe

The controller can be then rewritten as: vc = vf + P[zd − z] = vf + P[zd − Ψ(xe )] where P=

Gianluca Palli (University of Bologna)



Pq0 0n×n

Pq1 0n×n

Pq2 0n×n

Pq3 0n×n

Human-Friendly Robotics, Napoli, IT

0n×n Pk0

0n×n Pk1

 October 24, 2008

14 / 31

Simulation of a two-link Planar Manipulator Joint positions [rad] 1 Pos Joint 1 Pos Joint 2

1

0

−1

−0.5

2

4

6

8

x 10

0.5

0

−2 0

Position errors [rad]

−5

2

10

Err Joint 1 Err Joint 2

−1 0

Joint Stiffness [N m rad −1 ]

2

1

3

6

8

10

Stiffness errors [N m rad −1 ]

−5

4

4

x 10

Err Joint 1 Err Joint 2

0.5

2 0 1

−1 0

−0.5

Stiff Joint 1 Stiff Joint 2

0 2

4

6

8

10

−1 0

2

Time [s]

Gianluca Palli (University of Bologna)

4

6

8

10

Time [s]

Human-Friendly Robotics, Napoli, IT

October 24, 2008

15 / 31

Application to Antagonistic Variable Stiffness Devices Dynamic model of an antagonistic variable stiffness robot M(q) q¨ + N(q, q) ˙ + ηα − ηβ B θ¨α + ηα B θ¨β + ηβ

=

0

=

τα

=

τβ

By introducing the auxiliary variables θ −θ

p = α2 β s = θα + θβ F (s)

positions of the generalized joint actuators state of the virtual stiffness actuators generalized joint stiffness matrix (diagonal) strictly monotonically increasing functions g (q − p) (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) 2B p¨ + F (s)g (p − q)

= 0 = τ

B¨s + h(q − p, s)

= τk

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

16 / 31

Application to Antagonistic Variable Stiffness Devices Dynamic model of an antagonistic variable stiffness robot M(q) q¨ + N(q, q) ˙ + ηα − ηβ B θ¨α + ηα B θ¨β + ηβ

=

0

=

τα

=

τβ

By introducing the auxiliary variables θ −θ

p = α2 β s = θα + θβ F (s)

positions of the generalized joint actuators state of the virtual stiffness actuators generalized joint stiffness matrix (diagonal) strictly monotonically increasing functions g (q − p) (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) 2B p¨ + F (s)g (p − q)

= 0 = τ

B¨s + h(q − p, s)

= τk

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

16 / 31

Application to Antagonistic Variable Stiffness Devices Dynamic model of an antagonistic variable stiffness robot M(q) q¨ + N(q, q) ˙ + ηα − ηβ B θ¨α + ηα B θ¨β + ηβ

=

0

=

τα

=

τβ

By introducing the auxiliary variables θ −θ

p = α2 β s = θα + θβ F (s)

positions of the generalized joint actuators state of the virtual stiffness actuators generalized joint stiffness matrix (diagonal) strictly monotonically increasing functions g (q − p) (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) 2B p¨ + F (s)g (p − q)

= 0 = τ

B¨s + h(q − p, s)

= τk

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

16 / 31

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

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

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

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

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

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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Assumptions

The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

Actual Variable Stiffness Joint Implementations For antagonistic actuated robot with exponential force/compression characteristic (Palli et al. 2007) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) =

e a si  b sinh c (qi − pi )    d cosh c (qi − pi ) e a si − 1

If transmission elements with quadratic force/compression characteristic are considered (Migliore et al. 2005) fi (si ) gi (qi − pi ) hi (qi − pi , si )

= a1 s i + a2 = qi − pi = b1 si2 + b2 (qi − pi )2

For the variable stiffness actuation joint (VSA), using a third-order polynomial approximation of the transmission model (Boccadamo, Bicchi et al. 2006) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) = Gianluca Palli (University of Bologna)

a1 si2 + a2 si + a3 qi − pi b1 si3 + b2 (qi − pi )2 si + b3 si

Human-Friendly Robotics, Napoli, IT

October 24, 2008

19 / 31

Actual Variable Stiffness Joint Implementations For antagonistic actuated robot with exponential force/compression characteristic (Palli et al. 2007) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) =

e a si  b sinh c (qi − pi )    d cosh c (qi − pi ) e a si − 1

If transmission elements with quadratic force/compression characteristic are considered (Migliore et al. 2005) fi (si ) gi (qi − pi ) hi (qi − pi , si )

= a1 s i + a2 = qi − pi = b1 si2 + b2 (qi − pi )2

For the variable stiffness actuation joint (VSA), using a third-order polynomial approximation of the transmission model (Boccadamo, Bicchi et al. 2006) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) = Gianluca Palli (University of Bologna)

a1 si2 + a2 si + a3 qi − pi b1 si3 + b2 (qi − pi )2 si + b3 si

Human-Friendly Robotics, Napoli, IT

October 24, 2008

19 / 31

Actual Variable Stiffness Joint Implementations For antagonistic actuated robot with exponential force/compression characteristic (Palli et al. 2007) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) =

e a si  b sinh c (qi − pi )    d cosh c (qi − pi ) e a si − 1

If transmission elements with quadratic force/compression characteristic are considered (Migliore et al. 2005) fi (si ) gi (qi − pi ) hi (qi − pi , si )

= a1 s i + a2 = qi − pi = b1 si2 + b2 (qi − pi )2

For the variable stiffness actuation joint (VSA), using a third-order polynomial approximation of the transmission model (Boccadamo, Bicchi et al. 2006) fi (si ) = gi (qi − pi ) = hi (qi − pi , si ) = Gianluca Palli (University of Bologna)

a1 si2 + a2 si + a3 qi − pi b1 si3 + b2 (qi − pi )2 si + b3 si

Human-Friendly Robotics, Napoli, IT

October 24, 2008

19 / 31

Assumptions The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) Transmission elements with static force-compression characteristic are considered 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

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

Assumptions The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity Each joint is independently actuated by 2 motors in an antagonistic configuration (fully antagonistic kinematic chain) 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

22 / 31

Disturbance decoupling problem

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

= 0N×N = M(q)−1

, Ld F (s) , Ld Lf F (s)

= =

0N×N −1 ∂g (q−p) M(q) ∂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

Disturbance decoupling problem

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

= 0N×N = M(q)−1

, Ld F (s) , Ld Lf F (s)

= =

0N×N −1 ∂g (q−p) M(q) ∂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

Disturbance decoupling problem

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

= 0N×N = M(q)−1

, Ld F (s) , Ld Lf F (s)

= =

0N×N −1 ∂g (q−p) M(q) ∂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

Disturbance decoupling problem

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

= 0N×N = M(q)−1

, Ld F (s) , Ld Lf F (s)

= =

0N×N −1 ∂g (q−p) M(q) ∂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

External load estimation The dynamic equation of the robot manipulator can be rewritten to take into account 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 ˙ ˙ q T [M(q) − 2C (q, q)]q ˙ = 0 ⇒ M(q) = C (q, q) ˙ + C T (q, q) ˙ we obtain ¯ p˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) − ηα + ηβ + τext = N(q, q) ˙ − τq + τext ¯ N(q, q) ˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) , ηα − ηβ = τq Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

24 / 31

External load estimation The dynamic equation of the robot manipulator can be rewritten to take into account 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 ˙ ˙ q T [M(q) − 2C (q, q)]q ˙ = 0 ⇒ M(q) = C (q, q) ˙ + C T (q, q) ˙ we obtain ¯ p˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) − ηα + ηβ + τext = N(q, q) ˙ − τq + τext ¯ N(q, q) ˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) , ηα − ηβ = τq Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

24 / 31

External load estimation The dynamic equation of the robot manipulator can be rewritten to take into account 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 ˙ ˙ q T [M(q) − 2C (q, q)]q ˙ = 0 ⇒ M(q) = C (q, q) ˙ + C T (q, q) ˙ we obtain ¯ p˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) − ηα + ηβ + τext = N(q, q) ˙ − τq + τext ¯ N(q, q) ˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) , ηα − ηβ = τq Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

24 / 31

External load estimation The dynamic equation of the robot manipulator can be rewritten to take into account 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 ˙ ˙ q T [M(q) − 2C (q, q)]q ˙ = 0 ⇒ M(q) = C (q, q) ˙ + C T (q, q) ˙ we obtain ¯ p˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) − ηα + ηβ + τext = N(q, q) ˙ − τq + τext ¯ N(q, q) ˙ = −C T (q, q) ˙ q˙ − D q˙ − g (q) , ηα − ηβ = τq Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

24 / 31

External load estimation Defining the external load estimation as: Z   ¯ τˆ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 the observed external torques: τˆext i (s) =

Li τext i (s) s + Li

A generalized momenta observer can be defined as: pˆ˙ τˆext Gianluca Palli (University of Bologna)

¯ = N(q, q) ˙ − τq + L(p − pˆ) = L(p − pˆ) Human-Friendly Robotics, Napoli, IT

October 24, 2008

25 / 31

External load estimation Defining the external load estimation as: Z   ¯ τˆ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 the observed external torques: τˆext i (s) =

Li τext i (s) s + Li

A generalized momenta observer can be defined as: pˆ˙ τˆext Gianluca Palli (University of Bologna)

¯ = N(q, q) ˙ − τq + L(p − pˆ) = L(p − pˆ) Human-Friendly Robotics, Napoli, IT

October 24, 2008

25 / 31

External load estimation Defining the external load estimation as: Z   ¯ τˆ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 the observed external torques: τˆext i (s) =

Li τext i (s) s + Li

A generalized momenta observer can be defined as: pˆ˙ τˆext Gianluca Palli (University of Bologna)

¯ = N(q, q) ˙ − τq + L(p − pˆ) = L(p − pˆ) Human-Friendly Robotics, Napoli, IT

October 24, 2008

25 / 31

Assumptions The actuators have uniform mass distribution and center of mass on the rotation axis The rotor kinetic energy is due only to their spinning angular velocity 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

26 / 31

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

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

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

Assumptions The actuators have uniform mass distribution and center of mass on the rotation 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 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

28 / 31

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm: ˙ + ηα − ηβ = τext M(q)¨ q + Hα θ¨α + Hβ θ¨β + N(q, q) ¨ B θα + HαT q¨ + ηα = τθα B θ¨β + HβT 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 of linear elastic joints)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

29 / 31

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm: ˙ + ηα − ηβ = τext M(q)¨ q + Hα θ¨α + Hβ θ¨β + N(q, q) ¨ B θα + HαT q¨ + ηα = τθα B θ¨β + HβT 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 of linear elastic joints)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

29 / 31

Feedback linearization of the complete model

Complete dynamic model of the antagonistic actuated arm: ˙ + ηα − ηβ = τext M(q)¨ q + Hα θ¨α + Hβ θ¨β + N(q, q) ¨ B θα + HαT q¨ + ηα = τθα B θ¨β + HβT 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 of linear elastic joints)

Gianluca Palli (University of Bologna)

Human-Friendly Robotics, Napoli, IT

October 24, 2008

29 / 31

Assumptions The actuators have uniform mass distribution and center of mass on the rotation 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

Conclusions The feedforward control action needed to perform a desired motion profile has been computed The feedback linearization problem with decoupled control has been solved taking into account different stiffness variation models The simultaneous asymptotic trajectory tracking of both the position and the stiffness 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 actual implementation 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

Conclusions The feedforward control action needed to perform a desired motion profile has been computed The feedback linearization problem with decoupled control has been solved taking into account different stiffness variation models The simultaneous asymptotic trajectory tracking of both the position and the stiffness 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 actual implementation 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