Cartesian impedance control for dexterous manipulation

In this work, a cartesian impedance controller purposely designed for dexterous manipulation is described. Based on the main features of the DLR Hand II, concerning kinematic structure and sensory equipment of fingers, this control strategy allows to overcome the main problems encountered in fine manipulation, namely: effects of the friction (and unmodeled dynamics) on robot performances and occurrence of singularity conditions. The achieved control scheme bas been experimentally validated by testing it on a finger of the DLR Hand.


I. INTRODUCTION
Manipulation tasks by means of robotic hands explicitly require interactions with the environment. As a matter of fact phases in which the fingers (of the hand) can freely move are followed by tasks involving a physical contact with objects or, in general with, an environment only partially known or completely unknown.
Among the various control technics proposed for robotic manipulation [1], the "impedance approach" [2], [3] seems to be preferable; in fact, as it is well known, the aim of this class of controllers is to modulate and control the dynamic behavior of the manipulator, rather than a vector quantity such as force, position or velocity. In this way it is possible to deal with all the conditions foreseen by the tasks to be accomplished (free motions, physical interactions,...) in an uniform manner, by simply specifying (and imposing to each robotic finger) a proper dynamic behavior. Moreover, the choice of this approach can produce other important benefits and, in particular, a general simplification of the overall control system. As a matter a fact a dexterous robotic hand is a quite complex system, with many degrees of freedom, large amount of sensory information, and multiple control objectives. The impedance control allows to consider each finger as an individual system and to mask the dynamics of the mechanical structure, nonlinear and coupled along the different taskspace directions, with a desired one, which, for sake of simplicity, is usually assumed linear and uncoupled in different directions of the work-space (that is a massspring-damper system). That considerably simplifies the job of the supervision system. The term impedance control by itself points out a general control approach (as, for example, force control or position control), rather than a specific implementation. In fact, a number of techniques have been collected in the literature to impose to a robotic system a desired dynamic behavior; some authors impose to the uncontrolled robot a target impedance by simply coupling the two systems [4], [5], [6] (based on energetic considerations, this approach leads to very robust properties of stability during the interactions), others make use of an inverse dynamic control before imposing the desired impedance model [1]. Finally, to compensate for heavy frictional phenomena or unmodelled dynamics terms, some impedance controllers are built over explicit torque or position control loops [7], [8].
In this work an impedance controller able to overcome the main drawbacks connected to dexterous manipulation, exploiting at the same time those features that characterize the majority of articulated robotic hands (e.g. the use of force sensors), is defined. In particular, the proposed control scheme has been developed on the basis of the DLR Hand II, which has been used as an experimental test-bed to validate the developed algorithm.

II. MAIN FEATURES OF THE DLR HAND II
The second generation of robotic hands designed at DLR (German Space Agency), has a modular structure, characterized by four identical fingers arranged in a human-like way, that is three upper fingers and an opposable thumb [9]. Each finger has an anthropomorphic kinematic structure (reported in Fig. 1.b), with three phalanges, and three joints: • the proximal joint has 2 degrees of freedom; one is for the curling motion and another is for abduction/adduction; • the motions of the middle phalange and the distal phalange are not individually controllable but the relative joints are rigidly coupled; the coupling ratio is one to one (that is, with reference to the symbols used in Fig. 1.b, θ 3 = θ 4 ). Furthermore, several sensors are hosted in the finger structure, providing information about the configuration of the hand and the state of the interaction with the environment/object. In particular, besides the Hall-effect position sensors integrated in the motor: • each joint is equipped whit strain gauge based joint torque sensors and specially designed potentiometers, which yield a direct measure of the joint position; • in the fingertip is located a tiny force/torque sensor, able to detect all the six components of the wrench vector exchanged during a contact with the external environment.

