Modeling and Control of A Multifingered Robot Hand For Object
Modeling and Control of A Multifingered Robot Hand For Object
Abstract— In this work, we address the problem of kinematic kinematic configuration of the fingers around the palm,
modeling and control design of a multifingered robot hand. anthropomorphism and dexterity levels, applicability, type
Each robot finger is modeled as a parallel manipulator and and placement of the actuators, among others [11].
its kinematic constraints are computed from empirical analysis
due to the inherent mechanical complexity of the mechanism. A multifingered robot hand can be modeled as a set of
The motion control problem for a grasped object is solved small robots fixed on a common base or palm. Indeed,
by using the kinematic control approach, which is able to the kinematic and dynamic models of a robot hand with
ensure the asymptotic stability of the output tracking error on-site actuation are quite similar to those of a typical
and the prehension of the object. The kinematics-based control industrial robot, which simplifies the modeling problem. On
scheme is designed to include the contact model in the hand
Jacobian matrix, allowing for the simultaneous control of the the contrary, remote actuation adds some challenges to the
object position as well as the relative position between the control design, such as, the compliance of the transmission
fingers. Experiments are carried out with a three-fingered robot system and non-negligible dynamic effects (e.g., friction and
hand executing grasping and manipulation tasks of soft objects. backlash). Meanwhile, most of control strategies developed
Practical results are shown to illustrate the performance and for coordinated manipulation between robot manipulators
effectiveness of the proposed methodology.
can be immediately extended and applied to a multifingered
I. INTRODUCTION robot hand grasping an object [12], [13]. However, the design
Most of robot manipulators used for industrial applications of high-level control schemes for a robot hand must take into
are, in general, composed of a large arm equipped with a account the interaction between the fingers and the object.
single gripper or tool for interacting with the environment. This mutual interaction depends on several aspects, such
These end effectors are custom designed for specific tasks as modeling of contact points (e.g., compliance, friction),
and are able to grasp only a particular class of objects and force/torque control at the contact points, the mobility of
workpieces, which reduces the versatility of the robotic sys- the fingers and the contacts (e.g., fixed, rolling), as well
tem [1]. Another major drawback usually found in industrial as planning algorithms for grasping/manipulating of objects
robots is the lack of dexterity of their large-scale manipu- [14], [15]. In this context, several control strategies for robot
lators. This behavior is more evident when the robot arm hands operating under a wide range of uncertainties have
has to accurately perform precise movements of the payload been developed using adaptive, robust, hybrid and artificial
in assembly tasks. Indeed, fine motions of a grasped object intelligence techniques [16]–[20].
require accurate motions of the robot joints that are difficult
to achieve owing to the size of the links. On the contrary,
a robot hand is able to reconfigure itself for grasping a
sort of objects and for achieving a dexterous manipulation
in several tasks [2]. Other capabilities added to robotic
systems endowed with robot hands are perception of physical
properties and active exploration of the environment, which
are usually unfeasible with simple grippers [3].
Following this trend, a number of robot hands have been
developed by universities and research centers around the
world for industrial, research and prosthetic applications, Fig. 1. Multifingered robot hand: (a) 3-Finger Adaptive Robot Gripper;
such as, the DLR Multisensory Articulated Hand [4], the (b) Articulated finger with elastic tendons. Courtesy from Robotiq.
NASA Robonaut Hand [5], the Barrett Hand [6], the Gifu
Hand [7], the Shadow Dexterous Hand [8], the Schunk In this work, we present a kinematic framework for
Anthropomorphic Hand [9], and the i-Limb Ultra Prosthetic modeling and control design of a multifingered robot hand.
Hand [10]. The main differences among these devices are Each robot finger is considered as a parallel manipulator and
related to key issues of design, such as, number of fingers, its kinematic constraints are computed from an empirical
modeling because of the inherent mechanical complexity of
This work was partially supported by the Brazilian funding agen- the mechanism. The kinematic control approach is used to
cies CAPES, CNPq and FAPERJ. The authors are with the Depart- tackle the position control problem for the mechanism during
ment of Electrical Engineering, COPPE/Federal University of Rio de
Janeiro, P. O. Box 68504, RJ 21941-972, Rio de Janeiro, Brazil. E-mail: the constrained motion, ensuring the asymptotic stability of
[email protected], {toni, fernando}@coep.ufrj.br the output tracking error and a firm grasping. The contact
160
into actuated and passive parts [11]. Thus, it is possible to Similarly, taking the time-derivative of (9) we obtain:
rewrite the differential kinematics (3) only as a function of
θ̇2s − θ̇ms = 0 , θ̇3s + θ̇ms = 0 . (13)
the actuated joint velocities. To achieve this, it would be
necessary to find an explicit relationship for the passive joint Then, defining a modified Kronecker delta operator
variables in terms of the actuated ones, for example, by
θmk ≤ θj∗ ,
1,
using the direct integration of the velocity data. However, δkj = (14)
0, θmk > θj∗ ,
the successful finding of an analytical solution would also
depend on the mechanical complexity of the robot hand. it is possible to rewrite (10), (11) and (12) as:
Here, we propose an alternative and simplified solution, θ̇k1 = δk1 θ̇mk , (15)
where the key idea is to establish the kinematic relationship
between the joint position vector of k-th finger θk ∈ Rnk and θ̇k2 = κr (1−δk2 ) θ̇mk , (16)
the angular position vector of the motor shafts θm ∈ Rnm . It θ̇k3 = −δk1 δk3 θ̇mk , (17)
can be represented in the configuration space as:
where θj∗for j = 1, 2, 3 is a bound for the angular position
θk = gk (θm ) , (4) of the j-th joint for the k-th finger, such that, θj∗ = γj .
Now, consider that an actuator can be shared by two or
where gk (·) : Rnm 7→ Rnk is a set of algebraic functions. more robotic fingers. Thus, we can split the angular position
For the 3-Finger Adaptive Robot Gripper we consider that: vector of the motor shaft into unshared and shared terms
(i) θkj for j = 1, 2, 3 and θks correspond to the angular as θm := [ θuT θsT ]T , allowing us to rewrite the velocity
position of finger joints; (ii) θmk for k = 1, 2, 3 and θms kinematic relationship (5) according to:
correspond to the angular position of motor shafts.
θ̇u
If gk is differentiable with respect to time, the joint θ̇k = Juk (θm ) Jsk (θm )
, (18)
velocity vector of the k-th finger θ̇k can be written in terms θ̇s
of the corresponding angular velocity vector of the motor where Juk and Jsk are the unshared and shared actuator Jaco-
shafts θ̇m as: bian matrices, θ̇u and θ̇s are the unshared and shared angular
θ̇k = Jck (θm ) θ̇m , (5) velocity vectors of the motor shafts. For the 3-Finger Adap-
tive Robot Gripper, we have θm = [ θm1 θm2 θm3 θms ]T ,
where Jck (θk ) = (∂gk (θm )/∂θm ) ∈ Rnk ×nm is named as the
with θu = [ θm1 θm2 θm3 ]T and θs = θms . Therefore, using
actuator Jacobian matrix of the k-th finger. Because of the
(13), (15), (16) and (17), the Jacobian matrices in (18) take
mechanical complexity of the mechanism, we have recorded
the simple form:
the angular position data of the motor shafts and used these
T
data sets to empirically derive the algebraic functions. Our Ju1 = η1 0 0 , Js1 = 0 0 0 ,
experiments have demonstrated that the following relations T
Ju2 = 0 η2 0 , Js2 = 0 0 0 1 ,
hold for the joints of the 3-Finger Adaptive Robot Gripper: T
Ju3 = 0 0 η3 , Js3 = 0 0 0 −1 ,
θmk − 0.37 , θmk ≤ γ1 ,
θk1 = (6)
0.565 , θmk > γ1 , with ηj = [ δj1 κr (1−δj2 ) −δj1 δj3 0 ]T for j = 2, 3 and
η1 = [ δ11 κr (1−δ12 ) −δ11 δ13 ]T . Here, we have shown
0, θmk ≤ γ2 ,
θk2 = (7) that the actuator Jacobian matrices for each finger can be
κr (θmk − 0.959) , θmk > γ2 ,
directly computed from the algebraic functions relating the
−θk1 , θmk ≤ γ3 ,
θk3 = (8) finger joint position to the angular position of the motor shaft.
−0.354 , θmk > γ3 ,
Finally, substituting (18) into (3), we obtain the following
where γ1 = 0.935 rad, γ2 = 0.959 rad, γ3 = 0.776 rad, and differential kinematics equation:
κr = 2.25 is a reduction factor due to the lever arm between
vk = Jfk Juk Jsk θ̇m = J˜k θ̇m ,
(19)
the second phalange and the rigid links behind the k-th finger.
In addition, because of the inherent coupling between the where J˜k ∈ R6×nm is the modified Jacobian matrix.
fingers 2 and 3 in the scissor mode, we have:
C. Multifinger Grasp
θ2s = θms , θ3s = −θms . (9) In this section, we present the kinematic modeling for
Now, we can take the time-derivative of (6)-(8) obtaining the a multifingered robot hand grasping and/or manipulating a
kinematic relationship in terms of angular velocities: given object. Here, we suppose that the object is held firmly
between the palm and the fingertips, while it follows a de-
θ̇mk , θmk ≤ γ1 , sired reference trajectory. The velocity kinematic relationship
θ̇k1 = (10)
0, θmk > γ1 , between the grasped object and the motor shafts can be
obtained from the differential kinematics equation of the
0, θmk ≤ γ2 ,
θ̇k2 = (11) entire mechanism. According to (19), we can stack the linear
κr θ̇mk , θmk > γ2 ,
and angular velocity vectors vk for all fingers to obtain:
−θ̇k1 , θmk ≤ γ3 ,
θ̇k3 = (12)
0, θmk > γ3 . vh = Jf Jc θ̇m = Jh θ̇m , (20)
161
where vh ∈ R18 is the velocity vector of the robot hand and force distribution [1]. This behavior can be avoided by using
Jh ∈ R18×nm is the well-known hand Jacobian matrix, writ- a hybrid position/force control scheme, which would require
ten in terms of the product of matrices Jf ∈ R18×(n1 +n2 +n3 ) that the robotic fingers were equipped with force/torques
and Jc ∈ R(n1 +n2 +n3 )×nm . Notice that, vh = [ v1T v2T v3T ]T , sensors [23]. Here, we present a kinematic formulation to
Jf = diag(Jf1 , Jf2 , Jf3 ) and Jc = [ (Jc1 )T (Jc2 )T (Jc3 )T ]T . deal with the object manipulation problem based on the
Now, let the pair {rko , Rko } be the position vector and relative position of the fingers. Let ph ∈ Rnk be the stacked
the rotation matrix of the object frame Fo with respect to position vector of the k-th fingertip frame Fk for k = 1, 2, 3
k-th contact point frame Fck . According to [21], [23], the with respect to the palm frame Fp . From the differential
object velocity vector vo can be related to the object velocity kinematics (19) we obtain:
vector at the k-th contact point vck by:
ṗh = JfP Jc θ̇m , (28)
Rko S(rko )
vck = Ak (rko ) vo , Ak (rko ) = , (21) where JfP = diag(Jf1P , Jf2P , Jf3P )
is the position term of the
0 Rko
stacked geometric Jacobian matrix of the fingers. Now, let
where Ak ∈ R6×6 is the Adjoint matrix related to the k-th pr ∈ R6 be the relative position vector between the fingers
contact point. The velocity vector vck can be parameterized given by:
in terms of a generic velocity vector wk using:
p −p I −I 0
pr := 1 2 = Ãp ph , Ãp := . (29)
vck = vk + HkT wk , (22) p2 −p3 0 I −I
nr ×6 From the time-derivative of (29) and using (28), we obtain
where the columns of the constraint matrix Hk ∈ R
represents the nr degrees of freedom for the k-th finger at the differential kinematics equation for the relative position:
the contact point [21]. We can stack (21) and (22) for all
ṗr = Ãp JfP Jc θ̇m = J˜r θ̇m . (30)
fingers to obtain:
where J˜r ∈ R6×nm is the constraint Jacobian matrix.
vh + H T w = vc , vc = A vo , (23)
E. Kinematic Control Approach
where w = [ w1T w2T w3T ]T , H T = diag (H1T , H2T , H3T ), and
A = [ AT T T T T T T T In this section, we consider the problem of controlling the
1 A2 A3 ] with vc = [ vc1 vc2 vc3 ] .
Then, combining (20) and (23) we obtain the following object position during the manipulation task, as well as the
differential kinematics equation: relative position between the fingers to ensure a firm grasp
of the object. The control design is based on the kinematic
Jh θ̇m + H T w = A vo , (24) control approach at the velocity level due to its simplicity
and pre-multiplying both sides of (24) by the pseudo-inverse of implementation and satisfactory performance when the
matrix A† and the annihilating matrix Ã, such that A† A = I task does not require too fast motion or rapid accelerations.
and ÃA = 0, we obtain the multifinger kinematic model as: Notice that, the accuracy of the results is improved if the
mechanism has high gear reduction ratios [22]. In this
vo = (A†Jh ) θ̇m + (A†H T ) w , (25) context, the movements of the fingers can be defined simply
T
0 = (Ã Jh ) θ̇m + (Ã H ) w , (26) by θ̇m := u, where u ∈ Rnm is the velocity control signal
applied to the motor drivers of the corresponding joints.
where A is of full column rank. Notice that, from (25) and Let po ∈ R3 be the position vector of the object frame
(26), the variable w can be interpreted as the velocity vector Fo with respect to the palm frame Fp . Here, we consider
of the contact point. Indeed, during the grasping situations, that the control goal for the robot hand is to follow a
the contact point between the fingertip and the object can time-varying reference trajectory pod (t) for the object, while
be modeled as a virtual rotational/prismatic joint performing keeping a constant relative position prd between the fingers.
rolling/sliding motion [21]. If we specify θ̇m , it is possible The control goals can be described as:
to solve (26) for w, provided that the matrix (ÃH T ) is non-
singular. Thus, we can rewrite (25) as: po pod (t) eo pod − po 0
→ , := → , (31)
pr prd er prd − pr 0
vo = A† [ Jh − H T (Ã H T )† Ã Jh ] θ̇m = J˜h θ̇m , (27)
where eo ∈ R3 is the object position error and er ∈ R3 is the
where J˜h ∈ R6×nm is the modified hand Jacobian matrix. relative position error. Considering (27) and (30), we obtain
the following position control system:
D. Object Manipulation
J˜hP
Consider the object manipulation problem for a multifin- ṗo
= u, (32)
gered robot hand. In general, when the fingers hold a rigid ṗr J˜r
object their relative position and orientation have to be kept
where J˜hP is the position term of the modified hand Jacobian
constant during the constrained motion. Otherwise, if a rel-
matrix. From (31) and (32), the error equation takes the form:
ative motion between the fingers is allowed or commanded,
J˜hP
the object can be damaged due to the occurrence of unstable ėo ṗod
= − u. (33)
grasping situations, such as loss of contact or uncontrollable ėr 0 J˜r
162
(a) Object pos, y-axis (b) Rel pos fingers 1-2, y-axis
A joint velocity control signal u ∈ Rnm , that linearizes and 40 −60
pod po
stabilizes the error system (33), can be given by
20 −70
† †
J˜hP J˜hP
νo ṗod + Λo eo
u= = , (34)
mm
mm
J˜r J˜r
0 −80
νr Λr er
−20 −90
where Λo = λo I and Λr = λr I are the position gain matrices,
prd pr
and the pair {νo , νr } denotes the Cartesian control signals. −40 −100
0 5 10 15 20 0 5 10 15 20
For any choice of λo and λr as positive scalar gains, we can
show that the error system dynamics is asymptotically stable (c) Rel pos fingers 2-3, x-axis (d) Rel pos fingers 2-3, y-axis
100 2
and, therefore, limt→∞ eo (t) = 0 and limt→∞ er (t) = 0 . prd pr
Notice that, the joint velocity control signal (34) holds 80 0
under the assumptions of full knowledge of the mechanism
mm
mm
kinematic parameters and provided that the mechanism is far 60 −2
mm
0 0
rad s−1
θ̇m4
(8M Cache, 2.8 GHz) 4GB RAM, running Windows OS. 0 0
163
yod (t) = As sin(ωs t), where As and ωs are the amplitude and issues discussed here, some topics for future developments
angular frequency of the sinusoidal signal, and t = [ 0, Tmax ] are: (i) to consider the dynamic model of the robot hand
where Tmax = 60 s is the total runtime of the experiment. The in the control design; (ii) to implement hybrid position/force
lengths of the finger phalanges are l1 = 57 mm, l2 = 38 mm, control strategies for object grasping and manipulation tasks.
and l3 = 32 mm. The distance between the pitch and first R EFERENCES
joint axes is l0 = 22 mm. In the experiments, we set up
[1] D. Prattichizzo and J. C. Trinkle, “Grasping,” in Springer Handbook
As = 25 mm, ωs = π5 rad s−1 , λo = 40 s−1 and λr = 10 s−1 . of Robotics, B. Siciliano and O. Khatib, Eds. Springer Verlag, 2008,
The experimental results are shown in Figs. 3-5, where pp. 671–700.
it is possible to observe the time history of the trajectory [2] A. Bicchi, “Hands for Dexterous Manipulation and Robust Grasping:
a Difficult Road Toward Simplicity,” IEEE Trans. Rob. Aut., vol. 16,
tracking, the relative position regulation, the position errors, no. 6, pp. 652–662, Dec 2000.
and the control signals respectively. From the analysis of [3] J. Aleotti, D. Lodi Rizzini, and S. Caselli, “Perception and Grasping
the results, we conclude that the proposed control scheme of Object Parts from Active Robot Exploration,” J. Intell. Rob. Syst.,
vol. 76, no. 3-4, pp. 401–425, 2014.
was able to ensure the asymptotic convergence of the object [4] J. Butterfass, G. Hirzinger, S. Knoch, and H. Liu, “DLR’s Multisensory
position error to zero. Besides, it can be noticed that the Articulated Hand Part I: Hard- and Software Architecture,” in Proc.
relative position converges to the desired values, ensuring the of IEEE Int. Conf. Rob. Aut., May 1998, pp. 2081–2086.
[5] C. Lovchik and M. Diftler, “The Robonaut Hand: a Dexterous Robot
satisfactory prehension of the object (Fig. 4). Finally, from Hand for Space,” in Proc. of IEEE Int. Conf. Rob. Aut., May 1999,
the analysis of the analytical expression for the Jacobian pp. 907–912.
matrices, J˜hp and J˜r , we concluded that there are no occur- [6] W. T. Townsend, “The Barrett Hand Grasper - Programmably Flexible
Part Handling and Assembly,” Ind. Rob.: An. Int. J., vol. 27, no. 3,
rences of singularities in the task space. This analysis was pp. 181–188, 2000.
omitted here for the sake of space saving, but the expected [7] H. Kawasaki, T. Komatsu, and K. Uchiyama, “Dexterous Anthropo-
results was confirmed by means of exhaustive experiments. morphic Robot Hand with Distributed Tactile Sensor: Gifu hand II,”
IEEE/ASME Trans. on Mech., vol. 7, no. 3, pp. 296–303, Sep 2002.
[8] P. Tuffield and H. Elias, “The Shadow Robot Mimics Human Actions,”
IV. CONCLUSIONS AND FUTURE WORKS Ind. Rob.: An Int. J., vol. 30, no. 1, pp. 56–60, 2003.
In this work, we present a kinematic framework for mod- [9] H. Liu, P. Meusel, N. Seitz, B. Willberg, G. Hirzinger, M. Jin, Y. Liu,
R. Wei, and Z. Xie, “The Modular Multisensory DLR-HIT-Hand,”
eling and control design of a multifingered robot hand, which Mech. Mach. Theory, vol. 42, no. 5, pp. 612–625, May 2007.
is based on an empirical model and a control formalism [10] C. Connolly, “Prosthetic hands from Touch Bionics,” Ind. Rob.: An
developed for general robotic systems subject to kinematic Int. J., vol. 35, no. 4, pp. 290–293, 2008.
[11] C. Melchiorri and M. Kaneko, “Robot Hands,” in Springer Handbook
constraint conditions [21]. Experimental results, obtained of Robotics, B. Siciliano and O. Khatib, Eds. Springer Verlag, 2008,
with the 3-Finger Adaptive Robot Gripper from Robotiq, are pp. 345–360.
shown to illustrate the performance and effectiveness of the [12] R. Tinos, M. Terra, and J. Ishihara, “Motion and Force Control of
Cooperative Robotic Manipulators with Passive Joints,” IEEE Trans.
proposed methodology. Due to the presence of rigid links Contr. Syst. Tech., vol. 14, no. 4, pp. 725–734, Jul 2006.
and springs, each articulated finger can be modeled as a [13] G. M. Freitas, A. C. Leite, and F. Lizarralde, “Kinematic Control of
parallel mechanism and we empirically derive the kinematic Constrained Robotic Systems,” SBA Contr. Aut. Mag., vol. 22, pp. 559–
572, Dec 2011, http://dx.doi.org/10.1590/S0103-17592011000600002.
relationship between the velocities of the motor shafts and [14] I. Kao, K. Lynch, and J. W. Burdick, “Contact Modeling and Manipu-
the fingertips. We also model the robot hand during the lation,” in Springer Handbook of Robotics, B. Siciliano and O. Khatib,
constrained motion as a parallel mechanism and the contact Eds. Springer Verlag, 2008, pp. 647–669.
[15] T. Yoshikawa, “Multifingered robot hands: Control for grasping and
points between the fingers and the object as virtual revolute manipulation,” Ann. Rev. Contr., vol. 34, no. 2, pp. 199–208, 2010.
joints. Similarly to the case of free motion, we derive the [16] T. Takahashi, T. Tsuboi, T. Kishida, Y. Kawanami, S. Shimizu,
velocity relationship between the object and the motor shafts M. Iribe, T. Fukushima, and M. Fujita, “Adaptive Grasping by Multi
fingered Hand with Tactile Sensor based on Robust Force and Position
under the full knowledge of the object geometry. Control,” in Proc. IEEE Int. Conf. Rob. Aut., May 2008, pp. 264–271.
The position control problem is tackled by using a kine- [17] E. Engeberg and S. Meek, “Adaptive Sliding Mode Control for
matic control approach, which ensures the asymptotic stabil- Prosthetic Hands to Simultaneously Prevent Slip and Minimize De-
formation of Grasped Objects,” IEEE/ASME Trans. Mech., vol. 18,
ity of the output tracking error and a satisfactory performance no. 1, pp. 376–385, Feb 2013.
when the task motions are executed with low velocities and [18] Y. Yin, Z. Luo, M. Svinin, and S. Hosoe, “Hybrid Control of Multi-
slow accelerations. Since friction effects were not taken into fingered Robot Hand for Dexterous Manipulation,” in Proc. IEEE Int.
Conf. Syst., Man and Cyber., vol. 4, Oct 2003, pp. 3639–3644.
account in the proposed methodology, the kinematic control [19] S. Arimoto, “Intelligent Control of Multi-fingered Hands,” Ann. Rev.
approach without explicit closure of a force feedback loop is Contr., vol. 28, no. 1, pp. 75–85, 2004.
not able to guarantee the satisfactory prehension of the object [20] Y. Zhao and C. C. Cheah, “Neural Network Control of Multifingered
Robot Hands Using Visual Feedback,” IEEE Trans. Neur. Net.,, vol. 20,
during the manipulation task. To overcome this drawback, we no. 5, pp. 758–767, May 2009.
have combined the object position control with the relative [21] J.-Y. Wen and L. Wilfinger, “Kinematic Manipulability of Gen-
position control for the fingers, ensuring a firm grasp of the eral Constrained Rigid Multibody Systems,” IEEE Trans. Rob. Aut.,
vol. 15, no. 3, pp. 558–567, Jun 1999.
object. The position control scheme works better with soft- [22] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: Mod-
finger contact models due to the frictional forces that arise elling, Planning and Control. Springer-Verlag London, 2009.
during the compression of the object. The theoretical results [23] F. Caccavale and M. Uchiyama, “Cooperative Manipulators,” in
Springer Handbook of Robotics, B. Siciliano and O. Khatib, Eds.
hold in the practical experiments under the assumptions of Springer Verlag, 2008, pp. 701–718.
full knowledge of the mechanism kinematic parameters and [24] Robotiq, Specification sheet for the 3-Finger Adaptive Robot Gripper,
no occurrences of singular configurations. Motivated by the Aug 2015, http://robotiq.com/products/industrial-robot-hand/.
164