Design and Control of Variable Stiffness Actuation Systems Gianluca Palli, Claudio Melchiorri, Giovanni Berselli and Gabriele Vassura DEIS - DIEM - Università di Bologna LAR - Laboratory of Automation and Robotics Viale Risorgimento 2, 40136, Bologna May 3, 2010 Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 1 / 20
Outline Variable Stiffness Joint Design VSJ Implementation VSJ Based on Compliant Flexures VSJ Robot Control Robot Dynamic Model Static Feedback Linearization Sliding Mode Controller Output-based Controller Conclusions Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 2 / 20
Variable Stiffness Joint Design VSJ Implementation Characteristics of VSJ Drawbacks of the Variable Stiffness Actuation: A more complex mechanical design The number of actuators increases Non-linear transmission elements must be used High non-linear and cross coupled dynamic model Open design issues: Mechanical implementation Physical dimensions Stiffness range Displacement range Torque/Displacement relation Design Approach The joint structure and dimensions have been fixed A compliant transmission element has been designed to achieve the desired joint behavior Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20
Variable Stiffness Joint Design VSJ Implementation Characteristics of VSJ Drawbacks of the Variable Stiffness Actuation: A more complex mechanical design The number of actuators increases Non-linear transmission elements must be used High non-linear and cross coupled dynamic model Open design issues: Mechanical implementation Physical dimensions Stiffness range Displacement range Torque/Displacement relation Design Approach The joint structure and dimensions have been fixed A compliant transmission element has been designed to achieve the desired joint behavior Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20
Variable Stiffness Joint Design VSJ Implementation Characteristics of VSJ Drawbacks of the Variable Stiffness Actuation: A more complex mechanical design The number of actuators increases Non-linear transmission elements must be used High non-linear and cross coupled dynamic model Open design issues: Mechanical implementation Physical dimensions Stiffness range Displacement range Torque/Displacement relation Design Approach The joint structure and dimensions have been fixed A compliant transmission element has been designed to achieve the desired joint behavior Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20
Variable Stiffness Joint Design VSJ Implementation Characteristics of VSJ Drawbacks of the Variable Stiffness Actuation: A more complex mechanical design The number of actuators increases Non-linear transmission elements must be used High non-linear and cross coupled dynamic model Open design issues: Mechanical implementation Physical dimensions Stiffness range Displacement range Torque/Displacement relation Design Approach The joint structure and dimensions have been fixed A compliant transmission element has been designed to achieve the desired joint behavior Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 3 / 20
Variable Stiffness Joint Design Joint Frame Structure VSJ Implementation Antagonistic configuration τ {1,2} = K(ǫ {1,2} ) ǫ {1,2} = θ {1,2} ±θ J τ J = τ 1 τ 2 S J = K(ǫ 1) θ J K(ǫ 2) θ J Motor 2 θ2 τe θj θ1 Motor 1 τ2 τ1 Compact and simple joint frame design The compliant element is changeable Nonlinear Elastic Transmission (CTE) Moving Link Nonlinear Elastic Transmission (CTE) Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20
Variable Stiffness Joint Design Joint Frame Structure VSJ Implementation Antagonistic configuration τ {1,2} = K(ǫ {1,2} ) ǫ {1,2} = θ {1,2} ±θ J τ J = τ 1 τ 2 S J = K(ǫ 1) θ J K(ǫ 2) θ J Nonlinear Elastic Transmission (CTE) Moving Link Nonlinear Elastic Transmission (CTE) Compact and simple joint frame design The compliant element is changeable Base Link (Common Frame) Motor 2 Motor 1 Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20
Variable Stiffness Joint Design VSJ Implementation Joint Frame Structure Antagonistic configuration τ {1,2} = K(ǫ {1,2} ) ǫ {1,2} = θ {1,2} ±θ J τ J = τ 1 τ 2 Moving Link Main Shaft CTE Shaft Gear Shaft Gear & CTE Support + Bearings S J = K(ǫ 1) θ J K(ǫ 2) θ J Compact and simple joint frame design The compliant element is changeable DC Motors Motor Encoders Motor Gear Base Link Shaft Support + Bearing Joint Encoder Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 4 / 20
Variable Stiffness Joint Design VSJ Implementation Design Considerations The selection of suitable displacement and stiffness ranges depend on: the inertia of the robot the robot cover (soft cover) the maximum velocity and load the adopted security criteria Does an optimal torque/displacement (stiffness) relation exists? Several different torque/displacement characteristic can be found in current VSJ implementations Quadratic Polynomial Exponential... Quadratic torque/displacement relation presents some interesting advantages from the control point of view Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20
Variable Stiffness Joint Design VSJ Implementation Design Considerations The selection of suitable displacement and stiffness ranges depend on: the inertia of the robot the robot cover (soft cover) the maximum velocity and load the adopted security criteria Does an optimal torque/displacement (stiffness) relation exists? Several different torque/displacement characteristic can be found in current VSJ implementations Quadratic Polynomial Exponential... Quadratic torque/displacement relation presents some interesting advantages from the control point of view Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20
Variable Stiffness Joint Design VSJ Implementation Design Considerations The selection of suitable displacement and stiffness ranges depend on: the inertia of the robot the robot cover (soft cover) the maximum velocity and load the adopted security criteria Does an optimal torque/displacement (stiffness) relation exists? Several different torque/displacement characteristic can be found in current VSJ implementations Quadratic Polynomial Exponential... Quadratic torque/displacement relation presents some interesting advantages from the control point of view Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20
Variable Stiffness Joint Design VSJ Implementation Design Considerations The selection of suitable displacement and stiffness ranges depend on: the inertia of the robot the robot cover (soft cover) the maximum velocity and load the adopted security criteria Does an optimal torque/displacement (stiffness) relation exists? Several different torque/displacement characteristic can be found in current VSJ implementations Quadratic Polynomial Exponential... Quadratic torque/displacement relation presents some interesting advantages from the control point of view Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 5 / 20
Variable Stiffness Joint Design VSJ Implementation Selection of the torque/displacement relation τe Quadratic stiffness relation of the coupling elements allows constant stiffness along joint displacement Actuators and Joint Torques Motor 2 θ2 τ2 Nonlinear Elastic Transmission (CTE) θj Moving Link τ1 θ1 Nonlinear Elastic Transmission (CTE) Motor 1 Joint Stiffness τ {1,2} = α 2 ǫ 2 {1,2} +α 1ǫ {1,2} +α 0 τ J = [α 2 (θ 1 +θ 2 )+α 1 ][θ 1 θ 2 + 2θ J ] S J = 2[α 2 (θ 1 +θ 2 )+α 1 ] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 6 / 20
Variable Stiffness Joint Design VSJ Implementation Selection of the torque/displacement relation τe Quadratic stiffness relation of the coupling elements allows constant stiffness along joint displacement Actuators and Joint Torques Motor 2 θ2 τ2 Nonlinear Elastic Transmission (CTE) θj Moving Link τ1 θ1 Nonlinear Elastic Transmission (CTE) Motor 1 Joint Stiffness τ {1,2} = α 2 ǫ 2 {1,2} +α 1ǫ {1,2} +α 0 τ J = [α 2 (θ 1 +θ 2 )+α 1 ][θ 1 θ 2 + 2θ J ] S J = 2[α 2 (θ 1 +θ 2 )+α 1 ] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 6 / 20
Variable Stiffness Joint Design VSJ Based on Compliant Flexures Introducing Compliant Flexures Exploit compliant flexures enhances the compactness and the flexibility of the design Concentrated deformation and with linear elastic deflection Continuous compliant mechanisms Nonlinear torsional stiffness has been achieved by using compliant elements with linear elastic deflection (Palli et al., IDETC 2010 [PBMV10]) Outer Frame Ψ1 Inner Frame k3 k2 r3 γ3 Coupler r3 k3 Rocker r2 γ2 r1 r4 k4 γ4 k2 Crank r2 γ2 φ δ r1 β γ3 λ r4 γ4 Inner Frame Outer Frame Base k4 Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 7 / 20
Variable Stiffness Joint Design VSJ Based on Compliant Flexures Compliant Elements Design Procedure Selection of the material Optimization of the compliant elements design to obtain a quadratic torque/displacement relation with the desired displacement given the stiffness range 25 20 Optimized Desired FEM Analysis Reaction Torque T1 [N m] 15 10 5 0 5 10 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5 Deflection Ψ1 [rad] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 8 / 20
VSJ Prototype Variable Stiffness Joint Design VSJ Based on Compliant Flexures Prototype of the VSJ with compliant flexures Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20
VSJ Prototype Variable Stiffness Joint Design VSJ Based on Compliant Flexures Prototype of the VSJ with compliant flexures Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20
Variable Stiffness Joint Design VSJ Based on Compliant Flexures VSJ Prototype Prototype of the VSJ with compliant flexures 30 Effective Desired Joint Torque [N m] 20 10 0 Stiffness [N m rad 1 ] 94.4 83.0 71.5 60.0 48.5 37.0 25.5 10 20 30 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 Joint Deflection [rad] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 9 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Dynamic equations of a robotic manipulators with elastic joints The diagonal joint stiffness matrix M(q) q +N(q, q)+k (q θ) = 0 B θ +K (θ q) = τ K = diag{k 1,..., k n }, K = K(t) > 0 The dynamics of the joint stiffness k is written as a generic nonlinear function of the system configuration (Palli et al., ICRA 2007 [PMW + 07]) k = β(q,θ)+γ(q,θ)τ k The stiffness depends on the joint and actuators relative positions The dynamics of some mechanism used to adjust the stiffness is considered Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Dynamic equations of a robotic manipulators with elastic joints The diagonal joint stiffness matrix M(q) q +N(q, q)+k (q θ) = 0 B θ +K (θ q) = τ K = diag{k 1,..., k n }, K = K(t) > 0 The dynamics of the joint stiffness k is written as a generic nonlinear function of the system configuration (Palli et al., ICRA 2007 [PMW + 07]) k = β(q,θ)+γ(q,θ)τ k The stiffness depends on the joint and actuators relative positions The dynamics of some mechanism used to adjust the stiffness is considered Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Dynamic equations of a robotic manipulators with elastic joints M(q) q +N(q, q)+k (q θ) = 0 B θ +K (θ q) = τ The diagonal joint stiffness matrix is considered time-variant K = diag{k 1,..., k n }, K = K(t) > 0 The dynamics of the joint stiffness k is written as a generic nonlinear function of the system configuration (Palli et al., ICRA 2007 [PMW + 07]) k = β(q,θ)+γ(q,θ)τ k The stiffness depends on the joint and actuators relative positions The dynamics of some mechanism used to adjust the stiffness is considered Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Dynamic equations of a robotic manipulators with elastic joints M(q) q +N(q, q)+k (q θ) = 0 B θ +K (θ q) = τ The diagonal joint stiffness matrix is considered time-variant K = diag{k 1,..., k n }, K = K(t) > 0 The dynamics of the joint stiffness k is written as a generic nonlinear function of the system configuration (Palli et al., ICRA 2007 [PMW + 07]) k = β(q,θ)+γ(q,θ)τ k The stiffness depends on the joint and actuators relative positions The dynamics of some mechanism used to adjust the stiffness is considered Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 10 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Complete robot dynamics with uncertainties M(q) q +N(q, q)+k (q θ)+η q (t) = 0 [ k B θ +K (θ q)+η θ (t) = τ ] γ(q,θ) 1 β(q,θ)(t) +ηk (t) = τ k All the effects due to frictions, dead-zones, non-modeled dynamics, parameters variability etc., can be introduced by the additive functions η {q,θ,k} (t) In the nominal case η{q,θ,k} (t) = 0 The input u and the robot state x are: [ ] τ u =, x = [ q T q T θ T θt k T k ] [ ] T T q, y = τk k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Complete robot dynamics with uncertainties M(q) q +N(q, q)+k (q θ)+η q (t) = 0 [ k B θ +K (θ q)+η θ (t) = τ ] γ(q,θ) 1 β(q,θ)(t) +ηk (t) = τ k All the effects due to frictions, dead-zones, non-modeled dynamics, parameters variability etc., can be introduced by the additive functions η {q,θ,k} (t) In the nominal case η{q,θ,k} (t) = 0 The input u and the robot state x are: [ ] τ u =, x = [ q T q T θ T θt k T k ] [ ] T T q, y = τk k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Complete robot dynamics with uncertainties M(q) q +N(q, q)+k (q θ)+η q (t) = 0 [ k B θ +K (θ q)+η θ (t) = τ ] γ(q,θ) 1 β(q,θ)(t) +ηk (t) = τ k All the effects due to frictions, dead-zones, non-modeled dynamics, parameters variability etc., can be introduced by the additive functions η {q,θ,k} (t) In the nominal case η{q,θ,k} (t) = 0 The input u and the robot state x are: [ ] τ u =, x = [ q T q T θ T θt k T k ] [ ] T T q, y = τk k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20
VSJ Robot Control Robot Dynamic Model Dynamic Model of Robots with Variable Joint Stiffness Complete robot dynamics with uncertainties M(q) q +N(q, q)+k (q θ)+η q (t) = 0 [ k B θ +K (θ q)+η θ (t) = τ ] γ(q,θ) 1 β(q,θ)(t) +ηk (t) = τ k All the effects due to frictions, dead-zones, non-modeled dynamics, parameters variability etc., can be introduced by the additive functions η {q,θ,k} (t) In the nominal case η{q,θ,k} (t) = 0 The input u and the robot state x are: [ ] τ u =, x = [ q T q T θ T θt k T k ] [ ] T T q, y = τk k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 11 / 20
VSJ Robot Control Feedback Linearized Model The overall system can be written as [ ] [ q [4] α(x) = k β(q, θ) Static Feedback Linearization ] [ τ +Q(x) τk where Q(x) is the decoupling matrix: [ ] M Q(x) = 1 KB 1 M 1 Φγ(q,θ) 0 n n γ(q,θ) Non-Singularity Conditions k } i > 0 i = 1,..., n γ i (q i,θ i ) 0 By applying the static state feedback [ ] ( [ ] [ ]) τ = Q 1 α(x) vq (x) + τk β(q, θ) v k the linearized model is obtained (Palli et al., ICRA 2008 [PMD08]) [ ] [ ] q [4] vq = k v k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20 ]
VSJ Robot Control Feedback Linearized Model The overall system can be written as [ ] [ q [4] α(x) = k β(q, θ) Static Feedback Linearization ] [ τ +Q(x) τk where Q(x) is the decoupling matrix: [ ] M Q(x) = 1 KB 1 M 1 Φγ(q,θ) 0 n n γ(q,θ) Non-Singularity Conditions k } i > 0 i = 1,..., n γ i (q i,θ i ) 0 By applying the static state feedback [ ] ( [ ] [ ]) τ = Q 1 α(x) vq (x) + τk β(q, θ) v k the linearized model is obtained (Palli et al., ICRA 2008 [PMD08]) [ ] [ ] q [4] vq = k v k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20 ]
VSJ Robot Control Feedback Linearized Model The overall system can be written as [ ] [ q [4] α(x) = k β(q, θ) Static Feedback Linearization ] [ τ +Q(x) τk where Q(x) is the decoupling matrix: [ ] M Q(x) = 1 KB 1 M 1 Φγ(q,θ) 0 n n γ(q,θ) Non-Singularity Conditions k } i > 0 i = 1,..., n γ i (q i,θ i ) 0 By applying the static state feedback [ ] ( [ ] [ ]) τ = Q 1 α(x) vq (x) + τk β(q, θ) v k the linearized model is obtained (Palli et al., ICRA 2008 [PMD08]) [ ] [ ] q [4] vq = k v k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20 ]
VSJ Robot Control Feedback Linearized Model The overall system can be written as [ ] [ q [4] α(x) = k β(q, θ) Static Feedback Linearization ] [ τ +Q(x) τk where Q(x) is the decoupling matrix: [ ] M Q(x) = 1 KB 1 M 1 Φγ(q,θ) 0 n n γ(q,θ) Fully-decoupled linear model represented Non-Singularity Conditions k by i > two 0 indipendent } chains i = 1,..., n γof i (qintegrators i,θ i ) 0 By applying the static state feedback [ ] ( [ ] [ ]) τ = Q 1 α(x) vq (x) + τk β(q, θ) v k the linearized model is obtained (Palli et al., ICRA 2008 [PMD08]) [ ] [ ] q [4] vq = k v k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 12 / 20 ]
VSJ Robot Control Sliding Mode Controller Sliding Mode Controller The time-varying sliding surface is defined in the linearized state space: t e [3] q +P q3 ë q +P q2 ė q +P q1 e q +P q0 e q dt S = 0 t ė k +P k1 e k +P k0 e k dt 0 If η {q,θ,k} (t) 0: Ṡ = [ e [4] q ë k ] [ [4] q q +Pe = k d ] [ α (x,t) β (q,θ,t) ] [ τ Q(x) τk ] +Pe where α (x,t) and β (q,θ,t) represent the dynamics of the system in the non-nominal case The actual control action is defined as (Palli & Melchiorri, ICAR 2009 [PM09]): [ ] [ ] τ τ = +Q 1 (x)r sign(s) τ k τ k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20
VSJ Robot Control Sliding Mode Controller Sliding Mode Controller The time-varying sliding surface is defined in the linearized state space: t e [3] q +P q3 ë q +P q2 ė q +P q1 e q +P q0 e q dt S = 0 t ė k +P k1 e k +P k0 e k dt 0 If η {q,θ,k} (t) 0: Ṡ = [ e [4] q ë k ] [ [4] q q +Pe = k d ] [ α (x,t) β (q,θ,t) ] [ τ Q(x) τk ] +Pe where α (x,t) and β (q,θ,t) represent the dynamics of the system in the non-nominal case The actual control action is defined as (Palli & Melchiorri, ICAR 2009 [PM09]): [ ] [ ] τ τ = +Q 1 (x)r sign(s) τ k τ k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20
VSJ Robot Control Sliding Mode Controller Sliding Mode Controller The time-varying sliding surface is defined in the linearized state space: t e [3] q +P q3 ë q +P q2 ė q +P q1 e q +P q0 e q dt S = 0 t ė k +P k1 e k +P k0 e k dt 0 If η {q,θ,k} (t) 0: Ṡ = [ e [4] q ë k ] [ [4] q q +Pe = k d ] [ α (x,t) β (q,θ,t) ] [ τ Q(x) τk ] +Pe where α (x,t) and β (q,θ,t) represent the dynamics of the system in the non-nominal case The actual control action is defined as (Palli & Melchiorri, ICAR 2009 [PM09]): [ ] [ ] τ τ = +Q 1 (x)r sign(s) τ k τ k Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 13 / 20
VSJ Robot Control Sliding Mode Controller Lyapunov Stability Candidate Lyapunov function: V = 1 2 ST S Condition for the asymptotic trajectory tracking: where V = S T Ṡ = S T {F Rsign(S)} < 0 F = [ α(x) β(q, θ) ] [ α (x,t) β (q,θ,t) represents the residual dynamics of the manipulator due to non-prefect knowledge of its model and to spurious effects The elements of the matrix R must be larger than the error in the robot dynamics: R ii > F i ] Given the boundedness of the the robot dynamics, a matrix R that globally satisfies the required conditions can be found Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20
VSJ Robot Control Sliding Mode Controller Lyapunov Stability Candidate Lyapunov function: V = 1 2 ST S Condition for the asymptotic trajectory tracking: where V = S T Ṡ = S T {F Rsign(S)} < 0 F = [ α(x) β(q, θ) ] [ α (x,t) β (q,θ,t) represents the residual dynamics of the manipulator due to non-prefect knowledge of its model and to spurious effects The elements of the matrix R must be larger than the error in the robot dynamics: R ii > F i ] Given the boundedness of the the robot dynamics, a matrix R that globally satisfies the required conditions can be found Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20
VSJ Robot Control Sliding Mode Controller Lyapunov Stability Candidate Lyapunov function: V = 1 2 ST S Condition for the asymptotic trajectory tracking: where V = S T Ṡ = S T {F Rsign(S)} < 0 F = [ α(x) β(q, θ) ] [ α (x,t) β (q,θ,t) represents the residual dynamics of the manipulator due to non-prefect knowledge of its model and to spurious effects The elements of the matrix R must be larger than the error in the robot dynamics: R ii > F i ] Given the boundedness of the the robot dynamics, a matrix R that globally satisfies the required conditions can be found Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20
VSJ Robot Control Sliding Mode Controller Lyapunov Stability Candidate Lyapunov function: V = 1 2 ST S Condition for the asymptotic trajectory tracking: where V = S T Ṡ = S T {F Rsign(S)} < 0 F = [ α(x) β(q, θ) ] [ α (x,t) β (q,θ,t) represents the residual dynamics of the manipulator due to non-prefect knowledge of its model and to spurious effects The elements of the matrix R must be larger than the error in the robot dynamics: R ii > F i ] Given the boundedness of the the robot dynamics, a matrix R that globally satisfies the required conditions can be found Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 14 / 20
VSJ Robot Control Sliding Mode Controller Simulation of a two-links Planar Manipulator Nominal Model + Exact Feedback linearization 2 1 Joint positions [rad] Pos Joint 1 Pos Joint 2 0.5 1 x 10 5 Position errors [rad] 0 0 1 2 0 2 4 6 8 10 0.5 Err Joint 1 Err Joint 2 1 0 2 4 6 8 10 4 3 2 1 Joint Stiffness [N m rad 1 ] 1 x Stiffness errors [N m rad 1 ] 10 5 0 Stiff Joint 1 Stiff Joint 2 1 0 2 4 6 8 10 Time [s] 0.5 0 0.5 Err Joint 1 Err Joint 2 1 0 2 4 6 8 10 Time [s] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20
VSJ Robot Control Sliding Mode Controller Simulation of a two-links Planar Manipulator Perturbed Model + Simplified Feedback linearization 3 2 1 0 1 Joint positions [rad] Pos Joint 1 Pos Joint 2 2 0 2 4 6 8 10 0.5 0 (b) 0.5 Position errors [rad] 1 Err Joint 1 Err Joint 2 1.5 0 2 4 6 8 10 4 3 2 1 Joint Stiffness [N m rad 1 ] Stiffness errors [N m rad 1 ] 0.1 Err Joint 1 Err Joint 2 0.05 0 Stiff Joint 1 0.05 Stiff Joint 2 1 0.1 0 2 4 6 8 10 0 2 4 6 Time [s] Time [s] 8 10 Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20 0
VSJ Robot Control Sliding Mode Controller Simulation of a two-links Planar Manipulator Perturbed Model + Simplified Feedback linearization + Sliding mode 2 1 Joint positions [rad] Pos Joint 1 Pos Joint 2 0.5 1 x 10 5 Position errors [rad] 0 0 1 2 0 2 4 6 8 10 0.5 Err Joint 1 Err Joint 2 1 0 2 4 6 8 10 4 3 2 1 Joint Stiffness [N m rad 1 ] 2 x Stiffness errors [N m rad 1 ] 10 3 0 Stiff Joint 1 1 Stiff Joint 2 1 2 0 2 4 6 8 10 0 2 4 6 Time [s] Time [s] 8 10 Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 15 / 20 1 0 Err Joint 1 Err Joint 2
VSJ Robot Control Output-based Controller Output-based controller Both the robot, the motors and the stiffness dynamics are in the form: A(v,w) v +f( v,v,w)+α = τ By using the general output-based dynamic compensator: τ = A(v,w) τ +f(z 2,v,w) τ = Λ 1 (v v d ) Λ 2 z 2 +L(z 3 z 2 ) ż 1 = Γ 1 (z 1 v)+z 2 ż 2 = Γ 2 (z 1 v)+ τ L(z 3 z 2 ) ż 3 = τ L(z 3 z 2 ) the dynamics of these systems can be decoupled (Palli & Melchiorri, NOLCOS 2010 [PM10]) The controller provides direct estimations of the disturbance acting on the motors, on the stiffness and on the robot arm Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20
VSJ Robot Control Output-based Controller Output-based controller Both the robot, the motors and the stiffness dynamics are in the form: A(v,w) v +f( v,v,w)+α = τ By using the general output-based dynamic compensator: τ = A(v,w) τ +f(z 2,v,w) τ = Λ 1 (v v d ) Λ 2 z 2 +L(z 3 z 2 ) ż 1 = Γ 1 (z 1 v)+z 2 ż 2 = Γ 2 (z 1 v)+ τ L(z 3 z 2 ) ż 3 = τ L(z 3 z 2 ) the dynamics of these systems can be decoupled (Palli & Melchiorri, NOLCOS 2010 [PM10]) The controller provides direct estimations of the disturbance acting on the motors, on the stiffness and on the robot arm Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20
VSJ Robot Control Output-based Controller Output-based controller Both the robot, the motors and the stiffness dynamics are in the form: A(v,w) v +f( v,v,w)+α = τ By using the general output-based dynamic compensator: τ = A(v,w) τ +f(z 2,v,w) τ = Λ 1 (v v d ) Λ 2 z 2 +L(z 3 z 2 ) ż 1 = Γ 1 (z 1 v)+z 2 ż 2 = Γ 2 (z 1 v)+ τ L(z 3 z 2 ) ż 3 = τ L(z 3 z 2 ) the dynamics of these systems can be decoupled (Palli & Melchiorri, NOLCOS 2010 [PM10]) The controller provides direct estimations of the disturbance acting on the motors, on the stiffness and on the robot arm Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 16 / 20
VSJ Robot Control Output-based Controller Simulation of a two-links Planar Manipulator Perturbed Model + Output-based controller 1 End-effector positions [m] 5 x 10 3 Position errors [m] 0.5 0 0 0.5 Pos x Pos y 1 0 2 4 6 8 10 Err x Err y 5 0 2 4 6 8 10 4 3 2 1 Joint Stiffness [N m rad 1 ] Stiffness errors [N m rad 1 ] 0.1 Err Stiff 1 Err Stiff 2 0.05 0 Stiff Joint 1 0.05 Stiff Joint 2 1 0 2 4 6 8 10 0.1 0 2 4 6 8 10 Time [s] Time [s] Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 17 / 20 0
Conclusions Conclusions A flexible and compact solution for the implementation of variable stiffness joints has been shown Complaint flexures have been adopted to improve compactness and to achieve the desired stiffness profile The model of a robotic manipulator with variable joint stiffness has been defined taking into account model uncertainties In the non-ideal case, the asymptotic tracking performance have been recovered by means of a sliding mode controller that compensates for model uncertainties A robust output-based controller for the indipendent control of the robot trajectory and joint stiffness has been shown Questions? Thank you for your attention... Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 18 / 20
Conclusions Conclusions A flexible and compact solution for the implementation of variable stiffness joints has been shown Complaint flexures have been adopted to improve compactness and to achieve the desired stiffness profile The model of a robotic manipulator with variable joint stiffness has been defined taking into account model uncertainties In the non-ideal case, the asymptotic tracking performance have been recovered by means of a sliding mode controller that compensates for model uncertainties A robust output-based controller for the indipendent control of the robot trajectory and joint stiffness has been shown Questions? Thank you for your attention... Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 18 / 20
Bibliography I Conclusions G. Palli, G. Berselli, C. Melchiorri, and G. Vassura. Design and modeling of variable stiffness joints based on compliant flexures. In Proc. of the ASME 2010 Int. Design Engineering Technical Conf., Montreal, Canada, 2010. G. Palli and C. Melchiorri. Robust control of robots with variable joint stiffness. In Proc. Int. Conf. on Advanced Robotics, Munich, Germany, 2009. G. Palli and C. Melchiorri. Task space control of robots with variable stiffness actuation. In Proc. of the 8th IFAC Symp. on Nonlinear Control Systems, Bologna, Italy, 2010. G. Palli, C. Melchiorri, and A. De Luca. On the feedback linearization of robots with variable joint stiffness. In Proc. of the IEEE Int. Conf. on Robotics and Automation, 2008. Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 19 / 20
Bibliography II Conclusions G. Palli, C. Melchiorri, T. Wimböck, M. Grebenstein, and G. Hirzinger. Feedback linearization and simultaneous stiffness-position control of robots with antagonistic actuated joints. In IEEE Int. Conf. on Robotics and Automation, 2007. Gianluca Palli (Università di Bologna) VIA Workshop @ ICRA 2010 May 3, 2010 20 / 20