IMPEDANCE CONTROLLER
The proposed implementation of an impedance controller exploits the features of the finger of the DLR Hand II (kinematic structure, sensory equipment) to deal with two of the main drawbacks of dexterous hands, namely: -friction on joints; -singular configurations. To overcome the problems (in terms of performance in position tracking and application of desired forces) tied to the friction, this scheme has been based on a position control loop, as depicted in Fig. 2. As a matter of fact the high gain of this inner loop guarantees very small tracking errors, even if the (uncompensated) friction is not negligible. The conceptual steps of the adopted control scheme are: 1) given the force inputs F ext (directly measured by means of the sensor collocated at the finger endpoint and reported to the base frame), from the desired admittance model one achieves the corresponding positions/speeds (x z /ẋ z ). 2) the position x z (t) is employed as set-point for the position control loop, which generates the torque motor commands τ m ;

A. Admittance model
As stated in Sec. I, the target impedance is a standard mass-spring-damper system, whose dynamics is described by the differential equation where x 0 is the the position of the so called virtual point, and M, B, K are symmetric, definite-positive matrices which define mass, stiffness and damping values of the impedance model in different directions of the task-space. In particular, by means of a singular values decomposition, these matrices can be written as is an orthonormal matrix representing the principal axis of T and T a diagonal matrix, whose elements define the magnitude of mass/stiffness/damping along the direction r i . In this way, the task planner can easily select suitable values of this parameters (and in particular of the stiffness) along different directions, usually aligned with the frame normal to the surface at the desired point of contact. An important features of this approach, is that the force measure F ext is transformed into the position x z by means of (1), which, without the inputs x 0 ,ẋ 0 , can be rewritten (by means of Laplace transforms) as Hence the force signal, usually characterized by notnegligible level of electrical noise, is implicitly filtered by a low-pass filter.

