Submitted in partial fulfillment of the requirements of the Degree
of Doctor of Philosophy
Modelling and Interactional Control of a
Multi-fingered Robotic Hand for Grasping
and Manipulation
Md Rakibul Hasan
26/09/2014
Queen Mary, University of London
School of Engineering and Materials Science
I, Md Rakibul Hasan, confirm that the research included within this thesis is my own work or
supported by others, that this is duly acknowledged and my contribution indicated.
I attest that I have exercised reasonable care to ensure that the work is original, and does not
to the best of my knowledge break any UK law, infringe any third party’s copyright or other
Intellectual Property Right, or contain any confidential material.
I accept that the College has the right to use plagiarism detection software to check the electronic version of the thesis. I confirm that this thesis has not been previously submitted for the
award of a degree by this or any other university.
The copyright of this thesis rests with the author and no quotation from it or information derived
from it may be published without the prior written consent of the author.
Signature:
Date: 26/09/2014.
2
Abstract
In this thesis, the synthesis of a grasping and manipulation controller of the Barrett hand, which
is an archetypal example of a multi-fingered robotic hand, is investigated in some detail. This
synthesis involves not only the dynamic modelling of the robotic hand but also the control
of the joint and workspace dynamics as well as the interaction of the hand with object it is
grasping and the environment it is operating in. Grasping and manipulation of an object by a
robotic hand is always challenging due to the uncertainties, associated with non-linearities of
the robot dynamics, unknown location and stiffness parameters of the objects which are not
structured in any sense and unknown contact mechanics during the interaction of the hand’s
fingers and the object. To address these challenges, the fundamental task is to establish the
mathematical model of the robot hand, model the body dynamics of the object and establish
the contact mechanics between the hand and the object.
A Lagrangian based mathematical model of the Barrett hand is developed for controller implementation. A physical SimMechanics based model of the Barrett hand is also developed in
MATLAB/Simulink environment. A computed torque controller and an adaptive sliding model
controller are designed for the hand and their performance is assessed both in the joint space
and in the workspace. Stability analysis of the controllers are carried out before developing the
control laws. The higher order sliding model controllers are developed for the position control
assuming that the uncertainties are in place. Also, this controllers enhance the performance by
reducing chattering of the control torques applied to the robot hand.
A contact model is developed for the Barrett hand as its fingers grasp the object in the operating environment. The contact forces during the simulation of the interaction of the fingers with
the object were monitored, for objects with different stiffness values. Position and force based
impedance controllers are developed to optimise the contact force. To deal with the unknown
stiffness of the environment, adaptation is implemented by identifying the impedance. An evolutionary algorithm is also used to estimate the desired impedance parameters of the dynamics
of the coupled robot and compliant object.
A Newton-Euler based model is developed for the rigid object body. A grasp map and a hand
Jacobian are defined for the Barrett hand grasping an object. A fixed contact model with
friction is considered for the grasping and the manipulation control. The compliant dynamics
3
of Barrett hand and object is developed and the control problem is defined in terms of the
contact force. An adaptive control framework is developed and implemented for different
grasps and manipulation trajectories of the Barrett hand. The adaptive controller is developed
in two stages: first, the unknown robot and object dynamics are estimated and second, the
contact force is computed from the estimated dynamics. The stability of the controllers is
ensured by applying Lyapunov’s direct method.
4
Nomenclature
τi
Joint torque of each Barrett finger.
cb
Reference/base frame of the Barrett hand.
M f i (q) ∈ Rn×n
The inertia matrix of the robot dynamics.
Moi (x) ∈ Rn×n
The inertia matrix of the object dynamics.
qdi
Desired joint angle (deg) of each Barrett finger.
C f i (q, q̇) ∈ Rn×1 The Coriolis vector terms of the robot dynamics.
Coi (x, ẋ) ∈ Rn×1 The coriolis and gravity vector terms of the object dynamics.
G f i (q) ∈ Rn×1
The gravity vector terms of the robot dynamics.
si
Sine values of the joint qi .
Yi
Regeressor matrix of the robotic hand.
ci
Cosine values of the joint qi .
Fi
Finger name of the Barrett hand.
li
Link length of the robot finger.
mi
Mass of each link of the Barrett hand.
qi
Revolute joint angle (deg) of each Barrett finger.
θi
Revolute Initial angle (deg) of each Barrett finger.
αi
Spread angle (deg) of finger F1 and F2 .
xi , yi , zi
Initial fingertip position (m) of the Barrett finger.
xf ,yf ,zf
Final fingertip position (m) of the Barrett finger.
5
Contents
Abstract
3
Nomenclature
5
Acknowledgments
6
1. Introduction
7
1.1. Multi-fingered hand features . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.2. Grasping and manipulation problem . . . . . . . . . . . . . . . . . . . . . . .
9
1.3. Recent developments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Motivations, aim and objectives . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5. Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6. Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.7. Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2. Modelling of the Barrett hand and the hand-object system
23
2.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2. The Barrett hand description . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3. Hand Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.1. Forward Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2. Inverse Kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4. Barrett hand dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1. Finger dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.2. Energy calculation for Lagrangian . . . . . . . . . . . . . . . . . . . . 30
2.4.3. Dynamics of the fingers F1 and F2 . . . . . . . . . . . . . . . . . . . . 30
2.4.4. Dynamics of the finger F3 . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.5. Dynamics of the complete hand . . . . . . . . . . . . . . . . . . . . . 32
2.4.6. Structural properties of hand dynamics . . . . . . . . . . . . . . . . . 33
2.4.7. Ratio dynamics and torque switch . . . . . . . . . . . . . . . . . . . . 34
2.5. Workspace dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
i
2.6. Physical model of the Barrett hand . . . . . . . . . . . . . . . . . . . . . . . . 36
2.6.1. SimMechanics for physical modelling . . . . . . . . . . . . . . . . . . 37
2.6.2. Conversion of Barrett CAD into SimMechanics . . . . . . . . . . . . . 37
2.7. Object Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.8. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3. Adaptive and Higher order sliding mode control of the Barrett hand
45
3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2. Equilibrium and Lyapunov Stability . . . . . . . . . . . . . . . . . . . . . . . 47
3.3. Motion problem formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4. Computed torque control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1. Proof of computed torque control stability . . . . . . . . . . . . . . . . 52
3.4.2. Computed torque control design for the Barrett hand . . . . . . . . . . 53
3.4.3. Results and discussions . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5. Sliding and adaptive sliding mode control . . . . . . . . . . . . . . . . . . . . 65
3.5.1. Sliding mode theory . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.5.2. SMC Implementation on planar finger . . . . . . . . . . . . . . . . . . 67
3.5.3. Simulation and results of sliding mode control . . . . . . . . . . . . . 67
3.5.4. Adaptive SMC theory (ASMC) . . . . . . . . . . . . . . . . . . . . . 69
3.5.5. Simulation and results of ASMC . . . . . . . . . . . . . . . . . . . . . 70
3.5.6. Barrett hand simulation with SMC and ASMC . . . . . . . . . . . . . 73
3.6. Higher order sliding mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.6.1. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.6.2. Higher Order Sliding Mode structure . . . . . . . . . . . . . . . . . . 79
3.6.3. Higher order sliding mode control laws . . . . . . . . . . . . . . . . . 83
3.6.4. Higher Order Sliding Mode Control with adaptation (HOSMA) . . . . 84
3.6.5. HOSM and HOSMA control implementation to planar finger . . . . . . 85
3.6.6. HOSMA control implementation to Barrett finger . . . . . . . . . . . . 87
3.7. Results and discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.7.1. Comparison of the controllers . . . . . . . . . . . . . . . . . . . . . . 94
4. Interactional kinematics, dynamics and force control of the Barrett hand
96
4.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2. Contact mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3. Problem formulation for force control . . . . . . . . . . . . . . . . . . . . . . 100
4.4. Force control techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.5. Impedance control (IMC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.5.1. IMC objective and its structure . . . . . . . . . . . . . . . . . . . . . . 103
4.5.2. IMC classifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.3. Contact force analysis and results . . . . . . . . . . . . . . . . . . . . 107
ii
4.5.4. Planar finger control with PIM . . . . . . . . . . . . . . . . . . . . . . 112
4.5.5. Planar finger control with FIM . . . . . . . . . . . . . . . . . . . . . . 115
4.5.6. Position and force impedance control of Barrett finger . . . . . . . . . 117
4.6. Adaptive force impedance control . . . . . . . . . . . . . . . . . . . . . . . . 119
4.6.1. Adaptive force impedance method of planar finger . . . . . . . . . . . 121
4.6.2. Adaptive force impedance method of Barrett finger . . . . . . . . . . . 122
4.7. Evolutionary algorithm based impedance control . . . . . . . . . . . . . . . . 122
4.7.1. Evolutionary algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.7.2. Discretized impedance controller . . . . . . . . . . . . . . . . . . . . 126
4.7.3. Simulation procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.7.4. Results and discussions . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.8. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5. Classical and adaptive controller implementation for grasping and manipulation 133
5.1. Introduction to grasping and manipulation . . . . . . . . . . . . . . . . . . . . 133
5.2. Definition of Grasping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.2.1. Grasp planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.2.2. Grasp properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.2.3. Grasp map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.2.4. Force-Closure of a grasp . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.2.5. Hand Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.2.6. Grasp constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3. Robot Object dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3.1. Multi-fingered Grasping and manipulation problem formulation . . . . 142
5.4. Computed torque controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.4.1. Stability of the CTC law . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.4.2. Computed torque control for Barrett hand grasping and manipulation . 145
5.4.3. CTC results and discussion . . . . . . . . . . . . . . . . . . . . . . . . 146
5.5. Natural and stiffness controller . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.5.1. Results and discussions . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.6. SMC-adaptive controller for grasping and manipulation . . . . . . . . . . . . . 160
5.6.1. Hand-object dynamics for SMC-adaptive controller . . . . . . . . . . . 161
5.6.2. The SMC-adaptive controller implementation . . . . . . . . . . . . . . 161
5.6.3. Desired external and contact force calculation . . . . . . . . . . . . . . 162
5.6.4. Stability of the adaptive controller . . . . . . . . . . . . . . . . . . . . 165
5.7. Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
5.8. Results and discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
5.8.1. Comparison of the controllers . . . . . . . . . . . . . . . . . . . . . . 173
iii
6. Conclusions and Future Work
175
6.0.2. Future directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
A. Appendix
179
A.1. Stability of the SMC controller . . . . . . . . . . . . . . . . . . . . . . . . . . 179
References
181
iv
List of Figures
2.1. The Barrett hand CAD model in its initial position. . . . . . . . . . . . . . . . 24
2.2. Side view of The Barrett hand CAD model. . . . . . . . . . . . . . . . . . . . 25
2.3. The Barrett hand forward kinematics. . . . . . . . . . . . . . . . . . . . . . . 26
2.4. The workspace range of finger F1 for joint angle qi and α1 calculation.
2.5. The workspace range of finger F3 for joint angle qi calculation.
. . . . 28
. . . . . . . . 28
2.6. The motion based conditional mechanism of torqueswitch. . . . . . . . . . . . 34
2.7. Single rigid robot link with one DOF revolute joint. . . . . . . . . . . . . . . . 37
2.8. Single rigid robot link with one DOF revolute joint. . . . . . . . . . . . . . . . 38
2.9. SimMechanics model architecture of the Barrett hand. . . . . . . . . . . . . . . 39
2.10. Physical SimMechanics model of the three fingered Barrett hand.
3.1. CTC Simulink based controller for the Barrett hand simulation.
. . . . . . . 40
. . . . . . . . 54
3.2. The damping added to the outer joint for balancing outer link (Finger F3 ). . . . 54
3.3. Actual fingertip position tracking of the Barrett fingers for a desired Cartesian
trajectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4. Joint actual (blue) position tracking of the Barrett fingers for the joint position
q2 = 45o and q3 = 55o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5. Joint velocities (q̇i ) of Barrett fingers for the joint position, q2 = 45o and q3 = 55o . 58
3.6. Joint torque (τ ) of the Barrett fingers for the joint position, q2 = 45o and q3 =
55o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.7. Joint space tracking of Barrett fingers in Simulink for the spread position, α =
o
65 , joint position, q2 = 45o and q3 = 55o . . . . . . . . . . . . . . . . . . . . . 61
3.8. Joint space tracking of the Barrett fingers in SimMechanics for the spread poo
sition, α = 65 , joint position, q2 = 45o and q3 = 55o . . . . . . . . . . . . . . . 62
3.9. Comparison of the joint tracking error in SimMechanics and Simulink for the
o
spread position, α = 65 , joint position, q2 = 25o and q3 = 35o . . . . . . . . . 63
3.10. Comparison of the joint tracking error in SimMechanics and Simulink for the
o
spread position, α = 45 , joint position, q2 = 25o and q3 = 35o . . . . . . . . . 64
3.11. SMC based control structure applied to a planar finger. . . . . . . . . . . . . . 67
1
3.12. Joint position, velocities, control torque and sliding function results with the
SMC controller applied to a planar finger. . . . . . . . . . . . . . . . . . . . . 68
3.13. Adaptive-SMC based control structure applied to a planar finger. . . . . . . . . 70
3.14. Adaptive SMC results for joint motion q, velocity q̇, torque τ and sliding function s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.15. Parameter estimation of σi with adaptive update law. . . . . . . . . . . . . . . 72
3.16. Tracking errors obtained with SMC and ASMC for two link planar joints. . . . 72
3.17. Joint tracking results of the Barrett Hand with SMC. . . . . . . . . . . . . . . 74
3.18. Joint tracking results of the Barrett Hand with ASMC. . . . . . . . . . . . . . . 75
3.19. Comparison of Barrett finger tracking errors obtained with SMC and ASMC
controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.20. Parameter estimation of σi with adaptive update law of Barrett finger F1 and F2 .
77
3.21. Parameter estimation of σi with adaptive update law of Barrett finger F3 . . . . . 77
3.22. Sliding function si of the Barrett hand. . . . . . . . . . . . . . . . . . . . . . . 78
3.23. Joint torque τi calculated with Adaptive-SMC law for the Barrett hand. . . . . . 78
3.24. Super twisting algorithm phase trajectory . . . . . . . . . . . . . . . . . . . . 83
3.25. Control structure of HOSM based control for a planar finger. . . . . . . . . . . 85
3.26. Comparison of Joint position between HOSMA and other controllers . . . . . . 86
3.27. Planar joint tracking error obtained with HOSMA controller (with noise). . . . 87
3.28. Comparison of control signal and sliding function between HOSMA and other
controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.29. Joint positions q2 and q3 of finger F 3 with controller A: HOSM . . . . . . . . . 89
3.30. Joint positions q2 and q3 of finger F 3 with controller A: HOSMA . . . . . . . . 89
3.31. Joint errors q2 and q3 of finger F 3 with controller A : HOSM (left) and HOSMA
(right).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.32. Joint errors q2 and q3 of finger F 3 with controller B : HOSM (Left) and HOSMA
(Right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.33. Joint errors q2 and q3 of finger F 3 with super twisted controller C : HOSM
(Left) and HOSMA (Right). . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.34. Minimum and maximum tracking errors obtained from controllers A, B and C
in HOSM and HOSMA mode. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.35. Joint torques of finger F 3 with controller A : HOSM (Left) and HOSMA (Right).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.36. Joint torques of finger F 3 with controler B : HOSM (Left) and HOSMA (Right). 93
4.1. Contact mechanics between F3 and an object with linear. . . . . . . . . . . . . 98
4.2. (i) Spring mechanics (ii) Spring Damper mechanics. . . . . . . . . . . . . . . . 103
4.3. Position based impedance control structure for manipulator. . . . . . . . . . . . 106
2
4.4. Position, force and torque results of one link planar finger during the interaction
with an object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.5. Contact force measurement model of Barrett hand. . . . . . . . . . . . . . . . 109
4.6. Contact force Fc calculation of Barrett Finger F3 for different object stiffness
Ke values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.7. Reaction torque τd of the finger F3 joints. Top left Ks = 103 N/m, Top right
Ks = 20 kN/m, Bottom left Ks = 30 kN/m, Bottom right Ks = 50 kN/m. . . . . 111
4.8. Fingertip motion of F3 (Top) and joint velocities q̇i (Bottom). . . . . . . . . . . 111
4.9. Contact force and reaction torque measured in workspace based control of finger F3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.10. Position based impedance control schematics of planar finger. . . . . . . . . . 112
4.11. SimMechanics contact model between robot link and object. . . . . . . . . . . 113
4.12. Position based impedance control results from planar finger. . . . . . . . . . . 114
4.13. Force based impedance control diagram for planar finger. . . . . . . . . . . . . 115
4.14. Force based impedance control results from planar finger. . . . . . . . . . . . . 116
4.15. Position Impedance control of Barrett finger F3 , Ke = 103 N/m. . . . . . . . . . 118
4.16. Position based impedance control of the Barrett finger F3 for different stiffness. 119
4.17. Force based impedance control of Barrett finger for desired force Fd = 3N,
stiffness value, ke = 103 N/m. . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.18. Adaptive impedance control of planar fingers for desired force Fd = 30 N. . . . 123
4.19. Adaptive impedance control of Barrett finger for desired force Fd = 10 N. . . . 124
4.20. CMS-EA based impedance parameter selection process from digital impedance
controller based robot-object interactional environment. . . . . . . . . . . . . . 127
4.21. Impedance parameter estimation (Top); Fitness function, standard deviation
computation (Bottom) with MIo , KIo = [0.5, 0.5].
. . . . . . . . . . . . . . . . 129
4.22. Contact force optimisation with estimated impedance parameters through evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.23. Impedance parameter estimation (Top); Fitness function, standard deviation
computation (Bottom) with MIo , KIo = [5, 5].
. . . . . . . . . . . . . . . . . . 130
4.24. Contact force optimisation with estimated impedance parameters through evolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.1. The Barrett hand grasping an object. . . . . . . . . . . . . . . . . . . . . . . . 135
5.2. Point contact (Left), Point contact with friction (Middle) and Soft contact (Right).136
5.3. Contact model based on Coulomb’s friction. . . . . . . . . . . . . . . . . . . . 137
5.4. Frame transformation between object and velocities in a multi-fingered grasp. . 140
5.5. General control structure for grasping and Manipulation by the Barrett hand. . . 145
5.6. General control structure in the hand coordinates before grasping by the Barrett
hand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
3
5.7. General control structure in the object space after grasping by the Barrett hand. 147
5.8. Control structure in the object space after grasping by the Barrett hand. . . . . . 147
5.9. Tracking results of joint motions qi in the Cartesian space before grasp state. . . 149
5.10. Joint velocities q̇i of a Barrett finger in the Cartesian space before the grasp state.150
5.11. Joint torques τi of the Barrett fingers before grasping. . . . . . . . . . . . . . . 151
5.12. Normal contact forces Fn of Barrett fingers during grasp . . . . . . . . . . . . . 152
5.13. Object motion Xo tracking after grasped by the Barrett hand. . . . . . . . . . . 153
5.14. CTC based Tracking error eo of the object after grasped by the Barrett Hand. . 154
5.15. Joint torques τi of the Barrett fingers after grasping. . . . . . . . . . . . . . . . 155
5.16. Position tracking of the object after grasped by the Barrett hand with natural
controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.17. Object position tracking after grasped by the Barrett hand with the stiffness
controller (case 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.18. Object position tracking after grasped by the Barrett hand with the stiffness
controller (case 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.19. Comparison of object motion based on CTC, Natural and Stiffness control algorithm.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
5.20. General control structure in workspace before grasping by The Barrett Hand. . 164
5.21. Joint position responses of the Barrett fingers before and after grasp. . . . . . . 167
5.22. Linear motion of the object after grasp is made by the Barrett hand. . . . . . . 168
5.23. Linear velocity results of the object after grasp is made by the Barrett hand. . . 169
5.24. Orientation results of the object after grasp is made by the Barrett hand. . . . . 169
5.25. Estimated mass parameters of the integrated dynamics with finger F1 . . . . . . 170
5.26. Estimated mass parameters of the integrated dynamics with finger F3 . . . . . . 170
5.27. Contact force errors after the object grasped by the hand. . . . . . . . . . . . . 171
5.28. Sliding function errors of Barrett fingers. . . . . . . . . . . . . . . . . . . . . . 172
5.29. Angular velocities of the object after grasp. . . . . . . . . . . . . . . . . . . . 172
4
List of Tables
2.1. Static joint positions of the Barrett hand and their motion range. . . . . . . . . 24
2.2. Workspace range of the Barrett hand. . . . . . . . . . . . . . . . . . . . . . . . 29
3.1. Initial joint and workspace positions of the Barrett Hand. . . . . . . . . . . . . 55
3.2. Planar joint errors analysis with SMC and ASMC controllers. . . . . . . . . . . 73
3.3. Tracking error and torque analysis of Barrett finger F3 with HOSM and HOSMA.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.4. Comparison of the implemented controllers applied to the planar and the Barrett finger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1. Impedance and admittance function for spring and spring damper model. . . . . 103
4.2. Impedance and admittance function for spring and spring damper model. . . . . 131
5.1. Fingertip positions of the Barrett hand at initial and contact state. . . . . . . . . 146
5.2. Initial Xo (o) and desired Xdo (t) positions of the Object for grasping. . . . . . . 152
5.3. Range of settling time, tracking error and torque profiles of the joints and the
object (before and after grasp). . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.4. Range of settling time, tracking error and torque profiles of the joints and the
object (before and after grasp). . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.5. Position tracking errors obtained from Figure 5.22. . . . . . . . . . . . . . . . 168
5.6. Orientation tracking errors obtained from Figure 5.24.
. . . . . . . . . . . . . 169
5.7. Result analysis of object motion, contact forces, parameter estimation and sliding errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.8. Comparison of the implemented controllers for grasping and manipulation by
the Barrett hand.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
5
Acknowledgments
I would like to specially thank my first supervisor Dr Mohammad Hasan Shaheed for his valuable guidance, patience, enthusiasm and critical comments. He provided an exciting, stimulating and open research environment at the department, which encouraged me to pursue my
research eagerly. I would also like to thank my second supervisor Dr Henri Huijberts for his
support. A special thanks to Dr Ranjan Vepa for his constructive advise on advanced control
applications and overall guidance. It has been a great honour for me to learn from them. I
must also acknowledge the unconditional love and support of my parents. I cannot express
with words all my gratitude to my parents for being the real reason that I am here now and
doing what I do. They worked hard to provide me with an education that would ensure me a
life that they did not have. Without their support, it would not be possible to start, continue and
accomplish my study abroad.
Md Rakibul Hasan
6
1. Introduction
From the beginning of the ancient age, human hands have made an enormous contribution to
the progress and achievements of human civilization. Current advanced civilisation is the reflection of human thoughts accomplished by human hands. The superiority of the human hand
and its evolution with thought is one of the most important reasons for the success of humans
in comparison to our closely related primates. Human hands possess a level of skill that always
has advantages over the other parts of the bodies for executing daily tasks (picking, manipulating and placing of the objects) efficiently. Hence, the human always looked for alternatives
to replace their hands for faster execution of these tasks by saving time and energy. This approach helped to build automated or controlled mechanisms for performing activities similar
to a human being and led to the development of biomimetic robotics. In general, biomimetic
robotic manipulators are designed based on human limbs. A robotic manipulator with a robot
hand mimicking the human hand is exceedingly effective in all its current and future applications. The manipulator is composed of two parts: the joint based mechanical arm and the end
effector. The mechanical arm plays the role to reach the target object and the end-effector is
responsible for holding the object and manipulate it.
Robotic hands require more skills and dexterity to accomplish tasks. For example, picking
a rough shaped object is carried out in two steps: first, reach the object location by the manipulator arm, and then the hand requires enough flexibility to grasp the object considering
its complex shape. This requirement made the necessity to develop multi-fingered robot hand
with dexterities. If the autonomous multi-fingered hand is able to show the dexterities as human
hand, it would be a remarkable achievement. Another advantage of the multi-fingered hand is
that it can be used for different tasks in harsh, remote place such as space where human access is not only difficult but also sometimes impossible. The importance of the multi-fingered
hand is rising in time to meet the demands of the technical world. A few specific areas where
multi-fingered hands are being used extensively are as follows:
• Prosthetic Hand: This is the most exciting application of a robotic hand which is designed
as a replica of the human hand in terms of number of fingers and thumbs. It is also called
the ‘Bionic Hand’ and may contain multiple movement possibilities of the fingers and
can also be embedded on the human wrist. This bionic hand receives the signal from
the brain to allow motion for different tasks. Various bionic hand research projects are
7
1.1 Multi-fingered hand features
considered as a major research area in the medical field. The Shadow hand is an excellent
example of human-like robot hand that is under on-going research in order to establish
it as a unique bionic hand [1]. There are other prosthetic hands available which are
discussed in the literature [2],[3],[4].
• Industries: The efficiency of machinery can be much higher than a human being in terms
of physical labour intensive tasks and gross capacity. The biomimetic hand is wellsuited for applications to industrial production where the production is proportional to
the labour and hence quite costly. Industries are the most frequent users of biomimetic
robot hands to replace low-average human labour intensive tasks at a lower cost. From
basic picking and placing tasks to different complex tasks such as welding, shaping and
de-burring of multi-shaped objects, robot hands are reliable end-effectors in all types
of manufacturing industries. For example, the multifingered Barrett and the DLR hand
are used in industries for picking and placing of the objects [5],[6]. Robot hands not
only save human energy, but also increases the production in time. Human being cannot
always perform at the same level which affects the production time. Moreover, robot
can be used 24/7 to speed up the production rate and human are required for observation
purpose only.
1.1. Multi-fingered hand features
Classical robotic manipulators are classified broadly into two groups based on the geometry:
serial kinematic chain based linkages and parallel kinematic chain based linkages, commonly
known as serial and parallel manipulators. The combination of links and pairs without a fixed
link is not a mechanism but a kinematic chain. A kinematic chain is also an assemblage of
links and joints, interconnected in a way to provide a controlled output motion in response to
a supplied input motion. Kinematic chains or mechanisms may be either open or closed. A
closed mechanism will have no open attachment points or nodes and may have one or more
degrees of freedom. An open mechanism of more than one link will always have more than
one degree of freedom, thus requiring as many actuators (motors) as it has degrees of freedom. Robotic systems such as two cooperating arms and multi-fingered hands, which consist
of several actively controlled articulated and serial connected linkages, act in parallel in performing a task on an object. Moreover, quite unlike serial manipulators these arms consist
of one or more closed kinematic chains in their structure. Unlike parallel manipulators, not
only is there more than one actuator in a particular chain, the number of actuators generally
exceed the mobility. The number of degrees of freedom of a mechanism is called the mobility
of the device. The mobility is the number of input parameters (usually pair variables) that must
be independently controlled to bring the device into a particular position. Not only do dualities exist between serial and parallel manipulators, the control problems of these dynamically
8
1.2 Grasping and manipulation problem
constrained systems have been extensively studied. On the other hand, in a robotic hand with
multi-fingers which are redundantly actuated closed kinematic chains, while the actuator rates
can be uniquely determined from the specified trajectory, the actuator forces and control inputs
are under-determined.
A robotic hand involves interaction between the actively controlled fingers and a passive body
or object. A first step in their control is to determine the optimum contact conditions between
the outer link in a finger or distal phalanx and the body. The contact force distribution is
determined from the trajectory errors while assuming the actuators to be ideal. Co-ordination
schemes must therefore necessarily avoid any singularities in the configuration when extreme
contact force distributions may be generated and also ensure that the contact force distribution
is optimum. Singularities, when excessive contact forces are generated, are situations when
the mechanism or chain loses a degree of freedom (kinematic singularity) or situations when
the contact forces are underdetermined (geometric singularity). In a robotic hand which is
already been well designed, such singularities are generally avoided. Moreover by considering
a single closed kinematic chain the issue of redundancies can be sidestepped so one can focus
on the primary task to determine the optimum contact conditions and the forces associated with
contact. A key issue in the related control problem associated with multi-fingered hands is the
control of the contact forces. A major difficulty is the fact that the contact forces can only, at
best, be controlled indirectly by controlling the phalanxes as no direct control can be affected
on them. Salisbury and Craig [7] are one of the first groups of researchers to study these issues.
Multi-fingered robotic hands are used extensively in many robotic applications because of their
ability to grasp objects of differing shapes and sizes and to perform manipulation tasks requiring the dexterity of the human hand. Multi-fingered robotic hands are underactuated due to
a number of reasons and yet are compact and relatively easy to control. Controllers for these
hands may be designed using traditional controller synthesis techniques and validated by simulation. Some of the joints of an underactuated multifingered hand are coupled by couplers
such as belt drives (artificial tendons) and gears while the other joints are actuated by servo
motors. The number of servo motors used is generally much lower than the number of degrees
of freedom. In many underactuated robotic hands, decoupling mechanisms are used to alter
the kinematic or dynamic constraint imposed by the coupler just prior to the hand grasping an
object. Decoupling facilitates the hand in completely enveloping an object, adapt to its shape
and then grasp it with the correct magnitude of the contact forces.
1.2. Grasping and manipulation problem
The problem involving coordination control that can be carried out by the multi-fingered robot
hand. The hand is efficient in performing sophisticated cooperative process such as grasping,
manipulation, assembling tasks, may end up with difficult issues when organized approach is
9
1.2 Grasping and manipulation problem
not considered to handle it. The issues are: inaccuracies of the mathematical model of the
hand and the object, imprecise contact model, errors in execution tasks planning. In general,
sophisticated control mechanisms can be implemented on the articulated hand for grasping and
manipulation. To match the complexities of the most versatile human hand, many robot hands
have been designed over the past decades but have proven not to be completely autonomous
in a different scenario. High dimensional complex algorithms are required for these hands as
the number of degrees of freedom (DOF) in the hand increases with design complexity. The
dexterity of a robot hand can be achieved if the high configuration algorithm problem can be
solved. At this point, the best strategy towards these issues may hold the solution with some
main aspects, firstly the complete functional architecture of the hand coordinated system and
secondly, the software/hardware level infrastructure to support functional architecture and finally the efficiency of the design at the software or hardware level. Over the last two decades,
research studies in this area of robotics have been concerned with advanced technical and theoretical development in robotic hand control [8],[9],[10]. This improvement allowed robotics
research to re-investigate the coordinated control tasks with regards to grasping and manipulation. The coordinated control refers to the control of the robotic fingers in a coordinated fashion
[11]. The idea is to apply advanced control algorithm in a coordinated control framework for
grasping and manipulation.
Until the multi-fingered hand was introduced, grasping and manipulation problems remained
restricted to gripping and manipulation. The multi-fingered hand illustrates its ability in performing grasping and manipulation tasks at different levels and changed the definition of the
object grasping and manipulation activities. Object grasping and manipulation by a robotic
hand is regarded as one of the most comprehensive tasks in robotics [12]. The important two
functions in this task are to restrain and manipulate the object. The task of restraining the
object is called ’fixturing’ and manipulating is called "dexterous manipulation". These tasks
are employed in industrial robots and can be extremely difficult for moving objects of small
scale [13]. Traditional industrial manipulators devised an old fashioned end-effector called the
gripper to perform these tasks. The function of the gripper was limited due to a few facts as
follows:
1. A non-dexterous design refers to the fact that the gripper can achieve grasp of an object
but is unable to manipulate it.
2. A lack of flexibility allows only for the grasp of planar and parallel shaped objects.
3. The dependency on the motion of the body manipulator which it is attached to. This
dependency can potentially lead to inaccuracies as it is not practical to move the entire
arm for the desired motion in the gripper space.
4. Independently controlled grippers can be chosen to get rid of these problems. However,
even if the independent gripper improves motion accuracy, it cannot be used to grasp
arbitrary shaped of object due to its non-dexterous design.
10
1.2 Grasping and manipulation problem
The inspiration of investigating multi-fingered robotic hand originates from the need to get
over the limitation of existing gripper in performing grasping and manipulation tasks. To illustrate the grasping and manipulation problem with multi-fingered hand, a scenario is presented.
Consider a robotic hand which is commanded to grasp an object in a familiar environment.
There are some assumptions required prior to that such as known contact locations on the object surface. Contact types are fixed point contact with friction which means that a contact can
transmit both normal and tangential force. In the first stage of the problem (also defined as
pre-grasp state), the robot hand assumes a pose to grasp the object. To achieve the pre-grasp
state, contact points are considered for planning the trajectories from the initial hand position.
A position based control law is applied to calculate the joint torques such that the hand reaches
the desired contact locations considering dynamic uncertainties and disturbances. These dynamics uncertainties and disturbances are listed as: unmodelled internal robot hand mechanics
(tendon/gear mechanics), unknown frictions in the hand joints and the actuators.
The next stage is called the grasp state where the object is grasped based on the contact mechanics. The contact mechanics is developed from the interaction between the robot hand and
the object. The contact force calculated from the contact mechanics is the amount of forces required to grasp an object. This force exerts reaction torque on the joints of the hand. Similarly,
the force exerted on the object generates motion. This interaction of forces between the hand
and the object plays a crucial role in accelerating the object dynamics by the robotic fingers.
The precise contact force calculations allow the robotic hand to produce the correct amount
of torques so that the object can be manipulated accordingly. If the contact force cannot be
controlled to keep it to a minimal value, it may damage the object and also cause harm to the
joint actuators due to the excessive amount of forces. For example, a little amount of contact
force is enough to grasp an orange. Uncontrolled contact force will result in smashing the
orange and producing large amount of torques responsible for motor damage. Therefore, the
force control requires the selection of desired contact forces and implements a force controller
such that the contact force originated from the position error between the hand and the object,
meets the desired forces.
Finally, the problem associated with dynamic control of object manipulation starts with developing a position controller for robot-object combined dynamics such that the object achieves
the planned configuration after grasp. This controller should be able to take the contact force
into account and control the position of the object and the contact force occurred between robot
hand and the object. Generating a robust position control law and deducing a force optimisation algorithm have always been a crucial control requirement when grasping and manipulation
is carried out in an unstructured environment. The complex hand and the object structure make
it difficult to suggest generalised control requirements for grasping and manipulation. On the
other hand, a complicated control algorithm may not be suitable to implement in all types
of hands. Therefore, research is still on-going for a global solution to propose highly robust
11
1.3 Recent developments
control algorithms for robotics hands and objects in performing unstructured grasping and manipulation.
Considering grasping and manipulation requirements and multi-fingered hand features, an advanced multi-fingered robotic hand is selected to conduct research in this area. This muftifingered robotic hand is called the Barrett hand and is designed based on the research first
made by Ulrich [14]. The Barrett hand is one of the most effective robotic hands widely used
in industries and also for multi-fingered hand research. It is made up of three articulated fingers, each with two phalanxes, which can be actively controlled by a single actuator mounted
at the base of each the fingers. The three fingers are connected to the bases by rotary joints
[15]. The bases of two of the fingers rotate around the main palm in a relative rotary spreading
movement which is actuated by a fourth servo motor. When the distal phalanx makes contact
with the object with a specific force, a decoupler uncouples the distal and proximal phalanx by
employing a clutch, so that the proximal phalanx can orient itself to envelope the object.
1.3. Recent developments
Grasping and manipulation of the object are two fundamental problems in the study of multifingered robotic hand. In the last few decades, major advances have been made in acknowledging attributes of multi-fingered hand towards grasping and manipulation. Depending on
different multi-fingered hands, new techniques have been included in the area of grasping and
manipulation studies. Literature reviews on multi-fingered grasping and manipulation can be
categorised into several sections: kinematics, contact model, grasp planning, grasp control and
force optimisation and grasp quality measure.
Robotic fingers move to change an object’s initial to a desired position in dexterous manipulation. The manipulation problems are stated with regards to the desired position, the motion
response and the characterisation of the forces exerted on the object. All these tasks are related to the hand motion that establishes the control framework for computing the joint torque
required to drive the object. The geometric properties required for these are: finger link and
object geometries, finger kinematics and contact locations.
To represent the combined hand-object dynamics, some significant kinematic features have
been presented in the literature. Kinematics of fingers, contact and the grasp map have been
discovered [16],[17],[18],[15],[19],[20]. The grasp map was first determined by Salisbury [16]
transforming the hand fingertip forces to the object space ensuring that the object wrench is
balanced by the exerted force. Point contact in rigid bodies is first explained by Cai et al
[21]. Montana [19, 22, 23] first developed the contact kinematics between robot fingertips and
object to derive fundamental contact differential equations. The formulation allowed for the
development of the relationship between local fingertips and object frame with their geometric
12
1.3 Recent developments
information known through contact velocities. Kerr [17] presented the kinematics of rolling
contact for object manipulation. The study characterised the relationship between joint and
object motion whilst considering the rolling contact between the fingertip and the object. A
robot-object constraint was introduced to derive the kinematic equations by assuming that the
object and fingertip velocities are equal at the contact port. Cole [24, 25] also showed the
formulation of rolling contact developed between two arbitrary shaped surfaces.
Contact modelling is also a fundamental tool in multi-fingered grasping and manipulation. The
kinematic and dynamic model of a robotic hand can be easily derived using the same techniques
applied for a standard manipulator. The same applies for an object which is readily available
from rigid body dynamics theories [15]. The combined dynamic modeling of the robot handobject is not a trivial task as it requires the model of the interaction between them. As stated in
section 1.2 that multi-fingered manipulation is an extended version of coordinated operations
of multiple arms. The only variance is due to the contact nature between the fingertip and the
object surface. Basic cooperating robot arm scenario is presented with a strong contact model
for object grasps [26],[27]. In the dexterous manipulation case, the soft fingertip contact model
is considered which is more complicated to establish. The effective manipulation refers to the
fingertip movement relative to the position held by the object which is related to the contact
mechanics between those. Salisbury [16] first presents the interactional modelling problem. In
that study, the unit basis twist and wrenches were developed for three typical contacts such as:
point contact, point contact with friction and soft finger contact. Point contact only generates
a force normal to the surface. The point contact with friction allows force in the tangential
direction. The tangential force is proportional to the normal force by Coulomb’s friction [15].
A soft finger model also allows moments to resist about the surface normal. Cutkosky [28]
first validated the point contact with frictions and soft finger model for grasping case. For soft
contact, more details on frictions are presented in further studies [29], [30].
Grasp planning and optimisation refers to the study of how an optimum grasp can be achieved
for an object by a multi-fingered hand. Kinematic redundancies of the hand can affect the
grasp planned for the same object. Likewise, a grasp plan changes dramatically for different
shaped objects. There is a wide selection of grasps possible for an object by the robotic hand.
Searching for the best grasp falls into the category of grasp planning study area. This research
area also includes a choice of optimal contact location which helps to achieve the force closure of the grasp [31]. Planning of a grasp and its optimisation for different sets of tasks have
been presented in the literature [10],[19],[32],[33],[31],[34],[35]. Cole [24] presented an algorithm for grasp planning considering rolling constraints for dexterous manipulation. Li et
al. [36] proposed the grasp planning problem in object space considering friction cone and
internal forces. This study also defined the transformation between the finger and the object
motion. This transformation characterises the multi-fingered hand workspace and also provides
the evaluation criteria for hand design. The study by Hong et. al. [37] presented multifinger
13
1.3 Recent developments
grasps for two and three-dimensional objects with small friction. The complete planning and
coordinated control of multiple manipulators with rolling contacts is discussed by Paljung and
Kumar [38]. This research also included optimal contact point determination on both the robot
and the object frame for specified task configuration. The control law is based on the nonlinear
feedback that linearises and decouples the system which also simultaneously controls the system state trajectory. Finger-object coupled kinematics in configuration spaces are determined
by Montana [23]. The study considered the combined system as large closed kinematic chain
combining small chain for finger and contact point. Research on rolling motion of arbitrary objects appeared in Bichhi’s work [39]. This research discussed the planning and the controlled
ability of manipulation through rolling contact. The issues of optimal object grasping by a
robotic hand are expressed in Li and Sastri’s work [31]. This study also evaluated grasp quality
measure properties. Nyugen [32, 33] proposed algorithms for planar optimal grasp and also
discussed how to achieve force closure stable grasp. Montana [22] used differential geometry
to derive the time evolution history of the contact point position on the object surface when no
external force is exerted on it and also measured the contact stability of the two-fingered hand
grasp. Bicchi et al [9] introduced multi-robot dynamics for object manipulation. They studied
grasp in velocity space considering different kinematics.
Control algorithms for multi-fingered coordinated problem with fixed or point contact have
been substantially evaluated in [40],[27],[41],[24],[42],[43],[44],[45],[46]. The flexibility, force
control consistency, control parameter optimisation, singularities and control structure of multifingered hand are introduced by Salisbury and Craig [7] where the control framework is developed and allowed for direct position and force control of an object after grasp for a desired motion configuration. Based on the task model, Li et al [36, 47] established dual concepts of grasp
stability and manipulability and also expressed the structured framework to measure grasp quality. That study formulated a generalised computed torque algorithm in an object’s workspace
for grasping and manipulation of the multi-fingered robot hand with point contact. Cole et al.
[24] focused on the control of arbitrary shaped object manipulation by multi-fingered hand for
rolling contact. Su and Stepanenco [48] discuss adaptive sliding mode based multi-fingered
coordinated control for unstructured multi-fingered manipulation in their studies. Adaptive
mechanisms were used to estimate the mass of the object and robotic hand. From this, the
adaptive control framework was proposed for a manipulation problem considering unknown
dynamics. Adaptive control structures for co-ordinated control are presented in [49],[50]. The
global aspects of dexterous motion planning for 3D objects by multi-fingered robotic hand are
addressed by Cherif and Gupta [51].
Optimisation of grasping forces and grasp stability are another fundamental area in the study
of multi-fingered grasping and manipulation. The stability of a grasp can be determined by
the force closure properties [32]. A grasp is called a force closure grasp when forces of the
hand fingers balance the external forces exerted on the grasped object [15]. The grasp can be
14
1.3 Recent developments
synthesized by locating fingertips associated with the contact model to establish force closure
grasp. Another research issue is to analyse a grasp that is categorised by contact points and a
contact model to assess the force-closure properties [15],[41].
A number of acceptable conditions of force closure are proved by Salisbury and Roth [16].
They showed that, at the contact points, contact wrenches are produced through contact forces
that span the total wrench space positively. This means that the wrench frame origin always
lies in the convex hull of the contact wrenches. Some other force closure conditions for three
fingered hands are classified by Ponse et al. [52]. They computed the grasps in two dimensions
only by following those conditions though the grasp. Nyugen [32] developed an algorithm
to assess the force closure properties of two fingered grasps. Bicchi [53] analysed the force
closure properties by adopting Lyapunov’s direct method. He also provided some conditions
to test the properties along with linear programming computation.
Grasp force optimisation considering the force closure grasp is a major concern in multifingered manipulation. Many algorithms are proposed for computing optimal grasping forces
for the multi-fingered grasping [26],[54],[55],[56],[57],[58]. Kumar and Waldron [58] proposed force distribution with sub optimal algorithms. Yoshiakawa et al [8] formulated a structure to compute internal grasping force to solve three-fingered grasp problem. Nakamura [59]
considered the optimisation problem as a nonlinear programming problem and solved it applying the Lagrange multiplier. The first step in solving these algorithms is to linearise the friction
cone constraints and apply linear programming. Buss et al [55] first indicated that specific
symmetric matrices with positive definite properties are equivalent to the nonlinear coulomb
friction constraints. From this observation, the force optimization problem was formulated with
symmetric positive definite matrices with specified cost functions under Reimannian manifold
[60]. The solutions are found based on the gradient flow projection method. The features of
this algorithm are that it solves the non-linearised friction cone constraints with optimal control method. Han et al [61] applied friction cone constraint as Linear Matrix Inequality (LMI)
problem and developed the grasp as convex optimisation set.
Control procedures for multi-fingered manipulations have been surveyed in [13],[62]. The
foundations required for control implementations are thoroughly detailed in [15] and are classified into some particular control methods. These control methods are: model based control,
hybrid position or force control, stiffness control and impedance control.
Model based control is achieved by following the system dynamics. For multi-fingered grasping, the system refers to the hand and the object considering contact constraints. The advantages of this type of control is that the system’s non-linear characteristics can be fully compensated by selecting computed torque or inverse dynamics based control laws to achieve the
asymptotic tracking of an object’s centre of mass. When the system dynamic model has uncertainties, this control technique is feasible to run the simulation, but not useful in real applications.
15
1.3 Recent developments
To track the object centre of mass while maintaining a fixed type contact between the object
and the finger, an inverse dynamics based control law is developed by Cole [24]. The contact
slippage is ignored by ensuring that the contact force always lies within the friction cone constraints during the execution of the desired tasks. This control law also allows the control of
internal forces in order to satisfy the friction cone constraints which are specified by the null
space of the grasp matrix. This framework is also considered for the rolling contact. With force
feedback, a computed torque control is implemented [63]. The joint torques are computed in
two subspaces: before and after the grasp state. The first set of torques drive the hand joints
to reach the object contact locations by the fingertips before grasp. The second sets of torques
are computed based on the force exerted on the fingertips by the object after grasp. In this
framework, the desired internal forces are computed by optimising the friction cone so that the
object’s desired configuration can be achieved without slipping. Chen and Zribi [64], proposed
a computed torque law considering point contact for both rolling and sliding motion.
The control of both the position and the forces are required to execute the manipulation tasks
such that the slippage of the fingers can be prevented. When decoupling is considered, the position and the force can be controlled concurrently. Nagai et al [65] considered the finger forces
as the addition of two orthogonal components: grasping force (to maintain friction constraint)
and the manipulation force (to induce object motion). A feedback control law is proposed by
this study to decouple and linearise the system with subject to the sets of grasping and manipulation variables. The Proportional-Integral-Derivative (PID) controller is applied to control the
object position and orientation and the Proportional-Integral (PI) controller is considered to satisfy the friction cone constraints for avoiding slippage. Another feedback linearisation method
[66] is developed where system dynamic equation are presented in a workspace in order to
avoid the complicated inverse kinematics problem and to provide a differential equation set
through algebraic constraints. The input-output linearisation method based on the state space
is discussed by Isildori [67]. This investigation is considered to decouple the force and position
space whilst the pole placement method is employed to achieve the desired system behaviour.
In a study by Doulgeri et al [68], another hybrid feedback controller is implemented as a serial
combination of a control law. Each law is designated to regulate the object position and orientation and to realize grasp stability. Remond et al [69] proposes a decentralized hybrid scheme.
Each finger is controlled independently by this approach and in addition, a task planner computes the desired force and position in finger space to track contact force and object motion.
This research work also proposed adaptive solution for uncertain system parameters. Hilhorst
et al [70], developed the control framework in two stages: first, the mass of the object is determined by the nonlinear adaptive method and secondly, the estimated parameters are used to
optimise the object’s velocity and determine the optimal internal forces satisfying the friction
constraints. Taking the sliding contact and unknown system dynamics into account, a coordinated control framework is proposed for multi-fingered manipulation [71]. The convergence of
object motion and contact forces are achieved asymptotically by adaptation and proved in the
16
1.3 Recent developments
sense of Lyapunov [60].
A grasp is defined stable when object motion and contact force error occurring from external
disturbances reduce over time. Contact model specifies the contact forces and object motion
through frame transformation. The contact stiffness determines how hard or soft the grasp will
be. The contact stiffness a grasp refers to the geometric map which transforms the differential
displacement of the hand fingertips to the change of force exerted on the fingertips. Grasp
stiffness properties based on contact geometry, contact conditions and finger mechanical properties have been presented in the literature [72]. In this work, the equation that combines the
object’s motion and grasping forces is linearised to compute the grasp stiffness. The control
law proposed here imposed a desired stiffness to achieve the grasp by adjusting the control gain
of the hand fingers. Stiffness matrix errors are defined and actuator gains are updated consequently. A decentralized stiffness method for multi-fingered grasping is also presented in the
literature [73]. Cartesian based stiffness control is evaluated by Son et al [74] where the controller can regulate the stiffness of the grasped object. In a Cartesian stiffness control structure,
the controller is implemented to measure the compliance error. Reaction forces are computed
to compensate the compliance error. This reaction force is exerted on the object and can be
transformed to the finger and joint forces by the grasp matrix and finger Jacobian respectively.
The finger and joint level stiffness control problem has been solved in [75]. First, the desired
compliance in an operational space is decomposed into a hand fingertip frame. Then, the compliance characteristic expressed in the fingertip frame is decomposed in the hand joint frame to
allow the independent joint control of the hand. This study also mentioned the limitation of the
hand mechanics and the drawback of force and tactile sensors used in the hand. A complete
planning and control framework for dexterous manipulation is presented in the literature [76].
The control module inputs are the commanded object motion and the associated contact force
in this case. Desired compliance is considered at hand finger space, transformed into finger
velocities. These velocities are controlled by the joint level controllers.
The interaction between the robot hand and an object can be directly controlled by the Impedance
control method. In this method, when an object is grasped by the hand, the couple hand object
system is considered as second order mass-spring damper system. The impedance control goal
is to achieve the desired behavior of the hand object system. Schneider et al [77] proposed
an impedance based control system for grasping an object by cooperative manipulators. The
desired impedance is achieved at the object level with this control mode. In Stramigioli’s [78]
study, passivity based impedance control is implemented which is allowed to be used in free
or grasped state. The concept of a virtual object is addressed in this work. The virtual object
is considered to be linked to the hand finger by a spring of variable length and linked to a virtual point on the other side by another spring. The contact point compliance can be regulated
by adjusting the spring parameters. Biagotti et al [79] discussed an impedance based scheme
based on the inner-outer feedback loop. The inner loop maintains the position by rejecting
17
1.4 Motivations, aim and objectives
the disturbances while the outer loop acts as an admittance controller to impose mass spring
damper characteristics to the hand fingers. Another impedance technique has been mentioned
in [80] which combines a grasp force optimisation algorithm also to execute different states of
the object manipulation as well as re-grasping.
In the last decades, significant advances were made in noticing attributes of multifingered manipulation. The complete surveys on grasping and manipulation features became available in
the literature. Shimoga [81] published a wide survey on functionality of grasp. Bichhi and
Kumar [12] reviewed the multi-fingered robotic grasping and contact evolution. Bichhi [13]
established the state of the art of the robotic hand and summarised its progress and pointed out
future aspects of multi-fingered hand in the society. Okamura et al [82] made research analysis
in dexterous multi-fingered manipulation. Walker [83] presented analysis, design and control
of the articulated robot hand.
1.4. Motivations, aim and objectives
This research is inspired by various applications of the robotic hand. These include: the usage
of the ‘Bionic Hand’ as a human hand replacement, the applications in cost-effective industrial
production and applications in remote and harsh landscapes where human access is very limited. The prospective applications of the robotic hand have always been an interesting area to
me. These interests encouraged me to undertake the control challenges of the nonlinear robotic
hand for accomplishing different applications. It would be a great achievement to control the
robotic hands for the applications previously mentioned in order to overcome the limited access
of the human being. The control challenges of the robotic hand are related to grasping and manipulation. This is another interesting area with multiple control design challenges. Different
types of robotics hands, object, contact constraints and model can entirely change the control
objectives of grasping and manipulation. The varying characteristics of the hand, the object and
the model present formidable challenges for controller design, analysis and implementation for
grasping and manipulation.
The aim of the current research is to develop an intelligent control framework for grasping and
manipulation of an object by a multi-fingered robotic hand in order to adapt to those varying
characteristics and accomplish the manipulation. The objectives of the research works are
illustrated in a few steps, as follows:
• Development of a mathematical model of a robotic hand, an object and the contact model
between the hand and the object.
• Specification of the control problem of the grasping and manipulation tasks by the given
hand. The control specification will describe the types of control input and the output
solutions of the robot-object system.
18
1.5 Contributions
• Development of an intelligent control framework considering the varying nature of the
robotic hand and the objects, contact constraints and system uncertainties. The intelligent
controller refers to the control features which will allow the articulated hand to grasp and
manipulate the object with more accuracy and less hand and object information.
• Analysis and performance comparison of the developed controllers with the existing one.
1.5. Contributions
In this research, the multi-fingered Barrett hand is considered to solve grasping and manipulation tasks. The hand is modelled based on the Lagrangian method [15]. Joint and Cartesian
space control solutions are first obtained through classical algorithms and secondly higher order
sliding mode control algorithm is applied. To achieve robustness against uncertainties, higher
order sliding based adaptive impedance controller is developed for grasping and manipulation
of an object by the multi-fingered Barrett hand. The main contributions are as follows:
• A Lagrangian based mathematical model of the multi-fingered Barrett hand is developed.
To develop the model, firstly the forward and inverse kinematics of the hand are determined. The workspace of the Barrett hand is computed from the inverse kinematics. The
kinematics provided by the manufacturers has mathematical faults that are corrected in
the model. The SimMechanics based Barrett hand is developed using the CAD design
of the real hand [84]. The SimMechanics model allows the complete animation based
framework for grasping and manipulation.
• An object mathematical model is developed using the Newton-Euler modelling method.
The interaction between the Barrett fingertip and object is modelled considering point
contacts with friction by following Coulomb’s model [15]. This provides the ability to
analyse the compliance behaviour of the complete control system. Then, the interactional
model is transformed to the hand and the object space by calculating the Jacobian. The
contact model is established between the Barrett hand and the object and the contact
force is measured. The physical platform of the control environment is also developed
through SimMechanics.
• A Computed torque control (CTC) based controller is implemented for the position control of the Barrett hand. Both the joint and the workspace based controllers are implemented to see the motion performances of the joint and the fingertip. The simulations are
generated for SimMechanics based Barrett Hand and the mathematical model. The hand
model has been validated from the tracking results. System errors originating from physical and mathematical model are compared and the controller performance is analysed
based on the errors.
19
1.6 Outline of the thesis
• Classical controllers are unable to deal with the structured and unstructured uncertainties
of the system. Three adaptive higher order sliding mode controllers are proposed for
their robust nature against uncertainties. The controller implemented for position control
of the Barrett finger under noise and noise free cases. These controllers improved the
chattering performance occurs in the classical sliding mode controller. The controller
performances are found better compared to the computed torque method.
• A position and force based impedance controllers are implemented for a planar and a
Barrett finger. The advantages and disadvantages of both control methods are discussed
from the simulated results. An adaptive based impedance method is proposed and implemented to track the contact forces with unknown object properties. These properties
are estimated using an adaptive mechanism to generate online based input trajectories to
achieve the desired contact force. The adaptation based impedance controller enhanced
the performance of the contact force by an online estimation mechanism. The controller
stabilities are proved using Lyapunov’s direct method.
• A computed torque and two stiffness based controllers are implemented for grasping and
manipulation of an object by the Barrett hand. Computed torque controller is developed
to accomplish grasp and manipulate an object in the object space. Two natural and a
Stiffness controllers are developed as the extension of natural control law to achieve less
tracking errors. Stiffness based controllers showed better performance compared to the
others.
• To solve the grasping and manipulation under uncertain dynamics and unknown object
properties, an adaptive higher order sliding mode controller is proposed and implemented
to track the desired motion of the object and the desired contact force to grasp it. In this
case, an arbitrary desired force is chosen to meet the actual grasping force. Results found
from the simulations are compared with stiffness based control laws and the feasibility
of the proposed controllers are discussed.
1.6. Outline of the thesis
The chapter which has just been presented provides an introduction to the thesis. It covers the
background to the main problem addressed in thesis, the recent developments in relation to the
control of grasping and manipulation by robotic hands, the challenges and motivations behind
the thesis, the significant and main contributions of the thesis, a brief outline of the entire thesis
and a list of specific publications arising from the research.
Chapter 2 concerns the dynamics and modelling of the Barrett hand as well the characterisation
of the object as a free body, its kinematic description and the dynamics of unrestrained motion.
The chapter includes a discussion of the forward and inverse kinematics of the Barrett hand,
20
1.7 Publications
the finger dynamics where each finger is modelled as a two-link manipulator and the dynamics
of the three-finger and palm assembly. The chapter is concluded with a section on how the
hand may be modelled within the environment of SimMechanics, a modelling tool provided by
Matlab & Simulink.
Chapter 3 defines the basic control problem related to the hand. This includes the position
control of the palm-finger assembly which constitutes the hand, until the fingers make contact
with the object, followed by the control of the grasp. Basic ideas behind Lyapunov stability
and control, input-output stability and computed torque control are presented.
Chapter 4 introduces the concept of sliding mode control and the application of sliding mode
control to the control of the posture of the fingers. Also considered are the adaptive implementations of sliding mode control when the dynamic properties of the fingers are not known
precisely as well as the application of higher order sliding mode control theories.
Chapter 5 concerns the basic ideas of grasping and manipulation, such as the development of
contact forces, the analysis of the mechanics of contact and the indirect control of the forces of
contact.
The focus of chapter 6 is the theories of grasping and manipulation, and the application and
implementation of classical techniques to the control of grasping. The need for planning the
grasp, the properties of the grasp, the concept of the grasp map and the importance of forceclosure are introduced in the chapter. Also presented in the chapter is the combine dynamics
of the hand and the unconstrained object it is grasping.
Chapter 7 concerns the application of the sliding mode and adaptive sliding mode control to
the grasp control problem. In particular the application of the sliding mode controller synthesis
techniques with respect to the control and manipulation of an object following a grasp are
presented in detail.
The thesis concludes with a discussion of the primary results followed by the enunciation of
the author’s thoughts on the future directions of the contributions of the research, in chapter 8.
1.7. Publications
Publications made from this research are outlined below.
1. Md Rakibul Hasan, R Vepa, M H Shaheed and H Huijberts, “Modelling and Control of
the Barrett Hand for Grasping,” Computer Modelling and Simulation (UKSim), UKSim
15th International Con f erence on, 2013.
2. Md Rakibul Hasan, A Rahideh and M H Shaheed, “Modeling and interactional control of the multifingered hand,” Automation and Computing (ICAC), 19th International
Con f erence on, 2013.
21
1.7 Publications
3. Md Rakibul Hasan, R Vepa, H Huijberts and M H Shaheed, “Modeling and Adaptive
Higher-Order Sliding-Mode Control of the Multi-fingered Barrett Hand,” Submitted to
the Journal o f Franklin Institute.
4. Md Rakibul Hasan, R Vepa and M H Shaheed, “Impedance-based Higher Order Sliding Mode Control for Grasping and Manipulation,” accepted and due to be published
in the proceedings o f T he Sixth International Con f erence on Advances in System
Simulation, SIMUL 2014.
22
2. Modelling of the Barrett hand and the
hand-object system
2.1. Introduction
Multi-fingered robotic hands introduce enormous potential in robot industries as efficient tools
to be used by different manipulators for various tasks [12]. Robot arms or manipulators perform
tasks such picking and placing, cutting, grasping and manipulating with the help of an endeffector. An ineffective end-effector limits the productivity of the whole robotic arm. Most
grippers have fewer degrees of freedom, are customised for individual tasks and have only
a fixed direction of motion. In general, gripper customisation is required for every variation
in shape, orientation and pose of the end-effector frame with respect to the task space frame.
These limitations reduce the productivity in industrial environment. The integration of the
multi-fingered robotic hand as an end-effector is a great alternative to conventional grippers.
The robotic hand provides a new approach to tasks such as assembling machinery, handling
materials, sampling collection in remote places and spaces.
A multi-fingered hand is dexterous compared to handling and assembling done by grippers
and always has fewer chances of slipping which causes damage to an object. Most of the
multi-fingered hands available in industries are configurable and programmable for all types
of workspace activities. The programmable capabilities of these hands provide more scopes
to improve the control abilities for more complex grasping and manipulation tasks. In this
chapter, a multi-fingered hand "The Barrett hand" is considered for modelling as prerequisite
of implementing the advanced controllers. These controllers are easily programmable to assess
the performance of the hand in different manipulation environment.
2.2. The Barrett hand description
The BH8-series Barrett hand T M is a multi-fingered grasper with great flexibility to grasp objects of different shapes and sizes [5]. The hand can be used with most of the manipulators
available in the industry. It is a completely self-contained system with low weight. The hand
23
2.2 The Barrett hand description
consists of three fingers F1 , F2 , F3 and a palm (Figure 2.1). Each finger has two revolute joints
and consists of three links l1 = 0.07 m, l2 = 0.05 m, l3 = 0.05 m. The masses of the links are:
m1 = 0.162 kg, m2 = 0.0579 kg, m3 = 0.0342 kg. The first revolute joints of all fingers are called
finger based joints and the second joints are called fingertip joints. The fingers F1 and F2 can
rotate around the palm in the x direction which gives similar dexterity to the human thumbs, but
F3 is secured to the palm base. The spread movement of the fingers F1 and F2 give extra degrees
of freedom (DOF) for the hand operation. The hand is controlled by four DC brush-less Servo
Motors. The two joints of each finger are driven by a single motor placed on the base while
the spread movement of the fingers F1 and F2 is achieved by a fourth motor. The initial angular
positions and motion ranges of the joints are given in Table 2.1.
Table 2.1.: Static joint positions of the Barrett hand and their motion range.
Joint type
Fingerbase joint
Fingertip joint
Spread joint
Initial angular position qoi
2.46◦
40◦
0.0001◦
Motion Range qim
140◦
45◦
180◦
The initial three dimensional (3D) posture of the Barrett hand computer aided design (CAD)
model is presented in Figure 2.1. In this diagram, the dimensions of the finger links li , initial
angles qoi and joint motion variables qi are given as notation. The base frame Cb is attached as
a reference frame of the hand finger kinematics. The palm frame is defined as Cp and the base
coordinate of all fingers are expressed as C f bi . The spread angle is shown as αi .
Figure 2.1.: The Barrett hand CAD model in its initial position.
24
2.3 Hand Kinematics
Figure 2.2.: Side view of The Barrett hand CAD model.
2.3. Hand Kinematics
Robot manipulator kinematics describe the relationship between the joints of the links and
the resulting motion of the robot bodies. The robotic hand is a composed form of the fingers
placed on the base. Each finger is imagined as a single rigid open chain manipulator without
any constraint. Each finger may have one or multiple joints for producing motions. Joint
mechanisms have several forms such as revolute, prismatic and helical. Forward and inverse
kinematics are calculated depending on the types of joint mechanisms available in the hand
finger.
2.3.1. Forward Kinematics
Forward kinematics expresses the relationship between the Cartesian space of the robot body
relative to the joint position. Given a joint angle for each link, this derives the Cartesian position
of the link end. The Barrett hand forward kinematics are determined according to Figure 2.1.
This relation for the hand can be mathematically stated as,
X = f (Q),
(2.1)
where X ∈ R3 is the workspace position and Q ∈ [qoi , qimax ] are given as joint configuration. All
joints are revolute and angles are measured using the right-handed coordinate system. Figure
2.3 gives the forward kinematics structure of the Barrett hand.
25
2.3 Hand Kinematics
Figure 2.3.: The Barrett hand forward kinematics.
For fingers F1 and F2 , the joint rotations are counter clockwise and the rotation is clockwise
for finger F3 . Let (x, y, z)F,i be the Cartesian fingertip position of the fingers and qi is the joint
variable of the fingers. The term qi (i = 1, 2) can be chosen as desired angle to calculate the
fingertip coordinates for any finger independently. The forward kinematics of the fingers F1
and F2 are expressed in (2.2) and (2.3) as,
x f 1 = (l2 cos(q2 + qo2 ) + l3 cos(q2 + q3 + qo2 + qo3 )) sin(α1 )
y f 1 = h + l2 sin(q2 + qo2 ) + l3 sin(q2 + q3 + qo2 + qo3 )
,
(2.2)
,
(2.3)
z f 1 = l 1 + (l2 cos(q2 + qo2 ) + l 2 cos(q2 + q3 + qo2 + qo3 )) cos(α1 )
x f 2 = (l2 cos(q2 + qo2 ) + l3 cos(q2 + q3 + qo2 + qo3 )) sin(α2 )
y f 2 = h + l2 sin(q2 + qo2 ) + l3 sin(q2 + q3 + qo2 + qo3 )
z f 2 = l1 + (l2 cos(q2 + qo2 ) + l 2 cos(q2 + q3 + qo2 + qo3 )) cos(α2 )
and the forward kinematics of the finger F3 are below,
y f = h + l2 sin(q2 + qo2 ) + l2 sin(q2 + q3 + qo2 + qo3 )
z f = l1 + l2 cos(q2 + qo2 ) + l2 cos(q2 + q2 + qo2 + qo3 )
.
(2.4)
In equation (2.4), due to the absence of the spread angle αi , the joint rotation exists only on
z − y axis. All fingers of the hand is used to reach any desired location in the workspace using
the forward kinematics.
2.3.2. Inverse Kinematics
Inverse kinematic problems refers to achieving the joint angle configurations for a given Cartesian location in the workspace. For a given fingertip position and orientation, the problem is to
26
2.3 Hand Kinematics
find the joint variables of each robot link. Solving for the joint variables is not simple because
it may have multiple solutions. Firstly, consider a finger of the Barrett Hand in the planar case
to illustrate the inverse kinematic problem. The inverse problem is to solve the equations (2.2)
and (2.3) for q1 , q2 and q3 in order to achieve the desired fingertip position (x f , y f , z f ). The
problem can be solved using the polar coordinate definition of (r, φ ) [85]. For a desired position (x f , y f , z f ) and the initial base position (xo , yo , zo ) of the Barrett finger Fi , the joint angles
of the fingers are calculated using the trigonometric relationship. The spread angles for the
fingers F 1 and F2 are,
qsp,i = j
−1
tan
(x f − xo )
zf
,
(2.5)
where (i = 1, 2) and j = {−1, 1, 0} for the fingers [F1 , F2 , F3 ]. The joint angles of finger F3 are
obtained from trigonometry as,
q1,F3
q2,F3 = tan−1 qp − qo2
.
= tan−1 qp − tan−1 nn12 − qo1
(2.6)
The joint angles of finger Fi (i = 1, 2) is calculated as,
q1,Fi
q2,Fi = tan−1 qp − qo2
,
= π − tan−1 qp − tan−1 nn12 − qo1
(2.7)
where the terms cos q3 = (p2 + q2 − l2 − l3 )/(2l1 l2 ); p = (z f − zo ); q = (y f − yo ); n1 = l2 +
l3 sin(q3 ); n2 = l3 (sin q3 ). When the configurations of the joints are outside the range of the
Barrett hand, the solutions are not found. Therefore, it is important to know the location of
the hand in the workspace depending on the joint range qmax . The workspace is required for
planning and executing a manipulation task by the hand. The set of workspace ranges of the
Barrett hand can be defined as,
R(X,Y,Z) = {r(q) : q ∈ Q} ⊂ R3 ,
(2.8)
where r(q) : Q → R3 is position component achieved from the forward kinematics and Q is the
complete set of joint configurations.
27
2.3 Hand Kinematics
0.15
X (m)
0.1
0.15
0.05
0.1
0.05
0
0
0.18
0.16
0.14
0.12
0.1
Y (m)
−0.05
Z (m)
−0.1
−0.15
Figure 2.4.: The workspace range of finger F1 for joint angle qi and α1 calculation.
0.16
0.15
Y (m)
0.14
0.13
0.12
0.11
0.1
0.09
0.06
0.08
0.1
Z (m)
0.12
0.14
0.16
Figure 2.5.: The workspace range of finger F3 for joint angle qi calculation.
In Figure 2.4, the workspace range of F1 is shown in three dimensions and the range of F1 and
F2 are mirror symmetric. For finger F3 , the workspace range is limited to two dimensions only
due to the absence of spread angle αi (See Figure 2.6). The workspace coordinate range for
each finger is summarised in Table 2.2.
28
2.4 Barrett hand dynamics
Table 2.2.: Workspace range of the Barrett hand.
Finger Name
F1
F2
F3
RX (m)
[−0.02, 0.18]
[0.02, −0.18]
0
RY (m)
[0.1, 0.18]
[0.1, 0.18]
[0.1, 0.18]
RZ (m)
[−0.15, 0.15]
[−0.15, 0.15]
[0.05, 0.15]
2.4. Barrett hand dynamics
The forward and inverse kinematic models of the hand described in the section 2.3 shows the
relation between the joint and the workspace of the robot. In this section, the robotic hand
dynamics will be discussed. The robotic hand dynamics are a set of finger dynamics which
exhibit the motion responses of the hand followed by the commanded input. The dynamics
for each finger is seen as an open chain manipulator and is driven by the actuator available at
the joint links of the finger. Actuators are generally driven through the motor torques. The
actuator torques can be considered directly as control input to the robot dynamics. The torques
are computed by the controller to achieve the desired position of the joints.
2.4.1. Finger dynamics
The finger dynamics is a set of second order ordinary differential equations containing nonlinearities. These equations are formed based on the kinematic and inertial properties of each
finger. There are many methods available to determine the equations of motions of a mechanical system. For dynamic analysis of a robot system, the Lagrangian based method is suited
for computation and is therefore used in this chapter to derive the finger dynamics [15]. Using
this technique, the potential and kinetic energies of the system are calculated from the forward
kinematics. The Lagrangian approach is applied to derive the equations of motions for all three
fingers of the Barrett hand. The only difference is the existence of spread angle αi for fingers
F1 and F2 . Hence, the dynamics of finger F1 and F2 are identical and the finger dynamics of
F3 is restricted to two dimension only. The kinetic energy of each links of finger F1 and F3 is
derived to form the hand dynamics. Consider the finger F1 first to express the kinematics for
each links. The corresponding velocities of F1 are found for second joint link l2 from (2.2) by
differentiating with respect to time as follows,
ẋ1 = l2 α̇ cα 1 c2 − l2 q̇2 sα 1 s2
ẏ1 = l2 q̇2 c2
,
(2.9)
ż1 = −l2 α̇1 c2 sα − l2 q̇2 cα 1 s2
29
2.4 Barrett hand dynamics
and the F1 fingertip velocities are shown below,
ẋ2 = α̇1 (l2 cα 1 c2 + l3 cα 1 c23 ) − l2 q̇2 sα 1 s2 − l3 q̇3 sα 1 s23
ẏ2 = l2 q̇2 c2 + l3 q̇3 c23
,
(2.10)
ż2 = −α̇1 (l2 c2 sα 1 + l3 c23 sα 1 ) − l2 q̇2 cα 1 s2 − l3 q̇3 cα 1 s23
where si/α = sin qi/α , si j = sin (qi + q j ) , si− j = sin (qi − q j ) and ci/α = cos qi/α , ci j =
cos (qi + q j ) , ci− j = cos (qi − q j ) .
2.4.2. Energy calculation for Lagrangian
From (2.10), the kinetic energy T of finger F1 can be calculated from the following expressions,
TF1 (q, q̇, α , α̇1 ) = 0.5m2 ẋ12 + ẏ21 + ż21 + 0.5m3 ẋ22 + ẏ22 + ż22 ,
(2.11)
and the potential energy V is calculated by the terms below,
VF1 (q, α ) = m2 gy1 + m2 gy2 .
(2.12)
The difference between the kinetic (T ) and the potential (V ) energy of the system is called the
Lagrangian L and is shown below,
LF1 (q, q̇, α , α̇1 ) = T (q, q̇, α , α̇1 ) −V (q, α )
(2.13)
= 0.5m2 ẋ12 + ẏ21 + ż21 + 0.5m3 ẋ22 + ẏ22 + ż22 − m2 gy1 − m3 gy2 .
Lagrange’s equations for deriving the equation of motions of the hand finger with generalised
coordinates (q, α ) ∈ Rn and the Lagrangian L are given as,
d
dt
δL
δL
−
= τi
δ (q̇i , α̇i )
δ (qi , αi )
i = 1, 2, ....., n,
(2.14)
where τi is the external forces acting on the system coordinate.
2.4.3. Dynamics of the fingers F1 and F2
Inserting (2.9) into (2.14) yields three equations of motions for finger F1 which can be expressed in matrix form as follows,
Mi j q̈ +Ci (q, q̇) + Gi (q) = τ f ,
(2.15)
where M(q, α ) is the n × n symmetric, positive definite inertia matrix of the finger, C(q, q̇)
is the n × 1 vector of centrifugal and Coriolis terms, G(q) is the n × 1 gravity torque vector
30
2.4 Barrett hand dynamics
(i, j = 1, 2, ...., n; n is the number of degrees of freedom). The inertia matrix and gravity torque
are related to each finger’s joint positions. The centrifugal and Coriolis terms are related to the
joint positions and the velocities. Equation (2.15) can be explicitly showed as,
M11 M12 M13
q¨2
C1 (q̇2 , q̇3 , α̇1 )
G1 (q)
τ1
M21 M22 M23 q¨2 + C2 (q̇2 , q̇3 , α̇1 ) + G2 (q) = τ2 .
α̈1
τ3
G3 (q)
M31 M32 M33
C3 (q̇2 , q̇3 , α̇1 )
(2.16)
The elements of the inertia matrix MF1 are given below,
M11 = m2 l 22 + m3 l 23 + m3 l 2 l3 cos(q2 − q3 ),
M12 = m3 l2 l3 cos(q2 − q3 ),
M21 = m3 l2 l3 cos(q2 − q3 ) + m3 l 23 ,
M22 = m3 l32 ,
M13 = M23 = M31 = M32 = 0,
M33 = m2 l22 c22 + m3 l22 c22 + m2 l32 c23 + 2l2 l3 m3 c2 c3 ,
and the vectors of Coriolis and centrifugal terms CF1 are as follows,
C1 (q̇2 , q̇3 , α̇1 ) = m3 l2 l3 s2−3 (q̇2 + q̇3 + α̇12 ) + (m2 + m3 )l22 sin(2q2 ) + m3 l2 l3 s23 ,
C2 (q̇2 , q̇3 , α̇1 ) = 0.5α̇12 m3 l2 l3 s23 − m3 l2 l3 s2−3 − m3 l2 l3 s2−3 + m3 l32 sin(2q3 )
−m3 l2 l3 q̇22 s2−3 ,
C3 (q̇2 , q̇3 , α̇1 ) = −l2 q3 α̇1 (m3 l2 sin(2q2 ) + m3 l2 sin(2q2 ) + 2m3 l3 c3 s2 ))
− m3 l32 sin(2q3 ) + 2m3 l2 l3 c2 s3 (q̇2 + q̇3 )α̇1 ,
and the gravitational terms GF1 are given as,
G(q1 ) = g (m2 l2 c23 + m3 l2 c23 ) ,
G(q2 ) = g (m2 l3 c2 ) ,
G(q3 ) = 0.
2.4.4. Dynamics of the finger F3
Similarly, the velocities of the corresponding second link l2 of the finger F3 on the z − y plane
are calculated below,
ẏ1 = l2 q̇2 c2
ż1 = −l2 q̇2 s2
,
(2.17)
and the F3 fingertip link l3 velocities are given as,
ẏ2 = 2l2 q̇2 c2 + l3 q̇3 c23
ż2 = −2l2 q̇2 s2 − l3 q̇3 s23
.
(2.18)
31
2.4 Barrett hand dynamics
The kinetic (T ) and potential (V ) energy for the finger F3 is calculated similarly as follows,
TF3 (q, q̇, α , α̇1 ) = 0.5m2 ż21 + ẏ21 + 0.5m3 ż22 + ẏ22
(2.19)
VF3 (q, α ) = g (m2 y1 + m3 y2 ) .
(2.20)
From (2.19) and (2.20), the Lagrangian is defined as,
LF3 = 0.5m2 ż21 + ẏ21 + 0.5m3 ż22 + ẏ22 − m2 gy1 − m2 gy2 .
(2.21)
Inserting (2.19) into Lagrangian equation (2.14) provides motion equation for finger F3 . The
dynamics form is similar to (2.16) and is expressed in matrix form as shown below,
"
M11 M12
M21 M22
#"
q̈2
q̈3
#
+
"
C1 (q̇2 , q̇3 )
C2 (q̇2 , q̇3 )
#
+
"
G1 (q)
G2 (q)
#
=
"
τ1
τ2
#
,
(2.22)
where
M11 = (m2 + m3 )l2 l2 + m3 l3 l3 + 2m3 l2 l3 c23 + m3 l3 l3 + m3 l2 l3 c23
M12 = m3 l3 l3 + m3 l2 l3 c23
M21 = m3 l32 + m3 l2 l3 c23 + m3 l32
M22 = m3 l32
C1 (q̇2 , q̇3 ) = −m3 l2 l3 s23 q̇22 − (q̇2 + q̇3 )2
C2 (q̇2 , q̇3 ) = m3 l2 l3 s23 q̇22
G1 (q) = g ((m2 + m3 )l2 c2 + m3 l3 c23 )
G2 (q) = g (m3 l3 c23 )
2.4.5. Dynamics of the complete hand
From (2.16) and (2.22), the complete Barrett Hand dynamics can be represented as,
M fi QFi +C fi (q̇i , α̇i ) + G fi = τ fi ,
(2.23)
and the matrix form can be shown as,
M f1
···
···
···
M f2
···
···
Q̈ f1
C f1 (q, q̇, α , α̇ )
G f1
τ f1
· · · Q̈ f2 + C f 2 (q, q̇, α , α̇ ) + G f2 = τ f2 ,
τ f3
Q̈ f3
M f3
C f3 (q, q̇)
G f3
(2.24)
32
2.4 Barrett hand dynamics
where the hand inertia matrix M f ∈ R8×9 , hand Coriolis and centrifugal vector terms C f ∈ R8×1
and hand gravitational vectors G f ∈ R8×1 are used to represent the hand dynamics. The input
to the hand is the joint torque vector τ f ∈ R8×1 and the term Q f ∈ (q, α ) is the vector set of
joint configurations. To solve for Q̈Fi , (2.23) can be represented as,
Q̈ f1
M f1
Q̈ f2 = · · ·
Q̈ f3
···
···
M f2
···
···
−1
···
M f3
τ f1
C f1 (q, q̇, α , α̇ )
G f1
τ f2 − C f 2 (q, q̇, α , α̇ ) + G f2 . (2.25)
τ f3
C f3 (q, q̇)
G f3
Equation (2.25) contains a total of eight equations of motion which is solved to reach the
desired joint configurations of the hand fingers; this is referred to as joint space dynamics.
2.4.6. Structural properties of hand dynamics
Several dynamic properties can be constructed from the above dynamics as presented in (2.23)
which are essential for developing controller. The properties are given below,
1. The matrix M f (q, α ) is symmetric and positive definite. It is uniformly bounded and
satisfies,
w1 In ≤ M f (q, α ) ≤ w2 In
∀q, α ∈ Rn×n ,
(2.26)
where w1 and w2 are positive constant and In ∈ Rn×n is the identity matrix. The matrix
M f exists and is positive definite too.
2. For a given finger dynamics, the matrix C f (q, q̇, α , α̇ ) is not always unique but C f (q, q̇, α , α̇ )Q̇ f
is always unique. The term C f (q, α , 0) = 0 for all vectors (q, α ) ∈ Rn . The term Ṁ f − 2C f ∈
Rn×n is related to the inertia matrix M f and satisfies,
xT Ṁ f − 2C f x = 0
∀q, q̇, α , α̇ , x ∈ Rn ,
(2.27)
and as a matter of fact that, Ṁ f − 2C f is skew symmetric matrix.
3. The dynamic equation of (2.23) can be linearly parametrized as,
Y f (qd , q̇d , q̈d ) = M f (qd )q̈d +C f (q̇d , qd )q̇d + G f (qd ),
(2.28)
where q ∈ R p contains system parameters that are unknown. The desired regression
matrix is expressed as Y f (qd , q̇d , q̈d ) ∈ Rn×p which contains known bounded functions
of the desired link position qd (t), velocity q̇d (t), and the acceleration q̈d trajectory. It is
assumed that all trajectories are bounded functions of time.
33
2.4 Barrett hand dynamics
2.4.7. Ratio dynamics and torque switch
It is noted from the Barrett fingers that only one servo motor is used to control two revolute
joints of each finger Fi [12]. The motor drives the first joint and the second joint is driven
by the first one internal pulley mechanism. The inner joint q2 first moves by the given torque
τ . The outer joint q3 is coupled to the previous joint and moves one third of the q2 . Then, the
torque τ is transferred to the second joint by the torqueswitch mechanism. This is a conditional
mechanism activated by the reaction torque exerted by the object when the contacts are made
by the Barrett fingers. The mechanism is explained in a flow chart given in Figure 2.7.
Figure 2.6.: The motion based conditional mechanism of torqueswitch.
To derive the dynamics behind the coupling mechanism with one third ratios, recall the dynam-
34
2.5 Workspace dynamics
ics of finger F3 from (2.22) in linear form as,
M11 q̈2 + M12 q̈3 +C1 (q, q̇) + G1 (q) = τ1
M21 q̈2 + M22 q̈3 +C2 (q̇, q̇) + G2 (q) = τ2
,
(2.29)
when the inner joint of the finger is generated by the motor torque, it is governed by the first
equation of (2.29). At that time, the outer joint behaves q2 as follows,
q2 = σ q1
q̇2 = σ q̇1 ,
(2.30)
q̈2 = σ q̈1
where, m is the one third ratio angular scale followed by the outer joint. Substitutin (2.30) into
(2.29) yields,
(M21 + σ M22 ) q̈2 +C2 (σ q, σ q̇) + G2 (q) = τ2 .
(2.31)
The term (M21 + σ M22 ) in the above equation reflects the scaled movement of outer joint q3
by following the initial conditions given in (2.30). Therefore, τ2 is designed based on the
dynamics of (2.31). When the inner joint links of fingers make contact with the object, the
torqueswitch is activated (See Figure 2.7). The activation is related to the reaction torque τd .
At that instant, the only joint torque τ is transferred to the outer joint q3 . In that case, the inner
joint becomes locked by the internal mechanism which indicates q̈1 = 0 and u1 = 0 and the
outer joint is governed by equation (2.31).
2.5. Workspace dynamics
When a desired configuration of the robotic hand is given in the workspace as a function of
time, inverse kinematics is used to calculate the joint angles. The inverse kinematics calculation process is time consuming and require powerful computers for computing the desired
angle qd at a suitable rate. The feedback gain selections in the joint space are not trivial as the
desired task is presented in Cartesian coordinates. It is therefore desirable to formulate the dynamics of the hand directly in the workspace coordinates. This eliminates the problem of slow
inverse kinematics calculation and the control gains can be directly selected in the workspace
coordinates. The general finger dynamics from (2.23) is as follows,
M f q̈ f +C f (q, α , q̇, α̇ ) + G f = τ f .
(2.32)
35
2.6 Physical model of the Barrett hand
Jacobian mapping J is used to express the above dynamics in Cartesian coordinates. The
Jacobian is related to the joint and the Cartesian coordinates by the following,
Ẋ f = J f (q)q̇
J f (q) =
δf
,
δq
(2.33)
where the term X f ∈ R3×1 represents the Cartesian coordinates of the fingertip. From (2.33), q̇
and q̈ are found as,
q̇ = J −1
f Ẋ f + f
q̈ = J −1
f Ẍ +
d −1
(J )Ẋ.
dt f
(2.34)
Substitute q̇ and q̈ from (2.34) into equation (2.32) and by pre-multiplying J −T yields,
d −1
−1
−T
−1
−T
−T
J −T
M
J
Ẍ
+
J
C(q,
q̇)J
+
J
M
(q)
Ẋ f + J −T
(J
)
f f
f
f
f
f
f
f
f G(q) = J f τ ,
dt f
(2.35)
where
−T
−1
Mx = J M f J
−1
−1
d
C(q,
q̇)J
+
M
(q)
Cx = J −T
(J
)
f
f
f
dt f
Gx = J −T
f Gf
(2.36)
F = J −T τ
From (2.35) and (2.36), the workspace dynamics can be expressed as,
Mx (q)Ẍ f +Cx (q, q̇)Ẋ f + Gx (q) = Fx .
(2.37)
It is seen from the workspace dynamics that, both Mx and Cx are dependent on the joint variables q and q̇. The matrices Mx ,Cx and Gx are called the effective parameters of the workspace
dynamics. During simulation or in a real environment, the fingertip vector X f is calculated by
the forward kinematics because joint motion q can be measured directly. The structural properties of the workspace dynamics are similar to the one described in section 2.4.6. Therefore,
(2.37) satisfies the properties like below,
1. Mx (q) is symmetric and positive definite.
2. Ṁx − 2Cx ∈ Rn×n is skew-symmetric matrix.
Since Jacobian J is invertible, Mx (q) is symmetric and positive definite. A calculation of the
term (Ṁx − 2Cx ) can be used to show that this is skew-symmetric [86].
2.6. Physical model of the Barrett hand
For the optimization of any system in terms of control or design, physical system and the software need to be developed together. Physical modelling provides the opportunity to combine
system level physical domain and control system in a single environment. The physical model
36
2.6 Physical model of the Barrett hand
can be reused with physical ports and contains readily available mechanical components. The
physical system responses can be extended to 3D visualisation during simulation.
2.6.1. SimMechanics for physical modelling
SimMechanics is a physical modelling software of the MATLAB & Simulink platform which
can be used for mechanical simulation. This software enables users to develop and simulate
rigid multibody mechanical systems by following the basic principles of mechanics: usage of
standard Newtonian dynamics of forces and torques. Unlike the simulink blocks which represent the mathematical calculations, SimMechanics provide mechanical blocks (joints, actuators, sensors, springs, dampers etc) to model a system. SimMechanics can be used seamlessly
with Simulink for controller development. After the model is developed, there are different
modes of simulation available for analyzing the system. Amongst these, forward and inverse
modes are used for modelling and simulation of the system. The SimMechanics based input
and output configurations are as follows:
• Forward Dynamics: This calculates the motion of the system resulting from the applied
forces or torques and constraints.
• Inverse Dynamics: Required forces or torques are determined to produce the motion for
open loop system in this mode.
2.6.2. Conversion of Barrett CAD into SimMechanics
To develop the complete Barrett hand model in SimMechanics, the solidworks based CAD
model is used [84]. SimMechanics have the facilities to import the CAD model designed in
CAD softwares such as Solidworks and Invent. The conversion processes are presented in the
literature [87]. To help understanding the SimMechanics implementation, the SimMechanics
model of One link robot with revolute joint is shown in Figure 2.7.
Env
CS1
Machine
Environment
Ground
Body
F
Revolute
1
Torque
B
Joint Actuator
1
Joint Sensor
Motion
Figure 2.7.: Single rigid robot link with one DOF revolute joint.
37
2.6 Physical model of the Barrett hand
In Figure 2.7, the block "Machine environment" defines the analysis mode for simulation and
tolerance parameters. The ’ground’ block defines the fixed reference frame. ’Revolute’ block
represents the revolute joint type. This is attached to the ’ground’. An actuator is connected
to the block which receives input signals (torque) and a sensor is connected to receive the
output signals (motion). The ’body’ blocks defines the rigid body by mass m, inertia I and
the coordinate of the origin (for position and orientation). The model does not require to
derive the mathematical equations behind the mechanism. The input torque calculated from
the controller can directly be applied to the rigid link. The rigid link animation is shown in
Figure 2.8. Depending on the torque, the link moves with respect to the centre (indicated by
the black dot) where the joint is attached. More complex robotics models with constraints can
be implemented using SimMechanics with visualisation features.
Figure 2.8.: Single rigid robot link with one DOF revolute joint.
The basic principles of SimMechanics procedures discussed above are used to develop the
SimMechanics based Barrett hand model. The SimMechanics model of the Barrett hand is
presented in Figure 2.9. Seven input (green) channels are available to receive the input signals
(torques). Twelve output channels are connected to the joint sensors to measure the joint position (q) and the velocity q̇. Three output channels are connected to the body sensors which
compute the fingertip locations in the Cartesian coordinate. The hand model obtained through
simulation is presented in Figure 2.10. Each of the bodies is defined subject to the position and
the orientation coordinates as shown in the figure. The model for the other two fingers F1 and
F2 have a similar model format. All SimMechanics model parts are attached to construct the
complete shape of the Barrett hand given in Figure 2.12.
38
2.6 Physical model of the Barrett hand
Figure 2.9.: SimMechanics model architecture of the Barrett hand.
39
2.7 Object Dynamics
Figure 2.10.: Physical SimMechanics model of the three fingered Barrett hand.
2.7. Object Dynamics
The Lagrangian method is used to derive the dynamics of an object. A rigid body configuration
in P = SE(3) (where, P ∈ R6 is the motion vector) is not directly applicable to be represented
by the Lagrangian method but a local parametrisation of the configuration space is used to solve
the problem. Euler angles are employed to parametrise the orientation of the rigid body. The
global presentation of the dynamics of a rigid body can be presented in terms of the external
force and the torques considering the Euler configuration. Let P = (p, ω ) ∈ R6 be the coordi-
nate frame attached to the centre of mass of the rigid object where p is the translational and ω
is the orientation motion. The term f is the force applied at the centre of the mass of the object.
All parameters are relative to an inertial frame. The mass of the rigid body is constant therefore
the translational object motion at the centre of the mass can be expressed with Newton’s law
as,
f = m p̈.
(2.38)
The angular motion of the object can also be derived separately. Consider the rotational motion
ω of the rigid body about a point subject to the external torque τ . The angular momentum with
respect to the inertial frame is given by,
Ib = RIRT ,
(2.39)
40
2.7 Object Dynamics
where R is the transformation frame relative to the inertial frame. Then, the angular motion
equation becomes,
d
(Ib ω ).
dt
τ=
(2.40)
From (2.40), the final Euler’s equation is expressed as,
Ib ω̇ + ω × Ib ω = τ .
(2.41)
Equation (2.38) and (2.41) represent the dynamics of the rigid body subject to force and torque
applied at the center of the body. The force and torque related vector is normally represented
with respect to inertial frame, not relative to object frame at the center of the mass. To express
the object dynamics with respect to the object frame, twists and wrenches are applied [15].
Therefore, the equations of motion for the object in terms of external wrench Fo employed at
the center of the mass is shown in the matrix form below,
"
mo I
0
0
Ib
#"
v̇b
ω̇ b
#
+
"
ω b × mvb
ω b × Ib ω b
#
= F b,
(2.42)
where mo I ∈ R3×3 is object mass matrix, vb is the object velocity and ω b is the body angular
velocity. The orientation based inertia tensor Ib is defined by the Euler angle. Euler sequence
Z − Y − Z is used in this case. With the Euler angle, the rotation from one frame to another
can be visualized as a sequence of three rotations about the base vectors. Each rotation is made
through an Euler angle about a specified axis. In the case of the Z −Y −Z Euler angle sequence,
the first rotation is about the third axis, through the angle, followed by the second rotation about
the second axis through the angle and then followed by a final rotation again about the third axis
by the angle. Applying the Euler sequence, the relation between the angular velocity vector of
the object ωo = [p q r]T and the Euler vector [φ θ ψ ]T can be represented as,
θ̇ sψ − ϕ̇ sθ cosψ
p
−sθ cosψ sψ 0 ϕ̇
ωo = q = θ̇ cψ + ϕ̇ sθ sψ = sθ sψ
cψ 0 θ̇ .
cθ
r
ψ̇ + ϕ̇ cosθ
0 1 ψ̇
(2.43)
From (2.43), the inverse relation is found as,
−1
−sθ cosψ sψ 0
ϕ̇
p
cψ 0 q
θ̇ = sθ sψ
cθ
ψ̇
0 1
r
p
cosψ
−sψ
0
1
= − −sθ sψ −sθ cψ
0 q .
sθ
r
−cθ cψ sψ cθ −sθ
(2.44)
41
2.7 Object Dynamics
The orientation based dynamics come from the bottom row of (2.42) which can be represented
as,
Ixx
0
0
0
Iyy
0
p
(Izz − Iyy ) qr
M1
d
0 q + (Ixx − Izz ) pr = M2 .
dt
M3
r
(Iyy − Ixx ) pq
Izz
0
(2.45)
The term d/dt ([p q r]T ) is found as,
p
−sθ cosψ sψ 0 ϕ̈
d
cψ 0 θ̈
q = sθ sψ
dt
cθ
r
0 1 ψ̈
−cθ cosψ 0 0
ϕ̇
sθ sψ cψ 0
+ sθ cψ −sψ 0 ψ̇ + cθ sψ
θ̇
0 0 θ̇ ,
0
0
−sθ
0
(2.46)
ψ̇
0 0
and the terms qr, pr and pq can be expressed as,
qr
ψ̇ + ϕ̇ cθ
0
0
θ̇ sψ − ϕ̇ sθ cosψ
θ̇ sψ − ϕ̇ sθ cosψ θ̇ cψ + ϕ̇ sθ sψ (2.47)
0
0
ψ̇ + ϕ̇ cosθ
θ̇ cos ψ + ϕ̇ sin θ sinψ
θ̇ sin ψ − ϕ̇ sin θ cosψ
.
θ̇ sin ψ − ϕ̇ sin θ cosψ θ̇ cos ψ + ϕ̇ sin θ sinψ
0
pr =
θ̇ cψ + ϕ̇ sθ sψ
pq
(ψ̇ + ϕ̇ cosθ )
=
(ψ̇ + ϕ̇ cosθ )
0
Now, substituting (2.46) and (2.47) into (2.45) yields,
Ixx 0
0 Iyy
0
0
M1
−sθ cψ sψ 0 ϕ̈
0 sθ sψ cψ 0 θ̈ = M2
M3
0 1 ψ̈
Izz
cθ
sθ sψ cψ 0
−cθ cψ 0 0
ϕ̇
− sθ cψ −sψ 0 ψ̇ + cθ sψ 0 0 θ̇ θ̇
0
0
−
0
0
−sθ
0 0
(2.48)
ψ̇
(Izz − Iyy ) (ψ̇ + ϕ̇ cosθ ) θ̇ cos ψ + ϕ̇ sin θ sinψ
(Ixx − Izz ) (ψ̇ + ϕ̇ cosθ ) θ̇ sin ψ − ϕ̇ sin θ cosψ
.
(Iyy − Ixx ) θ̇ sin ψ − ϕ̇ sin θ cosψ θ̇ cos ψ + ϕ̇ sin θ sinψ
Equation (2.48) is orientation based dynamics of the object and refers to the bottom row of the
(2.42). Let be the local parametrization of (2.42) gives the following,
Mo Ẍ +Co (X, Ẋ)Ẋ = Fo
(2.49)
42
2.8 Summary
where, X ∈ R6 is the object position and orientation vector and the full object mass matrix
Mo ∈ R6×6 can be expressed as,
mo1
0
0
0
0
mo2
0
0
mo3
0
sψ
0
−Ixx sθ cψ
Iyy sθ sψ Iyy cψ 0
Izz cθ
0
Izz
0
(2.50)
and the object Coriolis terms Co (X, Ẋ) can be expressed as,
Co (X, Ẋ) =
"
0
0
0 co + go + Ipqr
#
∈ R6×6 ,
(2.51)
where
sin θ sin ψ
cos ψ
0
0
co = sin θ cos ψ − sin φ
Ipqr =
0
0 ψ̇
0
− cos θ cos ψ 0 0
go = cos θ sinψ
− sin θ
(Izz − Iyy ) (ψ̇ + ϕ̇ cosθ ) θ̇ cos ψ + ϕ̇ sin θ sinψ
0 0 θ̇
0 0
.
(2.52)
(Ixx − Izz ) (ψ̇ + ϕ̇ cosθ ) θ̇ sin ψ − ϕ̇ sin θ cosψ
(Iyy − Ixx ) θ̇ sin ψ − ϕ̇ sin θ cosψ θ̇ cos ψ + ϕ̇ sin θ sinψ
h
iT
The resultant force exerted on the object is Fo = FiT MiT ∈ R6 which is a vector of the
external forces and the moment exerted on the object. It is also called the external wrench
acting on the body centre of mass. All the matrices presented in this section will be used in
future chapters for control purposes.
2.8. Summary
In this chapter, the mathematical model of a multi-fingered Barrett Hand is developed using
the Lagrangian approach. First, the forward and inverse kinematics of each fingers are formulated and the workspace range for the task frame is determined. The dynamics of the hand
is presented in a structured format and all matrix elements are presented. Matrix controller
properties are discussed and will be used in the subsequent chapters for controller design. The
SimMechanics based physical model of the Barrett hand is developed. This physical model
will be used for implementing controllers.
The mathematical model of the object is also developed in this chapter. In this case, the
Newton-Euler method is used to derive the dynamics. First, the object dynamics is expressed
43
2.8 Summary
with respect to the velocity coordinates of the object body. Then, it is converted in the local
coordinates to have the local parametrization of Xo ∈ R6 . The Euler Z −Y − Z transformation
is used to convert the angular object velocity in order to achieve the orientation angle of the
object. Similarly, a SimMechanics model of the object is developed in this chapter. The mathematical models developed here will be used as test bed platform for controller implementation
and assess the performance of the Barrett hand.
44
3. Adaptive and Higher order sliding mode
control of the Barrett hand
3.1. Introduction
Robot control areas determine the way how a robot system is developed to perform a desired
task efficiently. Control design of a robot system may be divided into few steps: firstly, good
understanding of the physical robot system, secondly, the mathematical modelling of the robot
and finally the control specifications. To understand the nature and behavior of the physical
system, the physical variables whose behaviour is to be controlled must be identified. Depending on the domain type, these physical variables are the joint motion or the Cartesian motion,
also called the output of the system. These outputs are measured subject to the input voltage
when the joint motor dynamics are considered. Otherwise, force or torque can be assumed
arbitrary input for control of the robot system. So the output of the system can be defined as,
y(t) = y(q, q̇, f ) =
"
q
q̇
#
(3.1)
According to the equation (3.1), the dynamics are formed which is either analytical or experimental. Analytical dynamics for a robotic hand has been derived in chapter 2 with the
advantage of forming a precise model of the system. Experimental procedure requires experimental data collected from the system and observe the system behaviour based on the different
input signals. Compared to the analytical model, this method is imprecise as it depends on
the system input. Hence, a mathematical model of the robotic hand is used here for control
implementation. From chapter 2.4, the robotic hand dynamics can be written as,
M fi Q̈Fi +C fi (q̇i , α̇i ) + G fi = τ fi
(3.2)
The above robot dynamics is expressed as ordinary nonlinear and non autonomous differential
equations. This type of motion equation limits the application of linear control technique in the
robotic system such as robotic hand. Furthermore, the tracking accuracy requirements of the
robotic hand for grasping and manipulation tasks demands sophisticated control techniques.
45
3.1 Introduction
Hence, the robot dynamics are suitable with nonlinear and adaptive controllers. The control
specification of the robotic hand system needs to be analysed first for developing controllers.
The general control objective for any system can be presented in the following steps:
• Stability
• Tracking
• Optimisation
Stability is the most important specifications for any control system. A control system cannot
be authenticated without achieving the knowledge of the stability issues. The stability concepts
discuss the system properties within designated equilibrium or as closely to it-as possible for an
infinite length of time. Two stability techniques are available to discuss the analytical studies
of the robot control. The first theorem is called Lyapunov Stability theory and the second one
is the input−out put stability theory. The stability theorems are well described by the second
method or direct method of Lyapunov. The objective of the Lyapunov stability theory is to
analyse the behaviour of dynamical system expressed as ordinary differential equation form
below,
ẋ = f (t, x)
x ∈ Rn ,
(3.3)
where the vector x is the state of the system. The solution of the above differential equation
is denoted by x(t,to , x(to )) which is the evaluation of system’s state at time t with initial state
x(to ) ∈ Rn and time condition to ≥ 0. Both initial conditions are assumed to be fixed for sim-
plicity. For each initial condition to , xo (to ), a unique solution is found for (3.3). The solution of
system exists for all 0 ≤ to ≤ t is bounded and only available on finite interval. This is referred
to as non autonomous system where initial time to is given to achieve the solution. The robot
dynamics system lies in the category of autonomous differential equation which allows to consider the initial time as to = 0 and its solution is assumed to be available on infinite interval. In
that case, the equation (3.3) becomes,
ẋ = f (x)
x ∈ Rn ,
(3.4)
which is called the autonomous system.
Tracking is generally a control objective which states that the desired time based input trajectory should be followed by the output motion of the system. Based on 3.1, the system output
y corresponds to the joint position qi in the joint space or the Cartesian position X ∈ R3 in the
workspace. The joint space and workspace tracking are defined in (3.5) as,
lim q(t) → qd (t)
t→∝
lim X(t) → Xd (t)
.
(3.5)
t→∝
46
3.2 Equilibrium and Lyapunov Stability
Tracking can be only maintained in the above two equation when the output q(t), X(t) follows
qd (t), Xd (t). This is the fundamental control problem in robotics to achieve the desired task
followed by the joint or the workspace configuration of the robotic system. The desired trajectory can be generated according to the task specification in the joint or the workspace. When
the trajectory is generated at the workspace, inverse kinematics is applied for implementing
joint based controller.
Optimisation is the last step of the control specification where the control method is discussed
followed by the stability and the tracking control problem.The difference between the actual
and the desired motions can be defined as eq and eX . Now, the (3.5) can be re-written as,
lim eq ≈ 0
t→∝
lim eX ≈ 0
,
(3.6)
t→∝
which is the control problem in terms of the system state error. The error should converge to
zero over time. This problem can be solved by choosing different control methods. In this case,
the objective is to steer the output to the desired state so that the error can be be minimised.
3.2. Equilibrium and Lyapunov Stability
To realise the stability and control problem issues discussed in the section 3.1, the concept of
system equilibrium is important. A constant vector xe is said to be in equilibrium or in an
equilibrium state if
f (t, xe ) = 0
∀t ≥ 0.
(3.7)
It can be also said that, if the initial state of the system x(to ) ∈ Rn is in equilibrium then the
system state and its derivative corresponds to
x(t) = xe
ẋ(t) = 0
∀t > 0
∀t > 0
.
(3.8)
For autonomous system, it is assumed that the origin of state space x = 0 is an equilibrium of
(3.3). Considering this, the stability definition will be presented below,
Definition 3.1: The origin of state space is a stable equilibrium (in the sense of Lyapunov) of
(3.3) if, for each ε > 0, there exists δ = δ (ε ) > 0 such that,
k x(0) k< δ =⇒k x(t) k< ε
∀t > 0.
(3.9)
Similarly, the origin of (3.4) is stable if for each ε > 0 there exists δ = δ (ε ) > 0 such that
(3.9) holds with to = 0. It is apparent from (3.9) that, the constant δ is smaller than ε and is not
47
3.2 Equilibrium and Lyapunov Stability
unique and also that the term δ depends on ε [86]. The value of δ should be produced such
that a trajectory starting in a δ neighbourhood of the origin will never leave neighbourhood of
ε . It should be also noted that, δ > 0 applied for each and every ε > 0. The equilibrium x = 0
of (3.4) is unstable if it is not stable and called asymptotically stable if it is stable and δ can be
selected such that
k x(0) k< δ ⇒ lim x(t) = 0.
t→∝
(3.10)
Uniform asymptotic stability is the main term of interest in robotics. For example, a robot
manipulator needs to move to a point which means the system state should converge to that
point, not to remain in nearby neighbourhood. Uniformity only appears in time varying system
[60]. For autonomous system, asymptotic stability implies uniform asymptotic stability though
unable to determine the rate of convergence to the origin. Exponential stability indicates the
rate of convergence. The equilibrium x = 0 of (3.4) is an exponentially stable equilibrium point
if there exists constant terms p, µ > 0 and ε > 0 such that
k x(t) k≤ pe−µ t k x(0) k
(3.11)
for all k x(0) k< ε and t > 0. The constant µ determines the rate of convergence. Exponential
stability is secure as it also implies asymptotic stability. This type of stability is important when
advanced control algorithm such adaptive control is considered.
Based on the stability definitions presented above, the direct/second method of Lyapunov can
be discussed. This method does not require integration of the system (3.4) in order to check
the stability. It is based on the energy measurement of the system. Then the rate of change
of energy is analysed to determine stability [86]. The term measurement o f energy can be
defined as follows: let Bε be a ball of size ε around the origin, Bε = {x ∈ Rn :k x k< ε . Now
few definitions are required to state,
Definition 3.2: Locally positive definite function
A continuous function V : R+ × Rn is locally positive definite (l.p.d) if there exists some ε > 0
and few continuous, strictly increasing function α : R+ → R,
V (0,t) = 0 V (x,t) ≥ α (k x k)
∀x ∈ Bε , ∀t ≥ 0.
(3.12)
Locally positive definite function behave as local energy function.
Definition 3.3: Positive definite function
A continuous function V : R+ × Rn is positive definite if it satisfies the Definition 3.2 and also
follows α (p) →∝ as p →∝ .
Definition 3.4: Decrescent function
When the energy functions are required to be bounded, decresence function is defined. A
48
3.2 Equilibrium and Lyapunov Stability
continuous function V : R+ × Rn is called decrescent if for some ε > 0 and few continuous,
strictly increasing function β : R+ → R,
V (x,t) =≤ β (k x k)
∀x ∈ Bε , ∀t ≥ 0
(3.13)
The above three definitions are important to ascertain stability for the system by the Lyapunov
theorem with appropriate energy based function [15]. In general, the theorem states that when
V (x,t) is a locally positive definite function and V̇ (x,t) ≤ 0 then stability of the equilibrium is
found. The time derivative of the energy function V is taken along the system trajectory as,
V̇ |ẋ= f (x,t) =
Theorem
∂V ∂V
+
f
∂t
∂x
(3.14)
3.1: Lyapunov theorem
Consider V (x,t) as a non-negative energy function with time derivative V̇ along system trajectories.
1. If V (x,t) is locally positive definite and V̇ (x,t) ≤ 0 in x locally and for all t, then the
system origin is locally stable (In the sense of Lyapunov).
2. If V (x,t) is locally positive definite and decrescent, and V̇ (x,t) ≤ 0 locally in x and for
all t, then the system origin is uniformly locally stable (In the sense of Lyapunov).
3. If V (x,t) is locally positive definite and decrescent, and −V̇ (x,t) is locally positive definite, then the system origin is uniformly locally asymptotically stable.
4. If V (x,t) is positive definite and decrescent, and −V̇ (x,t) is positive definite, then the
system origin is globally uniformly asymptotically stable.
Theorem 3.1 provides conditions for determining the stability conditions of the system origin
[15]. The only drawback is that it does not show how to address the Lyapunov function V (x,t)
but it definitely exists as if an equilibrium point is stable. To determine the convergence rate of
solutions to the equilibrium, this theorem is limited. Hence, the exponential stability theorem
is needed considering energy function.
Theorem
3.1: Exponential stability theorem
The origin x = 0 is an exponentially stable equilibrium point of ẋ = f (x,t) if and only if there
exists an ε > 0 and a function V (x,t) which satisfies,
α1 k x k2 ≤ V (x,t) ≤ α2 k x k2
V̇ |ẋ= f (x,t) ≤ −α3 k x k2
k
∂V
∂ x (x,t)
(3.15)
k≤ α4 k x k
49
3.3 Motion problem formulation
for some positive constant α1 , α2 , α3 , α4 and k x k≤ ε . It can be shown that
m≤
α2
α1
1/2
α≥
α3
,
2α2
which are bounded in the equation (3.11). The proofs are given in [60].
3.3. Motion problem formulation
The motion problem of multi-fingered robotic hands is similar to the open chain manipulator.
To grasp an object, the robotic hand needs to reach a desired location from its initial position.
This desired position is often described as the posture of the object that is achieved just before
grasping. This problem is referred to as the motion problem of the multifingered hand in an
open space. It is usually formed in workspace as the object contact locations are assumed to
be known and these locations are used as desired location to drive the hand finger joints. There
are two different ways to achieve the output in workspace. One way is to define the workspace
trajectory, calculate the inverse kinematics and define the control problem in the joint space.
Then the joint output can be transformed to the workspace with forward kinematics. Or alternatively, the control problem can directly be defined in the workspace. Joint based control
is considered here as inverse kinematics of the Barrett hand is easy to solve. However, direct
workspace based control is also shown at the end of this section. Rewriting the workspace
dynamics of the robot finger from (2.24) allows the motion problem to be defined as,
Mq (q)q̈ +Cq (q, q̇)q̇ + Gq (q) = τ .
(3.16)
The formal way of describing the motion problem is to find the control torque τ such that
lim q(t) = qd (t),
t→∝
(3.17)
where q ∈ Rn is referred to the joint position and Xd ∈ Rn is the desired fingertip trajectory to
the contact location. It is assumed that, the desired trajectory is specified for all time t and is
twice differentiable. This is the tracking control objective in the joint coordinate. A controller
should achieve this or does not depend on studying the stability of the origin of the closed loop
system by the Lyapunov method. For stability analyzing purpose, (3.17) can be re-written as,
lim qe(t) = 0,
(3.18)
qe(t) := qd (t) − q(t).
(3.19)
t→∝
where qe(t) ∈ Rn is the joint position error vector and defined by,
50
3.4 Computed torque control
Considering (3.19), the control
objective
can be achieved when the closed loop position error
h
i
qeT q̇T = 0 ∈ R2n is asymptotically stable. In physical system,
fingertip positions X are determined from the joint position q by forward kinematics. If the
in terms of system state
robotic hand model is known and satisfy the conditions q(0) = qd (0), q̇(0) = q̇d (0), then the
control torque in (3.16) can be chosen as follows,
τ = M f (qd )q̈d +C f (qd , q̇d )q̇d + G f (qd ).
(3.20)
As both q and qd have the same form of differential equation with similar initial condition,
q(t) = qd (t) for all t ≥ 0 which is known as an open loop control law. An issue with open loop
control is that the current output state of the system remain unused for choosing the control
law which is not very robust. In reality, it is not possible to know the current robot position
exactly. Hence, the initial conditions become q(0) 6= qd (0) and the open loop law does not
optimise the error. This problem introduces the requirement of the feedback into the robotic
hand system. This feedback should be used such that hand motion trajectory converges to the
desired motion. There are many popular methods available for using feedback in implementing
the control law. Among those, PD based control and computed torques are popular for robotic
manipulators. These laws can be extended for controlling the robotic hand as control structure
is similar when those are applied to the open chain manipulators.
3.4. Computed torque control
Computed torque control (CTC) method falls into the category of feedback based control system and is considered as popular control method for robotic system. The nonlinear robot
system is linearised first and then the feedback is applied to drive the error dynamics by this
method. This method first gained popularity in modern control system theory [88]. The advantage of the computed torque is that it can be extended to the robust and adaptive controllers
due to its ability to compensate robot nonlinear dynamics. It is a combination of classical joint
or workspace control with modern design techniques. Differentiating the workspace tracking
error equation (3.18) twice illustrates the CTC method as,
ėq = qėf = q̇d − q̇
ëq = qëf = q̈d − q̈
.
(3.21)
The time based desired velocity q̇d and the acceleration q̈d can be easily calculated from input
position trajectory. Now, the dynamics of (3.16) can be solved for the joint acceleration q̈ as,
q̈ = Mq−1 (τ −Cq (q, q̇)q̇ − Gq (q)) .
(3.22)
Now, the torque τ can be chosen to cancel all nonlinearities such as Coriolis and gravity matri-
51
3.4 Computed torque control
ces as,
τ = (Mq q̈d +Cq (q, q̇)q̇ + Gq (q)) ,
(3.23)
q̈ = q̈d .
(3.24)
which yields,
The equation (3.23) is the feed forward component of the CTC law. This provides the torque
required to drive the system state along its nominal path. If the initial conditions of the actual
position and velocity corresponds to the desired one, the manipulator should follow the desired
trajectory. Error is found when q(t) is not identical to qd (t) and cause difficulties to validate
the control law. Therefore, feedback component is required to adjust the torque for reducing
errors in the system trajectory. Adding of auxiliary control input modifies (3.24) as,
q̈ = q̈d + u,
(3.25)
where u is the new auxiliary control input. This can be chosen based on the Proportional
Derivative (PD) method to solve the tracking problem as,
u = −Kv ėq − Kp eq .
(3.26)
Apply (3.26) into (3.25) gives the internal error dynamics of the total control law as,
ëq + Kv ėq + Kp eq = 0.
(3.27)
The equation (3.27) is a linear differential equation which reduces the error between the desired
and the actual trajectories. Due to its linearity, it is not trivial to select the control gain Kp and
Kv to make the system state stable and show that the origin is exponentially stable which implies
that e → 0 as t →∝ .Then the total control law can be written as,
τ = Mq (q̈d − Kv ėq − Kp eq ) +Cq (q, q̇)q̇ + Gq (q).
(3.28)
3.4.1. Proof of computed torque control stability
If the control gains Kp and Kv are positive definite and symmetric matrices, then the control
law of (3.28) applied to the hand workspace dynamics of (3.16) provides exponential trajectory
tracking.
Proof: The error dynamics of (3.27) can be written in the state space as,
d
dt
"
e
ė
#
=
"
0
I
#"
−Kp −Kv
{z
}
|
e
ė
#
.
(3.29)
A
52
3.4 Computed torque control
Each of the eigenvalues of A matrix in (3.29) has negative real part. Consider λ ∈ C as an
eigenvalues of A which corresponds to eigenvector v = v1 , v2 ∈ C2n and v 6= 0. Then,
λ
"
v1
v2
#
=
"
0
I
−Kp −Kv
#"
v1
v2
#
.
(3.30)
From (3.30), if λ = 0 then v = 0 and therefore λ = 0 is not an eigenvalue of A. Now if λ 6= 0
then v1 becomes zero when v2 = 0. Hence, it is shown v1 , v2 6= 0 which implies without loss of
generality that k v1 k= 1. Using this, it can be expressed that,
λ 2 =v∗1 λ 2 v1 = v∗1 λ v2
=v∗1 (−Kp v1 − Kv v2 )
= − v∗1 Kp v1 − λ v∗1 Kv v1 ,
where ∗ is the transpose of complex conjugate. Define β = v∗1 Kp v1 and α = v∗1 Kv v1 yields the
following,
λ 2 + αλ + β = 0
α, β > 0
(3.31)
which means the real part of λ is negative. Therefore, the controller is stable.
The advantage of applying CTC law is that it linearises a nonlinear system which allows the
usage of any linear control theories for controller design. It is called feedback linearisation
technique.
3.4.2. Computed torque control design for the Barrett hand
The mathematical and physical model of the Barrett Hand was developed in chapter 2. The
mathematical model is used to design the controller and applied to the physical SimMechanics
system. The CTC structure applied to the Barrett Hand system is presented in Figure 3.1. It
is assumed that the workspace input is arbitrary to apply. The trajectory of the workspace is
chosen based on the Barrett hand workspace given in chapter 2. Then inverse kinematics solution of the Barrett Hand is used to convert the workspace trajectory in the joint space (inverse
kinematics subsystem) and the controller is designed in the joint space. The SimMechanics
Hand model can provide joint outputs which are fed back to the controller for error measurement. Fingertip outputs are also measured from the hand and are used to verify the tracking
based on workspace input. Feed forward block cancels the nonlinear terms and feedback block
calculates the error dynamics as auxiliary control. The outer joints are added with the damper
to balance the link l3 of all fingers. The damping structure is shown in Figure 3.2 for finger
F3 . The velocity is measured from the output channel 2 and multiplied by the damping gain of
0.5 and added with control torque as additional input to the SimMechanics based Barrett hand
model. This helps to balance the outer link connected to the outer joint for all fingers.
53
3.4 Computed torque control
Figure 3.1.: CTC Simulink based controller for the Barrett hand simulation.
Figure 3.2.: The damping added to the outer joint for balancing outer link (Finger F3 ).
54
3.4 Computed torque control
3.4.3. Results and discussions
Different workspace trajectories are chosen to see the CTC controller performance. Initial
conditions for the workspace and joint space coordinates are given in Table 3.1.
Table 3.1.: Initial joint and workspace positions of the Barrett Hand.
Finger Fi
F1
F2
F3
Initial fingertip position Ff i (m)
(.0250, −0.1568, 0.1122)
(−.0250, −0.1568, 0.1122)
(0.00049, 0.1568, 0.1122)
Initial joint position q2 , q3 and α (m)
o
o
(2.46 , 40 , 0)
o
o
(2.46 , 40 , 0)
o
o
(2.46 , 40 , 0)
The desired trajectories to be tracked by the Barrett finger joints are applied in three sets. The
first set is considered without the spread angle α . The results of the fingertip tracking are shown
in Figure 3.3 whereas the joint motion tracking of the fingers are plotted in Figure 3.4. The
control gains Kp and Kv in (3.26) are chosen as 400 and 160 respectively based on the trial.
The purpose of the control gain tuning was to reduce the overshoot, improve rise and settling
time of the joint transient response. In Figure 3.3, the fingertip motions are well tracked for a
chosen trajectory. In horizontal direction of the fingertips (see first column of Figure 3.3) for
all three fingers, no overshoots are visible but tracking errors are large before settling down to
the desired value around 2 seconds. The rise times (90% of the steady state response) of the
position responses are found less than 2 seconds in each cases. Considering the settling and rise
time, the actual position responses are quick in terms of desired input. The maximum tracking
errors are found 5% of the steady state values. The errors are occurred due to the unknown
dynamics terms (joint frictions, frictions due to the internal mechanism between finger links)
which is not dealt by CTC controllers. Overshoots are found in vertical direction of all (Second
column of Figure 3.3) fingertips due to the damping behaviour of the distal joints (q3 ) of the
fingers. The damping behavior of q3 is understood by the serial connection between q2 and q3 .
The joint q3 is not directly connected to the base; linked to the joint q2 which causes damping
at the joint q3 . The joint performances are shown in Figure 3.4. Desired Joint inputs are given
as q2 = 45o and q3 = 55o to assess the joint tracking performances. In Figure 3.4, left column
sub figures represent the tracking motion of q2 . No large tracking errors are visible in this case
and average settling time is 2 seconds for all fingers. The motion of q3 are plotted in the right
column sub figures. In this case, tracking errors are present for finger F1 and F2 until the actual
joint responses reached the final values of 55o . The errors are occurred due to damping of the
joint q3 for all fingers but converged to the desired motion after short time.
The velocities of the joints and the joint control torques of all fingers are shown in Figure
3.5 and Figure 3.6 respectively. In Figure 3.5, the velocities of all fingers are exponentially
converged to zero which implies that the system energies are dissipated along with simulation
time. In Figure 3.6, the computed torques τi (i = 1, 2) for all joints are shown. The second
joints responses of all fingers show a little oscillation between 0-1 seconds but become linear
55
3.4 Computed torque control
0
0.18
0.16
actual
desired
−0.1
F1y (m)
F1z (m)
−0.05
−0.15
−0.2
0.14
0.12
0
5
0.1
10
−0.05
0.16
F2y (m)
0.18
F2z (m)
0
−0.1
−0.15
10
0
5
10
0
5
Time (sec)
10
0.14
0
5
0.1
10
0.25
0.18
0.2
0.16
0.15
0.1
0.05
5
0.12
F3y (m)
F3z (m)
−0.2
0
0.14
0.12
0
5
Time (sec)
10
0.1
Figure 3.3.: Actual fingertip position tracking of the Barrett fingers for a desired Cartesian
trajectory.
56
3.4 Computed torque control
60
40
Desired
30
Actual
F1 q3 (deg)
F1 q2 (deg)
50
20
40
20
10
0
0
5
0
10
50
0
5
10
0
5
10
0
5
Time (sec)
10
60
F2 q3 (deg)
F2 q2 (deg)
40
30
20
40
20
10
0
0
5
0
10
60
F3 q3 (deg)
F3 q2 (deg)
40
30
20
10
0
0
5
Time (sec)
10
40
20
0
Figure 3.4.: Joint actual (blue) position tracking of the Barrett fingers for the joint position
q2 = 45o and q3 = 55o .
57
60
40
40
20
0
0
5
20
0
−20
10
60
60
40
40
F2 q3d (deg/s)
F2 q2d (deg/s)
−20
20
0
−20
F3 q2d (deg/s)
F1 q3d (deg/s)
60
0
5
60
40
40
0
−20
0
5
Time (sec)
10
5
10
0
5
10
0
5
Time (sec)
10
0
60
20
0
20
−20
10
F3 q3d (deg/s)
F1 q2d (deg/s)
3.4 Computed torque control
20
0
−20
Figure 3.5.: Joint velocities (q̇i ) of Barrett fingers for the joint position, q2 = 45o and
q3 = 55o .
58
3.4 Computed torque control
10
20
F1 τ2 (Nm)
F1 τ1 (Nm)
30
10
0
−10
0
5
F2 τ2 (Nm)
F2 τ1 (Nm)
10
0
0
5
5
10
0
5
10
0
5
Time (sec)
10
5
0
−5
10
30
F3 τ2 (Nm)
100
F3 τ1 (Nm)
0
10
20
50
0
−50
0
−5
10
30
−10
5
0
5
Time (sec)
10
20
10
0
−10
Figure 3.6.: Joint torque (τ ) of the Barrett fingers for the joint position, q2 = 45o and
q3 = 55o .
59
3.4 Computed torque control
after that. This indicates the smoother torque computed by the control law of (3.28) which
drives the joints of each fingers without any oscillation or large overshoot.
The joint position tracking of the fingers are shown in Figure 3.7 for Simulink based Barrett
hand model. The desired spread angle is chosen as α di = 65o (i = 1, 2). When the spread angles
sp1 and sp2 reached 65o , all revolute joints of three fingers started moving and tracked desired
motion of qd2 = 45o and qd3 = 55o . In sub figures of the left column, when joint angle sp1
reaches the desired angle of 65o , the joint position q2 of all fingers (F1 , F2 , F3 ) starts tracking
the joint position. For the angle sp1 , the settling time is less than 2 sec. The joint position of
q2 for the finger F3 has little overshoot (6% of the final value qdi = 45o ) whereas fingers F1 and
F2 have no overshoots. The settling time of joint q2,F3 is slow due to the overshoot compared to
the joints of q2,F1 and q3,F1 . It is visible from the right column figures that, joint angle sp2 also
achieves the reference values of 65o within settling time of 2 seconds. But the joint position q3
of all fingers have overdamped response with delayed settling time compared to the q2 joints. It
is depicted from the left and right figure columns that joint responses of q2 have quick settling
time (∼1.5 seconds) compared to the time found (∼ 2 seconds) with q3 .
In Figure 3.8, the SimMechanics based model is also generated to see the tracking performance
of the CTC based controller. In this model, robotic hand dynamics are simulated with differential equations of each fingers. The settling times of spread joints sp1 and sp2 are 5 seconds
approximately. The execution time is long in SimMechanics based model as it presents each
component of the Barrett hand considering inertia, joints frictions and damping. The absence
of overshoot, underdamped or overdamped responses are seen in joints q2 and q3 of all fingers.
No large tracking errors are visible which indicates that the CTC based controller is successful
in canceling nonlinear system dynamics and actual responses followed the desired trajectory
without oscillations.
The joint tracking errors of the SimMechanics and Simulink hand model are presented and
compared in the Figure 3.9 and 3.10. The execution time (2.4 seconds) in SimMechanics
appeared to be slower than the Simulink (1.4 seconds) model. It is expected because each
component of the physical model has more internal mechanisms which requires more time to
execute and exhibits a similar behaviour of the real system. The spread joint reach the desired
position within 1 second in Simulink where it takes more than 1.5 seconds in SimMechanics. In
both cases, average settling time is faster in simulink (∼ 1 − 1.5 seconds) than SimMechanics
(∼ 2.5 − 3.5 seconds). The tracking errors move towards very close to zero exponentially.
The results from Figure 3.3-3.10 show the tracking ability of the CTC controller for known
dynamics of the the Barrett hand for any desired trajectory.
In this section, the tracking control problem of a multi-fingered hand is defined. The stabilities
of a system are discussed with regards to the tracking control problem. The computed torque
method is proposed and implemented to the Barrett Hand for joint and fingertip position tracking. The stability of the proposed controller is proved based on the stability theories discussed
60
3.4 Computed torque control
50
100
F1 q3 (deg)
F1 q2 (deg)
Desired
Actual
0
−50
0
5
F2 q2 (deg)
F2 q3 (deg)
0
5
F3 q3 (deg)
F3 q2 (deg)
10
0
5
10
0
5
10
0
5
Time (sec)
10
0
100
40
20
0
5
50
0
−50
10
100
sp2 (deg)
100
sp1 (deg)
5
50
−50
10
60
50
0
0
100
0
0
0
−50
10
50
−50
50
0
5
Time (sec)
10
50
0
Figure 3.7.: Joint space tracking of Barrett fingers in Simulink for the spread position,
o
α = 65 , joint position, q2 = 45o and q3 = 55o .
61
40
F1 q2 (deg)
F1 q1 (deg)
3.4 Computed torque control
20
0
60
40
20
0
0
5
10
0
5
10
0
5
10
0
5
10
0
5
10
F2 q2 (deg)
F2 q1 (deg)
80
40
20
0
0
5
60
40
20
10
F3 q2 (deg)
F3 q1 (deg)
80
40
20
0
0
5
20
100
sp2 (deg)
sp1 (deg)
40
10
100
50
0
60
0
5
10
50
0
Figure 3.8.: Joint space tracking of the Barrett fingers in SimMechanics for the spread
o
position, α = 65 , joint position, q2 = 45o and q3 = 55o .
62
40
F1 eq2 (deg)
F1 eq1 (deg)
3.4 Computed torque control
20
5
20
10
40
2
F2 eq2 (deg)
F2 eq1 (deg)
0
20
0
4
6
8
10
60
40
20
0
2
4
6
8
10
40
F3 eq2 (deg)
F3 eq1 (deg)
40
0
0
20
0
5
10
0
5
10
60
40
20
0
0
0
5
10
sp2 e (deg)
60
sp1 e (deg)
60
40
20
0
60
Joint error SimMechanics
40
Joint error Simulink
20
0
0
5
Time (sec)
10
2
4
6
Time (sec)
8
10
Figure 3.9.: Comparison of the joint tracking error in SimMechanics and Simulink for the
o
spread position, α = 65 , joint position, q2 = 25o and q3 = 35o .
63
F1 eq2 (deg)
F1 eq1 (deg)
3.4 Computed torque control
20
10
0
5
10
20
0
0
5
10
0
5
10
0
5
10
0
40
F1 eq2 (deg)
F3 eq1 (deg)
5
20
−20
10
40
20
0
0
5
20
0
−20
10
40
40
Joint error SimMechanics
sp2 e (deg)
sp1 e (deg)
0
40
F2 eq2 (deg)
F2 eq1 (deg)
40
−20
20
0
0
−20
40
20
0
−20
0
5
Time (sec)
10
20
Joint error simulink
0
−20
0
5
Time (sec)
10
Figure 3.10.: Comparison of the joint tracking error in SimMechanics and Simulink for the
o
spread position, α = 45 , joint position, q2 = 25o and q3 = 35o .
64
3.5 Sliding and adaptive sliding mode control
earlier in this chapter. The controller is applied to two model: (1) the SimMechanics and (2)
the Simulink model of the Barrett Hand. In both cases, the controller performances are found
to be satisfactory but considered under known dynamic parameters. Also, the simulation time
of the SimMechanics model is longer than the Simulink model due to its internal complexities
rather than just the mathematical equations.
3.5. Sliding and adaptive sliding mode control
The discrepancy between the actual plant and the mathematical model should always be less
to design a controller. The discrepancies appear due to reasons such as unknown dynamic parameters and external disturbances. The control law implementation considering any unknown
disturbances is always challenging. Another fact is that when less assumptions are considered,
the requirement becomes complex in implementing the controller. The same is expected for a
multi-fingered robotic hand which is a nonlinear system and contain complex internal mechanism. If these mechanisms are considered as an unknown function or disturbances, CTC based
law is unable to compensate the error by feedback based law. Furthermore, the load carried
out by the robotic hand makes great change in the performance of the robot workspace. The
presence of uncertainties and payload carried by the robotic hand need a robust type controller
in order to reduce discrepancies or improve the performance.
Two robust control methods are presented in this section. The first method is called Sliding
Mode Control (SMC) and the second one is the Adaptive Sliding Mode Control (ASMC) [89,
90, 86]. Theories for both methods are applied for controller implementation of the Barrett
hand. SMC method is capable of dealing with external uncertainties and disturbances where
the ASMC shows enhanced performances over varying payload taken by the robotic hand.
The idea of SMC is to steer the system state to defined sliding surface so that the unmodelled
dynamics and external disturbances can be eliminated. Adaptation is used to estimate the
unknown parameters of the system.
3.5.1. Sliding mode theory
The SMC is discussed with respect to the hand dynamics and the joint tracking errors. Consider
the robot hand dynamics from (2.15) as,
M f q̈ +C f (q, q̇) + G f (q) = τ f
(3.32)
and the joint position tracking errors of the hand is given below,
qe = q(t) − qd (t).
(3.33)
65
3.5 Sliding and adaptive sliding mode control
A time varying surface s(t) in the state space Rn can be defined by the scalar equation s(q,t) = 0
where,
s(q,t) =
d
+λ
dt
n−1
qe
(3.34)
and λ f is a strictly positive constant. For a second order hand system, the sliding function is
defined as,
s = qė + λ f qe,
(3.35)
which implies that the sliding error is nothing but a weighted sum of the position and velocity
error [86]. To achieve the tracking using a finite control u (for finite time convergence), the
initial condition should satisfy,
qd (0) = q(0).
(3.36)
The tracking objective of (3.33) with initial conditions of (3.36) is maintained by the sliding
surface s(t) for all t > 0. The sliding error s ≡ 0 provides linear differential equation whose
solution is qe ≡ 0 by initial conditions of (3.36). More simply, the sliding surface s(t) force qe to
approach zero. The control law τ is chosen to ensure s(t) at the sliding surface following the
condition below,
1d 2
(s ) ≤ −η | s |,
2 dt
(3.37)
which implies that the distance to the sliding surface decreases along system trajectories and
the state trajectories are driven towards the sliding surface where the sliding function is chosen.
Before implementing the SMC, virtual reference trajectories are introduced based on the tracking error qe to guarantee the convergence of the tracking error. These trajectories are defined
as,
q̇r = q̇ − s = q̇d − λ qe
q̈r = q̈ − ṡ = q̈d − λ qė
,
(3.38)
where q̇r is the reference velocity and q̈r is the reference acceleration. The term λ is a positive
constant. Equation (3.38) shows that the reference velocity q̇r only increases if the actual
output q lags behind the desired value qd . The same applies to the reference acceleration q̈r .
Considering the reference input, the SMC based control law is proposed as,
τ = τ̂ − Ksgn(s)
τ̂ = M̂ f q̈r + Ĉ f q̈r + Ĝ f − Ks s.
(3.39)
The SMC law of (3.39) is composed of two parts. The first segment τ̂ includes the feedback
linearisation based on reference trajectory and nominal matrices M̂ f , Ĉ f , Ĝ f of the hand dy-
namics. The second term is taken as signum of the sliding function s(t). The control gain K
is a positive constant and Ks is also a diagonal positive definite matrix. The stabilities of the
SMC controller is proved in Appendix A.1
66
3.5 Sliding and adaptive sliding mode control
3.5.2. SMC Implementation on planar finger
The SMC controller (3.39) is applied to two link planar finger. The control block diagram of
the closed loop system with the SMC controller is given in Figure 4.1.
Figure 3.11.: SMC based control structure applied to a planar finger.
It is seen from Figure 3.11 that the reference trajectory is formed from the desired trajectory
block and applied to SMC mode block to generate sliding function s(t). It is also applied to
calculate linearisation based torque τ̂ . Both torques are added to calculate the final joint torque
τ and applied to the planar finger.
3.5.3. Simulation and results of sliding mode control
For a planar finger, the same mass and link dimensions of the Barrett finger are used. The
initial conditions are changed because of the input structure. A sinusoidal shape input is used
to generate trajectories in this simulation. The sliding gain Kas and the reference gain λas are
chosen as 11 and 0.03 respectively by trial and error. In Figure 3.12, the joint tracking and
velocities, control torque and sliding function results are available.
67
3
3
2
2
q2 (rad)
q1 (rad)
3.5 Sliding and adaptive sliding mode control
1
0
0
5
0
0
5
τ2 (Nm)
τ1 (Nm)
10
0
5
10
0
5
10
5
Time (sec)
10
0
10
10
0
0
5
0
s2 (rad/s)
0.5
0
−0.5
5
−5
10
0.5
s1 (rad/s)
5
−2
10
20
−10
0
2
q2d (rad/s)
q1d (rad/s)
2
−2
1
0
10
Actual
Desired
0
5
Time (sec)
10
0
−0.5
0
Figure 3.12.: Joint position, velocities, control torque and sliding function results with the
SMC controller applied to a planar finger.
The joint motions showed good tracking though the steady state errors between the actual
(blue) and the desired (red) motions are clearly visible for joint q1 and q2 . The velocities and
torque inputs are also shown. The control torque signals are visible with high chattering values.
The system was simulated with nominal matrices of the dynamics. The SMC law showed an
inability to compensate the varying dynamic parameters to eliminate the tracking errors. An
adaptation is required to achieve precise tracking of joint motions.
68
3.5 Sliding and adaptive sliding mode control
3.5.4. Adaptive SMC theory (ASMC)
As stated at the beginning of this chapter, the adaptive control is used in robotics for manipulation tasks such as carrying an unknown payload. The unknown payload greatly affects the
system performance where the state of the system cannot be compensated for the traditional
feedback based law. These payload parameters need to be gradually reduced online by an
adaptation or estimation mechanism. Otherwise, it may cause instability for the system. A
continuous redesigning of the controller is required as initially chosen parameters may not be
suited for the varying system estates. Adaptive control method is effective in estimating the
system parameters online which can be used to estimate the system dynamics online and then
update the control law [60],[88].
An adaptive controller is different from the conventional controller in terms of the control
parameters. These parameters are not fixed and different adjusting mechanisms are used to
update these parameters when the system is running. Consider the adaptive controller design
problem subject to a dynamical robot system. For a desired robot joint trajectory qd (t), the
tracking problem is to achieve the actual joint position, q(t) ≈ qd (t). In practical situation, it is
not possible to know all dynamic parameters of a system accurately due to unknown frictions
(joint and tendon) and other internal mechanism. The idea of designing the adaptive controller
is to compensate for these parameters. The controller is derived as input torque signal to drive
the finger joints and an estimation law is designed for estimating unknown parameters such
that qd (t) is tracked by q(t) after initial adaptation.
Let σ be the unknown parameter vector which contains equivalence of dynamic parameters.
The time varying estimation of the parameter vector is σˆ . Now rewrite the linearly parametrised
dynamics of (2.28) with estimation vector σ as follows,
M̂ f q̈r + Ĉ f (q, q̇)q̇r + Ĝ f (q) = Y f (q, q̇, q̇r , q̈r )σ ,
(3.40)
where Y f ∈ R2×5 is the parameter free hand dynamics. It is also called regressor matrix and
presented in matrix form below,
Yf =
"
q̈r1 + q̈r2
q̈r1 + q̈r2
cos(2q̈r1 + q̈r2 ) − s2 (q̇2 q̇r2 ) − s2 (q̇r2 q̇1 ) q̈r1
q̈r1 c2 q̇r1 q̇1 s2
0
gc1 gc12
0
c12 )
#
.
(3.41)
The terms q̇ri and q̈ri are the same reference trajectories from the previous subsection which
are introduced to converge the tracking error. Now the control law is chosen as,
τ = Y f (q, q̇, q̇r , q̈r )σ − Kas s
(3.42)
69
3.5 Sliding and adaptive sliding mode control
and the update law for σ ∈ R5×1 is chosen as,
T
σ̂˙ = Γ−1
as Y s,
(3.43)
where (3.42) is the sliding based control with the adaptation mechanism. The sliding and
adaptive control gain are defined as Kas and Γas respectively. The control structure of the
adaptive sliding mechanism applied to a planar finger is given in Figure 3.13.
Figure 3.13.: Adaptive-SMC based control structure applied to a planar finger.
In Figure 3.13, the joint angle q and the velocity q̇ are used to form the reference velocity
q̇r . The sliding function s and the dynamic regressor matrix Y f are generated by the reference
velocity q̇r and acceleration q̈r . Then, the control input τ is calculated from (3.42) which is applied to the finger. The similar control system is implemented and applied to the SimMechanics
based Barrett hand model.
3.5.5. Simulation and results of ASMC
The additional change made to the SMC based planar control system presented in Figure 3.13
is the adaptive update mechanism; the sliding and reference gain remain same. The adaptation
gain Γas = 0.1 is obtained by trial and error. In Figure 3.14, the trajectories of joint motion qi
are well tracked and oscillation free for a given sinusoidal input. The joint velocities q̇i appear
to be linear. Regarding torque τ , the second joint q3 required more torque in order to move the
outer link. A similar effect is visible for the sliding function si which implies that the second
link requires more energy to be driven towards the sliding surface. The results of the parameter
estimation are given in Figure 3.15. The initial adaptation value σ (0) = 1 is selected to start
the adaptive update process. The reason to choose σ (0) = 1 is seen from (3.40). The right side
of (3.40) is the linear parametrization of the robot dynamics with σ (0) = 1 is just equal to the
70
3.5 Sliding and adaptive sliding mode control
left hand dynamic terms. The update process starts with the known dynamics and estimation
3
3
2
2
q2 (rad)
q1 (rad)
process manipulates the right side of (3.40) based on varying payload.
1
0
0
5
0
0
5
τ2 (Nm)
τ1 (Nm)
0
0
5
0
5
10
0
5
10
0
5
Time (sec)
10
5
0
−5
10
0.2
s2 (rad/s)
0.5
s1 (rad/s)
10
10
20
0
−0.5
5
0
−2
10
40
−20
0
2
q2d (rad/s)
q1d (rad/s)
2
−2
1
0
10
Actual
Desired
0
5
Time (sec)
10
0
−0.2
Figure 3.14.: Adaptive SMC results for joint motion q, velocity q̇, torque τ and sliding
function s.
71
3.5 Sliding and adaptive sliding mode control
σ1
σ2
2
σ3
σ4
1.5
Estimation parameter σi
σ5
1
0.5
0
−0.5
−1
0
2
4
6
8
10
Time (sec)
Figure 3.15.: Parameter estimation of σi with adaptive update law.
0.01
eq1 (rad)
0
−0.01
SMC
ASMC
−0.02
−0.03
0
2
4
0
2
4
6
8
10
6
8
10
0.04
eq2 (rad)
0.02
0
−0.02
−0.04
Time (sec)
Figure 3.16.: Tracking errors obtained with SMC and ASMC for two link planar joints.
The tracking error results of the planar joint with SMC and ASMC are compared in Figure
3.16. The error percentages for both controllers are summarised in the Table 3.2.
72
3.5 Sliding and adaptive sliding mode control
Table 3.2.: Planar joint errors analysis with SMC and ASMC controllers.
Controller
type
SMC
ASMC
eq1 (rad)
(%)
0.1 − 0.5
0.01 − 0.05
eq2 (m)
(%)
2−5
0.05 − 0.5
From the Table 3.2, joint tracking errors are obtained large with SMC based controller. The
maximum errors of 5% are calculated from the joint q2 with SMC. The ASMC controller
shows better performance compared to the SMC. The max error obtained from q1 is 0.05%.
Only 0.5% error is calculated from q2 . The joint q2 have large errors with both controllers
for sinusoidal input trajectory. The errors are large due to the damping presence at q2 though
maximum errors obtained from eq2 with SMC (5%) and ASMC (0.5%) are large. The overall
joint tracking performances of both joints are improved with the adaptation added to the SMC
controller.
3.5.6. Barrett hand simulation with SMC and ASMC
The SMC and ASMC based controllers are applied to the Barrett Hand considering the desired
spread angle, α = 25o and joint angles, q2 = 25o and q3 = 35o . The control parameters are
selected as λ f = 17, K f = 220 for SMC and ASMC. For ASMC, only the adaptation parameter
is taken as Γ f = 3.3. The joint motion tracking of SMC and ASMC based controllers are shown
in Figures 3.17 and 3.18.
In Figure 3.17, the joint motions of all fingers are obtained with the SMC controller. The
joint q1 of all fingers have large overshoots (5-15%) than joint q2 . The joint motions in Figure
3.18 are obtained with ASMC where the overshoots are less (1-8%) compared to the tracking
error found with SMC. The tracking errors obtained with SMC and ASMC controllers are
compared in Figure 3.19. The tracking errors obtained with ASMC exhibit with less overshoot
and smooth response before settled down within 2 seconds. Howerver, SMC and ASMC are
able to track the robot joint position with unknown dynamics and payload of the robot fingers.
In ASMC, adaptation is used to estimate the dynamics. The ASMC estimation parameters
of all fingers are presented in Figures 3.20 and 3.21. It is shown in these figures that the
estimation process is fast to achieve the adaptation parameters of the system which are used in
the parameter free regressor dynamics.
73
3.5 Sliding and adaptive sliding mode control
40
F1 q2 (deg)
F1 q1 (deg)
40
20
0
10
11
12
13
F2 q2 (deg)
F2 q1 (deg)
20
0
11
12
13
12
13
11
12
13
11
12
13
5
10
Time (sec)
15
20
0
10
40
F3 q2 (deg)
40
F3 q1 (deg)
11
40
10
20
0
10
11
12
13
20
0
10
30
sp2 (deg)
30
sp1 (deg)
0
10
40
20
10
0
20
0
5
10
Time (sec)
15
20
10
0
0
Figure 3.17.: Joint tracking results of the Barrett Hand with SMC.
74
40
F1 q2 (deg)
F1 q1 (deg)
3.5 Sliding and adaptive sliding mode control
20
12
20
11
12
F3 q2 (deg)
20
0
10
11
12
20
10
0
13
11
12
13
11
12
13
40
20
30
sp2 (deg)
sp1 (deg)
30
12
20
0
10
13
11
40
0
10
13
40
20
0
10
13
40
0
10
F3 q1 (deg)
11
F2 q2 (deg)
F2 q1 (deg)
0
10
40
0
5
Time (sec)
10
20
10
0
0
5
Time (sec)
10
Figure 3.18.: Joint tracking results of the Barrett Hand with ASMC.
75
20
F1 eq2 (deg)
F1 eq1 (deg)
3.5 Sliding and adaptive sliding mode control
10
0
−10
10
11
12
13
20
10
0
10
11
12
13
11
12
13
11
12
13
F1 eq1 (deg)
F2 eq1 (deg)
30
20
10
0
12
13
20
10
0
−10
10
5
0
30
20
10
0
11
12
13
1
0.5
0
0
10
10
10
sp2 e (deg)
sp1 e (deg)
11
F3 eq2 (deg)
F3 eq1 (deg)
−10
10
15
5
Time (sec)
10
1
SMC
ASMC
0.5
0
0
5
Time (sec)
10
Figure 3.19.: Comparison of Barrett finger tracking errors obtained with SMC and ASMC
controllers.
76
3.5 Sliding and adaptive sliding mode control
1.2
Estimation parameter σi (F1,F2)
1
0.8
0.6
σ
1
σ
0.4
2
σ3
σ4
0.2
σ5
σ6
0
σ7
−0.2
0
2
4
6
8
10
Time (sec)
Figure 3.20.: Parameter estimation of σi with adaptive update law of Barrett finger F1 and F2 .
1.2
Estimation parameter σi (F3)
1
0.8
σ1
0.6
σ2
0.4
σ3
σ4
0.2
σ5
0
−0.2
0
2
4
6
8
10
Time (sec)
Figure 3.21.: Parameter estimation of σi with adaptive update law of Barrett finger F3 .
77
3.5 Sliding and adaptive sliding mode control
s1(F1)
s2(F1)
0.2
s3(F1)
s1(F2)
0.15
s2(F2)
s3(F2)
Sliding function si (deg)
0.1
s1(F3)
0.05
s2(F3)
0
−0.05
−0.1
−0.15
−0.2
0
5
10
Time (sec)
15
20
Figure 3.22.: Sliding function si of the Barrett hand.
60
40
20
τi Fj
0
τ1F1
−20
τ2F1
τ3F1
τ1F2
−40
τ2F2
τ3F2
−60
τ1F3
τ2F3
−80
0
5
10
Time (sec)
15
20
Figure 3.23.: Joint torque τi calculated with Adaptive-SMC law for the Barrett hand.
78
3.6 Higher order sliding mode
3.6. Higher order sliding mode
3.6.1. Background
Sliding mode control (SMC) is a successful robust control method which is capable of dealing
with uncertainties and disturbances, and results in better transient performance and quicker
response. In this method, the states of the system are forced to move along a chosen manifold
in state space, called the sliding surfaces which are discussed explicitly in chapter 3. When
the system state reaches the surface, the system becomes independent of external disturbances
and parametric uncertainties. This is called the first order or classical SMC control. The
SMC is proven against uncertainties but has disadvantages due to the discontinuous nature
of the control law. The discontinuous nature excites unexpected high-frequency dynamics
and due to the inability to estimate the boundary of the uncertainties. The chattering is the
consequence of the discontinuous control signal which is the high frequency finite amplitude.
Chattering problem may result in saturation and heat up the mechanical parts of the hand fingers
or joint actuators. The problems of chattering and unmodelled perturbation in nonlinear system
has been previously investigated [91]. Various methods have been mentioned to prevent or
reduce chattering in literature. One approach is the elimination of the discontinuous nature
by saturation with a compact neighbourhood of the switching surface [92],[93]. It helps to
increase the tracking performance with chattering reduction. Other techniques included the
design of the observer, fuzzy method for nonlinear approximation of the boundary layer of the
sliding surface to reduce the chattering problem [94],[95].
Recently, higher order sliding mode control (HOSM) methods are being used to reduce the
chattering effect in nonlinear system and to ensure the convergence of system state to the desired state in finite time [96]. HOSM is an extension of the sliding variable required to accelerate the system state towards the sliding surface. The idea of the HOSM is not only to
limit the sliding surface but also converges higher order derivatives to zero. For an r − th order
sliding mode control, the (r − 1) derivatives of the control input are continuous everywhere
except on the sliding surface. In this case, the SMC based sliding function converge towards
the higher order time derivatives of the sliding variable rather than the first order time derivative. The HOSM type controller maintains the distinctive robust structures of the sliding mode
techniques and efficient in reducing chattering of the control signal.
3.6.2. Higher Order Sliding Mode structure
Levant [96] presented a method to design arbitrary order sliding mode controllers with finite
time convergence for Single Input Single Output (SISO) systems in. A two part integral sliding
mode control is proposed by Laghrouche et al [97] to deal with the finite time stabilization
problem and uncertainty elimination problem separately. Dinuzzo et al [98] proposed another
79
3.6 Higher order sliding mode
method, where the problem of HOSM is treated as robust problem. Defoort et al [99] have
developed a robust MIMO HOSM controller, using a constructive algorithm with geometric
homogeneity based finite time stabilisation of an integrator chain. Adaptive control is proposed
and implemented with HOSM controller in this section. For explaining HOSM, consider the
nonlinear system as,
ẋ = f (x,t) + g(x,t)u
y = s(x,t)
.
(3.44)
It is assumed that, the relative degree r of system (3.44) with respect to the sliding variable s(t)
is a known constant, and the associated zero dynamics are stable. The HOSM control objective
is to reach s = 0 in finite time and hold it by discontinuous feedback function of s(t) and its
derivatives ṡ, s̈ . . . . . . . . . sr−1 . The r − th order sliding mode is defined as below:
Definition 4.1:
Consider (3.44) and let the system be closed by some discontinuous feedback. Then, provided
that s, ṡ, s̈ . . . . . . . . . sr−1 are continuous functions, and the set
sr = x k s, ṡ, s̈ . . . . . . . . . sr−1 = 0
(3.45)
is called the r − th order sliding set. The mode s ≡ 0 is established after finite time transient.
The control appears at r − th order sliding set as,
sr = h(x,t) + g(x,t)u,
where h(x,t) = sr |u=0 , g(x,t) =
∂ r
∂us
(3.46)
6= 0. For some Km , KM ,C > 0
0 < Km ≤
∂ r
s ≤ KM sr |u=0 ≤ C,
∂u
(3.47)
which is true locally. From (3.46) and (3.47),
sr ∈ [−C,C] + [Km , KM ]u.
(3.48)
The closed differential inclusion is realised here in the sense of Filippov [91, 94]. The vector
on the right hand side is enlarged to satisfy the convexity and semi continuity conditions. The
differential inclusion does not depend on (3.44) but governed by r,C, Km , KM . The finite time
stabilisation of (3.47) at the origin solves the control problem for system (3.44) considering
(3.35). Let i = 0, . . . . . . ., r − 1. Define,
σ o,r = s
No,r = |s|Ψo,r =
σ o,r
= sign(s)
N o,r
80
3.6 Higher order sliding mode
r−i/(r−i+1)
σ i,r = si + βi Ni−1,r
r−i/(r−i+1)
Ni,r= |si | + βi Ni−1,r
Ψi−1,r
Ψi−1,r =
σi,r
,
Ni,r
where β 1 , . . . . . . . . . . . . ., β r−1 are positive numbers.
Proposition 4.1. Ni,r is positive definite i.e. Ni,r = 0 iff s, ṡ, s̈ . . . . . . . . . sr−1 = 0. The inequality
|Ψi,r | ≤ 1 holds everywhere when Ni,r > 0. The function Ψi,r s, ṡ, . . . . . . . . . , sr−1 is
continuous everywhere except the manifold s, ṡ, . . . . . . . . . , sr−1 = 0.
If β1 , . . . . . . . . .,βr−1 > 0 and chosen large in the sliding set, the controller can be defined as,
uh = −α Ψi−1,r (s, ṡ, s̈ . . . . . . . . . , sr−1 )
(3.49)
which provides the finite time stability of (3.36) and (3.37). The finite time r−sliding set
s ≡ 0 is established in (3.48) and (3.49). Each choice of β1 , . . . . . . . . .,βr−1 > 0 implements a
controller which is applicable to (3.49) of relative degree r. The parameter α is chosen for any
C, Km , KM and it is negative with
∂ r
∂us
< 0.
Considering the above properties, a second order sliding controller is expressed as follows:
1
1
uA = −α ṡ + |s| 2 sign (s) /(|ṡ| + |s| 2 .
(3.50)
The control law in (3.50) is a continuous function of time everywhere in system (3.44) except
the sliding manifold (3.45). Another second order sliding mode controller B is similar to (3.50)
and have the form of,
1
1
uB = −α sign ṡ + |s| 2 sign (s) / |ṡ| + |s| 2 .
(3.51)
In (3.50) and (3.51), the sliding variable s is defined as the actual error of the system state. The
term α is the constant sliding gain.
Consider another way to implement the controller in second order sliding mode. Recall (3.45)
i.e. the control task is to keep s ≡ 0. For second order sliding, s̈ is the new sliding variable
where the control is applied. In this case, the time derivative of the control u̇ is considered as
the actual control variable which steers the sliding variable s(t) to zero, ensuring s = 0. The
advantage is that the plant control u(t) becomes continuous in this mode and the chattering
can be avoided. There are few robust algorithms available to solve the problem. Sub-optimal,
twisting and super-twisting algorithms have been used previously in the literature [100],[101].
Recently, the super-twisting algorithm has become popular for the control of uncertain nonlinear systems [102],[101]. It is also a second order sliding mode control which ensure the
finite time convergence of the sliding variable and its derivative to zero. The super-twisting
algorithm showed robustness in control to robot manipulators. This algorithm has the advan-
81
3.6 Higher order sliding mode
tage of reduced chattering compared to the sliding mode control. Moreover, it offers an simple
algorithm structure which does not require the derivatives of the sliding surface function compared to other second order sliding mode controllers. It requires the measurement of the sliding
surface s(t) only. To implement the super-twisting algorithm, specify the second order sliding
variable as,
s2 = {x ∈ O : s(x,t) = ṡ(x,t) = 0} .
Define the second order sliding problem through an auxiliary system as below:
ẏ1 = y2
(3.52)
ẏ2 = χ (x,t) + ξ (x,t)v
where [y1
y2 ]T = [s ṡ]T . Equation (3.52) is defined as an auxiliary system to reduce the
dynamics system to the stabilisation in finite time. The term v is the derivative of the control u
where v = u̇.
χ (x,t) =
∂
∂
ṡ(x,t, u) + ṡ(x,t, u) { f (x) + g(x)u}
∂t
∂x
ξ (x,t) =
Equation (3.53) is valid on 0 < Km ≤|
mode
∂ r
∂ u s̈
6= 0 and
(3.53)
∂
ṡ(x,t, u)
∂u
δ s̈
δu
≤ KM and the equivalent control exists in the sliding
∂
∂
| ∂ t ṡ(x,t, u) + ∂ x ṡ(x,t, u) { f (x) + g(x)u} | ≤ Ψ. The controller based on the
super twisting algorithm is composed as
uC =
ˆ
u̇1 (t)dt + u2 (t),
(3.54)
where the first term is the time derivative of the control input uC and the second term is the
continuous function of the available sliding variable. Both terms are expressed as,
u̇1 (t) =
−u
i f |u| > uM
ρ
u2 (t) =
(3.55)
−W sign(y1 ) i f |u| > uM
−λs εo sign(y1 )
−λs |y1 |ρ sign(y1 )
i f y1 > εo
i f y1 ≤ εo
.
(3.56)
Sufficient conditions for convergence with the super-twisted algorithm are:
KM
Ψ
/Km , λs2 ≥ 4Ψ 2
W>
Km
Km
W +Ψ
, 0 < ρ < 0.2
W −Ψ
(3.57)
The super-twisting algorithm does not require any knowledge on the time derivative of the
sliding variable. Due to its extreme robustness, this control method is successfully applied to
82
3.6 Higher order sliding mode
Figure 3.24.: Super twisting algorithm phase trajectory
the tracking problem in nonlinear system such as robot manipulator. The phase trajectory of
the super-twisting algorithm is given in Figure 3.24.
3.6.3. Higher order sliding mode control laws
The first second order sliding controller A is chosen for the Barrett hand and is recalled from
(3.50) as,
1
1
uA = −α ṡ + |s| 2 sign (s) /(|ṡ| + |s| 2 ,
(3.58)
and the second controller B is used in the Barrett hand as,
1
1
uB = −α sign ṡ + |s| 2 sign (s) / |ṡ| + |s| 2 .
(3.59)
For illustrating (3.58) and (3.59), consider the hand dynamics properties from (2.15) below ,
M f (q)q̈ +C f (q, q̇)q̇ + G f (q) = u.
Now define,
q̇ = ω
−1
ω̇ = −M −1
f (q)C f (q, ω ) + M f (q)(u − G f (q)).
−1
If the system dynamics are assumed uncertain then, −M −1
f (q)C f (q, ω ) ∈ [−F, F] and M f (q)(u−
G f (q)) ∈ [G1 , G2 ]. Considering system (3.44), controllers (3.58) and (3.59) are defined when
83
3.6 Higher order sliding mode
α satisfies,
1
α > max [G1 , G2 ]−1 (η + [−F, F] sign (y (t)) + a) ,
1
where a = 0.5ṡ|s|− 2 sign(s)sign (y(y(t))) , η > 0, y(t) = ṡ+|s| 2 sign(s), then the sliding variable
s(t) reaches zero in finite time.
The super twisting based controller C is designed for the Barrett Hand as,
uC =
ˆ
u̇1 (t)dt + u2 (t).
(3.60)
−u
(3.61)
The first term u1 is expressed as,
u̇1 (t) =
i f |u| > uM
−W sign(s) i f |u| > uM
and the continuous term of the sliding variable u2 is defined as,
u2 (t) =
ρ
i f s > εo
|ρ sign(s)
i f s ≤ εo
−λs εo sign(s)
−λs |y1
(3.62)
satisfying the conditions of (3.57).
3.6.4. Higher Order Sliding Mode Control with adaptation (HOSMA)
The idea of adaptive higher order sliding arises to estimate unknown dynamics parameters
online along with eliminating the problems of classical or first order SMC. The application
of SMC offers robustness but does not guarantee convergence in finite time i.e. the control
is applied with infinite switching action and show discontinuity in the system. The high gain
control switching of SMC control input converges towards a very high value during transient
time. This discontinuous fast switching action also results in chattering effect due to time delay.
The chattering may introduce unmodelled higher order dynamics which leads to instability of
the system. HOSM is used to remove the chattering problem by adding continuous control
inside a fixed or variable boundary layer near sliding variable or considering the time derivative
of control input as new control variable. The addition of adaptive control provides global
stability in HOSM based system and introduced as HOSMA control. The HOSMA based
controller is composed of two parts given as,
u = ua + uhs ,
(3.63)
where hs = A, B or C. The control input ua is the ASMC law of (3.42). Only hand dynamic parameters are estimated by the adaptation which is strong in compensating unknown dynamics.
Three HOSM laws for uhs are derived in (3.58)-(3.62). The robustness of HOSM and HOSMA
84
3.6 Higher order sliding mode
controllers are analysed by implementing the laws in the Barrett hand.
3.6.5. HOSM and HOSMA control implementation to planar finger
The control structure of HOSM is similar to the SMC controller. The SMC introduces the
chattering in the control input. This chattering may cause damage to the joint actuators. The
HOSM and HOSMA controllers are applied to a planar link to eliminate chattering and improve
tracking performance. The control structure of HOSM is presented in Figure 3.25.
The main feature of HOSMA is its tracking efficiency, ability to produce chattering free torque
and the convergence of the system state trajectories towards equilibrium considering unknown
dynamic parameters and external disturbances. For HOSMA control, the ’Linearization block’
is replaced with the regressor matrix of . The control law A of (3.58) is applied for the simulation. The HOSM control parameter is selected as α = 1.3 by trial and error. The other
parameters are: reference gain, λ = 0.3, and the adaptation gain, Γ = 0.7 for HOSMA. All
these parameters are obtained by trial and error.
Figure 3.25.: Control structure of HOSM based control for a planar finger.
In Figures 3.26, the tracking results obtained with HOSM and HOSMA controllers are compared with SMC. The sinusoidal inputs are applied in this case. The maximum errors obtained with HOSMA are ∼ 1%. The error percentages are improved with HOSM (∼ 1.1%)
and HOSMA (∼ 1%) compared to SMC (∼ 4%) based controller. Random noise inputs are
added to the planar dynamics and the HOSMA controller is applied to obtain the tracking responses presented in Figure 3.27. In this case, the maximum errors found from joint q1 are
85
3.6 Higher order sliding mode
2.5
2.315
q1 (rad)
2
2.31
7.4 7.5 7.6
1.5
1
0.5
0
2
4
6
8
10
2.315
2
q2 (rad)
2.31
2.305
1.5
7.4 7.5 7.6
Desired
HOSMA
HOSM
SMC
1
0.5
0
2
4
6
8
10
Figure 3.26.: Comparison of Joint position between HOSMA and other controllers
3% and these are particularly visible at the peak of the sinusoidal input. The error percentages
obtained from q2 are ∼ 2%. The overall error percentages are obtained within 1.1 − 4% for
both noise and noise free dynamics.
The control torque (τi ) and the sliding function (si ) responses obtained with HOSM and HOSMA
are compared to SMC in Figure 3.28. The chattering in torques τi are large with SMC due to
the presence of the first order sliding mode with discontinuity. The chattering is present almost
everywhere in the control torque signal. The chatterings are improved with HOSM controller
and are visible in few locations of the control signals. The chatterings are not visible with the
implementation of HOSMA controller and the torque signal becomes smoother. The torques
are obtained within the range of −5 to +5 Nm. The sliding function s(t) converge very close
the sliding surface s = 0 with HOSMA. The sliding function calculated with SMC and ASMC
controller do not slide along the sliding surface.
86
3.7 Results and discussions
2.5
q1 (rad)
2
1.5
1
0.5
0
2
4
6
8
10
2.5
q2 (rad)
2
1.5
1
Desired
Actual
0.5
0
2
4
6
8
10
Time (sec)
Figure 3.27.: Planar joint tracking error obtained with HOSMA controller (with noise).
3.6.6. HOSMA control implementation to Barrett finger
The controllers A, B and C derived in (3.58)-(3.63) are implemented to the Barrett hand. The
Barrett hand finger F 3 is selected for the implementation of the controllers. The adaptations
are added with the controllers A, B and C. The control structure is similar to the Figure 3.25.
For controller A and B: the parameters are: adaptive filter gain, λ = 8, the adaptation gain,
Γ = 2, HOSM gain, α = 2.1. The super twisted algorithm based controller C parameters are:
W = 0.0015, uM = 1, ρ = 0.1, λs = 2, εo = 0.001. All control parameters for the controllers A,
B and C are obtained through trial and error. The control torque u calculated of each controllers
are applied to the Barrett hand SimMechanics model to see the tracking performance of the
finger joints.
3.7. Results and discussions
The controllers are applied in HOSM and HOSMA mode. The Figures 3.29 and 3.30 are
obtained with joint tracking of finger F3 for desired trajectory qd2 = 45o and qd3 = 15o . In
Figure 3.29, the difference between actual and desired responses of q2 and q3 are found between
0.02 ∼ 0.05 deg. The HOSMA based joint responses are available in Figure 3.30. In this case,
87
3.7 Results and discussions
10
10
τ2 (Nm)
τ1 (Nm)
SMC
5
0
−5
0
2
4
6
8
0
−5
10
0
10
4
5
2
τ2 (Nm)
τ1 (Nm)
−10
5
0
−5
−10
2
4
6
8
10
HOSMA
HOSM
0
−2
0
2
4
6
8
−4
10
0.5
0
2
4
6
8
10
HOSMA
0.4
s2 (rad/s)
s1 (rad/s)
SMC
0
0.2
HOSM
0
−0.2
−0.5
0
2
4
6
Time (sec)
8
10
−0.4
0
2
4
6
Time (sec)
8
10
Figure 3.28.: Comparison of control signal and sliding function between HOSMA and other
controllers
88
3.7 Results and discussions
50
20
Desired
Actual
15
F3 q3 (deg)
F3 q2 (deg)
40
30
20
10
5
10
0
0
2
4
6
Time (sec)
8
0
10
0
2
4
6
Time (sec)
8
10
Figure 3.29.: Joint positions q2 and q3 of finger F 3 with controller A: HOSM
the tracking errors are reduced 0.01 ∼ 0.02 deg compared to the HOSM mode.
In Figures 3.31-3.33, noise free and noise based joint tracking errors are presented. The three
controllers A, B and C are applied for both HOSM and HOSMA case. The responses without
noises have less tracking error with HOSMA compared to HOSM mode. The tracking errors including noises are also found with less error. It implies that the noise dynamics is compensated
by the controllers and the actual joint position followed the desired position. The minimum
(emin ) and maximum (emax ) tracking errors for all controller are calculated and plotted in the
Figure 3.34.
In Figure 3.34, the first column figures are obtained with tracking errors of q2 and q3 for HOSM.
50
16
40
14
12
F3 q3 (deg)
F3 q2 (deg)
30
20
10
8
6
10
Desired
4
Actual
2
0
−10
0
2
4
6
Time (sec)
8
10
0
0
5
Time (sec)
10
Figure 3.30.: Joint positions q2 and q3 of finger F 3 with controller A: HOSMA
89
3.7 Results and discussions
0.2
0.1
Joint error e1 and e2 (deg)
Joint errors e (deg)
0
−0.2
−0.4
eq2
eq3
−0.6
eq2 (noise)
eq3 (noise)
−0.8
0
2
4
6
Time (sec)
8
0
−0.1
eq3
−0.3
eq2 (noise)
−0.4
eq3 (noise)
−0.5
10
eq2
−0.2
0
2
4
6
Time (sec)
8
10
Figure 3.31.: Joint errors q2 and q3 of finger F 3 with controller A : HOSM (left) and HOSMA
(right).
0.1
0.1
0
0
−0.2
Joint errors e (deg)
Joint errors e (deg)
−0.1
−0.3
−0.4
eq2
−0.5
eq3
eq2 (noise)
−0.7
eq3 (noise)
2
4
6
Time (sec)
−0.2
eq2
eq3
−0.3
−0.6
−0.8
0
−0.1
8
eq2 (noise)
eq3 (noise)
−0.4
10
0
2
4
6
Time (sec)
8
10
Figure 3.32.: Joint errors q2 and q3 of finger F 3 with controller B : HOSM (Left) and
HOSMA (Right).
90
3.7 Results and discussions
0.1
0.05
0.05
0
0
Joint errors e (deg)
Joint errors e (deg)
−0.05
−0.1
−0.15
eq2
−0.2
eq3
−0.05
−0.1
−0.15
−0.2
eq2
−0.25
eq3
−0.25
eq2 (noise)
−0.3
eq2 (noise)
−0.3
eq3 (noise)
−0.35
eq3 (noise)
−0.35
0
2
4
6
Time (sec)
8
10
−0.4
0
2
4
6
Time (sec)
8
10
Figure 3.33.: Joint errors q2 and q3 of finger F 3 with super twisted controller C : HOSM
(Left) and HOSMA (Right).
The second column is obtained with HOSMA based tracking errors. From the left column, the
values of emax are visible from noise based tracking errors. The average emax is calculated as
0.7 deg. The average difference of emax between actual and actual (noise) are 0.3 − 0.4 deg. The
average difference between all emin are between 0.01 ∼ 0.04 deg. The differences imply that
tracking errors increase with noise but errors converge very close to zero for both noise and
noise free case.
The right column sub figures show the results of HOSMA with adaptation. In this case, the
average emax is found as 0.4 deg. The average difference of emax between noise and noise free
error signals are 0.22 − 0.25 deg. The average difference between all emin for HOSMA are
between 0.01 ∼ 0.043 deg. The values of emax and emin are less in HOSM compared to HOSM
for all controllers. The analysis from the Figure 3.34 depicts that HOSMA based controllers
show less tracking errors for both noise and noise free finger dynamics. The HOSMA controller
not only compensates the noises but also estimates the dynamic parameters of the system.
The joint torque results are presented in Figures 3.35-3.37. The chattering is improved in both
modes but the control inputs are found to be smoother with adaptation. The control torques
presented in Figure 3.35 are obtained through controller A. In Figure 3.35 (left), the control
chattering appear until 1 second and the signal becomes smooth after that. The values of
torque changes in response to the noises for both signals u1 and u2 but chattering reduce within
1 second. The control torques on the right are obtained with HOSMA mode. The both control
signals becomes smooth within 1 second and no high chattering is visible. The noise based
torques are also found with less discontinuity. The control torque responses obtained through
HOSMA show less chattering compared to HOSM based signals.
The results obtained in Figures 3.29-3.36 are summarised in the Table 3.3 to see the perfor-
91
3.7 Results and discussions
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
q_2 q_2 (noise) q_3 q_3 (noise)
Controller A (HOSM)
0.8
0.8
0.6
0.6
Error (deg)
Error (deg)
0
0.4
0.2
0
0.4
0.2
0
q_2 q_2 (noise) q_3 q_3 (noise)
Controller B (HOSM)
0.8
q_2 q_2 (noise) q_3 q_3 (noise)
Controller A (HOSMA)
q_2 q_2 (noise) q_3 q_3 (noise)
Controller B (HOSMA)
1
Min error
Max error
0.6
0.4
0.5
0.2
0
0
q_2 q_2 (noise) q_3 q_3 (noise)
Controller C (HOSM)
q_2 q_2 (noise) q_3 q_3 (noise)
Controller C (HOSMA)
Figure 3.34.: Minimum and maximum tracking errors obtained from controllers A, B and C in
HOSM and HOSMA mode.
100
u1
80
80
u2
60
60
u1 (noise)
40
u2 (noise)
Joint torque uA (Nm)
Joint torque uA (Nm)
100
40
20
0
−20
−40
20
0
−20
−40
−60
−60
−80
−80
−100
0
0.5
1
1.5
Time (sec)
2
2.5
−100
0
5
Time (sec)
10
Figure 3.35.: Joint torques of finger F 3 with controller A : HOSM (Left) and HOSMA
(Right).
92
100
100
80
80
60
60
Joint torque uB (Nm)
Joint torque uB (Nm)
3.7 Results and discussions
40
20
0
−20
−40
u1 (noise)
20
u2 (noise)
0
−20
−40
−60
−80
−80
5
Time (sec)
10
u2
40
−60
−100
0
u1
−100
0
1
2
3
Time (sec)
4
5
Figure 3.36.: Joint torques of finger F 3 with controler B : HOSM (Left) and HOSMA (Right).
mances of three HOSM based controllers for HOSM and HOSMA implementation.
Table 3.3.: Tracking error and torque analysis of Barrett finger F3 with HOSM and HOSMA.
Response
profiles
HOSM
Joint
error
The error emax found with
noise and for the noise free
case was 8% and 5% respectively. The convergences of
the actual trajectories to the final values were not affected
by noise. This implies that
the minimum errors emin are
found between 1 − 2% of the
desired response. In spite
of the little variation with
noises, the controller performances are good in achieving
reference position.
Control
torque
The chattering can be seen at
the beginning (before 2 seconds) of the simulation. The
noise added to the dynamics
puts more effort in control signals but torques are obtained
smoother for both noise and
noise free cases.
HOSMA
The controllers are tested in
HOSMA mode with adaptation. The errors obtained from
noise and noise free cases
are found with an average
value of 4.5%. For cases with
noise, errors do not increase
as observed with HOSMA.
The consistent performance of
HOSMA based controllers are
proved by the steady error percentage. The minimum error
emin was also found between
0.5 − 1.5% of the desired trajectory.
The control signals are obtained smoother in this mode.
The chattering is compensated
with noise and with the noise
free case for the simulation.
The control torque varies due
to the noise. The extra control
efforts cause small chattering.
According to analysis of the the tracking errors and the control torques from Table 3.3, the
93
3.7 Results and discussions
proposed three controllers implemented in HOSM and HOSMA mode show robust tracking
performances against uncertainties and noise. The controllers exhibit very less chattering in
HOSM and HOSMA mode.
The robotic finger dynamics contain non linearities and unknown joint friction parameters
which restrict the robot dynamics to achieve the desired location in real case. The SMC based
controller have robust nature to control a non linear robotic finger but high frequency chattering
cause problems to the joint actuators. The SMC controller is applied in higher order to reduce
the chattering and deliver steady tracking performance. An adaptation is included with HOSM
to estimate the imprecise dynamic parameters of the finger. The both HOSM and HOSMA
based controllers are applied to the SimMechanics Barrett finger model. The noises are added
to bring uncertainties similar to the real robot fingers. The results obtained from the simulations
show that the implemented controllers are able to provide chattering free torque and consistent
tracking performance against all structured and unstructured uncertainties.
3.7.1. Comparison of the controllers
In this chapter, three type of controllers are proposed and implemented for joint control of the
robot hand. Two type of models are used in this case: the two link planar finger and the Barrett
hand (Modelled with CAD design of real Barrett hand). The CTC methods are first applied
to the Barrett hand to see the tracking performance. This controller is unable to deal with
uncertainties exist in robot hand dynamics. Moreover, tracking problems play an important
role in high precision manipulation with multi-fingered hand. The SMC and ASMC controllers
is proposed and implemented to reduce the tracking errors but introduce chattering in control
signal. The HOSM and HOSMA based controllers are proposed and implemented to achieve
steady tracking performance and reduce the chattering of control signal considering the robot
uncertainties. The controller performances are compared and summarised in the Table 3.4.
94
3.7 Results and discussions
Table 3.4.: Comparison of the implemented controllers applied to the planar and the Barrett
finger.
Controller
name
CTC
SMC
and
ASMC
HOSM
and
HOSMA
Features and performance
The CTC method is well suited to known system dynamics. The non linear
dynamics of the robotic hand is assumed to be known in this case. The CTC
based controller is formulated to cancel the non linearities and linearise the
Barrett hand dynamics. The proportional and the derivative gains are applied to control the joint positions and to achieve the desired joint values.
The controller is applied to both simulink and SimMechanics based Barrett
hand to assess the tracking performance of the joints. The tracking errors
are converged to zero exponentially with quick settling time. The SimMechanics model appeared to be slower than simulink model due to the
presence of more components but have similarities to the real Barrett hand.
The controller is unable to estimate the hand dynamic parameters precisely
considering uncertainties.
The SMC controller steers the state trajectory to the equilibrium point of
the system regardless of the uncertainties. The SMC based controllers
are derived for planar and Barrett hand. The tracking error percentages
are found less (∼ 5%) with planar link. The overshoots are found large
(5 − 15%) for Barrett hand with SMC. The ASMC controller is applied
to the hand to improve the tracking performance. This helped to reduce
the overshoot and to decrease the tracking errors between (2 − 8%) of the
desired response. The control chattering found for both planar and Barrett hand are responsible of damaging the joint actuator or the object in
practical situation.
The HOSM based controller is proposed to integrate with SMC mode. This
controller is not only able to steer the nonlinear system state trajectories
along the higher order sliding surface but also reduces the control chattering. The HOSM is applied to the planar and the Barrett hand. The tracking
errors obtained with the planar link are ∼ 1.1% for HOSM and ∼ 1% for
HOSMA. The control chattering is reduced more with HOSMA mode. The
Barrett finger has 8% (with noise) and 5% (without noise) tracking errors
obtained with HOSM and HOSMA respectively. The control chattering of
the Barrett finger is reduced compared to the SMC based controllers. The
results obtained with HOSMA show efficiencies in compensating noise,
estimating unknown dynamic parameters and reducing chattering with less
tracking errors and sustain robustness. The performance of the HOSMA
against uncertainties would be suitable to apply into the real robot hand.
95
4. Interactional kinematics, dynamics and
force control of the Barrett hand
4.1. Introduction
The general aim in grasping and manipulation tasks is to grasp an object and manipulate it by
a robotic hand. There will be no usage in an articulated multi-fingered hand if it cannot deal
with an unknown or dynamically changing environment. It also needs to be able to cope with
varying environmental properties such as soft objects (e.g. orange, rubber ball) to hard objects
(eg. cylinder, metal box). Predefined environment properties are not suitable when the hand is
used for grasping and manipulation. The visual recognition of the object information, visual
tracking and three dimensional pose estimation are the most advanced technologies in terms of
using external sensors to assist a robot to become familiar with the environment, environmental
changes and uncertainties. Possible scenarios which can be presented range from manipulation
tasks in nuclear environment, tools fixing tasks in space-station, search and rescue tasks in
hazardous environment, to name but a few. Another growing area confirmed by the latest
industrial activities, is the application of force sensors mounted on the hand to allow regulation
of the interaction forces between the hand and the environment. Force sensors are mounted on
fingertips of each finger of a robot hand and able to measure the forces exerted on the fingertips.
These measurements can be used as feedback for developing controllers. Most of the current
industrial hands consist of force sensors to estimate the contact force from the environment
and to control accordingly. Researchers have been working on force control application for the
past 30 years [103],[104],[105],[106]. The original aim was to limit the maximum amount of
forces that a robot manipulator could exert on the environment. However, integration of force
sensors on robotic end-effectors have been available for the last few years [107, 2]. Classical
force control based strategies are not feasible to compensate the hand object interaction due to
the absence of online adaptation mechanism or inability to determine the compliant behaviour
of the coupled robot-object during interaction. Modern research has been focusing on control
strategies like impedance or adaptation based control [108],[109],[110]. This type of method
converts the robotic hand into a compliant one with feedback control.
Interactional modelling is the requirement to implement any control for manipulation. When
96
4.2 Contact mechanics
a random object is grasped, it is not straightforward to pre-estimate its geometric and stiffness
properties. The interactional model determines the contact force between the robot and the
environment. Different types of object stiffness can be applied to see the changes in the contact
forces. The accuracy of the contact force depends on factors such as the correct structure
of the model, the geometrical shape of the object and the robot hand fingertip, the stiffness
of the object and the fingertip. The interactional model is the basis of post-grasp control of
the multi-fingered robotic hand. When the contact is made at the grasp state, the fingertip
position becomes constrained along certain directions by the object and a force is generated.
The compliance behaviour of the robotic hand and the object is used to control this force. This
force allows the object to be manipulated at a desired configuration.
In this chapter, the general interaction between the multi-fingered Barrett hand and the object
is modelled to calculate the contact force. To accomplish grasping and manipulation tasks, the
contact force needs to be optimised. If the force is not controlled, it may cause damage to the
object and the hand and its joint motors resulting in unsuccessful grasping and manipulation
activities. Therefore, control strategies are extended to the force domain with impedance techniques in this chapter. Several established impedance methods are presented to optimise the
contact force. Position and force based impedance controllers are developed and implemented
on the Barrett Hand. The ability to interact with an unknown object’s environment is still a
challenge to be successfully overcome by the force sensors. For a well known environment,
force sensors can provide correct measurement. When the environment is partially known or
unknown, force sensors itself is not enough to deliver accurate force feedback. The integration
of adaptation mechanism allows the force sensors to be familiar with the environment at every
state (from beginning to the end) of the tasks. Considering these, adaptation based impedance
control is implemented to assess the performance of the Barrett hand in dealing with contact
compliance.
4.2. Contact mechanics
There are different ways of modelling the interactions between two bodies. Most of the controllers focus on contacts in a static environment. Grasping and manipulation of rigid bodies
can be well presented by static contact. The interaction between a Barrett finger and a fixed
environment is modelled in this section. The fingertips of the hand are assumed to be rigid for
modelling but the object and environment are considered with varying stiffness properties. It
is assumed that the position, orientation and shape of the object are known through the sensor attached to the hand. The interaction is modelled to show how the contact force and joint
torque can be calculated before and after contact considering different stiffness values of the
object. After contact, the reaction forces exerted on the finger are sensed by the fingertip. These
reaction forces vary according to the object stiffness.
97
4.2 Contact mechanics
The two link revolute Barrett finger F3 are considered to illustrate the contact model. The
dynamics of the finger is given below,
M f (q)q̈ +C f (q, q̇)q̇ + G f (q) = τ ,
(4.1)
where q(t), q̇(t), q̈(t) ∈ R2 represent the angular position, velocity and acceleration of the finger
respectively. The terms M f ,C f , G f are the matrix elements of the robot hand dynamics and τ
represents the joint input torque. The Cartesian position of the fingertip is denoted by X f =
[x f , y f , z f ]T ∈ R2 . This can be linked to the joint space through the kinematic relationship as
follows,
Ẋ f = J f (q)q̇,
(4.2)
where J f ∈ R2×2 is the manipulator Jacobian. The compliant robot-object system structure is
given in Figure 4.1. The term z f and zc are the fingertip and object position respectively in
the z direction with respect to the hand base frame Cb . The position vector r f and ro maps the
coordinate to X f and Xc .
Figure 4.1.: Contact mechanics between F3 and an object with linear.
The object is considered as a mass-spring system with the stiffness values between, Ks = 10 −
50 kN/m. The unforced object dynamics is given as,
mo z̈o + Ks (zo − zc ) = 0,
(4.3)
98
4.2 Contact mechanics
where zo (t), żo (t), z̈o (t) represent the displacement, the velocity and acceleration of the object
in the normal direction respectively. The object mass is mo and zc is the initial unperturbed
position of the object. It is assumed that z f (t) and zc (t) are bounded as follows,
ζzf ≤ zf
zo ≤ ζ zo ,
(4.4)
where ζ z f is a constant which is determined by the minimum coordinates of the finger F3 along
z axis and ζ zo is also a positive constant. The lower bound of z f is in accordance with the finger
geometry and the upper limit of zo is based on the actual fact that the object is attached by spring
with stiffness ranged from .
Consider the fingertip of F3 as it makes contact with the object. The impact between the finger
and the object occurs only when z f ≥ zo . This impact generate equal and opposite force between
the coupled system. The force exerted on the object is represented as,
Fo = Ks Λ(z f − zo ),
(4.5)
where the term Λ (z f , zo )is defined as,
1
Λ=
0
z f ≥ zm
.
(4.6)
z f ≤ zm
It is noted from (4.6) that, the impact force Fo depends on the values of Λ. Fo is zero before the
contact is made. When, the F3 fingertip hits the object, the first condition of (4.6) becomes true
and impact force on the object is determined. Considering (4.5), rewrite the unforced object
dynamics of (4.3) as,
mo z̈o + Ks (zo − zc ) = Fo .
(4.7)
Similarly, the impact force Fc exerted on the fingertip produces torque τd denoted by,
τd = J Tf Fc ,
(4.8)
where J f is the Jacobian of (4.2). The equation (4.8) is called the Jacobian transpose relationship which converts the exerted fingertip forces to the equivalent torques by the transpose of
the robot Jacobian. The dynamic model of the finger link interacting with the object is now
expressed as follows,
M f (q)q̈ +C f (q, q̇)q̇ + G f (q) = τ − τc .
(4.9)
Equation (4.9) is the model of the system with interaction dynamics where τ is the control input
torque. It is applied considering different forces and interactions based on the control approach
99
4.3 Problem formulation for force control
to see the affect at the time of collision between the robot finger and the object. There is
another assumption which needs to be mentioned for subsequent control development of (4.9).
The minimal singular value of the finger Jacobian is larger than δ > 0, a positive constant such
that the maximal of the inverse of Jacobian is known apriori. By this, kinematics singularities
are avoided.
The remaining sections of this chapter provides the formulation of interactional control problem and few classical and adaptive based methods for controlling the interactional forces.
4.3. Problem formulation for force control
It appears from the previous section that the implementation of force control depends on the
contact force generated from hand finger-object interaction. The contact force is a function of
fingertip and object position. These positions are expressed in Cartesian coordinates. Therefore, dynamics of (4.9) is required to transform into the Cartesian workspace format. Using
(2.37), (4.9) can be re-written as,
Mx (q)Ẍ f +Cx (q, q̇)Ẋ f + Gx (q) = F − Fd ,
(4.10)
where X f is the position and orientation based vector of fingertip. The term F is the driving
force of the hand and Fdc is the contact force vector. Now the interaction based control problem can be formulated from (4.10). The problem is to find the joint torque of the finger τ
considering constrained force Fc generated from object environment such that, the position of
the fingertip is maintained i.e. follows commanded trajectory during contact and the produced
contact force is optimised. The problems are mathematically expressed below when the object
interacts with the robot finger.
Given a desired contact location trajectory Xd f each fingertip of the robotic hand X f should
track Xd f . The position of the fingertip will be tracked as,
lim X f (t) = Xd f (t),
t→∝
(4.11)
when the contact force Fc follows the desired contact force Fd . The force problem is given as,
lim F(t) = Fd (t).
t→∝
(4.12)
It is mentioned that, (4.11) and (4.12) is only valid when contact is made. The two problems
are related. The actual position trajectory of the fingertip is an input element to determine
the contact force. The fingertip position depends on the value of the contact force. When the
contact force is optimised, the fingertip position does not change abruptly and stays very close
the desired one.
100
4.4 Force control techniques
4.4. Force control techniques
The control problem of interactional dynamics lies in the calculation of contact forces and regulates various tasks such as grasping and manipulation, peg in hole and deburring. The contact
force modification depends on the motion of the robot and object at the point of interaction. In
general, if the relationship between them is known, the force can be adjusted either in the motion or force control loop. For this reason, correct interaction forces prescribe the appropriate
adjustment needed to control the robot-object coupled system. Compliance is considered as the
capability of the robot link to respond to this interaction forces. This represents a wide range
of different control techniques in which the motion of the hand fingertip can be modified by the
contact forces [106],[43],[110]. The problems experienced in controlling the compliant based
robot motion have been substantially analysed and different methods have been suggested and
implemented in the past. The application of these control methods depends on two types of
compliant motion.
1. Passive compliance: The robot end-effector position is regulated by the contact force
indirectly with this mode. This is due to the internal compliance structure of the hand,
joints or other compliant parts.
2. Active compliance: In this mode, the compliance appears by implementing a feedback
force to achieve a reaction of the robot. The implementation of the feedback can be
done either by controlling the interaction force or generating specific compliance at the
end-effector.
In active compliance, force feedback is applied to see the response of the robot. This is the strategy used in implementing the interaction between a robot link and the environment. Robots
containing internal mechanism with compliance can be ignored. Robot dynamics can be mathematically modelled without the internal mechanism and fingertip motion of the robot can be
easily determined. Active compliance can be categorised into two control groups:
i) Hybrid position or force control: In this technique, the position and forces of the coupled
system are controlled by two orthogonal subspace expressed in a constraint frame. Each
of the subspace is restricted to a particular domain. For example, a manipulator is required for a deburring task. In free space (unconstrained), the motion subspace activates
the position control mode. When a force is applied for deburring at the task frame, the
control switches to force domain. This approach is first referred by Raibert and Craig
[104]. Another method described by Vukobratovic and Ekalo [111], is called the unified
control of the position and the force. This study presented a dynamic approach to control
the force and position simultaneously.
ii) Impedance control: This is a form of interactional control which regulates robot’s dynamic
behaviour. It is based on the relationship between the constrained forces and the distance
101
4.5 Impedance control (IMC)
between the robot fingertip and contact position on the object surface, to regulate the
mechanical impedance of the compliant dynamics [108]. It is expressed as implementing
a control method so that the interaction forces drive the position error of the end-effector
in accordance with the desired impedance of the link. It is based on the position control.
The target position command and actual measurement required to close the feedback
loop. Also, contact force measurements are used to acknowledge the desired impedance
characteristics.
In this section, two compliance categories are described. It is noted that, active compliance
is applicable in grasping and manipulation tasks. Different control techniques are discussed
based on the active compliance. The drawbacks of the hybrid position or force control are its
switching problem between the position and the force control domain. Integration of switching
for any controllers require infinite energy in the control signal. The motor assembled to the
robot joints produce only limited torques which are unable to deal with high frequency control
signal. Also, the hybrid method is suitable where consistent position or force control is required
one after another. In a grasping and manipulation task, direct force control is not needed for
continuously, compliance is used instead to accomplish the tasks. Therefore, impedance based
control is found as a suitable option to be integrated in for grasping and manipulation tasks due
to its ability to regulate the interaction force from the compliance.
4.5. Impedance control (IMC)
A scenario is presented to illustrate the idea behind impedance control (IMC). Assume an assembly robot is required to pick up an element, shift in free space and carry it whilst in contact
with the environment (kinematic constraint), position it in constraint direction and release it,
before finally returning to collect another. The control objective at the first step is position or
force control. In the second mode, only the position control is needed. In the last stage, an
active compliance is present between the robot and the environment which changes the control
objective. The objective at each mode is different to the others and should comply with the
tasks assigned. Hence, all tasks with regards to different objectives present a challenge. For
three different controllers, it is difficult for the system to decide which controller will be in
use at each task frame. Also, the transition between each control subspace is not straightforward and requires a large amount of energy. Considering the issues of different objectives for
multi controllers and the transition of controllers between different control domain, a single
controller can be used instead. This controller can interact with an identified environment and
perform difference task without direct transition and have great advantages over other control
methods. IMC is a popular form of interactional based control which is used to regulate the
interaction force by robot’s impedance. It has been first proposed by Hogan[108]. He showed
that both position and force cannot be controlled simultaneously but that the contact force can
102
4.5 Impedance control (IMC)
Figure 4.2.: (i) Spring mechanics (ii) Spring Damper mechanics.
be modified by regulating the impedance or compliant of the robot manipulator. For this reason, IMC falls into the category of interactional control. As stated earlier, interactional control
focuses on regulating dynamic changes in a robot at an interaction port with environment. The
interaction port is defined as the place where exchange of energy occurs. Interactional control
develops a relationship between the motion and the force at this port and allows a law to be
defined which minimises the difference found from this relationship. In general, interaction
method regulates the mechanical impedance or admittance of a robot manipulator. Mechanical
impedance refers to a dynamic operator that calculates the force from velocity. Admittance is
just the opposite. Common impedance found for different type of mechanical interactions are
given in Figure 4.2. The impedance and admittance found from these two interactional model
are presented in the Laplace domain in Figure 4.3. In Table 4.1, s is the Laplace domain of
motion x.
Table 4.1.: Impedance and admittance function for spring and spring damper model.
Spring mechanics
Damper mechanics
Impedance F/ẋ
k/s
b
Admittance ẋ/F
s/k
1/b
4.5.1. IMC objective and its structure
In nonlinear robotic system, impedance explains how a manipulator will behave under different
environmental interaction. With arbitrary impedance, an arbitrary behaviour of a manipulator
can be achieved. The impedance control design is related to find a desired impedance which
ensures that the manipulator follows the desired or target impedance. A good impedance behaviour can be achieved with a linear second order model for a manipulator system as shown
by Volpe and Khosla [112],[113], which is valid for open and constrained workspaces. The
103
4.5 Impedance control (IMC)
desired impedance for nonlinear robot dynamics can be selected as,
Fc = MI (Ẍd − Ẍ) + BI (Ẋd − Ẋ) + KI (Xd − X),
(4.13)
where Fc is the interaction force measured in the contact state, Ẍd , Ẋd , Xd are the Cartesian
desired acceleration, velocity and position, Ẍ, Ẋ, X are the velocity and position of the endeffector. The terms MI , BI , KI are the desired inertia, damping and stiffness parameters (Impedance
parameters). Equation (4.13) is chosen to realise compliant robot-object system behaviour as a
mass spring damper system with regards to forces exerted by the environment. In the Laplace
domain, it is written as,
Fc = Zd (s)(Xd − X),
(4.14)
where Zd = s2 MI + sBI + KI . This is similar to the second order linear dynamics of
s2 + 2ζ ωn + ω 2 .
(4.15)
The reason for considering second order dynamics as desired impedance is because of its well
known behaviour [114]. The natural frequency ωn and damping ratio ζ of (4.13) is determined
using (4.15) as,
ωn =
r
KI
MI
BI
.
ζ= √
2 MI KI
(4.16)
From (4.14) and (4.15), the impedance error is found as,
(Xd − X) =
Fc
,
Zd (s)
(4.17)
which is the impedance error △X. The impedance control objective is to minimise this error
lim △X ≈ 0
t→∝
(4.18)
by (4.13) with appropriate selection of impedance parameters. If the impedance parameters are
selected correctly, then solving (4.13) will provide a commanded position of the end-effector
following the contact compliance. The choice of the impedance parameters depends on system impedance behaviour during the contact. It is apparent from (4.16) that, the impedance
parameters are related to the natural frequency and the damping of the system. The parameters
should be tuned strictly positive which exhibits the critical damping of the system’s behaviour.
The damping ratio needs to satisfy the following condition:
ζ > 0.5
p
1 + 2Kr − 1 ,
(4.19)
where Kr = ke/Ki is called stiffness ratio; ke is the environment stiffness. It depicts that the system’s transient properties can be described as a function of environment stiffness and impedance
104
4.5 Impedance control (IMC)
parameters can be achieved from these properties.
4.5.2. IMC classifications
There are two general impedance control methods available for implementation in constrained
manipulator framework based on the fundamental discussion in previous subsection: The position based impedance control and the force based impedance control.
1. Position based impedance controller
In position impedance method (PIM), the mechanical impedance of the manipulator is controlled by generating the desired trajectory of an existing position controller in the joint or
workspace. It is widely known for industrial impedance control. Position based impedance
law is defined from (4.13) as,
Fc = MI (X¨ d − Ẍc ) + +BI (Ẋd − Ẋc ) − KI (Xd − Xc ),
(4.20)
where the new term Xc , Ẋc , Ẍc is called the modified position trajectory. The solution of (4.20)
is the impedance error △X and Xc can be extracted as,
Xc = Xd − △X,
(4.21)
which is found from the impedance block presented in Figure 4.3. In this method, the desired
trajectory is the input to impedance block and the modified output Xc is applied to the inner
position control loop. Any position control law as discussed in chapters 3 can be applied to an
inner loop which calculates the torque based modified Xc and drives the robot. An impedance
block only works when the contact force Fc is measured from the environment i.e. Xd becomes
Xr in free space. The environment model is a function of the actual robot end-effector motion
and its stiffness. The stiffness is chosen between 103 − 105 N/m to assess the performance of
the controller with subject to the interactional force. The desired impedance is achieved if the
inner loop ensures precise tracking i.e. X ≈ Xc .
2. Force based impedance controller
The problem with (4.20) is that it cannot be achieved in general due to the presence of un-
certainties. Moreover, the force Fc in (4.20) acts as the desired force input which affects the
ability of knowing the stiffness properties of the environment in advance and the desired trajectory cannot be designed to calculate the desired force. Hence, the force impedance method
(FIM) is suitable for its force tracking capability with general impedance structure to solve
these issues. The changes are made in (4.13) to propose this scheme as,
¨ + +BI (△X)
˙ − KI (△X),
Fd − Fe = MI (△X)
(4.22)
105
4.5 Impedance control (IMC)
Figure 4.3.: Position based impedance control structure for manipulator.
where △X = Xd − Xc is the impedance error. To derive the above law it is assumed that the
robot position control scheme is accurate i.e. X = Xc . This allows consideration of the elements
of the vectors X and F individually. Consider the environment model discussed in section 4.2
as fe = ke (x − xe ). The force error e f is then found as,
e f = fd − fe = fd − ke (x − xe ).
(4.23)
From (4.22) and (4.23), the force error dynamics is found as,
më f + bė f + (k + ke )e = k( fd + ke xe ) − kke xd ,
(4.24)
where xd is used to regulate the force error. When xd is constant, Laplace transformation of
(4.24) defines the steady state force tracking error as,
ess = limse(s) =
s→0
k
[( fd + ke xe ) − kke xd ] .
k + ke
(4.25)
Equation (4.25) will be zero when the reference trajectory is chosen as,
xd =
fd
+ xe .
ke
(4.26)
Furthermore, (4.26) only works when the terms xe and ke are known apriori to generate the
position trajectory xd as a function of ke . It is assumed that, these variables are known to see
the performance of this controller for the Barrett Hand. Then, the adaptive approach will be
considered to estimate these variables.
Position Impedance vs Force impedance controller
Two controllers discussed previously use related concepts to achieve the desired impedance
106
4.5 Impedance control (IMC)
simply by reducing impedance error
✶X to zero. The position-based tactic is less complicated
and easier to apply though the method is open loop for the desired impedance. Moreover, the
actual robot fingertip position in the present controller might not be achievable for a very soft
impedance. Conversely, the force based method ensures tracking with closed loop. Using this
method could be computationally affordable in the event that the manipulator is driven at a
low speed and considers much less Coriolis and gravity terms. In conclusion, position-based
impedance controller is better when it is required to achieve a high position accuracy. The force
based method is applicable where the system dynamic effects are negligible.
4.5.3. Contact force analysis and results
Before designing any controller, the contact force needs to be analysed based on the contact
mechanics described in section 4.2. Consider one DOF robot link to apply the contact model of
(4.5)-(4.9). The model is simulated in MATLAB. The simulation parameters are: Link length,
l = 0.2, Object mass, m = 0.25 and object position, xo = 0.3. A control gain is applied to move
the position of the robot link. Control gains are found as, (k1 , k2 ) = (0.9, 0.25). The results are
presented in Figure 4.4 for different stiffness parameters.
In the figure, the response of joint position θ (top left) is shown before and after contact with
the object. The contact is made around 1.1 seconds and the movement of θ slowed down
after that. The position of θ is 0.52 m when stiffness Ks = 1000 N/m. As soon as the stiffness
increased, the value of θ shows less movement after the contact. The position θ stays between
0.56 − 0.57 m after contact for the stiffness values of Ks = 1500 − 2500 N/m. The joint torque
τ (top left) is smooth and the reaction torque τd (bottom left) is zero before the contact. After
contact, the robot fingertip exerted by the object force resulting in the high torque values.
The values of τd also becomes non-zero and increase linearly after balancing the effect of
spring mechanics. The bottom right figure shows the contact force. The contact force becomes
higher with small amount of stiffness Ks < 103 N/m. Now, consider the constraint Barrett hand
dynamics in joint space as,
M f q̈ +C f (q, q̇) + G f (q) = τ − τd
= τ − J T Fc ,
(4.27)
(4.28)
where τ defines the driving torque and J T Fc translates the contact force to the joint space as
reaction torque. If the inverse kinematics have a specific solution, simulation takes less time in
joint space and workspace coordinates are easily found from joint positions. The contact model
between the robot and the object is developed in SimMechanics. The simulation structure for
contact force measurement is given in Figure 4.5. The Barrett finger F3 is chosen to carry out
the simulation. The CTC based controller is chosen to command the fingertip trajectory in
workspace. The CTC based parameters are found by trial and error as Kp = 430, Kv = 175.
107
4.5 Impedance control (IMC)
0.9
0.8
Ks=1000 N/m
0.6
Ks=1500 N/m
Ks=2000 N/m
Ks=2500 N/m
0.7
0.4
τ (Nm)
θ (rad)
0.8
0.2
0.6
0.5
0
0
2
4
−0.2
0.8
Fd (Nm)
τd (Nm)
2
time (s)
4
0
2
Time (s)
4
30
0.6
0.4
0.2
0
0
0
2
4
20
10
0
Figure 4.4.: Position, force and torque results of one link planar finger during the interaction
with an object.
108
4.5 Impedance control (IMC)
Figure 4.5.: Contact force measurement model of Barrett hand.
The contact location, xc = 0.035 m is considered to keep the object within workspace range of
the hand.
Figure 4.6 illustrated the contact force measurement for different stiffness starting from 10 −
50 kN/m. The simulation shows that the contact force is higher for a very rigid (50 kN/m)
object. The force reaches up to 250 N which is large enough to damage the object. The torque
generated from the object will be also high which will cause damage to the joint actuator. The
amplitude of the force signal is also large which indicates vibration between the finger and the
object. As stiffness goes down, the force becomes lower. The reaction torques of both finger
joints found from the generalised contact forces are presented in Figure 4.7. The results show
that the torques are increasing with respect to an increased stiffness of the environment. It is
necessary to see the condition of the fingertip motion before and after contact to analyse the
transition behaviour.
Figure 4.8 is obtained with the fingertip trajectory and the velocities of the Barrett fingertip
F3 . The trajectory started with an initial condition of zo , yo = (0.1565, 0.1122) m. The actual
position (blue line) is not converging to the desired position The contact is made around 2.1
seconds of the simulation and the motion is found to be oscillating due to exerted force on the
fingertip. This happens with velocities which are not converging to zero. After contact, the
velocities are oscillating with a low amplitude which suggests that the finger is penetrating the
object and cannot reach further. In Figure 4.9, the contact force simulated in the workspace is
presented for comparison. In this case, the stiffness, Ke = 30 kN/m is used.
The correct interactional model provides the force only after the contact is made between the
fingertip and the object. In practical situation, the fingertip does not cross the object. This implies that the force after the contact and the actual fingertip position must be within the range
of the robot-object workspace coordinates for correct interactional model. The results of the
Figure 4.6-4.9 indicate the authenticity of the interactional model. Figure 4.6 is obtained with
the contact force occurred due to the interaction between F3 and the object. For stiffness of
ks = 10 − 50 kN/m, the contact forces are found between 110 ∼ 240 N with oscillation. The
oscillations are occurred due to the joint damping and the object stiffness. In Figure 4.7, reac-
109
4.5 Impedance control (IMC)
300
Contact Force Fc (N)
250
200
150
100
Ke=103 N/m
Ke=203 N/m
50
Ke=303 N/m
Ke=503 N/m
0
0
2
4
6
8
10
Time (sec)
Figure 4.6.: Contact force Fc calculation of Barrett Finger F3 for different object stiffness Ke
values.
tion torques τd are shown for the same stiffness values. The torques are also achieved between
−10 ∼ 16 Nm. The contact forces and the reaction torques do not exhibit any sudden changes
in their responses. Figure 4.8 displays the position and velocities of the finger during the contact. The actual position (blue line) of the top figure stays around 0.035 m with oscillation after
the contact transition (3 seconds). This indicates that the fingertip tries to penetrate the object
during contact but do not cross over. The fingertip crossing over the object may result in drastic
changes in the response and prove the interactional model to be wrong.
The advantage of the interactional model is that it allows to see the manipulator response, in
contact with the object for various object stiffness values. It is apparent from Figure 4.4 and
Figure 4.6 that, the behaviour of the contact force is not similar between one link planar and
the Barrett finger. The force increases linearly in time for planar finger. The Barrett finger
shows the contact forces stays between certain values (−10 ∼ 16 Nm) for an additional DOF.
The extra DOF splits the energy of the system and the fingertip penetrates the object with less
energy during the contact. Hence, when the contact is made, forces rise vertically but settle
down with oscillations. It happens due to the actuator damping which limits the joint to push
the object deliberately without any constraint.
110
4.5 Impedance control (IMC)
20
2nd joint
20
10
3rd joint
10
Reaction Torque τd (Nm)
0
0
−10
−20
0
5
10
−10
0
5
10
−20
10
0
Time (sec)
5
10
30
20
20
10
10
0
0
−10
−10
0
5
Figure 4.7.: Reaction torque τd of the finger F3 joints. Top left Ks = 103 N/m, Top right
Ks = 20 kN/m, Bottom left Ks = 30 kN/m, Bottom right Ks = 50 kN/m.
Fingertip position (m)
0.2
Desired
Actual
0.15
0.1
0.05
Joint velocity qd (deg/s)
0
0
2
4
6
8
10
100
Second joint
Third joint
50
0
−50
0
2
4
6
8
10
Time (sec)
Figure 4.8.: Fingertip motion of F3 (Top) and joint velocities q̇i (Bottom).
111
4.5 Impedance control (IMC)
200
0
Reaction torque τd (Nm)
Contact force Fc3 (N)
2nd joint
150
100
50
0
0
5
10
15
20
3rd joint
−5
−10
−15
−20
0
5
10
15
Time (sec)
20
Figure 4.9.: Contact force and reaction torque measured in workspace based control of finger
F3 .
Figure 4.10.: Position based impedance control schematics of planar finger.
4.5.4. Planar finger control with PIM
In this section, PIM control method is applied to a planar finger. The control structure is shown
in Figure 4.10.
The finger is commanded to track the Cartesian position trajectory of
dx(t) = dxi e−at + dxi (1 − e−at ),
(4.29)
where dxi is the desired cartesian position to be reached by the finger. When the planar finger
reaches the object position, the model defined in (4.5) is activated. The impedance block is
driven by (4.20). The output of the impedance block is the impedance error eI that is applied to
112
4.5 Impedance control (IMC)
Figure 4.11.: SimMechanics contact model between robot link and object.
get the modified trajectory xc . The desired joint values qd are found through xc . When no forces
are sensed, the trajectory relation becomes xd = xc and general position control is applied in
the joint space. The trajectory is modified according to the measured contact force value and
to behave as mass spring damper based impedance filter of (4.20). According to the figure, the
joint controller is formed in a separate loop and not related to the impedance block. The model
based joint controller is available to track the desired joints calculated from xc . The finger is
developed in SimMechanics which provided joint and fingertip motion through sensors. The
sensor values are fed back to the impedance and joint controller block.
Contact mechanics model development was not straightforward in the SimMechanics toolbox
as this is not just the equation derived in the contact mechanics section. The model should
exhibit the realistic behaviour for contact collision between two objects. The model developed
in SimMechanics is given in Figure 4.11. Channel 1 is connected to the second link body
block (not visible). The other side has two parts: sensor and actuator. The sensor passes the
trajectory data to the force law block and the measured force exerts on the fingertip by body
actuator block. All links are interconnected to ensure that no slip occurs during the contact
state. In physical case, contact forces are only found when two objects are in contact and
considered as coupled system. The same technique is used in the SimMechanics development.
The simulation parameters are: link mass, (m1 , m2 ) = (1, 1) kg, link length, l1 , l2 = (0.5, 0.5) m,
joint control gain, k p , kv = (80, 37), object location, xe = 1000 N, trajectory constant, a = 1,
and impedance parameters are chosen based on trial and error as, MI = 10 kg, BI = 132 Ns/m,
KI = 500 N/m.
Figure 4.12 presents the results of the PIM control of a planar link. The top left figure provides
the angles in radian. The top right one shows that the velocity tends to zero with quick settling
(0.1 second). This means that the system is stable as system dissipates its energy to reach to
the steady state. The middle left figure shows desired, commanded and actual trajectory of the
fingertip. When the contact is made and the impedance filter becomes active in the closed loop,
113
Joint angle qi (rad)
3
3rd joint
1
0
0
1
2
3
0
−2
−4
2nd joint
−6
3rd joint
0
0.72
1
2
3
4
200
0.7
0.68
Desired
Modified
Actual
0.66
0.64
0
1
2
3
150
Reaction torque τdi (Nm)
−0.005
0
1
2
3
Time (sec)
4
w imp
w/o imp
100
4
0
−0.01
2
4
Contact Force (N)
Fingertip position (m)
2nd joint
2
−1
Impedance error ei (m)
Joint velocity qid (rad/s)
4.5 Impedance control (IMC)
50
25
0
0
1
15
2
3
4
2nd joint
rd
3 joint
10
5
0
0
1
2
3
Time (sec)
4
Figure 4.12.: Position based impedance control results from planar finger.
114
4.5 Impedance control (IMC)
Figure 4.13.: Force based impedance control diagram for planar finger.
the modified trajectory rx (blue line) changes its path from the desired trajectory dx (black line).
The actual trajectory x first follows dx, then tracks rx. This indicates the theoretical validation
of dx = rx before contact. The middle right figure is presented with the contact force before
and after impedance. The force goes above 150 N without impedance control mode. The
contact force settles down at 25 N with the desired impedance of the system. The bottom two
figures show the impedance error △X and reaction joint torque τdi results respectively. The
impedance control proved to be very efficient in keeping the force down at optimum level. It
would be more beneficial if the contact force can be controlled arbitrarily. This is discussed in
the next subsection.
4.5.5. Planar finger control with FIM
In this section, the planar finger is simulated in the constrained environment. The control of all
parameters remains the same as in the previous section except for the impedance parameters.
The impedance parameters are found with trial and error as, MI = 8.9 kg, BI = 167 Ns/m and
KI = 560 N/m. The desired force is considered as Fd = 10 N. The control structure is given
in Figure 4.13. The first difference in this control structure is the presence of force error e f
calculated from the desired Fd and the actual Fc force. The error e f drives the impedance
filter equation (4.20) to achieve modified position trajectory. The second difference is the
modification of position trajectory in constrained direction as,
dx = xe + fd/ke ,
(4.30)
where dx is generated based on the contact force fd . The selection of (4.30) approves the steady
state force error equation of (4.25) to zero.
The results of FIM methods for planar link are presented in Figure 4.14. The middle right figure
115
4.5 Impedance control (IMC)
2nd joint
2
3rd joint
1
0
−1
0
1
2
3
4
5
0
−5
2nd joint
−10
−15
3rd joint
0
1
2
3
4
15
Contact force Fc3 (N)
Fingertip trajectories (m)
Joint velocity qid (rad/s)
Joint angle qi (rad)
3
0.7
0.68
Desired
Modified
Actual
0.66
0.64
1
2
3
Impedance error ei (m)
Force error ef (N)
Desired
Actual
0
1
2
3
4
2
3
Time (sec)
4
0.015
5
0
−5
5
0
4
10
10
0.01
0.005
0
1
2
3
Time (sec)
4
0
0
1
Figure 4.14.: Force based impedance control results from planar finger.
116
4.5 Impedance control (IMC)
shows the contact force for desired 10 N (Red line). The bottom left and right figure shows the
force and impedance error approaching to zero in time respectively. The advantage of a force
based mode is the selection of an arbitrary contact force to be tracked by the interaction force.
This is shown in the middle right figure for a given desired force, Fd = 10 N. Arbitrary contact
force tracking cannot be achieved for position based impedance control (results of Figure 4.12).
The problem in FIM mode is that the environment location xe and the environment stiffness ke
need to be known in advance in order to achieve successful tracking. Environment parameters
estimations are proposed in section 5.5.8.
4.5.6. Position and force impedance control of Barrett finger
The control structure for PIM implementation to the Barrett hand is displayed in Figure 4.13.
The SimMechanics based Barrett finger F3 is used in this case to see the performance of the
controller. The mass and link dimensions are considered from chapter 2.2. The trajectory
constant, a = 0.01, joint controller gain, Kp , KV = (430, 165), object location, zo = 0.035 m are
employed. The finger is commanded to reach a position greater than 0.03 m in the z direction.
The environment stiffness is chosen as ke = 103 N/m. The impedance parameters are found as
MI = 15 kg, BI = 780 Ns/m and KI = 5000 N/m.
The results are presented in the Figure 4.15. The top two plots present the joint angle trajectory
position and the velocity of F3 . The middle left figure shows desired, actual and commanded
fingertip trajectory of the finger. The tracking error is visible but actual fingertip trajectory is
quickly tracking the modified trajectory. The contact force is shown on the middle right. The
impedance error is very small and settling down which means the modified position is consistent after the contact. Force behaviour for different stiffness values are presented in Figure
4.16. For stiffness values between 10 − 50 kN/m, the force settled down between 20 − 30 N.
When the stiffness is 103 N/m, the force settled down around 17 seconds with large oscillations.
The peak and the steady state response are 58 N and 27 N respectively. The difference between
them are 21 N. The settling down time is 5.1 seconds for higher stiffness, ke = 50 kN/m. In
this case, the difference between peak (24 N) and steady state response (20 N) are only 4 N. It
it noticeable that, force response is achieved with less settling time when robot fingertip interacts with hard (high stiffness values) object. In soft (low stiffness values) interaction case,
the force settles down but with long settling time and oscillations. According to the results
obtained, the impedance controller minimised the force for different stiffness values. However,
the impedance controller shows better performance with hard object interaction. The contact
force performance based on FIM is given in Figure 4.17. In the Figure, FIM is applied to all
fingers of the Barrett hand with desired force of 15 N. Spread angle is considered in this case
for finger F1 and F2 . All contact forces are converged very close to the desired force value.
The PIM and FIM control are applied to both planar and Barrett finger. In both cases, contact
forces have been optimised. The advantages of FIM based mode is that the independent choice
117
4.5 Impedance control (IMC)
50
2nd joint
0
rd
3 joint
−50
0
5
10
2nd joint
3rd joint
50
0
−50
0
5
10
0
5
10
30
Contact force Fc3 (N)
Desired
Modified
Actual
0.031
0.03
0.029
0
5
10
20
10
0
−4
Impedance error ei (m)
Fingertip trajectories (m)
100
Joint velocity (deg/s)
Joint angle qi (deg)
100
4
x 10
3
2
1
0
0
2
4
6
8
10
Time (sec)
Figure 4.15.: Position Impedance control of Barrett finger F3 , Ke = 103 N/m.
118
Contact force Fci (N)
4.6 Adaptive force impedance control
60
Ke=503 N/m
50
Ke=303 N/m
Ke=203 N/m
40
Ke=103 N/m
30
20
10
0
0
5
10
Time (sec)
15
20
Figure 4.16.: Position based impedance control of the Barrett finger F3 for different stiffness.
of the desired force and the ability of being tracked by the regulated interactional force. In
grasping and manipulation, an arbitrary selection of interactional force would be an important
feature to accomplish the tasks.
4.6. Adaptive force impedance control
As stated in the section 4.2, the environment location and corresponding properties are prerequisite to achieve force tracking characteristics with impedance control. From a practical
viewpoint, these information are not obtained from the controller in advance. The unavailability of the information greatly affects the online based position trajectory of (4.30). This
trajectory depends on the object location xe and the stiffness ke . The unknown variation of
these properties as △xe , △ke can be considered as follows,
xest = xe + △xe
kest = ke + △ke ,
(4.31)
where xest and kest are the estimation of the variables. Considering these variations, steady state
force error of the closed loop can be written as,
k
△ke
ess =
fd + △xe △ke .
ke △xe −
k + ke + △ke
ke
(4.32)
In general, the value of ke is large. Therefore, a very little variation of △xe may induce a
large force error. To eliminate this problem, adaptive schemes are proposed considered from
previous findings [109],[110]. The objective of this adaptive based controller is to estimate
119
4.6 Adaptive force impedance control
4
3
Fdc12
Contact Force Fci (N)
2
Fdc3
1
Fc3
Fc1
0
Fc2
−1
−2
−3
−4
0
2
4
6
8
10
Time (sec)
Figure 4.17.: Force based impedance control of Barrett finger for desired force Fd = 3N,
stiffness value, ke = 103 N/m.
the object stiffness ke and location xe online and calculate the reference position xd in the
constrained direction.
It is possible to define xd in terms of adaptation as,
x̂d = x̂e +
1
fd ,
k̂e
(4.33)
where x̂e and k̂e are adaptation based estimation of xe and ke respectively. Now, the generalised
contact force from (4.5) after contact can be written as,
fc = ke (x − xe ).
(4.34)
The form in (4.34) suggests with adaptation as,
fˆc = k̂e (x − x̂e ),
(4.35)
where fˆc is the current estimate of the interactional force based on x̂e and k̂e . Lets consider the
variation parameters are, φk = k̂e − ke , φx = k̂x − kx ,φ = [φk
φx ]T and by subtracting (4.34)
120
4.6 Adaptive force impedance control
from (4.35), the following can be found,
fˆ − fc = [x
− 1]φ .
(4.36)
Therefore, the adaptive FIM problem can be stated as a scheme which will adjust parameters
k̂e , k̂x according to (4.36) which will converge fˆ → fc as t → ∞. The update laws for k̂e , x̂e can
be derived using Lyapunov based method which ensures fˆ → f means f → fd . The Lyapunov
candidate can be defined as,
V = φ T Γφ ,
(4.37)
where Γ is positive definite matrix. The update law is declared as,
−1
φ̇ = −Γ
"
x
−1
#
( fˆ − fd ).
(4.38)
Differentiating (4.34) along (4.37) gives,
V̇ = 2φ T Γφ̇ = −2φ T
"
x
−1
#
( fˆ − fd ) = −2( fˆ − fd )2 .
(4.39)
If φ is adjusted by following (4.38), then (4.37) and (4.39) indicates that fˆ → f as t → ∞. The
adaptation law for ke and xe are obtained as,
k̂˙ e = −γ1 x( fˆ − f )
x̂˙e =
( fˆ− f )
(γ1 xx̂e + γ2 )
k̂e
,
(4.40)
where γ1 , γ2 are positive constants. All adaptation based control laws are combined together
below,
xd = x̂e + k̂1 fd
´ et
k̂e (t) = k̂e (0) − γ1 0 x( fˆ − f )dt
.
´t ˆ
x̂e (t) = x̂e (0) + γ1 0 ( f k̂− f ) (xx̂e + γ2/γ1 )dt
e
fˆ = k̂e (x − x̂e )
(4.41)
4.6.1. Adaptive force impedance method of planar finger
The adaptive control laws of (4.41) are applied to the planar finger. The same parameters used
for the planar FIM is used in this case. The adaptation parameters are: γ1 = 1 and γ2 = 0.5. The
desired contact force is, fd = 30 N. The results are shown in Figure 4.18. The top two figures
show the contact force and the force error. The force is converged to the desired values. The
overshoot in the force response is small in comparison to the contact forces derived without
adaptation as in Figure 4.13 and 4.14. The force and impedance error approached zero within
121
4.7 Evolutionary algorithm based impedance control
a short time frame. The initial condition of k̂e (0) considered as 400 and estimated around
409 N/m. The estimated force fˆ is also found around 30 N. The online desired trajectory xr
settled down at 0.7 m through adaptation which is the fixed position of the environment.
4.6.2. Adaptive force impedance method of Barrett finger
The adaptive control laws of (4.41) are also applied to the Barrett finger F3 . The trajectory
constant, joint controller values and other parameters are applied from section 4.5.6. The adaptation parameters are: γ1 = 0.0018, and γ2 = 0.001 chosen by trial and error. Desired contact
force is selected as 10 N. The results are given in Figure 4.19. The contact (top left) is made
at 6.5 seconds and the contact force is settled down around 7 seconds. The peak force is
measured about 12 N before reach the steady state value of 10 N. The top right figure shows
the force steady state error. The error Fe approaches closure to zero around 7 sec with final
value of ∼ 0.02 N (2% error). The impedance error is also found to be very close to zero
(2.5 × 10−3 m). This implies that the modified trajectory obtained through the impedance filter
is well tracked by the actual fingertip trajectory after the contact. The object stiffness value
is estimated online as ∼ 4 × 103 N. The estimated force by adaptation is obtained as ∼ 7 N.
The bottom plot is presented with online trajectory of the fingertip F3 which was calculated
from k̂e and x̂e .The adaptive based FIM model suggests the excellent force tracking ability of
the interactional force. For both planar and Barrett finger, the contact forces results are better
compared to general FIM mode. The online trajectory xr is estimated accurately at the object
location after the contact .
4.7. Evolutionary algorithm based impedance control
In sections 4.5 and 4.6, the impedance and the adaptive impedance based control methods are
discussed. These methods are based on the tuning of impedance parameters by trial and error.
This tuning process is time consuming and does not give any indication where to start with the
initial selection of the parameters. Evolution based techniques are recent approach to obtain
the impedance values [115],[116]. This is an optimisation technique based on the collective
learning process. A set of population candidate is chosen, each of which searches for potential
solution in the space of a given problem. The population is arbitrarily selected, and it evolves
toward better neighbourhood of the search space.
4.7.1. Evolutionary algorithm
Evolutionary algorithm (EA) searches for the optimal weight values w j of a system network.
According to the optimal control, the objective is to find the controller which provides the best
122
Online trajectory Xr (m)
Force error Fe (N)
30
20
10
0
0
1
2
3
4
5
Stiffness Ke (N/m)
0.1
0
−0.1
0
1
2
3
4
5
0.7
Estimated force (N)
Env. location (m)
Impedance error ei (m)
Contact force Fc (N)
4.7 Evolutionary algorithm based impedance control
0.68
0.66
0.64
0.62
0
1
0
0.5
2
3
4
5
40
20
0
−20
0
1
2
3
4
5
0
1
2
3
4
5
0
1
2
3
4
5
4.5
5
420
410
400
390
30
−50
−200
−400
0.8
0.75
0.7
0.65
1
1.5
2
2.5
Time (sec)
3
3.5
4
Figure 4.18.: Adaptive impedance control of planar fingers for desired force Fd = 30 N.
123
Force error Fe (N)
15
10
5
0
6
0
−3
x 10
5
10
Stiffness est. (N/m)
Impedance error ei (m)
Contact Force Fc (N)
4.7 Evolutionary algorithm based impedance control
4
2
0
0
5
10
10
5
0
−5
0
5
10
15
4000
3999.98
3999.96
3999.94
0
5
10
Force est. (N)
Env. est. (m)
0.0322
0.0322
0.0322
Online trajectory (m)
0
5
10
400
200
0
0
5
10
0.0372
0.0372
0.0372
0.0372
0
2
4
6
8
10
Time (sec)
Figure 4.19.: Adaptive impedance control of Barrett finger for desired force Fd = 10 N.
124
4.7 Evolutionary algorithm based impedance control
performance. Whether the method is classical optimal or evolution, there must be an optimisation procedure exists. The optimisation procedure is inspired by Darwinian natural selection
concept [117]. There are different methods available for applying EA but all are formed based
on the natural selection principle and processed by mutation, crossover or recombination. The
process continues until the fitness value of each weight is determined. The populations are
generated iteratively to achieve better solutions.
The evolutionary process used in neuroevolution is commonly based on Genetic algorithm
(GA) or Evolution strategy (ES). GA is implemented with binary vectors where the ES method
is applied by real scale vectors to determine the solution. Crossover and mutation searching
process is common in GA whereas ES method is applied with recombination and mutation
based searching. The another advantage of ES is the implementation ability in continuous
domains. These make ES mode suitable for continuous domain optimisation problem and real
time application. These all are discussed in [118, 119, 120].
The general impedance controller structure is similar to the second order system. In that case,
classical control theory is used to determine the impedance parameters on the basis of critical
damping factor and natural frequency of the closed loop system. However, the selection of
accurate frequency or damping for an environment is not an easy task. Moreover, the contact
stability should be compromised as not even a single oscillation might not be allowed in industrial contact environment. Evolutionary technique can be used in order to provide automatic
procedure for optimal selection of impedance parameters considering contact stability.
In this section, evolution based optimisation is implemented to determine the impedance parameters for constrained robot-environment framework. The impedance controller derived previously in this chapter is established under Evolutionary algorithm. The algorithm is used to
optimise the impedance parameters. One of the popular evolution based ES technique is the
Covariance Matrix Adaptation - Evolution strategy (CMA-ES). This is applied to achieve the
optimisation within the problem objective rather than manually chosen impedance parameters
[121]. It adapts the covariance matrix at each step according to the fitness values of the current
population instead of random selection of the strategy parameters. Each individual population
candidate is expressed as real valued solution vectors which are processed by recombination
and mutation. In mutation, normally distributed random vector is added with zero mean and the
covariance matrix of the distribution is adapted to boost up the search procedure. The standard
deviation of the mutation distribution is called sigma which indicates the convergence of the
evolution process. Mutation is understood by adding a normally distributed random vector with
zero mean, where the covariance matrix of the distribution is itself adapted during evolution to
improve the search strategy.
125
4.7 Evolutionary algorithm based impedance control
4.7.2. Discretized impedance controller
The first criteria to find optimal parameters based on the CMA-ES based technique is to define
the fitness function. The fitness function is formed such that it minimise the force error between
the desired and the actual force and also ensure the contact stability between the robot and the
environment. The fitness function is then applied to CMA-ES algorithm which provides the
optimal values of impedance parameters MI , BI , KI of (4.22). Let’s represent (4.22) in Laplace
domain as,
H(s) =
1
E(s)
=
,
2
F(s) MI s + BI s + KI
(4.42)
where E(s) is the position error between desired and regulated position. The term F(s) is the
force error in the Laplace domain. The second order characteristic equation is equal to (4.42)
as,
H(s) =
1
MI
s2 + B
=
I s + KI
1
s2 + 2ζ ωn + ωn2
,
(4.43)
where ζ and ωn are the damping and natural frequency of the system. From (4.43) the following
relationships are achieved,
ωn =
ζ=
q
KI
MI
√BI
2 KI MI
.
(4.44)
It is clear from (4.44) that the system parameters depends on impedance parameters. The critical damping value should be less than one for second order system to ensure response without
overshooting. Also, the frequency ωn should be lower than the internal position controller
frequency. It is not simple to select MI , BI , KI on the basis of (4.44). The impedance filter
(4.42) is discretized to apply the Evolutionary method. The bi-linear transformation of H(s) is
expressed as,
H(z) = H(s) |s= 2 z−1 .
(4.45)
T z+1
From (4.42) and (4.45),
H(z) =
T 2 (z + 1)2
E(z)
=
,
F(z) w1 z2 + w2 z + w3
(4.46)
where
w1 = 4MI + 2BI T + KI T 2
w2 = 2KI T 2 − 8MI
w3 = 4MI + KI
T 2 − 2B
.
(4.47)
IT
From (4.46) and (4.47), the digital differential equation is implemented as,
E(n) =
1
T 2 F(n) + 2T 2 F(n − 1) + T 2 F(n − 2) − w2 E(n − 1) − w3 E(n − 2) .
w1
(4.48)
The equation (4.48) is the expression of the discretized impedance filter where F and E based
terms on the right side are input to the filter, T and w are the weighting values and E(n) is the
126
4.7 Evolutionary algorithm based impedance control
single output. The CMA-ES algorithm is used to search the optimal values of MI , BI , KI and
the weighting values are computed using (4.49). The fitness function is defined to minimise
the force error as,
N
ft =
∑ | fd − fk |
k=1
N
,
(4.49)
where fd is the desired force and the term fk is the current force at time step k. The sample is
expressed as N. Damping ratio condition of (4.19) is considered in this to achieve the achieve
the critical damping at the force output. The impedance block of Figure 4.13 is replaced to
establish the CMA-ES algorithm based impedance controllers as given in Figure 4.20.
Figure 4.20.: CMS-EA based impedance parameter selection process from digital impedance
controller based robot-object interactional environment.
In the circled section of Figure 4.20, the digital impedance filter output E(n) is calculated according to the discrete differential equation of (4.50). The modified trajectory Xr is calculated
from the difference of desired trajectory Xd and the digital force error E(n) when the robot fingertip interacts with the object. The force error E(n) is applied to the CMS-EA based algorithm
along with the objective function stated in the equation (4.51) (Bottom of Figure 4.20). The
impedance parameters MI , BI , KI are obtained from the optimisation process. The parameters
are then applied to the Force based impedance control presented in the Figure 4.13 during the
127
4.7 Evolutionary algorithm based impedance control
interaction between fingertip-object. In this case, the Barrett finger is used instead of planar
finger.
4.7.3. Simulation procedure
The CMS-EA based impedance controller is an extended version of the force based impedance
controller applied to the Barrett Hand. The digital impedance filter block of Figure 4.20 transforms the analogue impedance filter. Then CMS-EA algorithm was used in the MATLAB and
the CMS-EA code was collected from [119]. The objective function of (4.51) was formed as a
function of the force error (difference between desired and actual force). The object function
Ft is applied to the CMS-EA based optimisation. The function Ft leads the searching process to
achieve the control objective (minimise the force error). The initial population search was selected with [MI , BI , KI ] = [1, 1, 10]. The other parameters are: number of objective parameters,
N = 2, initial point of objective variable, Xmean = [0.5, 0.5], λ = 4 + 3 ln(n), µ = λ /4. Two
sets of different initial impedance parameters are used for the CMA-ES based evolution. The
initial values of MI , KI are only chosen where values of BI are computed by (4.16) and (4.19).
Two different sets are chosen as MIo , KIo = [0.5, 0.5] and [5, 5]. The object stiffness values is
considered as ke = 500 N/m. The global step size, σ = 0.5 and the algorithm was iterated 1000
times to obtain the impedance parameters from the simulink model.
4.7.4. Results and discussions
Figure 4.21 and 4.22 present the results of estimation parameters and contact forces respectively for initial impedance parameters, MIo , KIo = [0.5, 0.5]. In Figure 4.21, the evolution of
MI and KI are converged (Top figure). The bottom sub figure presents the fitness function Ft ,
the best fitness function Best Ft and the standard deviation σ with 160 times iteration. The
impedance parameter values are found from the iterations as MI , KI = [0.0050, 4.7561]. These
parameters are applied to the FIM model and the contact forces are achieved for different force
reference Fd , shown in Figure 4.22. In all cases, the forces reach the steady state within 0.1
second after the contact. The overshoots were found only ∼ 1% for all three forces.
Figure 4.23 and 4.24 present estimation parameters and contact forces respectively for the
initial impedance parameters, MIo , KIo = [5, 5]. The values of MI , KI are obtained as MI , KI =
[0.0011, 3.1387]. The same force references are used to see the contact force responses when
the Barrett Hand hits the object (see Figure 4.24). The all three contact forces reach the final
steady state values within 0.1 second after the Barrett fingertip makes contact with the object.
The overshoots are found between 2 − 3% of the final values for three desired forces.
The comparison between the force results of Figures 4.22 and 4.24 are presented in the Table
4.2. The table shows the comparison for identical force references with two different values of
128
4.7 Evolutionary algorithm based impedance control
Impedance parameters
5
4
MI
KI
3
2
1
0
0
20
40
60
80
Iteration
100
120
140
160
2
Fitness function (log)
10
Best Ft
Ft
0
10
σ
−2
10
−4
10
−6
10
0
20
40
60
80
Iteration
100
120
140
160
Figure 4.21.: Impedance parameter estimation (Top); Fitness function, standard deviation
computation (Bottom) with MIo , KIo = [0.5, 0.5].
10
Fd= 4N
Fd= 6N
8
Contact Force (N)
Fd= 8N
6
4
2
0
0
1
2
3
4
5
Time (sec)
6
7
8
9
10
Figure 4.22.: Contact force optimisation with estimated impedance parameters through
evolution.
129
4.7 Evolutionary algorithm based impedance control
Impedance paramters
4
3
MI
2
KI
1
0
0
20
40
60
80
Iteration
100
120
140
160
2
Fitness function (log)
10
Best Ft
Ft
0
10
σ
−2
10
−4
10
−6
10
0
20
40
60
80
Iteration
100
120
140
160
Figure 4.23.: Impedance parameter estimation (Top); Fitness function, standard deviation
computation (Bottom) with MIo , KIo = [5, 5].
10
Fd = 4 N
Fd = 6 N
Contact force (N)
8
Fd = 8 N
6
4
2
0
0
2
4
6
8
10
Time (sec)
Figure 4.24.: Contact force optimisation with estimated impedance parameters through
evolution.
130
4.8 Summary
Table 4.2.: Impedance and admittance function for spring and spring damper model.
Desired
Force
Fd (N)
[4, 6, 8]
[4, 6, 8]
Initial
impedance
parameters
MIo , KIo
(kg, N/m)
[0.5, 0.5]
[5, 5]
Final
impedance
parameters
MIo , KIo
(kg, N/m)
[0.0050, 4.7561]
[0.0011, 3.1387]
Settling
time
(second)
Overshoot
(%)
∼ 0.1
∼ 0.1
∼1
2−3
MIo , KIo . In both cases, the settling time to reach the desired force Fd is around 0.1 second after
the contact. The overshoots are obtained less (∼ 1%) with smaller values of MIo , KIo whereas
the overshoots are between 2 − 3% for MIo , KIo = (5, 5). This suggests that, choosing the small
initial impedance parameter values reduce the overshoot in achieving the actual contact forces.
It is apparent that settling time does not get affected by different initial conditions. This implies
that steady state responses are achieved without time delay for different force references but
overshoot becomes large with increased values of MIo , KIo .
4.8. Summary
In this chapter, the interactional control problem between the robotic hand and the environment
is discussed. A contact model is developed between the Barrett finger and an object. Force
control methods are discussed considering the interaction and the advanced features of the
impedance control are depicted. The impedance control method is introduced to deal with
the contact force during the interaction between hand fingertip and the object. Position and
force based impedance controllers are designed and implemented into the Barrett-hand object
environment. The simulation results of the contact forces without controllers are obtained
and discussed in the section 4.5. The contact force responses are found large with higher
object stiffness values and the presence of high damping at the finger joints. In section 4.6,
position and force based impedance controllers applied to the planar and the Barrett hand.
Contact forces are achieved within a small range (4 − 8 N) with PIM method whereas any
desired forces are obtained with FIM method. To achieve the force tracking in an unknown
environment, adaptation is necessary. Adaptation mechanisms are added in FIM to estimate
the unknown environment parameters such as the object stiffness and fingertip location during
the contact. The adaptation based results considering an unknown stiffness, also achieved the
desired contact forces.
Impedance control parameter selections are not straightforward in any type of impedance based
control system. Hence, a CMA-ES based evolutionary algorithm is implemented by an objective function and impedance parameters are evaluated through this optimisation algorithm. Sec-
131
4.8 Summary
tion 4.7 explains the process to determine the desired impedance control parameters MI , BI , KI
with CMA-ES based optimisation. The parameters are evaluated through CMS-EA and applied to the impedance controller for Barrett hand-object interaction. The results of estimated
impedance parameters are presented and discussed in the previous sections.
In this chapter, the concepts of impedance control are brought into the constrained scenario
between the robot and the object. The impedance control frameworks are implemented with an
objective to minimise the contact forces during interaction. Adaptation is integrated with the
existing controllers to deal with unknown environments. Evolutionary methods are considered
for impedance parameter selection. Adaptation and CMS-EA based parameter evaluation are
the new integration to the impedance controllers. These inclusion would be vital to tackle the
contact force problem in complicated grasping and manipulation environment.
132
5. Classical and adaptive controller
implementation for grasping and
manipulation
5.1. Introduction to grasping and manipulation
Grasping and manipulation is understood by grasping an object and moving it from one configuration to another with open serial-chain manipulator end-effectors such as the gripper, pincher
or multi-fingered robotic hand, then manipulating it according to the desired task planning. The
grasping and manipulation is seen as a process to constrain the motion at the object frame with
respect to the end-effector frame. The mathematical development of this process requires the
knowledge of geometrical relationship of the end-effector-object system, the contact locations,
the object, the finger kinematics, the joint link and the fingertip geometries. In this chapter,
multi-fingered Barrett hand is used to present the theoretical properties of grasping and manipulation. To discuss the compliant robot hand-object mechanics, it requires understanding of the
following:
1. Mathematical model of the object. (kinematics & dynamics)
2. Mathematical model of the robotic hand. (kinematics and dynamics)
3. The contact mechanics between the object and the hand.
The above mathematical properties are used in this study to determine the relationship between
motions and forces of the object and the hand. Under the following assumptions,
1. The object is a rigid body and the hand fingers are rigid links.
2. The hand fingers do not slip on the object surface.
3. The contact locations on the object surface are known.
Considering the above assumptions, the grasp kinematics, the grasp Jacobian and the grasp
constraint are derived.
133
5.2 Definition of Grasping
5.2. Definition of Grasping
A grasp is defined as a combination of hand posture and position and generates a contact
set between the hand and the grasped object. The exact location of these contacts generally
depends on the hand position and posture, and also the geometrical shape of the object that are
arbitrary and impossible to parameterise. Therefore, the set of contacts cannot be formulated
analytically as a function of the variable that defines the grasp though the behaviour of contact
sets can be analysed by grasp Jacobian [122]. For computing the grasp jacobian, contact models
between hand and object need to be described first. It can be shown as mapping between forces
exerted by the fingers at contact point and the resultant wrench at some reference point on the
object.
5.2.1. Grasp planning
Grasp planning refers to how the object will be grasped by the hand. In other words, it deals
with the problem to identify the position of the finger placement on the object surface. There
are different methods available for grasp planning. Planning of grasp is numerically intensive
due to the large configuration space. The planning is also subject to the incorporation taskoriented and geometric constraints.
Grasp planning begins with the kinematic analysis of the multi-fingered robotic hand with a
given model of an object. The analysis requires a set of robot fingers based on palm, a contact
model between the fingers and the object to determine the relationship between motion and the
forces of the fingers and the object. Specifically, the interest is to calculate the fundamental
grasping constraint which governs the motion of the hand. The assumption made in studying
the kinematics is that the contact location between the hand and the object is known, the fingers
do not slip on the object, the object and finger links are rigid body, accurate model of the fingers
and objects are known. The grasp planning problem is to find suitable contact locations in
object and hand finger frame so that a better grasp can be achieved.
5.2.2. Grasp properties
The essential grasping properties include: external force resisting ability whereby the hand
fingers should be able to apply contact forces which generate an opposing wrench to applied
wrench on an object. The grasp in which hand fingers can resist arbitrary external forces is
called the force-closure grasp. The object should be able to move in all directions or some
specific directions independently for a desired task. The grasp in which the fingers generate
arbitrary object motion called manipulable grasp. To illustrate the grasp properties, consider
the basic scenario of an object grasped by the multi-fingered Barrett hand.
134
5.2 Definition of Grasping
Figure 5.1.: The Barrett hand grasping an object.
Now define the grasp statics based on Figure 5.1. Three contacts between the hand and the
object are counted as point contacts at known location on the object’s surface. Therefore, the
grasp statics expresses the transmission of forces between a set of contacts and the object.
A contact between the hand finger and the object is defined as mapping between the exerted
fingertip force at the contact point and the resultant wrenches at the center of the mass of the
object. Each contact type can be frictionless, frictional or soft contact. The different contact
types are shown in Figure 5.2.
A finger exerts force only along the normal of the contact point in a frictionless contact and the
applied wrench is represented as,
Fi =
0
0
1
fi
0
0
0
fi > 0,
(5.1)
where fi ∈ R is the force magnitude in the normal direction. At each contact, three forces and
three moments are stacked by 6 × 1 vector, which is called the wrench basis vector.
135
5.2 Definition of Grasping
Figure 5.2.: Point contact (Left), Point contact with friction (Middle) and Soft contact (Right).
A frictional model is obtained when friction occurs between the hand fingertips and the object.
A frictional contact has both normal and tangential force as shown in Figure 5.3. According to
Coulomb’s law, the slipping occurs when,
f t > µ fn .
(5.2)
Therefore, the following condition is required for the tangential force to be applied at the
contact point,
f t ≤ µ fn .
(5.3)
The forces applied at the contact must lie in a cone centered about the surface normal. This is
called the friction cone denoted by α (See Figure 5.3) and can be shown as,
α = tan−1 µ .
(5.4)
In the case of contact with friction, forces are exerted in any direction by staying within the
friction cone. The wrench applied to object with the friction model is given as,
Fi =
1 0 0
0 1 0
0 0 1
fi
0 0 0
0 0 0
0 0 0
where
FC = { f ∈ R3 :
q
fi ∈ FCi ,
f12 + f22 ≤ µ f3 , f3 ≥ 0}.
(5.5)
(5.6)
The control algorithms implemented in this chapter are based on point and friction contact.
136
5.2 Definition of Grasping
Figure 5.3.: Contact model based on Coulomb’s friction.
A soft finger contact also allows the finger to exert a moment about the normal at a point
of contact. Each unit wrench corresponds to the normal force fn , the tangential force ft and
the moment about the normal fθ ; the magnitude or intensity applied by finger in the normal
direction is fn , ft , fθ . This model is not considered for control application. In general, contact
wrench applied to the surface of the object can be defined as,
F =W f
f ∈ FC,
(5.7)
where W ∈ R p×m is the the wrench basis. In SE(3), the force dimension p is chosen as 6. For
planar grasping, p = 2 indicates the horizontal and vertical direction only. m is the number of
forces that is applied through contact. The friction cone FC satisfies the following properties:
1. FC is a closed subset of Rn .
2. f1 , f2 ∈ FC =⇒ α f1 + β f2 , for α , β > 0.
5.2.3. Grasp map
In the previous section, the contact wrench was determined. The contact wrench is required to
transform at the object coordinate frame in order to determine the object wrench. Grasp matrix
is responsible for the transformation between the contact and the object’s coordinate frame.
To derive the grasp map G, set the object coordinate frame as Co , the center of the mass of
the object. Cb is the hand base frame and C f ,i is the contact frame where i is the number of
contacts. If each finger applies a force f c,i at the contact point C f ,i , then the applied object
wrench is found as,
n
Fo = ∑ AiWi fci
i=1
fci ∈ FC,
(5.8)
137
5.2 Definition of Grasping
where F o = [ foT
mTo ]T is the external force exerted on the object. The terms resultant forces
fo and moments mo are given as,
n
n
fo = ∑ fci
mo = ∑ (roi × fci ).
i=1
(5.9)
i=1
The term Ai is called the wrench transformation matrix defined as,
Ai =
"
0
Roci
(roi ×)Roci Roci
#
.
(5.10)
The above equation express the contact wrenches as object wrenches. Roci is the transformation
matrix of the contact frame with respect to the object frame. The term ro = [po , oo ] is the
position vector from the origin of Co to the contact point Cc with respect to Cb , where po is the
position and oo is the orientation vector. [roi ×] ∈ R3×3 is a skew symmetric matrix by the cross
product of roi . The map which transforms the contact forces fci to the object frame is called the
grasp map G which can be expressed as,
Gi = AiWi ,
(5.11)
where G ∈ R6×3 . Considering grasp map, (5.8) can be rewritten for all finger contacts on the
object surface as,
Fo = G fc
f c ∈ FC.
(5.12)
The complete grasp matrix is shown as G = [ G1 G2 . . . Gn ] and the contact force set,
T ]T . The grasp matrix G is analysed based on the contact point location
T
T
f c = [ fc1
. . . fcn
fc2
and the current orientation of the object. In summary, a grasp is defined as a combination of
robotic hand fingers exerting forces on an object. The total wrench of the object is calculated
from each contact forces generated by the robot finger following the relationship of (5.12).
Grasp map becomes valid for contact where rolling or sliding does not occur. The way to
ensure no slippage is to satisfy that the contact forces lie within the friction cone at all times.
5.2.4. Force-Closure of a grasp
Another important requirement of grasping is to resist any applied wrench. If a grasp is able to
maintain external wrenches by applying accurate robot finger wrenches is called force-closure.
The force-closure grasp withstands any applied wrench to the object. If the contact model is
defined as point contact with friction, the applied finger forces need to remain in the friction
cone in order to achieve the force-closure.
Definition 5.1 Force-closure grasp
138
5.2 Definition of Grasping
A grasp is called the force-closure grasp for any external wrench Fe ∈ R p applied to the object,
there always contact forces fc ∈ FC occurs such that
G fc = −Fe .
(5.13)
Equation (5.13) characterises a grasp is force closure if and only G(FC) = R p . Force-closure
properties of the grasp allows the existence of internal forces in grasping and manipulation
framework. When an object is grasped by the robot fingers, a set of contact forces occurs in the
compliant system which results in no net force on the object or the hand. This set of contact
forces is defined as the internal force fi represented subject to wrench basis W at each point of
contact. This force is used in the hand-object system to assure that fc ∈ FC.
5.2.5. Hand Jacobian
In general, the fingertip forces are expressed in contact coordinate frame on the object surface.
The hand Jacobian is required to generate the forces at the fingertip frame. Hand Jacobian is
the map which transforms the contact force at the finger frame. Finger kinematics from chapter
2.3 is used to derive the general fingertip Jacobian of the robot fingers with respect to the base
frame by the following relation:
Ẋi = J f i θ̇i ,
where J f =
d
d θ (Xi );
(5.14)
Xi is the fingertip position of each finger in SE(3). Now, it is necessary
to transform the wrench from the contact coordinate frame Cc to the base frame Cb . During
contact, the resultant wrench for the forces f f and the moments m f at each fingertip can be
expressed as,
n
Ff = ∑WiT Bi fci ,
(5.15)
i=1
where
Bi =
"
RTbci −RTbci (rci ×)
0
RTbci
#
,
(5.16)
is the transformation matrix which expresses the contact coordinate frame Cc subject to the
base coordinate frame Cb . From (5.13) and (5.14), the hand Jacobian Jh can be calculated as,
Jhi = WiT Bi J f i .
(5.17)
In (5.15), W T B is the transformation of fingertip frame C f to the contact coordinate frame Cc
with respect to the base frame Cb that is multiplied by the fingertip Jacobian. How the grasp
map G and the hand Jacobian J transform the different frame in force and velocity space is
summarised in Figure 5.4.
139
5.3 Robot Object dynamics
Figure 5.4.: Frame transformation between object and velocities in a multi-fingered grasp.
5.2.6. Grasp constraint
The grasp constraint is essential to derive object grasping which describes the motion of the
robot-object compliant system while contact is made between them. This describes the relationship between fingertip and object velocity. As the contact locations are assumed to be fixed
contact with friction on the object, the constraint between the hand fingers and the object can
be determined by considering the following relation,
ṙoi = ṙci ,
(5.18)
where ṙoi is the object and ṙci is the fingertip velocity at the i−th contact point. Applying (5.11)
and (5.16) to (5.17) with respect to the base frame, the grasp constraint holds the following
relation,
Gi T ẋo = Jhi q̇i ,
(5.19)
which is the relationship between the object velocity and the angular velocity of the i−th finger.
This constraint regulates the grasping and manipulation of an object. The velocity vectors of
h
iT
the object is, ẋo = ṙoT ωoT ∈ R6 , where ω o is the angular velocity of the object with respect
Cb . The spatial Jacobian has the form, Jhi ∈ R6×l = WiT Bi J f i where li is the link number of the
fingers and Ji is the kinematics Jacobian at the i − th fingertip.
5.3. Robot Object dynamics
Grasp constraint is determined in the previous section which is required to derive the dynamics
of robotic hand grasping an object manipulating an object. From (5.6), the dynamics of each
140
5.3 Robot Object dynamics
finger of the robotic hand have the following form,
M(q)q̈ +C(q, q̇)q̇ + G(q) = τ − τd ,
(5.20)
where τd is defined as J T fc which is the reaction torque due to the force − fc that the object is
exerted on the hand fingertip. Considering the jacobian transpose, (5.20) is rewritten as,
q̈ = M f (q)−1 [τ −C f (q, q̇)q̇ − G f (q)]
(5.21)
and the object dynamics from equation (2.15) is given as,
Mo Ẍ +Co (X, Ẋ)Ẋ = Fo = G fc + fe .
(5.22)
Now rearrange the constraint equation (5.19) by dropping subscripts as,
q̇ = Jh−1 GT ẋo .
(5.23)
Differentiating the equation (5.23) yields,
q̈ = Jh−1 GT ẍo +
d −1 T
(J G )ẋo .
dt h
(5.24)
Using (5.23), the robot-object dynamics are formed from (5.21) and (5.22) as,
where
e o , Ẋo )Ẋo + N(X
e x)Ẍo + C(X
e o , Ẋo ) = F,
M(q,
e = Mo + GJ −T M f J −1 GT
M
h
h
Ce = Co + GJh−T C f Jh−1 GT + M f dtd Jh−1 GT
e = No + GJ −T N f
N
h
F = GJh−T τ .
(5.25)
Equation (5.25) is determined assuming that the joint motions q, q̇ are derivable from the object
e is the effective mass matrix of the object, Ce is the effective Coriolis
motions X,Ẋ. The terms M
e as the effective gravitational forces. The hand dynamics and the object dynamics
matrix and N
combines the effective compliant matrix terms.
Definition 5.1 Dynamic properties of the robot-object equations of motion
e x) is symmetric and positive de f inite.
1. M(q,
ė x) − 2Ce is a skew − symmetric matrix.
2. M(q,
The internal forces explained in the section 5.2.4 exist in robot-dynamic equations of motion
such as equation (5.24). The term F = GJh−T τ includes the presence of internal forces belong-
141
5.3 Robot Object dynamics
ing to the null space of grasp matrix G. This term transforms the finger joint toques into object
forces.
5.3.1. Multi-fingered Grasping and manipulation problem formulation
The assumptions for controller designs are as follows: each manipulator is non redundant,
that is, the number of degree of freedom of each manipulator is equal to the dimension of
operational coordinate. The hand fingertips and the object are required to be rigid to have
fixed point contact with friction during interaction. The kinematics and dynamics of the links
and the object are known. All end-effectors of the manipulators are rigidly attached to the
common object so that there is no relative motion between the object and any end-effector.
During the coordinated motion, the manipulators do not enter any singular configuration. The
grasping and manipulation control problem is stated as: the control of the motion (position and
orientation) of the object in R3 by the joint torque τi of the fingers of the hand. When fingertips
make contact with the object, the joint torque τi is transformed to the fingertip forces Ff which
causes the object to move according to the command.
• Hand workspace tracking: Given a desired contact location trajectory XDC ∈ R6×1 ,
each fingertip of the robotic hand XC should track XDC . The first objective is,
lim (XDC − XC ) = 0.
t→∞
(5.26)
• Object Tracking: Given a desired object trajectory XDO ∈ R6 , the centre of mass of the
object XO ∈ R6 should track XDO while the contact is made between the hand and the
object considering the grasp constraint. The second objective is then,
lim (XDO − XO ) = 0.
t→∞
(5.27)
• Contact Force Tracking: The actual contact force FC ∈ R9 should follow the desired
contact force FD ∈ R9 and lie within the friction cone at all times. The third objective is,
lim (FD − FC ) = 0.
t→∞
(5.28)
Robot fingers are tracked in the Cartesian space for desired contact location before the
object is grasped. Object tracking problem occurs when the hand fingertips reach the
contact locations, then the contact force is generated which needs to be optimised.
Maintaining contact without slipping: The contact should be maintained over the entire
time of the trajectory by producing non-zero contact forces which satisfies the friction cone
properties. It can be also presented that an internal force fi is found for an arbitrary set of
142
5.4 Computed torque controller
contact force fc such that fc + fi lies in the friction cone. The force fi have no net effect on the
motion of the hand or object and is available in the null space of the Grasp matrix, G.
5.4. Computed torque controller
The control purpose of the multi-fingered hand is to grasp an object and ensure damages are
not caused to the object. Implementing a controller for a robot-object compliant system is challenging as it is a multiple-input-multiple-output (MIMO) nonlinear system with many actuators
and sensors. For control analysis, consider the constrained robot-object dynamics of (5.25) as,
e o , Ẋo )Ẋo + N(X
e x)Ẍo + C(X
e o , Ẋo ) = F = GJ −T τ .
M(q,
h
(5.29)
The tracking problem is to calculate the joint torque such that the system asymptotically track
the desired object manipulation trajectory Xdo . GJh−T : Rn → R p is a surjective map which al-
lows for the determination of a set of torques τ . From Definition 5.1, the effective mass matrix
e and the coriolis matrix Ce show the same properties that apply to open chain manipulators.
M
Therefore, any type of controllers used for multi-fingered Barrett hand in the Chapters 3 and 4
can be used for grasping and manipulation.
The classical CTC algorithm used in chapter 3.4 is used in this section. The advantages of
the CTC is that it linearises a nonlinear dynamical system by using available linear control
theories. The CTC is also known as feedback linearisation method where full-state nonlinear
feedback is applied to a nonlinear system. CTC has limitations in terms of the input magnitude
and the computational time required to use the feedback law to globally convert a nonlinear
system into a linear one. In robotic system such as the multi-fingered hand, the inertia matrix is
bounded followed by the dynamic properties. This suggests that the input boundedness is not
an issue to apply CTC law. Also, the control torque exerted on the constrained system remains
bounded.
In addition, experimental results presented in chapter 3 indicate that the CTC is a standard
method to implement tracking controller for a robotic hand.When the initial conditions of the
object are known and Xo (0) = Xdo (0), Ẋo (0) = Ẋdo (0), then the controller can be chosen as,
e o , Ẋo )Ẋo + N(X
e x)(Ẍdo − Kv ėo − Kp eo ) + C(X
e o , Ẋo ),
Fo = M(q,
(5.30)
e x) is positive
where eo := X − Xd . The proof of asymptotic convergences require that M(q,
e − 2C is skew symmetric.
definite and M
Using the jacobian transpose relationship between the fingertip forces and joint torques, force
F is determined as GJ −T τ . The general solution of Fo = GJ −T τ has the following form,
τo = J T G+ F + J T fi ,
(5.31)
143
5.4 Computed torque controller
where G+ = GT (GGT )−1 is the pseudo-inverse of G and fi ∈ ℵ(G) i.e. the internal forces fi
belongs to the null space of G. As G fi = 0, fi can be chosen arbitrarily satisfying the friction
properties that does effect the tracking feature of the controller. Considering the solution of
(5.31), the CTC law in terms of the joint torque input can be implemented as,
h
e x)(Ẍdo − Kv e˙o − Kp eo )
τo = J T G+ M(q,
i
e o , Ẋo )Ẋo + N(X
e o , Ẋo ) + J T Fn .
+C(X
(5.32)
The above law provides the torque required to drive the constrained system along its desired
path. After canceling the nonlinearities of the constrained system, the error dynamics in the
object frame becomes,
ëo + Kv ėo + Kp eo = 0.
(5.33)
Equation (5.33) is a second order linear equation where the selection of control gains Kp and
Kv are easy to choose and can be proved that the system is stable and motion error eo → 0
exponentially as time t →∝ .
5.4.1. Stability of the CTC law
When the selections of control gain Kp , Kv ∈ Rn×n are positive definite and symmetric matrices,
then the manipulation control law of (5.32) applied to (5.29) results in exponential tracking of
object motion Xo .
Proof: The error dynamics of (5.33) can be expressed in matrix form as,
d
dt
"
E=
e
"ė
#
=E
0
"
e
I
#
ė #
.
(5.34)
−Kp −Kv
In (5.34), each eigenvalue of the diagonal matrix E is negative real. Let λ be the eigenvalue of
E with associated eigenvector v = v1 , v2 , then (5.34) becomes,
λ
"
v1
v2
#
=
"
0
I
−Kp −Kv
#"
v1
v2
#
.
(5.35)
It is seen from (5.36) that v = 0 when λ = 0 which implies λ = 0 is not an eigenvalue of E.
When λ 6= 0, then v2 = 0 which means that v1 = 0. Therefore, v1 , v2 6= 0 and it assumed as
144
5.4 Computed torque controller
kv1 k = 1 without the loss of generality. From this assumption,
λ 2 = v∗1 λ 2 v1 = v∗1 λ 2 v2
= v∗1 (−Kp v1 − Kv v2 )
= −v∗1 Kp v1 − λ v∗1 Kv v1 ,
where, ⋆ represents complex conjugate transpose. Consider the terms, α = v∗1 Kp v1 and β =
v∗1 Kv v1 yields,
λ 2 + αλ + β = 0
α , β > 0,
which proves that the real part of the eigenvalue λ is negative.
5.4.2. Computed torque control for Barrett hand grasping and
manipulation
The CTC based control algorithm for grasping and manipulation of the Barrett Hand is built in
SimMechanics. The full control structure is given in Figure 5.5.
Figure 5.5.: General control structure for grasping and Manipulation by the Barrett hand.
One controller is first applied for workspace robot dynamics before the contact. When the
contact is made, another controller is activated to apply to the object space. It is assumed
that the object is within the range of the Cartesian space of the Barrett hand. The hand is
commanded from its initial fingertip position x f , y f , z f to reach the known contact locations
xci , yci , zci (i = 1, 2, 3). The simulation system diagram developed for controlling the Barrett
hand before contact is shown in Figure 5.6.
The desired step input is supplied through demand input block and the time-based Cartesian
fingertip trajectory input Xd is generated. Joint trajectory input qd is calculated from the inverse
kinematics developed in chapter 2.3.2. Feedback control block output is the solution of (5.33)
where eq is the joint error. The term ’Aux Input’ is designed after the cancellation of nonlinear robot dynamics and linearisation. This drives the feedforward block which is governed
by (5.32). This part provides the joint torque τ required to generate the motion to the robotic
hand. The robotic hand output q is fed back to the feedback control block and determines the
145
5.4 Computed torque controller
Figure 5.6.: General control structure in the hand coordinates before grasping by the Barrett
hand.
joint error eq . The control structure after grasping is demonstrated in the flow diagram of Figure
5.7. Before the grasp is made, the control layout of Figure 5.6 applies to the system. When
all fingertips have reached the desired location on the object’s surface, the contact force fc is
produced and the input becomes the desired object motion trajectory Xdo . The computed torque
law of (5.32) is then applied to the Barrett Hand to generate torque and grasp and manipulate
the object. The object space motions are output which is fed back and transformed to the joint
spaces. The joint spaces control law is then worked as an internal controller of the system.
The simulink structure of the robot-object system before and after grasping is displayed in
Figure 5.8. A switch block is used as conditions to pass the torques calculated before and
after grasping. After grasping the torque τo is generated through the contact mechanics and the
control law is calculated in the object space. The contact is modelled such that, when fc < 0,
controller for the object frame is not activated. The joint space based torque τ is calculated for
applying to the robotic hand until all fingertips reach the desired contact location and introduce
the contact force.
5.4.3. CTC results and discussion
For the Barrett hand simulation, the mass, the link and other parameters are: link lengths,
l1 = 0.05m, l2 = 0.07m, l3 = 0.07m, link mass, m1 = 0.03kg, m2 = 0.05kg, m3 = 0.03kg, base
height of the hand, h = 0.06m and gravity, g = 9.81m/s2 . Initial and contact fingertip positions
of all three fingers are given in Table 5.1.
Table 5.1.: Fingertip positions of the Barrett hand at initial and contact state.
Finger Fi
F1
F2
F3
Initial fingertip position Ff i (m)
(0.00049, −0.1568, 0.1122)
(0.00049, −0.1568, 0.1122)
(0.00049, 0.1568, 0.1122)
Contact fingertip position Fci (m)
(0.0255, 0.1712, −0.0292)
(−0.0255, 0.1712, −0.0292)
(0.00049, 0.1712, 0.0276)
The CTC method is tested in two stages for grasping and manipulation of the Barrett Hand, the
146
5.4 Computed torque controller
Figure 5.7.: General control structure in the object space after grasping by the Barrett hand.
1
2
Joint
Input
Object Input
q_d
Torque
CTC in Joint
Space
q
Th
>0
F_c
Contact
Mechanics
u1
if(u1 > 0)
if { }
X_do
X_d
else
Contact
condition
Terminator
Object Trajectory
Switch
X_o
Barrett Hand
X_d,q,F_c
Torque_o
1
Object
Motion
Control in
Object Space
Figure 5.8.: Control structure in the object space after grasping by the Barrett hand.
147
5.4 Computed torque controller
pre-grasp state and the Grasp state.
I. Pre Grasp State
In pre grasp state or the Cartesian open space, the control gains for joint based CTC are obtained
through trial and error. The proportional and the derivative gain are Kp = 300 and Kv = 29
respectively. For the desired contact locations given in Table 5.1, joint angles qi are calculated
for Ff through inverse kinematics and the joint based CTC law is applied to track the joint
trajectory qdi . Trajectories are commanded to reach the contact areas on the object at the same
time. The trajectory reference is calculated as follows,
qdi (t) = qdoi (1 − exp−t/a )
(5.36)
where, qdoi is the step input with the final joint reference. Equation (5.36) provide the smooth
step input trajectory over time. Spread angle spi is valid for F1 and F2 only. First, F1 and
F2 reach at the co-ordinate locations (0.0255, −.0292) and (−0.0255, −.0292) respectively.
Three fingers then move together to grasp the object at the contact location Fci . Joint motion
tracking of three fingers of the Barrett Hand are shown in Figure 5.9. The joint references
for all fingers are, q2 = 75o , q3 = 35o , sp1,2 = 1o . The object grasped at 6.85 seconds. The
tracking errors (∼ 0.5 − 1%) are visible for sp1 and sp2 before settle down. The other two
joints q2 and q3 starts moving when sp1 and sp2 reach the desired value, spd = 1o . Joint q2
for all fingers take less than 1 second to settle down to the desired values (q2d = 75o ). The
joint errors are obtained as ∼ 2 − 3% of the desired values. The joint q3 of all fingers have a
little spike downwards before moving to the reference values (q3d = 35o ). The spikes in the
responses appear due to the presence of damping in q3 . Despite the presence of damping, the
settling time for q3 responses are also found between 1 − 1.5 seconds. The tracking errors are
measured between ∼ 2 − 4% of the references. The largest tracking errors are found from q3
joints of the finger F3 .
In Figure 5.10, joint velocity responses of the fingers are shown. The velocities of the fingers
are moving towards a steady value and implies that system is dissipating energy and achieving
the equilibrium. The torques τi are calculated using the CTC law for all fingers and presented
in Figure 5.11. In all figures, joint torques became smooth very quickly. Velocity and torque
profiles of the hand verify the system model and proves the ability of the fingers to track any
desired motions.
The contact mechanics described in chapter 4.2 is used to calculate the contact forces. Normal
contact forces Fni obtained from object grasping by the Barrett hand are presented in the Figure
5.12. The object stiffness value is considered, Ks = 10 kN/m. In all figures, the normal forces
are zero before 7 seconds which means that the fingers are still in the open space. As soon
as the contacts are made, the contact forces are measured and the grasping mode is activated.
Following the coordinate declaration in the Figure 5.1, the sign of the contact force values
148
80
60
40
20
0
40
Actual
Desired
6
7
9
F2 q3 (deg)
7
8
9
6
7
8
9
10
6
7
8
9
10
6
7
8
9
10
20
0
−20
10
80
60
40
20
0
40
6
7
8
9
sp2 (deg)
0.5
0
2
4
6
Time (sec)
8
10
20
0
−20
10
1
0
0
10
F3 q3 (deg)
F3 q2 (deg)
8
20
40
6
sp1 (deg)
F1 q3 (deg)
F1 q2 (deg)
80
60
40
20
0
F2 q2 (deg)
5.4 Computed torque controller
1
0.5
0
0
2
4
6
Time (sec)
8
10
Figure 5.9.: Tracking results of joint motions qi in the Cartesian space before grasp state.
149
5.4 Computed torque controller
5
F1 q3d (deg/s)
F1 q2d (deg/s)
10
5
0
−5
0
5
0
−5
−10
10
5
0
−5
0
5
−10
F3 q2d (deg/s)
F3 q2d (deg/s)
5
10
0
5
10
0
5
Time (sec)
10
10
0
0
5
5
0
−5
10
0.04
sp2 (deg/s)
0.04
sp1 (deg/s)
0
−5
10
5
0.02
0.02
0
−0.02
10
0
10
−5
5
5
F2 q3d (deg/s)
F2 q2d (deg/s)
10
0
0
5
Time (sec)
10
0
−0.02
Figure 5.10.: Joint velocities q̇i of a Barrett finger in the Cartesian space before the grasp
state.
150
5.4 Computed torque controller
0.4
F2 τ1 (Nm)
F1 τ1 (Nm)
0.4
0.2
0
0
5
0.2
0
10
F2 τ2 (Nm)
F1 τ2 (Nm)
5
10
5
10
0
5
10
0
5
Time (sec)
10
0.1
0.1
0
−0.1
0
5
10
0
−0.1
x 10
F2 τ3 (Nm)
F1 τ3 (Nm)
1
0
−1
0
5
−1
0.2
F3 τ2 (Nm)
F3 τ1 (Nm)
x 10
0
10
1
0.5
0
0
−3
−3
1
0
0
5
Time (sec)
10
0
−0.2
Figure 5.11.: Joint torques τi of the Barrett fingers before grasping.
151
5.4 Computed torque controller
for three fingers are, [F1 , F2 , F3 ] = [−, −, +]. It is important to have two different signs in the
normal forces in order to achieve grasp due to the internal force.
Fn1 (N)
0
−50
−100
0
5
10
15
20
0
5
10
15
20
0
5
10
Time (sec)
15
20
Fn2 (N)
0
−100
−200
−300
Fn3 (N)
300
200
100
0
Figure 5.12.: Normal contact forces Fn of Barrett fingers during grasp .
II. Grasp State
The CTC is also for manipulation of the object once it is grasped. The initial and desired object
positions are given in Table 5.2. The desired object positions are given subject to the initial
object frame Co . The object mass inertia values are: Ixx = 0.005, Iyy = 0.0061 Izz = 0.0061.
Grasp mode is activated when contact force is measured in the coupled robot-object system.
The robot-object compliant subsystem receives the joint data qi , the grasp matrix G and the
Jacobian J.
Table 5.2.: Initial Xo (o) and desired Xdo (t) positions of the Object for grasping.
Object Position (m)
Initial Xo (o)
Desired Xdo (t)
xo
0.00049
0.0006
yo
0.1708
0.171
zo
0
0.01
φo
0
2 ∗ π /180
θo
0
τ/20
ψo
0
τ/20
The controller derived in (5.32) is applied for the simulation of the object manipulation. The
results in Figure 5.13 show the performances of motion where desired and actual object motion
of the system are compared. The horizontal object position zo of the object has 0.5 − 1%
overshoot when the contact is made and settling down time is found 1.2 seconds. The vertical
object position yo have 1.17% overshoot. No controller applied on the side position xo and
remain constant. Orientation variable φ approach to the desired value 0.035 rad. The tracking
152
5.4 Computed torque controller
errors are shown in the Figure 5.14. The maximum errors for the variables, zo = 0.05 and yo =
.002 m. The variables φo and ψo are found with maximum errors of 0.05 and 0.005 respectively.
The torque input signals τod applied to the finger joints after grasping is presented in Figure
5.15. The settling times of the torque signals are maximum of 1 sec after the initial oscillation
during the contact between the fingertips and the object. No large oscillations in the signals are
visible in the complete time history of the simulations.
−4
x 10
0.06
φo (m)
xo (m)
5
4.5
Desired
Actual
4
6
8
0.04
0.02
0
10
6
8
10
8
10
8
Time (sec)
10
−13
2
0.17
θo (m)
yo (m)
0.18
0.16
0.15
6
8
0
−2
10
x 10
6
−3
5
0.01
ψo (m)
zo (m)
x 10
0
−0.01
6
8
Time (sec)
10
0
−5
−10
6
Figure 5.13.: Object motion Xo tracking after grasped by the Barrett hand.
The results presented in Figure 5.9 − 5.14 is summarised in the Table 5.3. The table provides
the range between the minimum and maximum values of the overshoot, tracking error and
settling time for the joint qi the object position Xo . The joint motion overshoots stay within
0.1% of the final values. The maximum tracking errors are occurred 4% between the reference
and the actual position. Settling time is also found between 1−1.5 seconds. Tracking errors are
found large in the case of q3 due to the damping. The overshoot found from the object response
is more compared to the joints but have less tracking errors. In both cases, over shoots are less,
tracking errors and settling time values are also within a small range by the CTC controller.
• Object motions are well tracked based on contact mechanics and the grasp constraint
153
5.5 Natural and stiffness controller
−5
0.04
eoφ (m)
1
0.5
0
1
eoy (m)
x 10
6
−3
x 10
7
8
9
0
10
2
−1
6
7
8
9
8
9
10
6
7
8
9
10
6
7
8
Time (sec)
9
10
0.01
0.01
eoψ (m)
eoz (m)
7
x 10
0
−2
10
0.02
0
−0.01
6
−13
0
−2
0.02
eoθ (m)
eox (m)
1.5
6
7
8
Time (sec)
9
10
0
−0.01
Figure 5.14.: CTC based Tracking error eo of the object after grasped by the Barrett Hand.
Table 5.3.: Range of settling time, tracking error and torque profiles of the joints and the
object (before and after grasp).
Output
type
Joint motion
Object
motion
Overshoot
(%)
∼ 0.1%
Tracking error
(m)
0.5 − 4
Settling time
(second)
1 − 1.5
0.5 − 1.1%
0.002 − 0.05
1−3
once grasp is made. Object actual positions xo , yo , zo are found with little errors. Orientation angles φo , θo , ψo of the motions tends to zero but improvements are possible
considering other issues such as frictions and internal force control.
5.5. Natural and stiffness controller
Natural control law for compliant based grasping was first used by Koditschek [?]. The algorithm presented in that study is similar to computed torque method but does not follow the way
to cancel the non-linear dynamics of the system precisely. The skew symmetric property of
the robot dynamics is pT (Ṁ − 2C)p = 0 for all p ∈ Rn . This is a modified version of PD control law which can be proved asymptotically stable for motion tracking problem. The natural
control algorithm is implemented as,
154
5.5 Natural and stiffness controller
0.1
F2 τo1 (Nm)
F1 τo1 (Nm)
0.2
0
−0.2
6
7
8
9
−0.1
10
0
6
7
8
9
9
10
6
7
8
9
10
6
7
8
9
10
6
7
8
Time (sec)
9
10
0.1
F2 τo3 (Nm)
F1 τo3 (Nm)
8
0
−0.02
10
0
−0.1
6
7
8
9
0
−0.1
10
0.04
F3 τo2 (Nm)
0.1
F3 τo1 (Nm)
7
0.02
0.1
0
−0.1
6
0.04
F2 τo2 (Nm)
F1 τo2 (Nm)
0.2
−0.2
0
6
7
8
Time (sec)
9
10
0.02
0
−0.02
Figure 5.15.: Joint torques τi of the Barrett fingers after grasping.
155
5.5 Natural and stiffness controller
h
e (q, x) Ẍdo + Ce Xo , Ẋo Ẋdo + N
e Xo , Ẋo + Ce Xo , Ẋo Ẋo
τon = J T G+ M
−Kv ėo − Kp eo )] + J T Fn .
(5.37)
e x). But the natural law of
In CTC law of (5.30), the error dynamics is multiplied by M(q,
(5.36), the motion error and velocity error are calculated separately with control gain. Also,
e o , Ẋo ) is associated with desired object velocity Ẋdo . The only
the nonlinear Coriolis matrix C(X
difference in the stiffness control law is the ability to show exponentially stable error dynamics.
The stiffness based grasp control law is given as,
h
e Xo , Ẋo
e (q, x) Ẍo + λ ėo + Ce Ẋo + λ eo Ẋdo + N
τos = J T G+ M
−Kv ėo − Kp eo )] + J T Fn .
(5.38)
To achieve the exponential stability over the motion errors, eo and ėo are multiplied by stiffness
gain λ > 0 which is positive definite. The object motion tracking based on the natural controller
are presented in 5.16.
5.5.1. Results and discussions
The mass and inertia parameters are used from the previous section for the natural controller.
Controller expression is different but no new control parameters are used in this current study.
Natural and stiffness controllers are not available with linear error equation. There is no particular way to select the control gain Kpn and Kvn but according to the proof of stability, Kp > 0
and Kv > 0 are the conditions for convergence. To select the values of control gain Kp and Kv ,
the matrix Mh can be used as indications. The matrix Mh contains the information of finger and
object inertia. The values of Kpn and Kvn are found as 60 and 20 by trial and error. In Figure
5.16, the overshoots of zo and yo are found as 0.01% and 0.3% respectively. The overshoots
from φo and ψo are between 0.01 − 1%.
For the stiffness control law, the only change is the introduction of an adaptation parameter λ . The value of λ is chosen by trial as 0.01. The control gains are applied same as the
natural controller gains. Therefore, the gains are, Kps = Kpn and Kvs = Kvn . Two sets of desired trajectories are traversed for positions of the object but orientation values remained unchanged. In the first case, the desired position zo = 0.01, yo = 0.1710 and in the second case,
zo = −0.03, yo = 0.1714. The Figure 5.17 and 5.18 present the object position tracking re-
sponses for the case 1 and 2 respectively. Settling times of the object responses are found
between 1 − 2%. No overshoots are found in the object position coordinate. with stiffness con-
troller. The orientation angle φo and ψo are improved in terms of overshoot, tracking error and
settling time. The angle θo varies due to the gravitational effect during grasp.
The motion errors found from the three controllers are compared in Figure 5.19. The tracking
errors obtained with natural and stiffness controllers have less tracking errors when the object
156
5.5 Natural and stiffness controller
x 10
0.06
φo (m)
xo (m)
−4
5
4.8
4.6
4.4
4.2
Desired
Actual
6
7
8
9
0.04
0.02
0
10
6
7
8
9
10
−12
2
θo (m)
yo (m)
0.171
0.1709
0.1708
0.1707
6
7
8
9
1
0
−1
10
x 10
6
8
10
12
14
−4
0
0.01
ψo (m)
zo (m)
0.015
0.005
0
6
7
8
Time (sec)
9
x 10
−0.5
−1
10
6
7
8
Time (sec)
9
10
Figure 5.16.: Position tracking of the object after grasped by the Barrett hand with natural
controller.
is moved to a desired after grasp. In both position and orientation coordinates, CTC based
motions (red dashed lines) tracking errors are larger than the other two. The settling time,
overshoots are reduced with natural and stiffness based controllers. The maximum and minimum values of the overshoot, tracking error and settling time for all three (CTC, natural and
stiffness) controllers are summarised in the Table 5.4.
Table 5.4.: Range of settling time, tracking error and torque profiles of the joints and the
object (before and after grasp).
Controller
type
CTC
Natural
Stiffness
Overshoot
(%)
0.5 − 1.1
0.01 − 1
0.001 − 0.1
Tracking error
(m)
0.002 − 0.05
0.001 − 0.02
0.001 − 0.01
Settling time
(second)
1−3
1 − 1.5
1 − 1.4
The results from the Table 5.4 depicts that stiffness controller based object manipulation have
almost no overshoot in the motion responses. The oscillation in orientation is greatly reduced with stiffness controller. The tracking and settling time are less compared to the results
achieved from CTC and natural controllers. The performances of natural and stiffness controllers are similar in terms of the response characteristics. The CTC based simulation appears
to have more overshoots, tracking error and settling time compared to the remaining two con-
157
5.5 Natural and stiffness controller
−4
x 10
0.02
Actual
Desired
4
φo (m)
xo (m)
5
0.01
3
6
7
8
9
0
10
6
7
8
9
10
−17
2
θo (m)
yo (m)
0.1711
0.171
0.1709
0.1708
7
8
9
x 10
0
−2
−4
10
10
15
20
1
0.01
0
ψo (m)
zo (m)
−3
0.015
0.005
0
6
7
8
Time (sec)
9
−1
−2
10
x 10
6
7
8
Time (sec)
9
10
Figure 5.17.: Object position tracking after grasped by the Barrett hand with the stiffness
controller (case 1).
−4
0.02
5
4.5
φo (m)
xo (m)
x 10
Desired
Actual
4
6
7
8
9
0.01
0
10
6
7
8
9
10
6
7
8
9
10
6
7
8
Time (sec)
9
10
0.1716
2
0.1714
1
θo (m)
yo (m)
−16
0.1712
0.171
6
7
8
9
0.02
ψo (m)
zo (m)
0
−0.02
−0.04
0
−1
10
x 10
6
7
8
Time (sec)
9
10
0.01
0
−0.01
Figure 5.18.: Object position tracking after grasped by the Barrett hand with the stiffness
controller (case 2).
158
5.5 Natural and stiffness controller
trollers. From this analysis, the natural and stiffness controller exhibits better characteristics
and proved to be more efficient in achieving tracking performances than CTC for grasping and
manipulation by the Barrett hand.
−5
x 10
0.04
1
Stiffness
CTC
Natural
0.5
0
φo (m)
xo (m)
1.5
6
7
8
9
10
0.02
0
−0.02
θo (m)
yo (m)
10
6
7
8
9
10
6
7
8
Time (sec)
9
10
1
0
−1
−2
6
7
8
9
10
0.02
0.01
0.005
0.01
ψo (m)
zo (m)
9
2
−1
0
−0.01
8
x 10
x 10
0
−2
7
−12
−3
1
6
0
−0.005
6
7
8
Time (sec)
9
10
−0.01
Figure 5.19.: Comparison of object motion based on CTC, Natural and Stiffness control
algorithm.
In this section, the grasp model developed between the Barrett hand and an object considering the tangential friction and grasp constraint is presented. For implementing grasping and
manipulation controller, grasp map and hand Jacobian are derived for the Barrett hand-object
dynamics. The grasp constraint is applied to transform the hand dynamics into the object
space. This implies that the control law needs to be derived in the object frame. Using the
integrated robot-object dynamics model, three classic controllers are developed to assess the
performance of the grasp model. The tracking results of the object position and the orientation
are achieved and analysed with the CTC, Natural and stiffness based controllers. Natural laws
improved the position errors compared to CTC where the stiffness algorithm reduces oscillation over positions and orientations. The performance of the stiffness based controller inspired
the implementation of the adaptive controller presented in the next section.
159
5.6 SMC-adaptive controller for grasping and manipulation
5.6. SMC-adaptive controller for grasping and manipulation
Feedback linearisation based controllers are not able to compensate the uncertainties in grasping and manipulation such as unknown internal mechanism of the robot hand, joint frictions,
contact model etc. Precise position tracking is necessary for coordinated based control. Online
estimations of dynamic parameters are required for varying payload during the manipulation
tasks. The contact force need to be controlled during grasp not to cause any damage to the
object during the grasp. The SMC is a nonlinear robust control method (discussed in chapter
4). The SMC based controller steers the system state (including nonlinearities and uncertainties) to the equilibrium with high control frequency. Hence, robot system with nonlinearities
and uncertainties are dealt with SMC [86]. In the SMC method, the open loop response of the
dynamic system is modelled with ordinary differential equations. This is related to the variable
structure control due to its discontinuous control nature although the control input is expressed
in the continuous domain. This method is conceived to restrain the system state trajectory
on a chosen sliding surface in the phase space. The Lyapunov approach is used to formulate
the SMC controller. The controller guarantees the robustness regardless the presence of uncertainties in a system [86]. This also provides fast dynamic responses, disturbance rejection,
parameter variation. The SMC controller with a PID sliding surface was used in manipulator
systems in the past [123],[124].
When a object is grasped by the multi-fingered robotic hand, it is assumed that the exact model
of the constrained dynamics is known. In this case, parameters of the system such as gravitational loads differ and are not known precisely in advance. Adaptive constrained motion based
control is effective to deal with unknown load parameters in different tasks. All adaptive based
constraint motion control are based on the reduced dynamic model [125]. In the literatures,
modelling and coordinated control based on the hybrid method are proposed assuming that the
dynamic parameters of the robotic hand and the object dynamic parameters are well known
[105, 106]. Grasping and manipulation tasks become difficult without knowing these parameters. To get rid of these dependencies of system parameters for varying load, adaptation is
effectual in achieving the desired motion of the object. By adaptation, both robot and object
dynamic parameters are estimated adaptively without knowing any previous knowledge of the
two systems.
Grasping and manipulation control objectives refers to the position and the compliant based
force control discussed at the beginning of this chapter. The position control is considered as
trajectory tracking in the joint or the Cartesian space. Coordinated control is understood by
all fingers of a robotic hand for reaching the contact location on the object surface at the same
time. Accurate tracking of the multi-fingered hand in the Cartesian space is necessary to meet
the requirements of coordinated control. In this section, the SMC based adaptive controller is
implemented for grasping and manipulation with the multi-fingered Barrett hand. The SMC
160
5.6 SMC-adaptive controller for grasping and manipulation
controller part deals with the uncertainties and dynamic non-linearities. The adaptive controller
contributes in estimating the unknown dynamic parameters with payload.
5.6.1. Hand-object dynamics for SMC-adaptive controller
The reference motion of the hand is generated by adaptively estimated object reference dynamics. Adaptation facilitates to determine the exact torques are required by robot joints to
grasp the object when considering contact dynamics. The sliding function is chosen in higher
order for adaptive control. The hand dynamics from equation (2.23) and object dynamics from
equation (2.49) are combined to represent the coupled hand-object dynamics based on contact
constraint. The adaptive controller is designed and implemented to the hand-object dynamics.
The hand dynamics are rearranged for adaptation as follows,
MF q̈ +CF (q, q̇) + GF (q) = YF (q, q̇, q̈)aF ,
(5.39)
where YF ∈ R8×n is the linear regressor matrix subject to dynamic parameters (n is the number
of dynamic hand parameters). aF is the adaptive parameter to estimate dynamic parameters of
the hand. The hand dynamics subject to contact forces become,
MF q̈ +CF (q, q̇) + GF (q) = τ − J T F.
(5.40)
Similarly, the object dynamics are rearranged for adaptation as below,
Mo Ẍ +Co (Xo , Ẋo )Xo = Yo (Xo , Ẋo , Ẍo )ao ,
(5.41)
where Yo ∈ R7×n is the linear regressor matrix subject to dynamic parameters (n is the number
of dynamic object parameters). ao is the adaptive parameter to determine dynamic parameters
of the object. Now, recall the object dynamics from (2.49) as follows,
where
e o , Ẋo )Ẋo + N(X
e x)Ẍo + C(X
e o , Ẋo ) = GJ −T τ ,
M(q,
h
e = Mo + GJ −T M f J −1 GT
M
h
h
Ce = Co + GJh−T C f Jh−1 GT + M f dtd Jh−1 GT
e = No + GJ −T N f
N
h
(5.42)
5.6.2. The SMC-adaptive controller implementation
Control architecture for grasping and manipulation including the position and force control as
stated in the chapter 5.6. The CTC, natural and stiffness based controllers designed to track the
161
5.6 SMC-adaptive controller for grasping and manipulation
position robot fingertip or the object. In this section, controllers are designed considering the
contact force. Recall equation (5.28) in order to analyse the force tracking objective as,
lim (Fdc − Fc ) = 0
(5.43)
t→∞
which states that, the actual contact force Fc ∈ R9 should follow the desired contact force
Fdc ∈ R9 and lie within the friction cone fc at all times. The actual contact force Fc appears
as a function of fingertip and contact position on object surface. Contact force Fc depends on
the contact type and stiffness of the object. It is not easy to determine Fd when object stiffness
properties are assumed to be unknown. In this situation, the adaptation method proved to be
very useful to estimate desired contact force. if the object model can be estimated, then the
desired external force Fdo exerted on the object can be calculated. This external force is used
to compute the desired contact force Fdc online using the grasp properties stated in the chapter
5.3 as follows:
Mo Ẍ +Co (Xo , Ẋo )Xo = Fdo = G fc
(5.44)
fdc = G+ Fdo + (I − G+ G) fdoi ,
(5.45)
where G+ is the pseudo inverse of G and is given by G+ = GT (GGT )−1 and fdoi is the demand
force input. It is seen from () that, desired contact force fdc is easily calculated using the grasp
map G and the external force Fo achieved from the reference object model. The implementation
steps for the adaptive control are stated below,
1. Desired object trajectories Xo , Ẋo , Ẍo are used to estimate the external object force Fdo
from estimated object reference model.
2. The desired contact force fdc are calculated from the external force Fdo .
3. Adaptive sliding based control law is calculated for the robotic hand from the estimated
hand model.
5.6.3. Desired external and contact force calculation
The expression of reference velocity of the object is similar to the joint reference velocity
q̇r = q̇d − λ e. The reference object velocity vro is defined as,
vro = To (Ẋdo − ρ eo ),
(5.46)
where the term To is the transformation matrix between the object velocity Ẋo and the object
velocity using angular velocity ωo is recalled from (2.43) as,
To (Xo ) =
"
I3
0
0
Tr
#
,
(5.47)
162
5.6 SMC-adaptive controller for grasping and manipulation
where the matrix Tr is the orientation based transformation that is presented as,
0 −sinφ
Tr = 0
1
cosφ
0
cosφ sinθ
sinφ sinθ .
cosθ
(5.48)
The object position error eo = Xo − Xdo and ρ is a positive constant value. Now, using the
reference object velocity vro , the desired external force Fdo is calculated as,
bo v̇ro + Cbo vro − ko so ,
Fdo = M
(5.49)
where the terms M̂o v̇ro + Ĉo vro are defined as reference object model and is replaced by the
linear regressor matrix form given in (5.44) as.
bo v̇ro + Cbo vro .
Yo (Xo , Ẋo , vro , v̇ro )σbo = M
(5.50)
bo − ko so .
Fdo = Yo (Xo , Ẋo , vro , v̇ro )σ
(5.51)
From (5.49) and (5.50), the force Fdo is found as,
The object motion sliding error is expressed as so and the control gain is ko . σbo is the estimation
parameter of the object. Adaptive law to estimate the dynamic parameters of the object is given
by,
T
σḃo = Γ−1
o Yo Xo , Ẋo , vro , v̇ro so ,
(5.52)
where Γo is the positive adaptation gain matrix. Substitute (5.42) in (5.37) yields,
Fdc = G+ Yo (Xo , Ẋo , vro , v̇ro )σbo − ko so + (I − G+ G) fdoi .
(5.53)
Equation (5.53) is used to determine the desired contact force which is a function of object
motion and velocities. In this case, adaptive law estimates the object dynamic parameters for
varying contact stiffness and calculates the desired force depending on the exerted force on the
object by the robotic hand. The Jacobian constraint from (5.19) as,
Gi T ẋo = Jhi q̇i .
(5.54)
The angular velocities of the hand fingers are calculated from (5.54) as,
q̇i = J −1 GT vo
(5.55)
163
5.6 SMC-adaptive controller for grasping and manipulation
and the desired angular velocities of the fingers are expressed similarly as,
q̇ = J −1 GT vdo .
(5.56)
Th reference angular velocities are defined considering the contact force error e f c and the
integrated error η as,
q̇r = J −1 GT vdo + co e f c + ho η ,
(5.57)
where the terms co and ho are positive gain matrix, contact force error e f c = Fdc − Fc and
´t
η = 0 e f c dt. The sliding based adaptive control law for each finger of the robotic hand is now
defined as,
τ f = Y f (q, q̇, q̇r , q̈r )σb f + J T Fdc − k f s f .
(5.58)
The control law (5.58) is composed of a linear regressor matrix Y f and an estimation parameter
b f . The feedback gain matrix is defined as k f and the joint velocity based sliding error is s f
σ
which has the following expression,
s f = q̇ − q̇r
(5.59)
The only change is seen in the reference joint velocity q̇r which combines the force error
e f along with reference object velocity vor . The estimation parameter σb f is found from the
following adaptive law,
T
σḃ f = Γ−1
f Y f (q, q̇, q̇r , q̈r ) s f .
(5.60)
The control torque τ f is applied at each fingertip due to the normal contact force produced at
each contact point. The complete control structure for the adaptive control based grasping and
manipulation is given in Figure 5.20.
Contact
mechanics
Object
Xo
Fc
Fc
q,qd
Tau_f
Tau_f
Xo
1
Fdo
Desired
Object motion
2
Fdo
Fdc
DXo
Fdc
q,qd
Fdi
External force
Desired
Contact force
Finger torque
Robot hand
Desired
bounded
force
Figure 5.20.: General control structure in workspace before grasping by The Barrett Hand.
164
5.6 SMC-adaptive controller for grasping and manipulation
5.6.4. Stability of the adaptive controller
Following the grasping and manipulation control problem defined in chapter 5, the control
law (5.58) and the adaptive law (5.60) are proposed for the Barrett hand-object based on the
complaint dynamics formulated in (5.42). These control laws satisfy the closed loop dynamics
such that,
• The actual trajectory Xo , Ẋo converges to the desired one Xd , Ẋd as time t →∝ .
• And the actual contact force Fc converges to desired contact force Fdc as t →∝ .
Considering both the controllers and the system dynamics subject to the sliding error s, the
following expressions are obtained,
Yo (Xo , Ẋo , vro , v̇ro )△σo − △Fo − ko so = Mo ṡo +Co so
(5.61)
Y f (q, q̇, q̇r , q̈r )△σ f + J T Ge f c − k f s f = M f ṡ f +Cs f ,
(5.62)
where △σo and △σ f are the error vectors of estimated object and finger dynamics parame-
ters respectively. The error vector of the external force is found as △Fo . Now, consider the
Lyapunov function candidate as,
T
T −1
T
V = 1/2 sTo Mo so + △σoT Γ−1
o △σo + s f M f s f + △σ f Γ f △σ + η ho η .
(5.63)
The time derivative of the equation (5.63) gives the solutions as,
V̇ = sTo Mo ṡo + 1/2Ṁo so + △σ̇oT Γ−1
o △σo i
+sTf M f ṡ + 1/2Ṁ f + △σ˙f T Γ−1 △σ f + η̇ T ho η .
(5.64)
Now, considering the object matrix properties (Ṁo − 2Co ) and the robotic hand properties
(Ṁ f − 2C f ), equation (5.42) can be rearranged as,
V̇ = −sTo ko so − sTf k f s f − eTfc cTo e f c ≤ 0.
(5.65)
In the above equation, both sliding error and estimated error vectors are bounded which implies
that V is the Lyapunov candidate for the system. As dynamic parameter σ f and σo are constant
values, therefore their estimations are bounded, too. The boundedness of the desired object
motion leads the finiteness of the actual motion. Grasp matrix G, hand Jacobian J and desired
contact force Fdc is bounded. Hence, external object force Fo and actual contact force Fc are
also bounded. Now differentiating equation (5.65) yields the form below,
V̈ = −2 ṡTo ko so + ṡTf k f s f + ėTfc cTo e f c .
(5.66)
165
5.7 Simulation
All error based terms on the right side of equation (5.66) are bounded which implies that V̈ is
bounded. Therefore, time derivative of Lyapunov candidate V̇ is continuous. From Lyapunov
properties explained in [Slotine, Li], it is proved that V̇ → 0 when t →∝ . This concludes the
convergence of all error and sliding error terms tends to zero when t →∝ .
5.7. Simulation
The SMC-adaptive controller is applied to the Barrett hand to assess the position and force
tracking results when the hand grasps an object. The dynamic parameters of the robotic hand
and the object during payload are considered as unknown. The object reference positions are
considered as (xo , yo , zo , φo , θo , ψo ) = (0.01, 0.1705, 0.01, 0.175, 0.26, 0.055) m. The grasping
and manipulation state is considered with constraints of (5.19). The object mass is considered,
mo = 1, the object dimensions are (a1 , b1 , c1 ) = (0.06, 0.05, 0.05) m, control parameters are
obtained by trial and error as, ρ = 0.1, ko = 0.05, k f = 0.0125, c = 0.001, h = 0.001, τ f =
0.1, τo = 0.1. The desired joint angles are considered as q2d = 71o , q3d = 31o .
5.8. Results and discussions
Figure 5.21 illustrated the joint motions of the Barrett hand during manipulation. For all joints,
the positions are changed when the object is grasped by all fingers. The changes are due to the
reaction torque transformed through the contact forces. The joint positions are settled down
within 3 seconds of the grasps being made by the hand.
166
5.8 Results and discussions
80
F1 q3 (deg)
F1 q2 (deg)
100
50
0
0
5
F2 q3 (deg)
50
5
10
0
5
0
5
10
0
5
Time (sec)
10
60
40
20
10
80
80
60
70
40
20
0
0
80
F3 q3 (deg)
F2 q2 (deg)
F3 q2 (deg)
40
20
10
100
0
60
0
5
Time (sec)
10
60
50
40
Figure 5.21.: Joint position responses of the Barrett fingers before and after grasp.
In Figure 5.22, the linear motions of the object are shown for case 1. Little overshoots (< 0.1%)
are found and settling down times (∼ 1 second) are achieved fast for all responses.
167
5.8 Results and discussions
z (m)
0.015
0.01
Desired
Actual
0.005
0
0
2
4
6
8
10
0
2
4
6
8
10
0
2
4
6
8
10
y (m)
0.171
0.1705
0.17
x (m)
0.015
0.01
0.005
0
Time (sec)
Figure 5.22.: Linear motion of the object after grasp is made by the Barrett hand.
Table 5.5.: Position tracking errors obtained from Figure 5.22.
Tracking
error
Linear
xo (m)
yo (m)
zo (m)
0.4 − 0.9
0.1 − 0.2
0.2 − 0.12
The maximum and minimum tracking errors are obtained from the Figure 5.22 and presented
in the Table 5.5. The maximum errors are visible in the xo direction but overall errors are less
to obtain the desired position of the object with the SMC-adaptive controller. In Figure 5.23,
the linear velocities of the object are presented. Object velocities dissipate energy within short
time (< 4 seconds) which implies the smooth manipulation of the object. In Figure 5.24, the
orientation tracking results are obtained for the object. The tracking errors are summarised
in Table 5.6. The position φo has errors greater than the other two orientation angles with
overdamped responses seen prior to settling down. The maximum error stays within 2% of the
final values. Overshoots are found to be less than 1% of the desired angles and settling down
times are within 1 second of the starting time.
168
5.8 Results and discussions
−3
Object linear velocity (m/s)
10
x 10
zd
yd
xd
8
6
4
2
0
−2
0
2
4
6
8
10
Time (sec)
Figure 5.23.: Linear velocity results of the object after grasp is made by the Barrett hand.
φ (rad)
0.2
0.1
0
Actual
Desired
0
2
4
6
8
10
0
0.06
2
4
6
8
10
2
4
6
8
10
θ (rad)
0.4
0.2
ψ (rad)
0
0.04
0.02
0
0
Time (sec)
Figure 5.24.: Orientation results of the object after grasp is made by the Barrett hand.
Table 5.6.: Orientation tracking errors obtained from Figure 5.24.
Tracking
errors
Orientation
φo (rad)
θo (rad)
ψo (rad)
0.05 − 2
0.1 − 0.3
0.2 − 1.4
Figure 5.25 illustrates the mass parameters estimated from the adaptation with F1 dynamics.
All values of the adaptive parameters are settled down at certain values after the initialisation.
169
5.8 Results and discussions
−3
x 10
1
Estimated mass of finger F1
0.5
0
−0.5
−1
−1.5
−2
−2.5
−3
0
2
4
6
8
10
Time (sec)
Figure 5.25.: Estimated mass parameters of the integrated dynamics with finger F1 .
As finger F1 and F2 are identical, only mass parameter estimations are obtained of the finger
F3 dynamics in Figure 5.26. In this case, the parameter estimations are found linear and final
values are achieved within 1.5 seconds of the initial time.
−3
1.5
x 10
Esimated mass of finger F3
1
0.5
0
−0.5
−1
−1.5
−2
−2.5
−3
0
2
4
6
8
10
Time (sec)
Figure 5.26.: Estimated mass parameters of the integrated dynamics with finger F3 .
The errors of the contact forces which were obtained through object manipulation by the Barrett
hand are shown in the Figure 5.27. For the desired force of 5 N, the actual force errors are
found between 0.01 − 0.05 N (∼ 1 − 5% of the desired response) after the settling time of 1.11
seconds. This implies that the contact force tracking performance is satisfactory in terms of the
error and settling time. In Figure 5.28, the responses of sliding function variables are plotted.
Nine sliding functions were generated from three Barrett fingers are plotted in the figure. The
170
5.8 Results and discussions
sliding function objective is to reach the sliding surface s = 0. The convergence of the sliding
variables towards zero is obtained around 6 seconds. In Figure 5.29, the angular velocities of
the object are shown. The orientation velocity variables φd , θd , ψd dissipates energy and tend
Contact Force (N)
towards zero within 2 seconds of the object grasped.
0.08
Fz
0.06
Fy
0.04
Fx
0.02
0
−0.02
−0.04
−0.06
−0.08
−0.1
0.5
1
1.5
Time (sec)
2
2.5
3
Figure 5.27.: Contact force errors after the object grasped by the hand.
171
5.8 Results and discussions
−3
x 10
4
3
2
Sliding error ’s’ (m)
1
0
F1s1
−1
F1s2
F1s3
−2
F2s1
−3
F2s2
F2s3
−4
F3s1
F3s2
−5
F3s2
−6
0
2
4
6
8
10
Time (sec)
Figure 5.28.: Sliding function errors of Barrett fingers.
−3
x 10
9
Angular velocity Vo (rad/s)
8
7
6
5
4
3
2
1
0
−1
0
2
4
6
8
10
Time (sec)
Figure 5.29.: Angular velocities of the object after grasp.
172
5.8 Results and discussions
The results obtained from 5.21 − 5.29 are summarised in the Table 5.7.
Table 5.7.: Result analysis of object motion, contact forces, parameter estimation and sliding
errors.
Response
profile
Object
motion
Contact
forces
Parameter
estimation
Sliding
error
Summary
Motion errors are obtained ∼ 2% of the final position. The positions exhibits
less than 1% overshoot and settling times are achieved within 1 second of
the initial response.
Errors in contact force between 1 − 5% of the desired force when considering estimated object dynamics both with the adaptive controller and the
contact constraint. Settling times are found within 1.1 seconds after the
grasp.
The parameters are estimated for the robot and the object dynamics. In both
cases, final steady values of all parameters are obtained within ∼ 2 seconds
of the initial time.
The sliding errors s ≈ 0 are obtained within 6 seconds of the starting time.
The s ≈ 0 convergence implies that the robot-object state trajectory stays
in close proximity of equilibrium shortly after the dynamic parameters are
estimated.
According to the analysis of Table 5.7, the proposed and implemented SMC-adaptive controller
of (5.58) including (5.59) and (5.60) are found suitable for object grasping and manipulation
by the multi-fingered Barrett hand. The actual motion and forces response errors are achieved
within ∼ 2 − 3% of the desired object and the contact force values.
In this section, SMC-adaptive control method is proposed and implemented for grasping and
manipulation of an object by multi-fingered robotic hand. Analysis of joint and object motion tracking results show the efficiency of the controller in tracking of the object position and
the contact forces. The adaptation is applied to estimate the robot and object dynamics online
during the manipulation. The addition of adaptation contributes to help the hand achieve the desired force for grasping with less error. The position and force tracking ability of this controller
with adaptation have the potential to be implemented in practical grasping and manipulation
scenario. In real cases, adaptations in controllers greatly improve the tracking performances
where there is an unknown internal mechanism for the robot hand and object mass properties.
5.8.1. Comparison of the controllers
In this chapter, four different controllers are proposed and implemented for grasping and manipulation of an object by the Barrett hand. The classical CTC methods are first implemented
for the hand. The natural and stiffness controllers are proposed to improve the performance
of the object position tracking. These controllers are unable to track the contact force during
grasp and manipulation. The new SMC-adaptive controllers are proposed and implemented not
173
5.8 Results and discussions
only to track the object position, but also the contact forces after the grasp. The features of all
the controllers and performances are summarised in Table 5.8.
Table 5.8.: Comparison of the implemented controllers for grasping and manipulation by the
Barrett hand.
Controller
name
CTC
Natural
and
Stiffness
SMC
adaptive
Features and performance
This controller cancels the non linear dynamics of the robot-object system
and linearises the system. A linear control law is then chosen to meet the
control objective with no force tracking features. Tracking performance is
achieved within ∼ 5% of the final values with known mass and dynamic
parameters.
The natural controller does not cancel the non linearities. It depends on the
skew symmetric properties of the robot-object dynamics and define a single
controller without linearising the dynamics. The stiffness controller is similar to the natural one but has online update features for selecting the control
gains. Force tracking features are also not available in this case. Tracking
performance is achieved within ∼ 2% of the final values with known mass
and dynamic parameters. Overshoots and settling time values are improved
compared to the CTC.
Hybrid control technique is essential to meet the position and force tracking control objectives for grasping and manipulation of an object by the
robot hand. A new SMC- adaptive algorithm is proposed and implemented
to track the object position as well as the desired contact forces. The controller is designed to track a desired object position and the contact forces
by estimating the robot-object dynamic parameters adaptively. The tracking
errors are obtained ∼ 2% of the final values considering unknown dynamic
parameters. The contact force errors also stay within the ∼ 5% of the desired contact force. The advantages of this controller is the object position
tracking ability for unknown system parameters and it can reach the desired
contact forces with less error after the object is grasped.
174
6. Conclusions and Future Work
This research contributions to the developments in the filed of robotic hands are:
• Improved mathematical modelling of a multifingered Barrett hand,
• Nonlinear robust adaptive controllers for precise joint and fingertip tracking of a robot
hand,
• Interactional contact modelling between the robot hand and the object,
• Adaptive force based impedance control for force tracking in an unknown environment,
• Evolution based impedance parameter selection for impedance control system and
• Robust adaptive control framework for grasping and manipulation.
Considering first the motivation behind the research and the details of the contributions, prospects
and opportunities for future improvements are discussed in the next section.
In this research, the motivation was to take the control challenges of multifingered grasping and
manipulation for various potential robotic hand applications. A number of well-engineered, advanced hand models are currently available in industry without an intelligent control solution
for performing object grasping and manipulation. The current controllers available for grasping
and manipulation have inadequate robustness against uncertainties. This indicated the opportunity for robust control techniques to be implemented into the multifingered grasping and
manipulation control framework. Adaptive control methods were found promising in order to
estimate the system parameters for varying payload in grasping and manipulation. On the basis of the object position or the contact force control, either robust or adaptive techniques are
considered where applicable to deal with the various uncertainties encountered.
The main contributions of the research are: (1) robust adaptive control framework for grasping
and manipulation, (2) adaptive force based impedance control for force tracking in unknown
environment, (3) nonlinear robust adaptive controllers for precise joint and fingertip tracking
of hand fingers with uncertainties and (4) evolution based impedance parameter selections for
impedance control system. There have been other contributions that were made in the process
of achieving the aim. The initial approach for developing controllers for a system includes the
modelling of the robotic hand. The controller accuracy depends on the efficacy of the model
175
Conclusions and Future Work
of the system. A SimMechanics based model of the three fingered Barrett hand is developed
using the Lagrangian method. The hand model is employed for testing the controllers, but
can be utilised as a general three fingered hand test bed for future grasping and manipulation
research activities.
The controller selection and development process for grasping and manipulation was not straightforward due to the robot hand’s dynamics uncertainties, contact constraints and unknown object
properties. The process started with a CTC based controller and eventually evolved into a robust adaptive controller. A CTC based controller is developed and applied to the Barrett hand
model. The results are obtained to assess the joint and hand fingertip tracking performances
for arbitrary reference position trajectories with known dynamics. The CTC controller cannot
compensate the error originating from the modelling deficiencies when the dynamic parameters are imprecisely known and disturbances are introduced in the system. However, it is very
common to expect modelling inaccuracies due to uncertainties in a practical case of grasping and manipulation. The control algorithms with robust or adaptive features are suitable to
compensate for uncertainties and can achieve the desired manipulation tasks.
Three HOSM based controllers are proposed and developed considering the dynamic uncertainties of the Barrett hand. These controllers are introduced to reduce the joint tracking errors
and the chattering of control torques when uncertainties are present. An adaptive controller is
added with HOSM, called HOSMA to estimate the varying hand payload on the hand. Noise
is assumed to be present in the robot dynamics to see the variations in tracking errors and control signals. Both HOSM and HOSMA based controllers were tested with planar and Barrett
fingers. The maximum tracking errors of the Barrett finger in the presence of noise are greatly
reduced with HOSM (8%) and HOSMA (5% compared to SMC (15%). The chattering is also
reduced with HOSM and HOSMA. The results obtained from the tests of the closed loop system show that the controllers are capable of dealing with uncertainties and have the potential to
be applied in any type of multifingered hand to reduce tracking variation and control chattering.
The contact model between Barrett fingers and an object is developed to determine contact
forces during manipulation. Position and force based impedance controllers are implemented to
minimise the contact forces. The position based impedance controller contributes to minimise
the contact forces whereas the force based impedance controllers have the features required to
generate a desired force for tracking. In both cases, contact forces were optimised to be in the
range of 4 − 8 N although the impedance based controller has limitations for real applications
in order to deal with the uncertainties.
An adaptive force based impedance controller is developed to track desired contact forces and
estimate the stiffness values of the object in real-time, during contact. The results obtained
from this controller illustrates that it is able to track contact forces for any interaction without
knowing the stiffness values of the object. The interaction is very common in multifingered
grasping and manipulation. Integration of adaptation with an impedance controller would not
176
Conclusions and Future Work
required the specification of the stiffness values for robot-object interaction. The crucial tasks
in impedance based control are the selection of impedance parameters which will describe the
coupled robot-object system’s transient behaviour similar to the characteristics of second order
mass spring damper system. There are no straightforward methods available to obtain these
parameters rather than by trial and error.
To avoid the time consuming parameter tuning process, an evolutionary algorithm called CMSEA is used with the data of the contact forces collected from the impedance controller. The
CMS-EA algorithm searches for the best parameters which gives minimal error for the desired
and actual contact forces. The parameters obtained through the searching process are tested
in the impedance based control environment. The contact force results are tracked with less
overshoot (∼ 1−3%) for different desired force input. The impedance controller is widely used
for controlling the interaction between the two bodies. In an industrial situation, the CMSEA based algorithm will contribute to finding the best impedance parameters for achieving
force tracking accuracies. The future step is to develop the real-time estimation process for
determining the impedance parameters.
When an object is grasped for manipulation, the contact forces also need to be controlled
as well as the position of the object. This situation brings complication in developing the
controllers because both object position and contact force need to be controlled at the same
time. Three position based controllers are formulated and applied in the case of Barrett hand
grasping an object. The manipulation is performed in the object space to achieve the desired
object motion (position and orientation). Amongst the controllers, the stiffness controller is
found with maximum 1% of object tracking errors where the control gains were adapted to
minimise the error. The CTC and natural controller based manipulation show a maximum of
5% and 3% of maximum error respectively. These controllers have no features to control the
contact force and are also unable to deal with unknown robot or object dynamics and hence they
are not feasible in practical applications. Model mismatching due to uncertainties is common
amongst most systems from a practical point of view. A SMC-adaptive controller is developed
which is able to control the object motion and the contact forces at the same time by estimating
the unknown robot and object dynamics. The feature of the developed controller is its realtime estimation ability of the robot and object dynamic parameters when it is grasped. The
controller does not depend on mass or stiffness parameters for accomplishing the manipulation.
From the results and analysis of the previous chapter, the SMC-adaptive controller is able to
achieve any desired object position and orientation and to meet the reference contact force
requirements. The SMC-adaptive controller is developed in generalised format and can be
applied for grasping and manipulation with other hand models. The parameter free estimation
features make it suitable for applying to real grasping and manipulation. This would be the
immediate next step of the research to implement the controller in real world grasping and
manipulation by the robot hand.
177
Conclusions and Future Work
6.0.2. Future directions
The future developments on the current multifingered hand will lead to implement a more advanced control framework for performing higher level manipulation tasks such as: determining
the optimal grasp for a given object, visual control tasks for object localisation, and a logic
based scheduling of a full manipulation sequence. Optimal control techniques have stability
and robustness characteristics to deal with the force optimisation problem. The control objective is first specified in this technique and a cost function is established based on the control
objective. The control goal is to minimise this cost function by adaptive techniques. Another
popular technique is Model Predictive Control (MPC) which predicts the future output state
at each instant. This predicted output is computed on the basis of the past input, the output
and the future control signals. It has significant advantages for dealing with the large number
of manipulated and controlled variables. Also, the grasping constraints imposed on the robotobject dynamics can be dealt with MPC techniques. This technique suggests computing the
control signals optimally according to the control formulation and while ensuring the output
is very close to the desired values. The objective function is developed based on the errors
between the predicted output and the predicted desired trajectory. The control law is developed
according to the estimation of the objective function.
Fuzzy logic based controller is another popular method widely used in robotics. In this work,
there were intentions from the beginning to develop a Fuzzy based controllers for the Barrett
Hand which has not been possible due to time constraints. The initial objective was to develop
a fuzzy sliding based adaptive controller for the grasping and manipulation of an object by
the Barrett hand. However the complete incorporation of these techniques was not possible
in the time frame of the project and will be considered in the immediate future. Moreover,
the evolution and the adaptation used in Chapter 5 for implementing impedance controller
can be considered to extend the capabilities of the grasping and manipulation controller of
the multifingered robot hand. In this case, the real-time impedance parameter selection based
adaptive impedance controller will be developed. The controller will mainly control the contact
forces by estimating the desired impedance in real-time for the robot-object system and the
robot fingertip position will be measured from that. The object position will be calculated from
the fingertip position by contact constraint.
The controllers developed in this research provide clarity about the implementation at all levels
of grasping and manipulation. These implementations establish a base for future developments
with further integration on the robot hands currently available. Referring to the case of the
multifingered hand, it is important to notice that the results obtained so far, make it possible to
perform more natural grasping and manipulation tasks in the context of the human hand.
178
A. Appendix
A.1. Stability of the SMC controller
The SMC described in chapter 4 is a powerful nonlinear robust control approach to solve the
uncertain control problem in nonlinear systems. In SMC, this idea is developed where a sliding surface is designed such that the system trajectory remains along the sliding surface by a
discontinuous law. The system dynamics is controlled by the sliding surface variable and independent of the system variables. The control goal is therefore to reach the sliding surface in
finite time compensating uncertainties. Considering the control objective of (3.19), the sliding
surface is defined as
s(t) = ė + λ e = 0
(A.1)
where e = X − Xd is the tracking error and λ is a constant whose eigenvalues are strictly posi-
tive. The control objective can be achieved by selecting the control input in such a way so that
the sliding surface satisfies the condition:
1d 2
s ≤η |s|
2 dt
where η is a positive constant. The above condition specifies that the energy of the system
should decay until it reaches the sliding surface. It can be achieved by replacing the desired
position Xd as virtual reference,
Xr = Xd − λ
ˆt
edt
(A.2)
0
Virtual velocity Ẋ r and acceleration Ẍ r therefore can be determined as
Ẋ r = Ẋ d − λ e, Ẍ r = Ẍ d − λ ė
(A.3)
and the sliding surface s(t) can be re-written as,
s = Ẋ − Ẋr
ṡ = Ẍ − Ẍr
179
(A.4)
A.1 Stability of the SMC controller
Substituting ṡ from (A.4) into the joint space dynamics of (3.2) yields,
M(q)ṡ = u −C(q, q̇)q̇ − G(q) − M(q)q̈r
(A.5)
M(q)ṡ = u −C(q, q̇)(s + q̇r ) − G(q) − M(q)q̈r
Lyapunov’s method can be used to prove the stability for the SMC [89]. Consider the Lyapunov
function candidate as,
1
V = sT Ms
2
(A.6)
From second properties of chapter 2.4.6, the matrix M is positive definite, V > 0 for s 6= 0.
Therefore, the system is stable when the rate of change of the candidate function V̇ < 0 according to the Lyapunov stability where,
1
V̇ = sT M ṡ + sT Ṁs
2
(A.7)
1
V̇ = sT (u −C(q, q̇)(s + q̇r ) − G(q) − M(q)q̈r ) + sT Ṁs
2
Applying the skew symmetric properties, sT Ṁs = 0 and sT Cs = 0, the V̇ becomes,
V̇ = sT (u − M(q)q̈r −C(q, q̇)q̇r − G(q))
Let the control signal u be given as,
us = ua − K T sign(s)
(A.8)
ua = M(q) +C(q, q̇r )q̇r + G(q)
where K > 0 is the switching gain. The control input u yields,
V̇ = −sT K T sign(s) = −|s|K T < 0
Therefore, the control signal us in (A.8) is a stabilizing control law in the sense of Lyapunov.
180
References
[1] P. Tuffield and H. Elias, “The shadow robot mimics human actions,” Industrial Robot:
An International Journal, vol. 30, no. 1, pp. 56–60, 2003.
[2] J. Tegin, S. Ekvall, D. Kragic, J. Wikander, and B. Iliev, “Demonstration-based learning
and control for automatic grasping,” Intelligent Service Robotics, vol. 2, no. 1, pp. 23–
30, 2009.
[3] J. Butterfaß, M. Grebenstein, H. Liu, and G. Hirzinger, “Dlr-hand ii: Next generation
of a dextrous robot hand,” in Robotics and Automation, 2001. Proceedings 2001 ICRA.
IEEE International Conference on, vol. 1, pp. 109–114, IEEE, 2001.
[4] C. F. Ruoff and J. K. Salisbury Jr, “Multi-fingered robotic hand,” May 1 1990. US Patent
4,921,293.
[5] W. Townsend, “The barretthand grasper–programmably flexible part handling and assembly,” Industrial Robot: An International Journal, vol. 27, no. 3, pp. 181–188, 2000.
[6] M. Grebenstein, A. Albu-Scha ffer, T. Bahls, M. Chalon, O. Eiberger, W. Friedl, R. Gruber, S. Haddadin, U. Hagn, R. Haslinger, et al., “The dlr hand arm system,” in Robotics
and Automation (ICRA), 2011 IEEE International Conference on, pp. 3175–3182, IEEE,
2011.
[7] J. K. Salisbury and J. J. Craig, “Articulated hands force control and kinematic issues,”
The International Journal of Robotics Research, vol. 1, no. 1, pp. 4–17, 1982.
[8] T. Yoshikawa and K. Nagai, “Manipulating and grasping forces in manipulation by multifingered robot hands,” Robotics and Automation, IEEE Transactions on, vol. 7, no. 1,
pp. 67–77, 1991.
[9] A. Bicchi, C. Melchiorri, and D. Balluchi, “On the mobility and manipulability of general multiple limb robots,” Robotics and Automation, IEEE Transactions on, vol. 11,
no. 2, pp. 215–228, 1995.
[10] B. Mishra, J. T. Schwartz, and M. Sharir, “On the existence and synthesis of multifinger
positive grips,” Algorithmica, vol. 2, no. 1-4, pp. 541–558, 1987.
181
References
[11] M. Zribi, J. Chen, and M. S. Mahmoud, “Coordination and control of multi-fingered
robot hands with rolling and sliding contacts,” Journal of Intelligent and Robotic Systems, vol. 24, no. 2, pp. 125–149, 1999.
[12] A. Bicchi and V. Kumar, “Robotic grasping and contact: A review,” in ICRA, pp. 348–
353, Citeseer, 2000.
[13] A. Bicchi, “Hands for dexterous manipulation and robust grasping: A difficult road
toward simplicity,” Robotics and Automation, IEEE Transactions on, vol. 16, no. 6,
pp. 652–662, 2000.
[14] N. Ulrich, R. Paul, and R. Bajcsy, “A medium-complexity compliant end effector,” in
Robotics and Automation, 1988. Proceedings., 1988 IEEE International Conference on,
pp. 434–436, IEEE, 1988.
[15] R. M. Murray, Z. Li, S. S. Sastry, and S. S. Sastry, A mathematical introduction to robotic
manipulation. CRC press, 1994.
[16] J. K. Salisbury and B. Roth, “Kinematic and force analysis of articulated mechanical
hands,” Journal of Mechanical Design, vol. 105, no. 1, pp. 35–41, 1983.
[17] J. Kerr and B. Roth, “Analysis of multifingered hands,” The International Journal of
Robotics Research, vol. 4, no. 4, pp. 3–17, 1986.
[18] M. R. Cutkosky, “Grasping and fine manipulation for automated manufacturing.,” Dissertation Abstracts International Part B: Science and Engineering[DISS. ABST. INT. PT.
B- SCI. & ENG.],, vol. 46, no. 6, 1985.
[19] D. J. Montana, “The kinematics of contact and grasp,” The International Journal of
Robotics Research, vol. 7, no. 3, pp. 17–32, 1988.
[20] J. C. Trinkle, “The mechanics and planning of enveloping grasps,” 1987.
[21] C. Cai and B. Roth, “On the spatial motion of a rigid body with point contact,” in
Robotics and Automation. Proceedings. 1987 IEEE International Conference on, vol. 4,
pp. 686–695, IEEE, 1987.
[22] D. J. Montana, “The condition for contact grasp stability,” in Robotics and Automation,
1991. Proceedings., 1991 IEEE International Conference on, pp. 412–417, IEEE, 1991.
[23] D. J. Montana, “The kinematics of multi-fingered manipulation,” Robotics and Automation, IEEE Transactions on, vol. 11, no. 4, pp. 491–503, 1995.
[24] A. B. Cole, J. E. Hauser, and S. S. Sastry, “Kinematics and control of multifingered
hands with rolling contact,” Automatic Control, IEEE Transactions on, vol. 34, no. 4,
pp. 398–404, 1989.
182
References
[25] A. A. Cole, P. Hsu, and S. S. Sastry, “Dynamic control of sliding by robot hands for
regrasping,” Robotics and Automation, IEEE Transactions on, vol. 8, no. 1, pp. 42–52,
1992.
[26] F.-T. Cheng and D. E. Orin, “Efficient algorithm for optimal force distribution-the
compact-dual lp method,” Robotics and Automation, IEEE Transactions on, vol. 6, no. 2,
pp. 178–187, 1990.
[27] Y. Nakamura, K. Nagai, and T. Yoshikawa, “Mechanics of coordinative manipulation
by multiple robotic mechanisms,” in Robotics and Automation. Proceedings. 1987 IEEE
International Conference on, vol. 4, pp. 991–998, IEEE, 1987.
[28] M. Cutkosky, P. Akella, R. Howe, and I. Kao, “Grasping as a contact sport,” in Proceedings of the 4th international symposium on Robotics Research, pp. 199–206, MIT Press,
1988.
[29] R. D. Howe and M. R. Cutkosky, “Practical force-motion models for sliding manipulation,” The International Journal of Robotics Research, vol. 15, no. 6, pp. 557–572,
1996.
[30] N. Xydas and I. Kao, “Modeling of contact mechanics and friction limit surfaces for soft
fingers in robotics, with experimental results,” The International Journal of Robotics
Research, vol. 18, no. 9, pp. 941–950, 1999.
[31] Z. Li and S. S. Sastry, “Task-oriented optimal grasping by multifingered robot hands,”
Robotics and Automation, IEEE Journal of, vol. 4, no. 1, pp. 32–44, 1988.
[32] V.-D. Nguyen, “The synthesis of force-closure grasps,” 1985.
[33] V.-D. Nguyen, “Constructing force-closure grasps,” The International Journal of
Robotics Research, vol. 7, no. 3, pp. 3–16, 1988.
[34] E. Rimon and J. Burdick, “On force and form closure for multiple finger grasps,” in
Robotics and Automation, 1996. Proceedings., 1996 IEEE International Conference on,
vol. 2, pp. 1795–1800, IEEE, 1996.
[35] A. Bicchi, Y. Chitour, A. Marigo, and D. Prattichizzo, “Dexterity through rolling: Towards manipulation of unknown objects,” in Proc. of the third International Symposium
on Methods and Models in Automation and Robotics, pp. 879–886, Citeseer, 1999.
[36] Z. Li, J. Canny, and S. S. Sastry, “On motion planning for dexterous manipulation. i.
the problem formulation,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE
International Conference on, pp. 775–780, IEEE, 1989.
[37] J. Hong, G. Lafferriere, B. Mishra, and X. Tan, “Fine manipulation with multifinger
hands,” in Robotics and Automation, 1990. Proceedings., 1990 IEEE International Conference on, pp. 1568–1573, IEEE, 1990.
183
References
[38] E. Paljug, X. Yun, and V. Kumar, “Control of rolling contacts in multi-arm manipulation,” Robotics and Automation, IEEE Transactions on, vol. 10, no. 4, pp. 441–452,
1994.
[39] A. Bicchi and R. Sorrentino, “Dexterous manipulation through rolling,” in Robotics
and Automation, 1995. Proceedings., 1995 IEEE International Conference on, vol. 1,
pp. 452–457, IEEE, 1995.
[40] J. K. Salisbury and J. J. Craig, “Articulated hands force control and kinematic issues,”
The International Journal of Robotics Research, vol. 1, no. 1, pp. 4–17, 1982.
[41] Z. Li, P. Hsu, and S. Sastry, “Grasping and coordinated manipulation by a multifingered
robot hand,” The International Journal of Robotics Research, vol. 8, no. 4, pp. 33–50,
1989.
[42] R. M. Murray and S. S. Sastry, “Control experiments in planar manipulation and grasping,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE International Conference on, pp. 624–629, IEEE, 1989.
[43] S. Hayati, “Hybrid position/force control of multi-arm cooperating robots,” in Robotics
and Automation. Proceedings. 1986 IEEE International Conference on, vol. 3, pp. 82–
89, IEEE, 1986.
[44] D. Rus, “Dexterous rotations of polyhedra,” in Robotics and Automation, 1992. Proceedings., 1992 IEEE International Conference on, pp. 2758–2763, IEEE, 1992.
[45] D. Rus, “Coordinated manipulation of objects in a plane,” Algorithmica, vol. 19, no. 1-2,
pp. 129–147, 1997.
[46] N. Sarkar, X. Yun, and V. Kumar, “Dynamic control of 3-d rolling contacts in two-arm
manipulation,” Robotics and Automation, IEEE Transactions on, vol. 13, no. 3, pp. 364–
376, 1997.
[47] Z. Li, Z. Qin, S. Jiang, and L. Han, “Coordinated motion generation and real-time grasping force control for multifingered manipulation,” in Robotics and Automation, 1998.
Proceedings. 1998 IEEE International Conference on, vol. 4, pp. 3631–3638, IEEE,
1998.
[48] C.-Y. Su and Y. Stepanenko, “Adaptive sliding mode coordinated control of multiple
robot arms attached to a constrained object,” Systems, Man and Cybernetics, IEEE
Transactions on, vol. 25, no. 5, pp. 871–878, 1995.
[49] H. Kawasaki, T. Shimizu, and S. Ito, “Adaptive coordinated control of multiple robot
arms,” in Proceedings of IFAC, vol. 2, pp. 17–25, Cambridge University Press, 2000.
[50] P. R. Pagilla and M. Tomizuka, “Adaptive control of two robot arms carrying an unknown object,” in Robotics and Automation, 1995. Proceedings., 1995 IEEE International Conference on, vol. 1, pp. 597–602, IEEE, 1995.
184
References
[51] M. Cherif and K. K. Gupta, “Planning quasi-static fingertip manipulations for reconfiguring objects,” Robotics and Automation, IEEE Transactions on, vol. 15, no. 5, pp. 837–
848, 1999.
[52] J. Ponce and B. Faverjon, “On computing three-finger force-closure grasps of polygonal
objects,” Robotics and Automation, IEEE Transactions on, vol. 11, no. 6, pp. 868–881,
1995.
[53] A. Bicchi, “On the closure properties of robotic grasping,” The International Journal of
Robotics Research, vol. 14, no. 4, pp. 319–334, 1995.
[54] V. Kumar and K. J. Waldron, “Sub-optimal algorithms for force distribution in multifingered grippers,” in Robotics and Automation. Proceedings. 1987 IEEE International
Conference on, vol. 4, pp. 252–257, IEEE, 1987.
[55] M. Buss, H. Hashimoto, and J. B. Moore, “Dextrous hand grasping force optimization,”
Robotics and Automation, IEEE Transactions on, vol. 12, no. 3, pp. 406–418, 1996.
[56] M. Buss and K. Kleinmann, “Multifingered grasping experiments using real-time grasping force optimization,” in Robotics and Automation, 1996. Proceedings., 1996 IEEE
International Conference on, vol. 2, pp. 1807–1812, IEEE, 1996.
[57] M. Buss and T. Schlegl, “Multifingered regrasping using on-line grasping force optimization,” in Robotics and Automation, 1997. Proceedings., 1997 IEEE International
Conference on, vol. 2, pp. 998–1003, IEEE, 1997.
[58] L. Han, J. C. Trinkle, and Z. X. Li, “Grasp analysis as linear matrix inequality problems,”
Robotics and Automation, IEEE Transactions on, vol. 16, no. 6, pp. 663–674, 2000.
[59] Y. Nakamura, K. Nagai, and T. Yoshikawa, “Dynamics and stability in coordination of
multiple robotic mechanisms,” The International Journal of Robotics Research, vol. 8,
no. 2, pp. 44–61, 1989.
[60] H. K. Khalil and J. Grizzle, Nonlinear systems, vol. 3. Prentice hall Upper Saddle River,
2002.
[61] L. Han, Y.-S. Guan, Z. Li, Q. Shi, and J. C. Trinkle, “Dextrous manipulation with rolling
contacts,” in Robotics and Automation, 1997. Proceedings., 1997 IEEE International
Conference on, vol. 2, pp. 992–997, IEEE, 1997.
[62] B. Siciliano and O. Khatib, Springer handbook of robotics. Springer, 2008.
[63] W.-Y. Chung and K. J. Waldron, “Simulations of dexterous manipulation for multifingered systems,” in Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on, pp. 2321–2326, IEEE, 1994.
[64] J. Chen and M. Zribi, “Control of multifingered robot hands with rolling and sliding
contacts,” The International Journal of Advanced Manufacturing Technology, vol. 16,
no. 1, pp. 71–77, 2000.
185
References
[65] K. Nagai and T. Yoshikawa, “Dynamic manipulation/grasping control of multifingered
robot hands,” in Robotics and Automation, 1993. Proceedings., 1993 IEEE International
Conference on, pp. 1027–1033, IEEE, 1993.
[66] A. DasGupta and H. Hatwal, “Dynamics and nonlinear coordination control of multifingered mechanical hands,” Journal of dynamic systems, measurement, and control,
vol. 120, no. 2, pp. 275–281, 1998.
[67] A. Isidori, Nonlinear control systems, vol. 1. Springer, 1995.
[68] Z. Doulgeri, J. Fasoulas, and S. Arimoto, “Feedback control for object manipulation by
a pair of soft tip fingers,” Robotica, vol. 20, no. 01, pp. 1–11, 2002.
[69] C. Remond, V. Perdereau, and M. Drouin, “A hierarchical multi-fingered hand control
structure with rolling contact compensation,” in Robotics and Automation, 2002. Proceedings. ICRA’02. IEEE International Conference on, vol. 4, pp. 3731–3736, IEEE,
2002.
[70] R. Hilhorst and K. Tanie, “Dexterous manipulation of objects with unknown parameters
by robot hands,” in Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on, pp. 3098–3103, IEEE, 1994.
[71] S. Ueki, H. Kawasaki, and T. Mouri, “Adaptive coordinated control of multi-fingered
hands with sliding contact,” in SICE-ICASE, 2006. International Joint Conference,
pp. 5893–5898, IEEE, 2006.
[72] M. R. Cutkosky and I. Kao, “Computing and controlling compliance of a robotic hand,”
Robotics and Automation, IEEE Transactions on, vol. 5, no. 2, pp. 151–165, 1989.
[73] H. Choi, W. Chung, and Y. Youm, “Stiffness analysis and control of multi-fingered robot
hands,” Journal of dynamic systems, measurement, and control, vol. 117, no. 3, pp. 435–
439, 1995.
[74] J. S. Son and R. D. Howe, “Performance limits and stiffness control of multifingered
hands,” in Experimental Robotics IV, pp. 91–102, Springer, 1997.
[75] B.-H. Kim, B.-J. Yi, S.-R. Oh, and I. H. Suh, “Independent finger and independent jointbased compliance control of multifingered robot hands,” Robotics and Automation, IEEE
Transactions on, vol. 19, no. 2, pp. 185–199, 2003.
[76] L. Han, Z. Li, J. C. Trinkle, Z. Qin, and S. Jiang, “The planning and control of robot dextrous manipulation,” in Robotics and Automation, 2000. Proceedings. ICRA’00. IEEE
International Conference on, vol. 1, pp. 263–269, IEEE, 2000.
[77] S. A. Schneider and R. H. Cannon Jr, “Object impedance control for cooperative manipulation: Theory and experimental results,” Robotics and Automation, IEEE Transactions
on, vol. 8, no. 3, pp. 383–394, 1992.
186
References
[78] S. Stramigioli, C. Melchiorri, and S. Andreotti, “A passivity-based control scheme for
robotic grasping and manipulation,” in Decision and Control, 1999. Proceedings of the
38th IEEE Conference on, vol. 3, pp. 2951–2956, IEEE, 1999.
[79] L. Biagiotti, H. Liu, G. Hirzinger, and C. Melchiorri, “Cartesian impedance control for
dexterous manipulation,” in Intelligent Robots and Systems, 2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on, vol. 4, pp. 3270–3275, IEEE,
2003.
[80] T. Schlegl, M. Buss, T. Omata, and G. Schmidt, “Fast dextrous re-grasping with optimal
contact forces and contact sensor-based impedance control,” in Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference on, vol. 1, pp. 103–
108, IEEE, 2001.
[81] K. B. Shimoga, “Robot grasp synthesis algorithms: A survey,” The International Journal
of Robotics Research, vol. 15, no. 3, pp. 230–266, 1996.
[82] A. M. Okamura, N. Smaby, and M. R. Cutkosky, “An overview of dexterous manipulation,” in Robotics and Automation, 2000. Proceedings. ICRA’00. IEEE International
Conference on, vol. 1, pp. 255–262, IEEE, 2000.
[83] M. W. Walker, D. Kim, and J. Dionise, “Adaptive coordinated motion control of two
manipulator arms,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE International Conference on, pp. 1084–1090, IEEE, 1989.
[84] T. M. Inc., MATLAB & Simulink. MATLAB, 2012.
[85] J. J. Craig, Introduction to robotics: mechanics and control. Pearson/Prentice Hall Upper Saddle River, NJ, USA:, 2005.
[86] J.-J. E. Slotine, W. Li, et al., Applied nonlinear control, vol. 199. Prentice-Hall Englewood Cliffs, NJ, 1991.
[87] G. D. Wood and D. C. Kennedy, “Simulating mechanical systems in simulink with simmechanics,” The Mathworks Report, 2003.
[88] F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Control of robot manipulators, vol. 236.
Macmillan New York, 1993.
[89] J.-J. E. Slotine and W. Li, “On the adaptive control of robot manipulators,” The International Journal of Robotics Research, vol. 6, no. 3, pp. 49–59, 1987.
[90] J.-J. Slotine and L. Weiping, “Adaptive manipulator control: A case study,” Automatic
Control, IEEE Transactions on, vol. 33, no. 11, pp. 995–1003, 1988.
[91] A. Levant, “Sliding order and sliding accuracy in sliding mode control,” International
journal of control, vol. 58, no. 6, pp. 1247–1263, 1993.
[92] V. I. Utkin, Sliding modes in control and optimization, vol. 116. Springer, 1992.
187
References
[93] Q. Zong, Z.-S. Zhao, and J. Zhang, “Higher order sliding mode control with self-tuning
law based on integral sliding mode,” IET control theory & applications, vol. 4, no. 7,
pp. 1282–1289, 2010.
[94] A. Levant, “Higher-order sliding modes, differentiation and output-feedback control,”
International journal of Control, vol. 76, no. 9-10, pp. 924–941, 2003.
[95] R. Palm, “Sliding mode fuzzy control,” in Fuzzy Systems, 1992., IEEE International
Conference on, pp. 519–526, IEEE, 1992.
[96] A. Levant and L. Alelishvili, “Integral high-order sliding modes,” IEEE Transactions on
Automatic control, vol. 52, no. 7, p. 1278, 2007.
[97] S. Laghrouche, F. Plestan, and A. Glumineau, “Higher order sliding mode control based
on integral sliding mode,” Automatica, vol. 43, no. 3, pp. 531–537, 2007.
[98] F. Dinuzzo and A. Ferrara, “Higher order sliding mode controllers with optimal reaching,” Automatic Control, IEEE Transactions on, vol. 54, no. 9, pp. 2126–2136, 2009.
[99] M. Defoort, T. Floquet, A. Kokosy, and W. Perruquetti, “A novel higher order sliding
mode control scheme,” Systems & Control Letters, vol. 58, no. 2, pp. 102–108, 2009.
[100] G. Bartolini, A. Ferrara, and E. Usani, “Chattering avoidance by second-order sliding
mode control,” Automatic control, IEEE Transactions on, vol. 43, no. 2, pp. 241–246,
1998.
[101] G. Bartolini, A. Ferrara, E. Usai, and V. I. Utkin, “On multi-input chattering-free secondorder sliding mode control,” Automatic control, IEEE Transactions on, vol. 45, no. 9,
pp. 1711–1717, 2000.
[102] L. Fridman and A. Levant, “Higher order sliding modes,” Sliding mode control in engineering, vol. 11, pp. 53–102, 2002.
[103] J. De Schutter, H. Bruyninckx, W.-H. Zhu, and M. W. Spong, “Force control: a bird’s
eye view,” in Control Problems in Robotics and Automation, pp. 1–17, Springer, 1998.
[104] M. H. Raibert and J. J. Craig, “Hybrid position/force control of manipulators,” Journal
of Dynamic Systems, Measurement, and Control, vol. 103, no. 2, pp. 126–133, 1981.
[105] O. Khatib, “A unified approach for motion and force control of robot manipulators: The
operational space formulation,” Robotics and Automation, IEEE Journal of, vol. 3, no. 1,
pp. 43–53, 1987.
[106] O. Khatib, K. Yokoi, K. Chang, D. Ruspini, R. Holmberg, A. Casal, and A. Baader,
“Force strategies for cooperative tasks in multiple mobile manipulation systems,” in
Robotics Research, pp. 333–342, Springer, 1996.
[107] J. Tegin and J. Wikander, “A framework for grasp simulation and control in domestic
environments,” in Mechatronic Systems, vol. 4, pp. 490–495, 2006.
188
References
[108] N. Hogan, “Impedance control: An approach to manipulation: Part ii,implementation,”
Journal of dynamic systems, measurement, and control, vol. 107, no. 1, pp. 8–16, 1985.
[109] S. Jung, T. C. Hsia, and R. G. Bonitz, “Force tracking impedance control for robot
manipulators with an unknown environment: theory, simulation, and experiment,” The
International Journal of Robotics Research, vol. 20, no. 9, pp. 765–774, 2001.
[110] H. Seraji, “Adaptive admittance control: An approach to explicit force control in compliant motion,” in Robotics and Automation, 1994. Proceedings., 1994 IEEE International
Conference on, pp. 2705–2712, IEEE, 1994.
[111] M. K. Vukobratović and Y. Ekalo, “New approach to control of robotic manipulators
interacting with dynamic environment,” Robotica, vol. 14, no. 01, pp. 31–39, 1996.
[112] R. Volpe and P. Khosla, “A theoretical and experimental investigation of explicit force
control strategies for manipulators,” Automatic Control, IEEE Transactions on, vol. 38,
no. 11, pp. 1634–1650, 1993.
[113] R. Volpe and P. Khosla, “The equivalence of second-order impedance control and proportional gain explicit force control,” The International journal of robotics research,
vol. 14, no. 6, pp. 574–589, 1995.
[114] S. Skogestad and I. Postlethwaite, Multivariable feedback control: analysis and design,
vol. 2. Wiley New York, 2007.
[115] S. K. Smit and A. E. Eiben, “Comparing parameter tuning methods for evolutionary
algorithms,” in Evolutionary Computation, 2009. CEC’09. IEEE Congress on, pp. 399–
406, IEEE, 2009.
[116] A. E. Eiben and S. K. Smit, “Parameter tuning for configuring and analyzing evolutionary algorithms,” Swarm and Evolutionary Computation, vol. 1, no. 1, pp. 19–31, 2011.
[117] J. R. Koza, Genetic programming: on the programming of computers by means of natural selection, vol. 1. MIT press, 1992.
[118] N. Hansen, S. Müller, and P. Koumoutsakos, “Reducing the time complexity of the derandomized evolution strategy with covariance matrix adaptation (cma-es),” Evolutionary Computation, vol. 11, no. 1, pp. 1–18, 2003.
[119] N. Hansen and S. Kern, “Evaluating the cma evolution strategy on multimodal test
functions,” in Parallel Problem Solving from Nature-PPSN VIII, pp. 282–291, Springer,
2004.
[120] N. Hansen, “The cma evolution strategy: a comparing review,” in Towards a new evolutionary computation, pp. 75–102, Springer, 2006.
[121] H.-P. P. Schwefel, Evolution and optimum seeking: the sixth generation. John Wiley &
Sons, Inc., 1993.
189
References
[122] M. T. Mason and J. K. Salisbury Jr, Robot hands and the mechanics of manipulation.
MIT press, 1985.
[123] W.-D. Chang and J.-J. Yan, “Adaptive robust pid controller design based on a sliding
mode for uncertain chaotic systems,” Chaos, Solitons & Fractals, vol. 26, no. 1, pp. 167–
175, 2005.
[124] F. Piltan, N. Sulaiman, A. Gavahian, S. Soltani, and S. Roosta, “Design mathematical
tunable gain pid-like sliding mode fuzzy controller with minimum rule base,” International Journal of Robotic and Automation, vol. 2, no. 3, pp. 146–156, 2011.
[125] N. H. McClamroch and D. Wang, “Feedback stabilization and tracking of constrained
robots,” Automatic Control, IEEE Transactions on, vol. 33, no. 5, pp. 419–426, 1988.
[126] E. Al-Gallaf, A. Allen, and K. Warwick, “A survey of multi-fingered robot hands: issues
and grasping achievements,” Mechatronics, vol. 3, no. 4, pp. 465–491, 1993.
[127] P. K. Allen, A. T. Miller, P. Y. Oh, and B. S. Leibowitz, “Using tactile and visual sensing with a robotic hand,” in Robotics and Automation, 1997. Proceedings., 1997 IEEE
International Conference on, vol. 1, pp. 676–681, IEEE, 1997.
[128] F. Almeida, A. Lopes, and P. Abreu, “Force-impedance control: a new control strategy
of robotic manipulators,” Recent advances in Mechatronics, pp. 126–37, 1999.
[129] R. Anderson and M. W. Spong, “Hybrid impedance control of robotic manipulators,”
Robotics and Automation, IEEE Journal of, vol. 4, no. 5, pp. 549–556, 1988.
[130] H. Arai, T. Takubo, Y. Hayashibara, and K. Tanie, “Human-robot cooperative manipulation using a virtual nonholonomic constraint,” in Robotics and Automation, 2000. Proceedings. ICRA’00. IEEE International Conference on, vol. 4, pp. 4063–4069, IEEE,
2000.
[131] S. Arimoto, “Intelligent control of multi-fingered hands,” Annual Reviews in Control,
vol. 28, no. 1, pp. 75–85, 2004.
[132] S. Arimoto, R. Ozawa, and M. Yoshida, “Two-dimensional stable blind grasping under
the gravity effect,” in Robotics and Automation, 2005. ICRA 2005. Proceedings of the
2005 IEEE International Conference on, pp. 1196–1202, IEEE, 2005.
[133] S. Arimoto, M. Yoshida, and J.-H. Bae, “Stability of two-dimensional blind grasping
under the gravity effect and rolling constraints,” Robotica, vol. 26, no. 03, pp. 255–266,
2008.
[134] U. Asif and J. Iqbal, “Design and simulation of a biologically inspired hexapod robot
using simmechanics,” in Proceedings of the IASTED International Conference, Robotics
(Robo 2010), pp. 128–135, 2010.
190
References
[135] G. Bartolini, A. Ferrara, A. Levant, and E. Usai, “On second order sliding mode controllers,” in Variable structure systems, sliding mode and nonlinear control, pp. 329–350,
Springer, 1999.
[136] L. Biagiotti, F. Lotti, C. Melchiorri, and G. Vassura, “How far is the human hand? a
review on anthropomorphic robotic end-effectors,” 2004.
[137] R. G. Bonitz and T. C. Hsia, “Internal force-based impedance control for cooperating
manipulators,” Robotics and Automation, IEEE Transactions on, vol. 12, no. 1, pp. 78–
89, 1996.
[138] A. Borisov and I. Mamaev, “Rigid body dynamics,” Izhevsk: RCD, p. 384, 2001.
[139] J. Butterfass, M. Fischer, M. Grebenstein, S. Haidacher, and G. Hirzinger, “Design
and experiences with dlr hand ii,” in Automation Congress, 2004. Proceedings. World,
vol. 15, pp. 105–110, IEEE, 2004.
[140] J. Butterfass, G. Hirzinger, S. Knoch, and H. Liu, “Dlr’s multisensory articulated hand. i.
hard-and software architecture,” in Robotics and Automation, 1998. Proceedings. 1998
IEEE International Conference on, vol. 3, pp. 2081–2086, IEEE, 1998.
[141] C. C. Cheah, M. Hirano, S. Kawamura, and S. Arimoto, “Approximate jacobian control
for robots with uncertain kinematics and dynamics,” Robotics and Automation, IEEE
Transactions on, vol. 19, no. 4, pp. 692–702, 2003.
[142] S. Chiaverini, B. Siciliano, and L. Villani, “A survey of robot interaction control schemes
with experimental comparison,” Mechatronics, IEEE/ASME Transactions On, vol. 4,
no. 3, pp. 273–285, 1999.
[143] D. Cliff, P. Husbands, and I. Harvey, “Explorations in evolutionary robotics,” Adaptive
Behavior, vol. 2, no. 1, pp. 73–110, 1993.
[144] R. Colbaugh, H. Seraji, and K. Glass, “Direct adaptive impedance control of robot manipulators,” Journal of Robotic Systems, vol. 10, no. 2, pp. 217–248, 1993.
[145] P. Dario, M. C. Carrozza, E. Guglielmelli, C. Laschi, A. Menciassi, S. Micera, and
F. Vecchi, “Robotics as a future and emerging technology: biomimetics, cybernetics, and
neuro-robotics in european projects,” Robotics & Automation Magazine, IEEE, vol. 12,
no. 2, pp. 29–45, 2005.
[146] J. E. Dayhoff and J. M. DeLeo, “Artificial neural networks,” Cancer, vol. 91, no. S8,
pp. 1615–1635, 2001.
[147] C. C. De Wit, G. Bastin, and B. Siciliano, Theory of robot control. Springer-Verlag New
York, Inc., 1996.
[148] F. Dinuzzo and A. Ferrara, “Higher order sliding mode controllers with optimal reaching,” Automatic Control, IEEE Transactions on, vol. 54, no. 9, pp. 2126–2136, 2009.
191
References
[149] B. Faverjon and J. Ponce, “On computing two-finger force-closure grasps of curved
2d objects,” in Robotics and Automation, 1991. Proceedings., 1991 IEEE International
Conference on, pp. 424–429, IEEE, 1991.
[150] R. S. Fearing, “Simplified grasping and manipulation with dextrous robot hands,”
Robotics and Automation, IEEE Journal of, vol. 2, no. 4, pp. 188–195, 1986.
[151] J. de Gea, Y. Kassahun, and F. Kirchner, “Control of robot interaction forces using evolutionary techniques,”
[152] J. de Gea and F. Kirchner, “Modelling and simulation of robot arm interaction forces
using impedance control,” in Proceedings of the 17th World Congress The International
Federation of Automatic Control (IFAC), pp. 15589–15594, 2008.
[153] A. Goldenberg, “Implementation of force and impedance control in robot manipulators,”
in Robotics and Automation, 1988. Proceedings., 1988 IEEE International Conference
on, pp. 1626–1632, IEEE, 1988.
[154] R. A. Grupen, T. C. Henderson, and I. D. McCammon, “A survey of general-purpose
manipulation,” The International journal of robotics research, vol. 8, no. 1, pp. 38–62,
1989.
[155] D. Hand, “Arm. shadow robot company.”
[156] M. R. Hasan, R. Vepa, H. Shaheed, and H. Huijberts, “Modelling and control of the barrett hand for grasping,” in Computer Modelling and Simulation (UKSim), 2013 UKSim
15th International Conference on, pp. 230–235, IEEE, 2013.
[157] R. Hasan, A. Rahideh, and H. Shaheed, “Modeling and interactional control of the multifingered hand,” in Automation and Computing (ICAC), 2013 19th International Conference on, pp. 1–6, IEEE, 2013.
[158] J.-H. Jean and L.-C. Fu, “An adaptive control scheme for coordinated multimanipulator
systems,” Robotics and Automation, IEEE Transactions on, vol. 9, no. 2, pp. 226–231,
1993.
[159] S. Jiang, K. Choi, and Z. Li, “Coordinated motion generation for multifingered manipulation using tactile feedback,” in Robotics and Automation, 1999. Proceedings. 1999
IEEE International Conference on, vol. 4, pp. 3032–3037, IEEE, 1999.
[160] S. Jung, T. C. Hsia, and R. G. Bonitz, “Force tracking impedance control of robot manipulators under unknown environment,” Control Systems Technology, IEEE Transactions
on, vol. 12, no. 3, pp. 474–483, 2004.
[161] H. Kawasaki, R. B. Ramli, S. Ueki, and S. Ito, “Decentralized adaptive coordinated control of multiple robot arms for constrained tasks,” Journal of Robotics and Mechatronics,
vol. 18, no. 5, p. 580, 2006.
192
References
[162] R. Kelly, R. Carelli, M. Amestegui, and R. Ortega, “On adaptive impedance control
of robot manipulators,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE
International Conference on, pp. 572–577, IEEE, 1989.
[163] O. Khatib, S. Quinlan, and D. Williams, “Robot planning and control,” Robotics and
Autonomous Systems, vol. 21, no. 3, pp. 249–261, 1997.
[164] K. Kreutz and A. Lokshin, “Load balancing and closed chain multiple arm control,” in
American Control Conference, 1988, pp. 2148–2155, IEEE, 1988.
[165] Y. Kume, Y. Hirata, and K. Kosuge, “Coordinated motion control of multiple mobile
manipulators handling a single object without using force/torque sensors,” in Intelligent Robots and Systems, 2007. IROS 2007. IEEE/RSJ International Conference on,
pp. 4077–4082, IEEE, 2007.
[166] A. Levant, “Robust exact differentiation via sliding mode technique,” Automatica,
vol. 34, no. 3, pp. 379–384, 1998.
[167] C. Lovchik and M. A. Diftler, “The robonaut hand: A dexterous robot hand for space,”
in Robotics and Automation, 1999. Proceedings. 1999 IEEE International Conference
on, vol. 2, pp. 907–912, IEEE, 1999.
[168] Z. Lu and A. A. Goldenberg, “Robust impedance control and force regulation: theory
and experiments,” The International journal of robotics research, vol. 14, no. 3, pp. 225–
254, 1995.
[169] A. T. Miller, S. Knoop, H. I. Christensen, and P. K. Allen, “Automatic grasp planning using shape primitives,” in Robotics and Automation, 2003. Proceedings. ICRA’03. IEEE
International Conference on, vol. 2, pp. 1824–1829, IEEE, 2003.
[170] A. Mohammad and S. S. Ehsan, “Sliding mode pid-controller design for robot manipulators by using fuzzy tuning approach,” in Control Conference, 2008. CCC 2008. 27th
Chinese, pp. 170–174, IEEE, 2008.
[171] S. A. A. Moosavian and E. Papadopoulos, “Multiple impedance control for object manipulation,” in Intelligent Robots and Systems, 1998. Proceedings., 1998 IEEE/RSJ International Conference on, vol. 1, pp. 461–466, IEEE, 1998.
[172] R. M. Murray, D. C. Deno, K. S. Pister, and S. S. Sastry, “Control primitives for robot
systems,” Systems, Man and Cybernetics, IEEE Transactions on, vol. 22, no. 1, pp. 183–
193, 1992.
[173] S. Nakamura, K. Tahara, J.-H. Bae, M. Sekimoto, and S. Arimoto, “Experiments of
grasping and object-manipulation by a pair of multi-degrees of freedom robot fingers,”
in Computational Intelligence in Robotics and Automation, 2003. Proceedings. 2003
IEEE International Symposium on, vol. 3, pp. 1162–1167, IEEE, 2003.
193
References
[174] A. Namiki, Y. Imai, M. Ishikawa, and M. Kaneko, “Development of a high-speed multifingered hand system and its application to catching,” in Intelligent Robots and Systems,
2003.(IROS 2003). Proceedings. 2003 IEEE/RSJ International Conference on, vol. 3,
pp. 2666–2671, IEEE, 2003.
[175] V.-D. Nguyen, “Constructing force-closure grasps,” The International Journal of
Robotics Research, vol. 7, no. 3, pp. 3–16, 1988.
[176] R. Ortega and M. W. Spong, “Adaptive motion control of rigid robots: A tutorial,” Automatica, vol. 25, no. 6, pp. 877–888, 1989.
[177] H. Osumi, N. Ishii, K. Takahashi, K. Umeda, and G.-I. Kinoshita, “Optimal grasping
for a parallel two-fingered hand with compliant tactile sensors,” in Intelligent Robots
and Systems, 1999. IROS’99. Proceedings. 1999 IEEE/RSJ International Conference
on, vol. 2, pp. 799–804, IEEE, 1999.
[178] C. Ott, O. Eiberger, W. Friedl, B. Bauml, U. Hillenbrand, C. Borst, A. Albu-Schaffer,
B. Brunner, H. Hirschmuller, S. Kielhofer, et al., “A humanoid two-arm system for
dexterous manipulation,” in Humanoid Robots, 2006 6th IEEE-RAS International Conference on, pp. 276–283, IEEE, 2006.
[179] R. Platt, A. H. Fagg, and R. A. Grupen, “Nullspace composition of control laws for
grasping,” in Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference
on, vol. 2, pp. 1717–1723, IEEE, 2002.
[180] D. Reynaerts and H. Van Brussel, “Two-fingered full envelope dexterous manipulation,”
in Robotics and Automation, 1993. Proceedings., 1993 IEEE International Conference
on, pp. 436–441, IEEE, 1993.
[181] D. Rus, “In-hand dexterous manipulation of piecewise-smooth 3-d objects,” The International Journal of Robotics Research, vol. 18, no. 4, pp. 355–381, 1999.
[182] A. Sahbani, S. El-Khoury, and P. Bidaud, “An overview of 3d object grasp synthesis
algorithms,” Robotics and Autonomous Systems, vol. 60, no. 3, pp. 326–336, 2012.
[183] K. Saiki, A. S. R. Liza, S. Toritani, and K. Nonami, “Force sensorless impedance control
of dual-arm manipulator-hand system,” Journal of System Design and Dynamics, vol. 5,
no. 5, pp. 953–965, 2011.
[184] T. Schlegl, M. Buss, and G. Schmidt, “A hybrid systems approach toward modeling and
dynamical simulation of dextrous manipulation,” Mechatronics, IEEE/ASME Transactions on, vol. 8, no. 3, pp. 352–361, 2003.
[185] L. Sciavicco and L. Villani, Robotics: modelling, planning and control. Springer, 2009.
[186] H. Seraji and R. Colbaugh, “Force tracking in impedance control,” The International
Journal of Robotics Research, vol. 16, no. 1, pp. 97–117, 1997.
194
References
[187] H. Seraji and R. Colbaugh, “Adaptive force-based impedance control,” in Intelligent
Robots and Systems’ 93, IROS’93. Proceedings of the 1993 IEEE/RSJ International
Conference on, vol. 3, pp. 1537–1544, IEEE, 1993.
[188] Y. Shaoqiang, L. Zhong, and L. Xingshan, “Modeling and simulation of robot based on
matlab/simmechanics,” in Control Conference, 2008. CCC 2008. 27th Chinese, pp. 161–
165, IEEE, 2008.
[189] C. Smith, Y. Karayiannidis, L. Nalpantidis, X. Gratal, P. Qi, D. V. Dimarogonas,
and D. Kragic, “Dual arm manipulation,a survey,” Robotics and Autonomous Systems,
vol. 60, no. 10, pp. 1340–1353, 2012.
[190] P. Song, M. Yashima, and V. Kumar, “Dynamic simulation for grasping and whole arm
manipulation,” in Robotics and Automation, 2000. Proceedings. ICRA’00. IEEE International Conference on, vol. 2, pp. 1082–1087, IEEE, 2000.
[191] T. H. Speeter, “Control of the utah/mit dextrous hand: Hardware and software hierarchy,” Journal of Robotic Systems, vol. 7, no. 5, pp. 759–790, 1990.
[192] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot modeling and control, vol. 3.
Wiley New York, 2006.
[193] K. Tahara, S. Arimoto, and M. Yoshida, “Dynamic force/torque equilibrium for stable
grasping by a triple robotic fingers system,” in Intelligent Robots and Systems, 2009.
IROS 2009. IEEE/RSJ International Conference on, pp. 2257–2263, IEEE, 2009.
[194] T. H. H. H. TAMU, “Dextrous manipulation with rolling contacts,”
[195] J. Tegin and J. Wikander, “Tactile sensing in intelligent robotic manipulation–a review,”
Industrial Robot: An International Journal, vol. 32, no. 1, pp. 64–70, 2005.
[196] M. Teschner, “Rigid body dynamics,”
[197] J. C. Trinkle, “A quasi-static analysis of dextrous manipulation with sliding and rolling
contacts,” in Robotics and Automation, 1989. Proceedings., 1989 IEEE International
Conference on, pp. 788–793, IEEE, 1989.
[198] M. Uchiyama and P. Dauchez, “A symmetric hybrid position/force control scheme for
the coordination of two robots,” in Robotics and Automation, 1988. Proceedings., 1988
IEEE International Conference on, pp. 350–356, IEEE, 1988.
[199] M. Uchiyama, N. Iwasawa, and K. Hakomori, “Hybrid position/force control for coordination of a two-arm robot,” in Robotics and Automation. Proceedings. 1987 IEEE
International Conference on, vol. 4, pp. 1242–1247, IEEE, 1987.
[200] J. T. Wen and K. Kreutz-Delgado, “Motion and force control of multiple robotic manipulators,” Automatica, vol. 28, no. 4, pp. 729–743, 1992.
195
References
[201] M. Yashima and H. Yamaguchi, “Dynamic motion planning whole arm grasp systems
based on switching contact modes,” in Robotics and Automation, 2002. Proceedings.
ICRA’02. IEEE International Conference on, vol. 3, pp. 2492–2499, IEEE, 2002.
[202] M. Yashima and H. Yamaguchi, “Control of whole finger manipulation utilizing frictionless sliding contact,theory and experiment,” Mechanism and machine theory, vol. 34,
no. 8, pp. 1255–1269, 1999.
[203] T. Yoshikawa, “Force control of robot manipulators,” in Robotics and Automation, 2000.
Proceedings. ICRA’00. IEEE International Conference on, vol. 1, pp. 220–226, IEEE,
2000.
[204] T. Yoshikawa, “Manipulability of robotic mechanisms,” The international journal of
Robotics Research, vol. 4, no. 2, pp. 3–9, 1985.
[205] T. Yoshikawa and X.-Z. Zheng, “Coordinated dynamic hybrid position/force control for
multiple robot manipulators handling one constrained object,” The International Journal
of Robotics Research, vol. 12, no. 3, pp. 219–230, 1993.
[206] G. Zeng and A. Hemami, “An overview of robot force control,” Robotica, vol. 15, no. 05,
pp. 473–482, 1997.
[207] Y. Zheng and W.-H. Qian, “Coping with the grasping uncertainties in force-closure analysis,” The International Journal of Robotics Research, vol. 24, no. 4, pp. 311–327, 2005.
[208] B. Zi, J. Cao, and Z. Zhu, “Dynamic simulation of hybrid-driven planar five-bar parallel
mechanism based on simmechanics and tracking control,” Int. J. Adv. Rob. Syst, vol. 8,
no. 4, pp. 28–33, 2011.
196