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