B. Position control loop
The solution of (1), computed in real-time, with the inputs F ext , x 0 ,ẋ 0 , provides the value of x z ,ẋ z , which the position-controlled robot must follow with an error and a phase delay as small as possible in each configuration. For this reason the main attention has been devoted to the implementation of the basic position controller which should guarantee that x x z . To this purpose, in the literature it is possible to find two main approaches, which can be summarized as follows: 1) from the position error ∆x = x d − x in the taskspace (and also from the velocity error) it can be obtained (by a proper dynamic controller) the force F act which will steer the robot to reduce the error itself. F act is in turn mapped into torque values τ act , directly provided by robot actuators. Schematically: 2) The work-space position/speed set-points are mapped into the corresponding joint-space values by means of inverse kinematic relations of the robot, then a proper controller computes the torques which the motors must supply to reduce the joint position error ∆θ . This algorithm can be synthetically represented by: ∆θ → τ act Usually these two approaches are considered as alternative, and are both adopted to implement admittance controller, see, for example, [8] and [7]. However, it is worth to notice that their use, in principle equivalent, leads to quite different results, especially in the neighborhood of singularities. For instance, in [8] it is noted that the practical implementation of the control approach based on inverse kinematics on a robotic system can produce fast and destabilizing movements in the vicinity of singularities. Conversely it can be easily shown that the tracking performances of the former approach (directly performed in the task-space) are very poor near to a singular configuration. The reasons of such a different behavior can be clearly demonstrated through the analysis of the position control scheme, reported in Fig. 4, which has been finally adopted to carry out the impedance controller. In this scheme two contributions can be recognized, which represent very simple implementations of the two previous control approaches. The first contribution is a classical PD controller in the task space while the second one is given by a proportional regulator 1 in joint space where K x , B x , K θ are, in this application, positive-definite diagonal matrices, and J T (·), L −1 (·) are respectively the transposed Jacobian and the inverse kinematics of the robotic finger. By recalling that the variation of the joints' configuration due to a variation of the end-point position can be approximated as ∆θ the terms (3) and (4) can be described with the following mappings: 1 In this case the natural damping of the mechanical structure is exploited For the sake of simplicity, only the static relations between ∆x and τ act are considered. This means that the derivative parts of (3) is neglected, but this does not prejudice the validity of the overall analysis. Since, in particular, we want to consider the effects of the Jacobian on the control action, a further simplification is performed, that is the stiffness matrices are considered identity. This leads to and Therefore, the relations between a displacement ∆x and the resulting torque control are given by J T and J −1 .
Obviously these relations have only a numerical (and not physical) meaning; as a matter of fact in (8) ∆x is a linear force (expressed in N) numerically identical to the corresponding displacement.
To understand the effects of these two relations, we have defined a tool similar to the "manipulability ellipsoids", which show how velocities and torques are transmitted from joint-space to the task-space by a particular robotic structure in a specific configuration [1]. In this case the converse operation has been done, that is we have defined two ellipsoids which represent how a displacement, of amplitude one, is mapped into the space of the control torques by (8) and (9). The two ellipsoids, which display the sensitivity of the control to a variation of the set-point, are defined by and They are depicted in Fig. 3, where for sake of clarity the 2-dof planar robot, obtained by blocking the adduction/abduction joint of the finger, is considered. As a matter of fact, the singular configurations depend only by θ 3 , while the the first joint (θ 1 ) does not play any role.
As for standard position/force manipulability ellipsoids, the principal directions of (10) and (11) are the same, while the lengths of axis are inversely proportional. This suggests that in those directions (of workspace) where the control approach (3) gives the smallest contribution with respect to a position displacement ∆x, (4) produces the largest control torques and viceversa.
In particular if the singular condition θ 3 = 0 is taken into account (as reported in Fig. 3.b) there are some task-space directions, where torques corresponding to (possibly large) position variations, computed by means of the control approach exploiting the transposed Jacobian (that is (6)), are null (∆x ∈ Ker(J T (θ ))). In this case the finger can not follow any trajectory along these directions. In practice  it is necessary to consider not only the point τ act = 0 but also a region which depends on the magnitude of the static friction τ S (see Fig. 3.b). If the control torques belong to this region, the robotic finger keeps still. Conversely, the control approach (7) provides, along these directions, a theoretically infinite contribution. As already stated, (5) is only an approximation, and the actual torque computed on the basis of (4) will be limited ((θ − L −1 (x d )) is certainly bounded), nevertheless the corresponding ellipsoid gives an insight into the behavior of this class of controllers: when the robot (finger) is close to a singularity there are some directions where the control torques are very large because of small variation of ∆x. In this way it is possible to explain that "nervous" behavior that robots, position controlled in the joint space, exhibit near to a singularity, and the great sensitivity to the noise of the sensors. The use of matrices K x , K θ = I 2 does not change the results. As a matter of fact, these matrices are usually taken diagonal and with the same (or similar) values 2 , and therefore their effect is to amplify the ellipsoids, without changing their shape. If controller different from simple gains are adopted, the considerations so far reported give anyway a qualitative idea of the final result: by directly implementing a controller in the task-space there will be tracking problems near to a singularity, conversely if the controller is carried out in joint-space it will be extremely sensitive to small variations of the position error ∆x (due to variations of the set-point or the noise on position measure). The control scheme depicted in Fig. 4 tries to exploit the profitable features of the two control approaches by simply adding the two contributions (3) and (4). This has a clear energetic meaning (which solves the problem of the stability of the two control systems coupled in such a way). As a matter of fact (3) and (4) can be considered as a spring (and a damper) connected with the fingertip and a spring in the joints, whose stiffness are ∆x ∆x ∆z ∆z τact 2 Sensitivity of the control to variations of ∆x considering a configuration of the robotic finger far from (a) and close to (b) a singularity.
respectively K x , K θ . Therefore the overall controller acts by reshaping the potential energy of the robot, which will move towards its minimum value (x d = L(θ d )) [2]. If the gravity field is compensated, the total potential energy is given by the contributions of the two springs, as displayed in Fig. 5 (where we still consider the 2-dof planar robot, obtained by blocking the adduction/abduction joint). Note, in particular, that the potential energy of the springs defined in the work-space is characterized in the joint-space configurations by two minima (corresponding to the "left-hand" and the "right-hand" solutions of the inverse kinematic equation). By adding the potential energy of the spring in the joints, it is possible (by means of L −1 (·) which explicitly takes into account the limits of joint motions) to select the feasible configuration. Moreover, by adding the two contributions it is possible to obtain all the time an uniform behavior of the controller. In those points (singularities) where the loop (3) is not able to steer the robot in a proper way, is (4) that provides a sufficient control action. In this way, it is possible to keep smaller values of the "gains" of both the controllers in comparison with the schemes which exploit only one kind of regulator. However, to achieve a smooth behavior of the robotic finger, the main control remains (3), while the gain of (4) has been set as small as possible. In this way the last contribution is appreciable only in the vicinity of singularity, and acts when (3) fails. On the other hand, near to singular configurations the overall control system is not too sensitive to position variations, which often depend by the noise on position or force measurements (translated into set-point variations by the admittance model). Finally, the values adopted (in the experimental tests reported in the next section) for the impedance model and the position controller are reported in Tab.I. In Fig. 4 the overall control scheme is depicted. Note that the control action is computed by using the forward and the inverse kinematics L(·), L −1 (·) (both available in a closed form), the Jacobian and its transposed J(·), J T (·) (while its inverse J −1 (·) is not employed); therefore no computational problem arises in the vicinity of singularity.

IV. EXPERIMENTAL RESULTS
The impedance control scheme described in the previous Section has been experimentally tested on a finger of the DLR Hand II. In Fig. 6 the performances of the impedance controller are shown, when no interaction with the environment occurs. Despite the very small values of stiffness and the unavoidable (small) errors on force measurement, the system is able to follow desired trajectories with acceptable errors, and also the couplings between the different directions are negligible. Obviously if better performances are required, it is sufficient to increase the stiffness values. When an interaction happens (in this case K 11 = 50 along x, while in y and z directions of the workspace Interaction of the robotic finger (steered by an admittance controller) with an obstacle placed in x b = const. K ii = 200) the system maintains a stable behavior, as shown in Fig. 7, where the finger meets an obstacle along the x b direction. In this case the finger behaves almost like an ideal (decoupled in the work-space directions) spring; as a matter of fact F x = K 11 (x 0 − x) with good approximation while F y and F z are quite small despite the high stiffness values and the coupling due to the friction of the contact; moreover, during the contact phase, the virtual point is moved in y and z directions (where no constraints exist) and the fingertip is able to follow this set-point. It is worth to notice that when the z position of the finger changes also the x position moves: the reason is the fact that the adopted model considers a punctual fingertip, while the finger end point has a precise shape, and due to its rotation the tip frame position (and therefore the x position) changes. Finally in Fig. 8 a motion of the finger starting from a singular configuration is reported: tracking error is quite large, but it is possible to improve the performance of the controller by acting on K θ (by taking a higher gain this error can be reduced but the behavior of the finger will be probably less smooth in critical configurations).

V. CONCLUSIONS
A cartesian impedance controller has been illustrated and discussed, and experimental results achieved on the DLR Hand II presented. This strategy, which "transforms" the fingertips of the DLR Hand II (used for fine manipulation tasks) into mass-spring-damper systems(whose parameters can be arbitrarily chosen) allows to greatly simplify task planning operations. The proposed solution exploits the overall sensor equipment of the hand (position sensors of the finger, joint torque sensors 3 and the fingertip 3 used for an explicit friction compensation. force/torque transducer) to achieve a controller robust with respect to: -friction and unmodeled dynamics of the finger; -singularity conditions of the kinematic structure. The result is a robotic system whose end-point has a smooth behavior decoupled in differen directions of the workspace, and stable during the interaction with a wide class of objects.