Abstract
When using a tool with a robotic handarm system, the stiffness at the grasped object plays a key role in the interaction with the environment, allowing the successful execution of the task. However, the rapidly increasing use of underactuated hands in robotic systems due to their robustness and simplicity of control, pose limitations to the achievable objectlevel stiffness. Indeed, due to the serial coupling of the hand and the arm, the resulting objectlevel stiffness is determined by the most compliant of both elements. To address this problem, we propose a novel controller that takes into account the limited achievable geometry of the object stiffness ellipsoid given by a hand with underactuation constraints, and exploits the contribution of the robotic arm in reshaping the final stiffness towards the desired profile. The underactuation is illustrated by a coordinated stiffening of the hand fingers. The proposed method is experimentally validated by a handarm system performing a peginhole task.
1 Introduction
Collaborative robotics is a rapidly emerging technology, as an increasing number of industries are seeking for flexible automation systems to become competitive (Ajoudani et al. 2018). These robotic systems are envisaged to work together with their human coworkers in order to perform a wide range of tasks in a productive and flexible way, which usually involve manipulation and interaction. They must therefore contain: a robotic endeffector able to perform the manipulation (e.g.: robotic hands, grippers, suction cups) and a robotic arm driving such endeffector along the task workspace (e.g., see Fig. 1). When dealing with humanlike manipulation scenarios, robotic hands are usually preferred due to their increased manipulability and dexterity. Several studies have investigated the potential of such handarm systems, mainly focusing on the control of the position, orientation, and force at the object or arm endeffector level (Bae et al. 2006; Nagai and Yoshikawa 1995). Still, when tackling the collaborative scenarios, safe and controlled interactions become crucial requirements of the system. To this end, impedance control frameworks have been proposed with considerable advantages when dealing with unstructured environments and in humanrobot interaction scenarios (AlbuSchaffer et al. 2003).
Nevertheless, impedance controllers for handarm systems have been scarcely studied. In Wimbock et al. (2007), an objectlevel custombuilt impedance control for humanoid robots with two arms and two hands was presented. This method was designed for a fully controllable bodyhandarm system and neglected the rolling effects of fingers. Similary, Nagai and Yoshikawa (1995) and Ott et al. (2006) developed impedance controllers where the overall system compliance was mainly driven by the arms, and the hands were used to provide a firm grasp of the objects. The fullcontrollability of the high number of degrees of freedom (DOF) of the hands used in these systems allows fine manipulation tasks to be executed. However, it implies an increasing complexity not only in the design and its related cost, but also from the control point of view. This high complexity underlies the problems to deploy these systems in real industrial and humanrobot interaction environments.
To overcome this obstacle, soft and underactuated hands embedding structural compliance are being developed which can deal with simple grasping tasks and safety needs while using a reduced number of actuators (Catalano et al. 2014; Deimel and Brock 2016). From the control point of view, coordinated movements known as postural hand synergies have been investigated as a way to tackle the problem of control redundancy (Catalano et al. 2014). Nevertheless, these underactuated hands are being mainly used to perform full closure around the object (Ajoudani et al. 2013; Peternel and Ajoudani 2017), providing a limited control of the grasp stiffness. Therefore, when attached to an arm, the resulting behaviour between the object and the environment is mostly defined by the arm interaction parameters.
Fine manipulation tasks however, may require more complex grasps. For instance, in works such as Kim et al. (2001) and Friedman and Flash (2007), the hand grasp compliance and kinematics that are required to execute a task were studied. Indeed, when using a tool for a particular task, both the grasping points and impedance must be properly selected to obtain the desired interaction (Friedman and Flash 2007). For example, when making a hole in a surface with a punch, the system should be stiff along the punch handle direction. Instead, in a fine painting task, the grasp should be stiff on the plane parallel to the wall, while being compliant in the perpendicular direction to the surface to comply with the disturbances caused by the wall irregularities.
In this work we present a controller to regulate the objectlevel stiffness for manipulation tasks using fingertip grasps with a handarm system subject to underactuation principles at the hand level. To illustrate a possible application scenario, we use the case of the CommonModeStiffness (CMS) and ConfigurationDependentStiffness (CDS) underactuated principles for the hand. Assuming an ellipsoidal representation of the grasp stiffness (MussaIvaldi et al. 1985), such an ellipsoid is defined by the directions of the major axes (geometry of the ellipsoid), and its overall volume. In this framework, CMS provides a synergistic stiffening of the finger joints, i.e., only one parameter is required to modify all the joints, leading to an increase/decrease of the ellipsoid volume (Rossi et al. 2015). The axes directions can be changed in a more energyefficient way by varying the fingers posture (CDS) (Milner and Franklin 1998). In previous works, we developed two different methods providing a large manipulability range while using the CMS/CDS bioinspired concepts (Ruiz Garate et al. 2018b, a). The implementation of the CMS principle limits the number of required control inputs to achieve complex manipulation tasks, having control references simplified from \(2\times n\) parameters to only \(n + 1\), where n is the number of DOF of the hand. However, this underactuation principle results in a limited range of stiffness geometries reachable by the hand while maintaining the grasp points, potentially constraining the overall behaviour of the handarm system.
Therefore, focusing on the limitations given by the hand, the proposed controller first finds a suitable grasp posture to best fulfil the interaction requirements in terms of objectlevel stiffness for a particular task. An arm Cartesianimpedance controller is then used to position the object as required to perform the task. Moreover, the impedance controller of the arm serves to regulate the obtained hand stiffness as needed for the task. Hence, the main contributions of this work can be summarized as: the formulation of a control strategy to regulate the objectlevel stiffness for handarm systems subject to underactuation principles, and the adaptation of the grasp stiffness control in (Ruiz Garate et al. 2018a) to a new scenario with a moving hand base attached to a robotic arm.
The following Sects. 2 and 3 present the objectlevel handarm stiffness problem and the methodology proposed for the studied underactuated case, respectively. Section 4 describes the experimental validation and Sect. 5 discuss the results and limitations of the proposed method. Finally, Sect. 6 draws the main conclusions and future work.
2 Problem definition
In a handarm system, both elements contribute to the overall stiffness required to perform the task. Moreover, when interacting with the environment, an appropriate positioning of the tool with respect to it is required. Hence, it is more suitable to define the grasp stiffness parameters at the object/tool frame level, rather than in the world frame. This objectlevel stiffness \(^{\text {obj}}\mathbf {K}\in \mathbb {R}^{6\times 6}\) can be computed from the one expressed in the world frame \(^w\mathbf {K}\in \mathbb {R}^{6\times 6}\) (Ruiz Garate et al. 2018a, b) by means of the rotation matrix from the object frame to the world frame \(^w\mathbf {R}_{\text {obj}}\) :
\(^w\mathbf {Z}_{\text {obj}}= diag\{[^w\mathbf {R}_{\text {obj}}, \, ^w\mathbf {R}_{\text {obj}}]\}\)^{Footnote 1}, where \(^{w}\mathbf {R}_{\text {obj}}\) can be extracted from the transformation matrix from the object frame to the world frame \(^{w}\mathbf {T}_{\text {obj}}\). The procedure to obtain \(^w\mathbf {T}_{\text {obj}}\) at each system configuration is described later in Sect. 3.4 (6). Using (1), the stiffness at the endeffector of the arm and the grasp stiffness provided by the hand, can be expressed in the object frame as \(^{\text {obj}}\mathbf {K}_{\text {arm}}\) and \(^{\text {obj}}\mathbf {K}_{\text {hand}} \in \mathbb {R}^{6\times 6}\), respectively. Being the inverse of stiffness the compliance, the principles of serial springs can be applied to the corresponding compliance matrices (\(^{\text {obj}}\mathbf {C}_{\text {arm}}\) and \(^{\text {obj}}\mathbf {C}_{\text {hand}} \in \mathbb {R}^{6\times 6}\)), to retrieve the overall system compliance:
Hence in terms of the overall system stiffness:
The resulting objectlevel stiffness \(^{\text {obj}}\mathbf {K}\) of the handarm system can be represented by a stiffness ellipsoid characterised by a particular geometry (defined by the ellipsoid axes orientation), and ellipsoid volume (given by the magnitude of the main ellipsoid axes). From (2), it is straightforward that the final system compliance is of the order of magnitude of the most compliant element. Thus, even if one of both element’s stiffness (hand or arm) is increased to its maximum, if the other remains compliant the overall system will behave in a compliant way.
Based on this dependency, the presented work focuses on obtaining a desired \(^{\text {obj}}\mathbf {K}\) given the underactuation constraints imposed by the hand. These limitations are illustrated by the same CMS/CDS underactuation control principles as in Ruiz Garate et al. (2018a, (2018b). Consequently, the maximum achievable stiffness is not only constrained by the maximum synergistic joint stiffness, but also by the range of feasible hand poses maintaining the grasp points. Thus, the resulting stiffness ellipsoid of the handarm system at the objectlevel is constrained by that of the hand. If for a particular task the system needs to be stiff in a predefined direction, the problem can be divided as follows:

1.
Find the hand configuration maximizing the objectlevel stiffness in the required direction for the execution of the task;

2.
Configure the arm to locate the object (and the achieved stiffness geometry) subject to the task constraints;

3.
Adjust the arm Cartesian stiffness to tune the handinduced objectlevel stiffness towards the desired one.
3 Methodology
3.1 Modelling the handarm system
For the following simulations and experiments the torquecontrolled 7 DOF FrankaEmika GmbH robotic arm,^{Footnote 2} and the Allegro Hand (SimLab Co., Ltd.),^{Footnote 3} a 4fingered robotic hand with 16 independent joints (Lee et al. 2017), are used. The hand is attached to the endpoint of the robotic arm using a custommade flange. Figure 2 shows an example of the real and modelled initial configuration of the handarm system and the main reference frames used during the development of the method.
To model the handarm system, the Syngrasp software (Malvezzi et al. 2015) with Matlab 2017a (The MathWorks Inc.) is used. This modelling is required in order to find the hand configuration giving the highest stiffness in the desired directions at the objectlevel and to build a stable trajectory towards it. Using this software, the arm can be also modelled as a one finger hand, and the actual hand base location can be defined from the arm endeffector one. Note that an extra fixed link is modelled on the arm to account for the flange connecting the arm to the hand. Moreover, a constant transformation matrix \(\mathbf {T}_{r}\) is defined that connects the hand base (Hand) and the arm endeffector (Arm) frames (Fig. 2a). Hence, for each different arm configuration, the transformation matrix between the hand base and the world frames is computed as:
3.2 Handarm objectlevel stiffness overview
In this work the arm is considered as fully controllable and is the one guiding the task execution. The Cartesian impedance controller developed in Balatti et al. (2019) is used to achieve a desired stiffness profile \(^w\mathbf {K}_{\text {arm}}\) with respect to the world frame. Otherwise, the hand grasp stiffness is defined in the world frame as (Bicchi 1994):
where \(\mathbf {J}_{\text {hand}} \in \mathbb {R}^{3n_c\times n_q}\) is the hand Jacobian matrix and \(n_q\), \(n_c\) the total number of finger joints in the hand and the number of contact points on the object, respectively. \(\mathbf {C}_s \in \mathbb {R}^{3n_c\times 3n_c}\) is the structural compliance matrix and \(\mathbf {G}\in \mathbb {R}^{6\times 3n_c}\) is the grasp matrix. \(\mathbf {K}_q=diag\{[\mathbf {K}_{q,f1}\ldots \mathbf {K}_{q,fn_c}]\} \in \mathbb {R}^{n_q\times n_q}\) is a diagonal matrix representing the joint stiffness, where for every finger f, \(\mathbf {K}_{q,f}=diag\{\alpha \, {{\varvec{\varGamma }}}_{f}\} \in \mathbb {R}^{nq_f\times nq_f}\) is defined. \(nq_f\) is the number of joints of the finger, \(\alpha \) is the synergistic stiffness parameter (Nm/rad), and \({{\varvec{\varGamma }}}_{f}\) is a constant normalised vector implementing the coordinated stiffening of the hand fingers (CMS) (Rossi et al. 2015). As mentioned before, the hand underactuation principle here is based on our previous work in Ruiz Garate et al. (2018a).
Figure 3 displays the diagram of the proposed objectlevel stiffness controller. It receives as inputs: (i) the desired object/tool configuration (defined by the task) and given by the rotation matrix from the object to the world frame \(^w\mathbf {R}_{\text {obj},d}\), (ii) the desired objectlevel stiffness \(^{\text {obj}}\mathbf {K}_d\), (iii) the hand fingers workspace \(\mathbf {W}\mathbf {S}\), and (iv) the initial hand grasp.
Therefore, given the underactuation constrains of the hand and a desired taskbased stiffness at the object level, the method first attempts to find the hand configuration that maximizes the stiffness in the required directions by the task. Next, the arm is configured to locate the object and the resulting stiffness geometry in a direction that the tasks requirements call for a stiff response. Finally, the arm Cartesian stiffness controller tunes the resulting grasp stiffness (in the object coordinates) towards the predefined, desired profile.
The main elements of this control scheme are detailed in the following subsections. It must be noted that, for the hand controller, we follow the consideration that the encoder readings of the fingers’ joints positions are the only sensory information available. Consequently, the following assumptions are made: (i) we focus on fingertip grasps, and (ii) the object is considered to be attached to the thumb so that its location can be retrieved (Sundaralingam and Hermans 2019). Moreover, it must be noted that (5) considers the ideal contact model in Bicchi (1994), neglecting the geometric terms due to the Jacobian variations (Chen and Kao 2000). To do so, we consider a high structural stiffness (see Sect. 4.1.3), no preloading of the joints, and quasistatic conditions for the hand with sufficiently small movements (Malvezzi and Prattichizzo 2013). Moreover, this method focuses on maintaining the contact points constant, which together the quasistatic assumption allows to neglect the variations on the grasp matrix.
3.3 Stabilization of the initial grasp
The initial grasp serves first to define the contact points. These are used as constraints in the exploration to find compatible grasp configurations (CDS). Then, for the initial and subsequent grasps a hand configuration is found that squeezes the object and stabilizes it as explained in Ruiz Garate et al. (2018a). This is achieved by an optimization process where a cost function based on the index of Potential Contact Robustness (PCR) is maximized (Pozzi et al. 2017). As an overview, this optimization computes a set of internal forces such that the contact forces \({{\varvec{\lambda }}}_c= \mathbf {G}^{\#}\mathbf {w}+ \mathbf {E}{\mathbf {y}}\) are as far as possible from their friction cone limits. \(\mathbf {w}\) stands for the external wrench applied and \(\mathbf {E}\) represents the basis of the controllable subspace of internal forces. \({\mathbf {y}}\) is a vector that parametrizes the homogeneous part of the solution of the equation \(\mathbf {w}=\mathbf {G}{{\varvec{\lambda }}}_c\). The external wrench takes into account the weight of the object, therefore avoiding slippage due to the payload. Thus, the PCR index is based on the distance of the contact forces from the friction cone boundaries, and increases as the grasp becomes more robust: \(PCR=\underset{y}{max}\frac{d_{min}^{F_h}}{\sigma _{max}({\mathbf {G}})}\), where \(d_{min}^{F_h}\) is the minimum normal contact force and \(\sigma _{max}\) is the maximum singular value (Pozzi et al. 2017).
3.4 Search of hand compatible configurations
From the fingers workspace (Fig. 3), compatible configurations keeping similar fingertip locations as the initial ones are stored in \(\mathbf {Q}_c\). This selection is based on: (i) the hand physical constraints on the tool location, and (ii) the distance from the object center to the fingertips.
As the object is considered to be attached to the thumb (Sundaralingam and Hermans 2019), the object frame with respect to the thumb remains invariant from the initial one: \(^{\text {thumb}}\mathbf {T}_{\text {obj},0}=(^{w}\mathbf {T}_{\text {thumb},0})^{1}\, ^{w}\mathbf {T}_{\text {obj},0}\). Thus, for each possible thumb configuration \(\mathbf {q}_{\text {thumb},i}\) in the workspace, the object is located by means of the transformation from its origin frame to the world frame \(^w\mathbf {T}_{\text {obj},i}\). Then, the fingers’ position with respect to the object \(^{\text {obj}}\mathbf {P}_{f,i}\) is retrieved:
where the values of \(^w\mathbf {T}_{\text {thumb},i}\) and \(^w\mathbf {P}_{f,i}\) can be obtained using the DH parameters of the hand and solving the forward kinematics.
From all these possible computed object locations, a first selection is done in which only those that result in a reasonable object location are considered. That is, if the part of the object which is going to interact with the environment is oriented towards the hand palm, it would be an inoperative configuration, and therefore it is discarded. For this, the vector obtained from the object frame (\(^w\mathbf {T}_{\text {obj},i}\)), and pointing from its center to the tool’s area of interest center operative center is analysed. The angle of this vector with respect to the main 3 hand base axes (given by its transformation matrix with respect to the world \(^w\mathbf {T}_{\text {hand}}\)) is computed (see Fig. 2a). Figure 4 shows the allowed locations in an schematic way. Additional margins are given in order to assure that no collision happens. The selected regions span from −30 and −150 deg about the hand’s x axis (in the yz plane), and between ±135 and ±180 deg about the y one (in the zx plane).
Afterwards, configurations in which \(\left\Vert ^{\text {obj}}\mathbf {P}_{f,0}^{\text {obj}}\mathbf {P}_{f,i}\right\Vert < p_t\) mm are stored in \(\mathbf {Q}_c=\{\mathbf {q}_1,\mathbf {q}_2,\ldots ,\mathbf {q}_c\}\), where \(p_t\) is a threshold based on the fingertips dimensions to allow a certain movement around the initial contact point.
This process outputs all the possible hand configurations that hold similar contact points to the initial ones and result in a reasonable tool orientation. Thus, it provides the basis of the CDS control with the different grasp stiffness ellipsoid orientations at the object level. It must be noted that these hand configurations are found in a generic hand base location at which primarily the workspace is evaluated. We denoted the transformation matrix from the hand base frame at this general configuration with respect to the world as \(^w\mathbf {T}_{\text {hand,b}}\).
3.5 Selection of stable configurations
This step searches which of the previously found possible final configurations \(\mathbf {Q}_c\) are stable at: (i) the initial arm endeffector location, and (ii) the computed endeffector location to place the object as required by the task (\(^w\mathbf {R}_{\text {obj},d}\)). As the location of the object changes to be compatible with the task to be performed (e.g., orient object in a vertical position to do a peginhole task on a table), several phases of the handarm system reconfiguration can be distinguished:

Initial Configuration is the starting configuration, the arm endeffector and the hand joints are in their initial locations and the grasp is stable (Sect. 3.3).

Final Hand Configuration the hand fingers’ pose change to the final one while the arm remains fixed.

Final Task Configuration the hand base frame with respect to the world frame \(^w\mathbf {T}_{\text {hand}}\) is reoriented by modifying the arm configuration to place the object as desired to execute the task (\(^w\mathbf {R}_{\text {obj},d}\)).
Figure 5 shows an example of these three configurations and their corresponding hand objectlevel stiffness. It is important to notice that the stiffness at the object level (frame) is the same in Fig. 5b, c, just the orientation of the hand varies to relocate the object as desired.
3.5.1 Stable final hand configuration
To check if the grasp is stable for a fingers’ pose \(\mathbf {q}_i \in \mathbf {Q}_c\) in the Final Hand Configuration (Fig. 5b), the object location needs to be computed. We start by finding the transformation between the thumb and the hand base frames in the general configuration: \(^{\text {hand}}\mathbf {T}_{\text {thumb},i}= \; ^w\mathbf {T}_{\text {hand,b}}^{1} \; ^w\mathbf {T}_{\text {thumb},b,i}\), where \(^w\mathbf {T}_{\text {thumb},b,i}\) is taken from the initially stored fingers’ workspace (Fig. 3). Next, from the initial arm configuration and the corresponding transformation matrix between the initial hand and world frames \(^w\mathbf {T}_\text {hand,0}\) (4), the transformation matrix between the thumb and the world frames at the possible hand final configuration can be retrieved: \(^w\mathbf {T}_{\text {thumb},i}= \, ^w\mathbf {T}_\text {hand,0} \; ^{\text {hand}}\mathbf {T}_{\text {thumb},i}\). The object location is then obtained from its transformation matrix with respect to the world frame (6).
Once the grasp is fully defined for the Final Hand Configuration, the synergistic joint stiffness \(\alpha \) stabilizing it is found. This is done by recursively increasing the joint stiffness using steps of 0.5 Nm/rad from its minimum to its maximum value. At each step, the stability of the grasp is checked (Sect. 3.3), stopping the process when such stability is achieved and therefore, storing the minimum \(\alpha \) that renders a stable grasp in each particular configuration. If \(\alpha _{max}\) is reached and it is not possible to stabilize the grasp, the configuration is discarded.
3.5.2 Stable final task configuration
Even if for a \(\mathbf {q}_i\) the Final Hand Configuration grasp can be stabilized, as the arm pose changes from the initial hand location to the final one, the corresponding stability at the Final Task Configuration needs to be checked (Fig. 5c). To do so, the required arm endeffector location in the world frame (Arm frame in Fig. 2a) that locates the object as desired needs to be found. From the final hand pose in the initial arm configuration (Final Hand Configuration in Fig. 5b, with corresponding transformation matrix to the world frame \(^w\mathbf {T}_{\text {hand},i}\) (4)), it is possible to retrieve the transformation matrix between the object and the hand base frames: \(^{\text {hand}}\mathbf {T}_{\text {obj},i}=^w\mathbf {T}_{\text {hand},i}^{1} \; ^w\mathbf {T}_{\text {obj},i}\). This relation remains constant between the Final Hand and Final Task configurations (Figs. 5b,c). Therefore, the desired hand base frame orientation to perform a task can be retrieved from the corresponding rotation matrix in the world frame as \(^w\mathbf {R}_{\text {hand},d}=\,{}^w\mathbf {R}_{\text {obj},d} \; ^{\text {hand}}\mathbf {R}_{\text {obj},i}^{1}\), where \(^w\mathbf {R}_{\text {obj},d}\) is the required object orientation by the task. The hand base position is set to be the same as the initial one \(^w\mathbf {P}_{\text {hand},0}\), and so the transformation matrix between the final hand base frame and the world frame in the Final Task Configuration is defined as:
Once the Final Task Configuration is fully defined, as it was done before (see end of Sect. 3.5.1), the minimum joint stiffness \(\alpha \) that stabilizes the grasp is searched for.
The set of configurations found to be stable both, at the Final Hand Configuration (Fig. 5b) and the Final Task Configuration (Fig. 5c) are stored in \(\mathbf {Q}_{c,s}\) (Fig. 3). From (1) and (5), the hand grasp stiffness at the object level in these configurations \(^{\text {obj}}\mathbf {K}_{\text {hand},i}\) is computed.
3.6 Selection of the hand optimal configuration
As explained in Sect. 2, depending on the task to execute sometimes a higher stiffness profile is required in particular directions at the object level. So far we focused on the three main axis directions xyz of the object frame. So, from the previously obtained \(\mathbf {Q}_{c,s}\), the one giving a higher \(^{\text {obj}}\mathbf {K}_{\text {hand},i}\) in the desired direction is chosen as the optimal. If two directions are selected defining a stiff plane, the configuration giving the highest \(^{\text {obj}}\mathbf {K}_{\text {hand},i}\) in that plane is selected. A final check is done between the optimal found hand configuration and the initial one, as in some cases the initial one might be already giving the optimal solution. In such case, if the hand grasp is stable at the required final arm endeffector location, the following step (Sect. 3.7) is omitted.
3.7 Stable trajectory generation for the finger joints
The previous steps lead to a Final Hand Configuration that provides the higher stiffness in the desired direction. Still, a trajectory is needed to achieve the final finger joint positions (\(\mathbf {q}_f\)) from the initial ones (Fig. 3).
Similarly to Ruiz Garate et al. (2018a) and based on the work of Sundaralingam and Hermans (2019) a smooth trajectory of 50 steps with \(\varDelta t=0.05\) sec is computed. At each step, the following function is optimized:
\(\dot{\mathbf {q}}_{min}\) and \(\dot{\mathbf {q}}_{max}\) are set to −30 and 30 deg/s respectively for every joint, and the initial joint angular velocity to a random value between 0 and 30 deg/s. A high weight is given to the second term of (8) (\(h=10^2\)), to ensure that the contact points are kept.
We further develop the method to confirm that the stability criteria at every step of the trajectory is met by recursively checking \(\alpha \) such that the squeezing hand on the object stabilizes the grasp. If the trajectory results unstable, the iterations stop and the algorithm restarts with the Final Hand Configuration giving the second highest stiffness in the desired direction. The process continues until a stable trajectory is found. A final step is added to the trajectory to reach the exact desired final configuration. Though a minimum \(\alpha \) is needed that stabilizes the grasp, the maximum synergistic joint stiffness \(\alpha \) is applied from the beginning of the trajectory as the goal is to have the grasp as stiff as possible in a particular direction.
3.8 Arm endeffector location and stiffness
The optimal hand grasp configuration results in the relocation of the object (Fig. 5). Therefore, the hand base needs to be reconfigured to locate the object as required for the task (7). From this new hand base frame, the transformation matrix of the arm endeffector location with respect to the world frame is obtained (4): \(^w\mathbf {T}_{\text {arm},i}=^w\mathbf {T}_{\text {hand},i} \, \mathbf {T}_{r}^{1}\). This location is then sent to the Cartesian impedance controller of the arm.
Finally, based on the desired objectlevel stiffness, and the one already achieved by the hand, the arm Cartesian stiffness can be tuned. From (3), the arm endeffector stiffness with respect to the object frame can be computed as:
The stiffness at the arm endeffector with respect to the world frame to be commanded to the robot, can be obtained from \(^{\text {obj}}\mathbf {K}_{\text {arm}}\) by using the corresponding transformation matrices from the object to the world frame (1): \(^{\text {w}}\mathbf {K}_{\text {arm}}= \, ^w\mathbf {Z}_{\text {obj}}^{\top } \; ^{\text {obj}}\mathbf {K}_{\text {arm}} \; ^w\mathbf {Z}_{\text {obj}}^{1}\).
It should be noted that although the former equations close the mathematical formulation to achieve a desired \(^{\text {obj}}\mathbf {K}\), assigning a specific numerical stiffness value for a particular task is quite arbitrary. Therefore, the arm stiffness can be adjusted in a more intuitive way by tuning it to comply with the task requirements.
4 Experimental validation
The proposed algorithm is implemented in Matlab 2017a (The MathWorks Inc.) with the Syngrasp toolbox (Malvezzi et al. 2015). For the communication with the real handarm system, the Robotics System Toolbox^{TM} library from Matlab is used.
4.1 Definition of the experimental tests
4.1.1 Stiffness regulation for the peginhole task
Several experiments are performed to test how the overall objectlevel stiffness can be regulated by the handarm system to achieve a desired task. We choose as a proofofconcept task the vertical peginhole placement. This represents a classical benchmarking task, which requires appropriate regulation of the impedance parameters at the object level.
To properly execute the peginhole task and overcome the frictional forces between the peg and the hole, the stiffness along the insertion must be set to a large value, in comparison to the orthogonal axes, that must achieve a compliant response during the insertion and alignment phases.
Indeed, (Ajoudani et al. 2012) demonstrated how, on the one hand, being compliant in all directions lead to a failure on the execution of the task. On the other hand, if the endpoint stiffness was set to high constant values in all directions, the task was executed but position errors led to high forces that could damage the robot or the manipulated objects. Therefore, the system should render high stiffness along the peg axis (z direction), and be compliant in the xy plane to deal with possible misalignments between the peg and the hole. This study applied to a standalone robotic arm system. When translating it to our handarm system, due to the serial coupling of the hand and the arm, the hand should be first configured so that the stiffness at the object level is maximum in the z direction. Then, the arm stiffness should be regulated to support the stiffness in the required z direction and to provide compliance in the xy plane.
The experimental tests for the handarm system are chosen to demonstrate how variations in one of both parts of the system influence the overall behaviour. Accordingly, rather than aiming for a particular \(^{\text {obj}}\mathbf {K}\) value, we test several combinations of \(^{\text {obj}}\mathbf {K}_{\text {arm}}\) and \(^{\text {obj}}\mathbf {K}_{\text {hand}}\) to evaluate the influence on the resulting \(^{\text {obj}}\mathbf {K}\) and the system’s behaviour.
To choose a set of appropriate tests we follow the proposed method, and decide first on the objectlevel stiffness provided by the hand. Full compliance and constant high objectlevel stiffness in all directions are not tested, as these have already proven to not be suitable solutions for the peginhole task (Ajoudani et al. 2012). Moreover, the limited stiffness that the hand can provide would not allow to reach constant high values in all directions. Afterwards, complementary arm stiffness is chosen for every case to evaluate the influence of the handarm system coupling in the overall objectlevel stiffness. The tested cases are:

Case 1 Hand configured to be stiffest along the object main axis (z axis). Arm configured to be stiff in the z axis and compliant in the xy plane.

Case 2 Hand configured to be stiffest in the object z axis. Arm tuned to be compliant in all directions.

Case 3 Hand configured to be stiffest in the object xy plane. Arm configured to be stiff in the z axis and compliant in the xy plane.
Based on the coupled stiffness Eq. (3) and on Ajoudani et al. (2012), we forecast that in the test Case 3, where the hand is configured to be stiffest in the xy plane, the stiffness in the z direction will be diminished, and so even if the arm provides high stiffness in the z direction, the system will not create the necessary force to overcome the friction and misalignments to drive the peg in the hole. Otherwise, once the hand has been appropriately configured to be stiff in the z direction (Cases 1 and 2), if the arm is not appropriately regulated (Case 2), the same problem will arise, whereas if the arm Cartesian stiffness is appropriately set (Case 1), the task will be successfully executed.
4.1.2 Setup and measurements
The experimental setup in the initial position and the different elements of the system can be visualized in Fig. 2b. A simulated version is displayed in Fig. 2a. The peg is a cylinder of 40 mm diameter at the handle and 110 mm length with a weight of 58 g, which is placed along the thumb last link. The hole is designed to fit the peg creating friction when it is displaced, and it is set on a table. The object z axis goes along the peg, meaning the direction in which it should be inserted in the hole, whereas the xy plane should be parallel to the hole surface once the object z axis is correctly aligned with the hole.
During the experiments the desired and actual endeffector positions, and the estimated external torques at the arm joints are recorded. These last ones are transformed into forces at the arm endeffector by means of the arm Jacobian matrix: \(\mathbf {f}_{\text {ee,ext}}=\mathbf {J}_{\text {arm}}^{T} \, {\varvec{\tau }}_{\text {ext}}\). The mean and standard deviations of these measurements/estimations for the tests of each case are computed and analysed. Direct measurements of the objectlevel stiffness of the handarm system are not feasible. Nonetheless, the desired joint stiffness and positions are commanded through torque by means of the proposed impedance control (described in the following Sect. 4.2). Torque tracking accuracy depends on the lowlevel control implemented by the Allegro Hand which in previous works (Ruiz Garate et al. 2018a, b) showed a good matching between the desired and attained joint positions (also by comparing the real and modelled hands).
Each experimental case described previously is repeated 5 times to impose uncertainties on the alignment between the peg and the hole.
4.1.3 Definition of parameters
For the hand grasp definition, the structural compliance is set to a generic value of \(\mathbf {C}_s=diag\{10^{4}\}\) m/N (5), signifying stiff finger contacts. Similar to Ruiz Garate et al. (2018a, (2018b), the joint stiffness synergy is defined by \({{\varvec{\varGamma }}}_f=[0.7,\, 0.95,\, 1,\, 0.8]\) for the index, middle, and little fingers, and \({{\varvec{\varGamma }}}_f=[1,\, 0.95,\, 1,\, 0.95]\) for the thumb, while the synergistic value \(\alpha \) is constrained between 1 and 6 Nm/rad being initially of 4 Nm/rad. Also, taking into account the Allegro’s hand fingertips dimensions and previous experiments in Ruiz Garate et al. (2018a), the threshold value \(p_t\) is set to 5 mm. For the stability optimization, minimum and maximum contact forces are set to 1 and 10 N as a compromise between the need to exert high contact forces and not setting a reference position too far inside the object. For the contact stability check, the coefficient of friction is set to \(\mu =0.8\), representing the high friction between the fingertips and the silicon peg cover (Fig. 2b).
For the easiness of analysis and visualization, the desired object frame in (7) for the task is aligned with the world frame: \(^w\mathbf {R}_{\text {obj},d}=\; ^w\mathbf {R}=\mathbf {I}_{3\times 3}\). Hence, in the final configuration \(^{\text {w}}\mathbf {K}_{\text {arm}}=^{\text {obj}}\mathbf {K}_{\text {arm}}\) (9).
To have a clear comparison between the stiff and compliant arm cases, the Cartesian stiffness is empirically defined as 1700 or 100 N/m for the z axis in the stiff and compliant cases, respectively. For the x and y axes the stiffness is always 500 N/m to be compliant to possible misalignments of the peg. The task is defined as a vertical trajectory on the world \(z\) axis of 50 mm and is consistent across all trials.
4.2 Implementation of CMS/CDS hand underactuation
All the Allegro Hand joints are actuated and controlled in torque, being able to fully define the object position and to regulate its stiffness through an impedance controller. To do so, 32 control inputs would be needed, 16 for the joints’ positions that would result in the desired object location, and 16 for the joints’ stiffness resulting in the desired grasp stiffness. Yet, the proposed method targets underactuated hands. Therefore, to illustrate the application of our method in the underactuated case, we use the introduced CMS/CDS control of the hand. By the use of the synergistic stiffness (CMS), only one input is available to define the stiffness of all joints, downsizing from 32 to 17 control inputs available, and thus recreating the underactuation at the stiffness level. To simulate these concepts on the Allegro Hand, we depart from the impedance controller implemented in Ruiz Garate et al. (2018a) which applies the desired joint positions (\(\mathbf {q}_{f}\)) and synergistic joint stiffness as:
where \(\mathbf {k}_q=diag(\mathbf {K}_q) \in \mathbb {R}^{16} \) is the vector of joint stiffness values, and \(\mathbf {k}_d\in \mathbb {R}^{16}\) contains the damping parameters: \(\mathbf {k}_d=\sqrt{\frac{\mathbf {k}_p}{\mathbf {c}_f}}\), where \(\mathbf {c}_f\) are the found coefficients stabilizing the hand. \({\varvec{\tau }}_g\) is the gravity torque vector compensating for the weight of the hand.
As the hand base frame varies depending on the desired object location (Fig. 5), the gravity compensation term \({\varvec{\tau }}_g\) based on the fingers’ joint positions needs to be adjusted. We start from the basic equation \({\varvec{\tau }}_{f_i}=\mathbf {J}_{f,i}^\top \, \mathbf {f}_{f_i}\), where \(\mathbf {f}_{f_i} \in \mathbb {R}^{6\times 4}\) is the force at the corresponding joints of finger i, and \(\mathbf {J}_{f,i} \in \mathbb {R}^{6\times 4}\) is the matching finger Jacobian matrix. Then, we can define \({\varvec{\tau }}_{f_i}=\mathbf {J}_{f,i}^\top \, \mathbf {m}_i \, \mathbf {g}\), where \(\mathbf {g}=[0,\,0,\,9.81,\,0,\,0,\,0]^T \, m/s^2\) is the gravity vector, and \(\mathbf {m}\) is a simplified mass matrix such that for a finger \(\mathbf {m}_i=[\sum _{l=1}^{4} m_l ,\, \sum _{l=2}^{4} m_l ,\, \sum _{l=3}^{4} m_l ,\, m_4]\), being \(m_l\) the mass of a finger link starting from the one closest to the palm.
The Jacobian matrix \(\mathbf {J}_{f,i}\) depends not only on the joints’ position, but also on the location of the hand base frame with respect to the world frame (Fig. 2a). Therefore, whenever the arm configuration changes varying the endeffector location, and so the hand base frame, \(\mathbf {J}_{f,i}\) needs to be recomputed. To have a fast computation of the matrix such that the gravity compensation would be effective, \(\mathbf {J}_{f,i}\) is calculated as: \(\mathbf {J}_{f,i}=diag(\{^w\mathbf {R}_{\text {hand}_t}\}_{i=1}^{nc}) \, ^{\text {hand}}\mathbf {J}_{f,i}\), where \(^{\text {hand}}\mathbf {J}_{f,i}\) is the finger Jacobian matrix with respect to the hand base frame and its form remains invariant just depending on the joint angles. \(^w\mathbf {R}_{\text {hand}_t}\) represents the rotation matrix from the hand base frame to the world frame at each time t.
For the arm, the trajectory is generated by the Cartesianimpedance controller (Balatti et al. 2019) and continuously scanned by Matlab, being \(^w\mathbf {T}_{\text {hand}}\) updated accordingly based on the robotic arm model (Sect. 3.1).
4.3 Experimental results
In Cases 1 and 2, following the method described in Sect. 3 for the hand, a stable configuration is found such that it maximizes the stiffness in the desired objectlevel direction z. This process is repeated to achieve a stiff profile in the xy plane for Case 3. In all three cases, afterwards the hand needs to be reoriented by changing the arm configuration so that the peg is placed in the vertical direction (to be able to align the peg with the hole). Figure 6 shows the simulated hands and Fig. 7 displays these reconfigurations during the experimental cases as sequences of frames. Case 2 plots are not shown as the hand and arm configurations are the same as in Case 1.
Figure 8 shows the stiffness ellipsoids at the object level for the Initial Configuration and the three studied cases (Sect. 4.1.1). As it can be observed, in the 2 first cases, the hand is initially very stiff along the object z axis, resulting in a Final Hand Configuration equivalent to the Initial Configuration. Otherwise, in the third case the configuration changes rendering a higher stiffness in the xy plane, which results in a reduced stiffness along the object z axis. The difference between Cases 1 and 2 is that in the latest the stiffness of the arm is significantly smaller along the peg z axis, resulting in a large reduction at the objectlevel stiffness in that direction (93% reduction with respect to Case 1). Case 1 and 3 have the same arm stiffness, in Case 3 however, the stiffness along the object z is 32% smaller than in Case 1, while the stiffness in the x and y directions is 22 and 49% larger, respectively.
Figure 9a, b show the peginhole task execution during the experiments and the measured/estimated variables for Cases 1–3 respectively. The estimated object center position and external force at the arm endeffector are computed using the approaches in Sects. 3.4 (6) and 4.1.2, respectively, and used as a measure of the successful execution of the task. In Case 1 the mean final difference in vertical position is less than 1.5 mm for the arm endeffector and 1 mm for the estimated object position. In Case 2 the difference between the desired and final vertical position is around 42 mm for the arm and the object. Finally, for Case 3 the difference is around 2 mm for the arm endeffector and 6 mm for the estimated object position. Therefore, being the desired displacement of 50 mm (Sect. 4.1.3), it can be concluded that in Case 1 the peg is successfully inserted in the hole for all trials (maximum error of all trials of \(e_d=1.3\) mm, corresponding to a relative error of \(e_{d,r}=2.53\%\)), whereas in Case 2 the task cannot be successfully executed in any of the trials (\(e_d \in [40.8, 44.6]\) mm, corresponding to \(e_{d,r} \in [81.58, 82.26]\%\)). Though Case 3 seems to better approximate the desired trajectory (\(e_d \in [2.7, 7.1]\) mm, \(e_{d,r} \in [5.45, 14.13]\%\), we can see in Fig. 9b how there is a big increment in the endeffector force. Indeed, though the robotic arm actually follows the trajectory, the compliant hand fingers bend. This misaligns the peg which pushes against the hole walls moving the setup. Consequently, the peg reorients and does not get inserted in the hole, meaning that the estimated object position is no longer reliable and Case 3 is not able to successfully execute the task. This is further discussed in the following Sect. 5.
5 Discussion
As expected, when the hand and the arm are both stiff in the task direction (Case 1, Fig. 9a left column), the system is able to drive the peg in the hole overcoming the friction, and thus the trajectory is well followed. However, when the arm is set to be compliant (Case 2, Fig. 9a right column), though the hand remains stiff in the task direction, due to the compliance of the arm, the overall system becomes compliant in the vertical direction (Fig. 8), and so, initially the system is not able to overcome the friction of the hole. As the difference between the desired and actual positions increases, the force raises driving the peg slightly into the hole. Yet, these small displacements are not enough to follow the trajectory. Finally, when the arm is stiff and the hand is more compliant (Case 3), the overall system reduces its stiffness in the vertical direction, and becomes stiffer in the xy plane (Fig. 8). As a result, the system tries to follow the trajectory driven by the arm (Fig. 9b), due to the compliance of the hand, any small friction causes the peg to get missaligned and start pushing against the hole walls. This generates an increase on the force which results in moving the setup (hole base) instead of going inside (pictures in Fig. 9b). Due to its high stiffness, the arm endeffector continues descending and pushing, while the fingers bend due to the hand compliance and as a result, the base containing the hole moves. Thus, though it seems that the arm endeffector follows the desired trajectory, the difference on the object location is higher. In any case, due to the displacement of the whole setup, the estimated object location is not reliable, as the peg gets misaligned with the thumb and its real location varies with respect to the estimated one (see pictures in Fig. 9b). It must be pointed out that only in Case 3 is the base containing the hole moved. In each trial where this happens, the setup is put back to its original location to assure repeatability of the experiments.
These results demonstrate that correct adjustment of the stiffness of both elements, the hand and the arm, is needed to achieve the appropriate execution of the task, i.e., driving the peg in the hole. When one of both systems is not adjusted appropriately, the handarm system is not able to perform the task.
In the shown example, the computation of all possible stable configurations (207) at the Final Hand and Task locations summed up to 7.5 s, therefore being currently performed offline. Nonetheless, it must be pointed out that once an initial grasp and tool are defined, this process needs to be executed only once, being able to use the stored data for any task variations and/or changes in the desired stiffness orientations. Once these values are available, a desired stiffness orientation is selected, taking an average of 0.0027 s to find the best matching configuration. Afterwards, the needed time to generate the hand trajectory highly depends on the suitability of the first chosen final configuration, the difference between both configurations (number of trajectory steps), and the need for high synergistic joint stiffness. In our example experiments, this takes an average of 11 s per computed trajectory. Yet, this process can be spedup just by checking if the application of the highest stiffness would stabilize the grasp. Also, once the trajectory is found, it can be replicated with no time cost. Moreover, it must be taken into account that all these calculations are currently carried out in Matlab, and therefore the performance can be highly improved if later translated to C++.
The proposed method is generalizable to any system with a fully controllable arm and an underactuated hand by appropriately adjusting to the limitations arising from each underactuated case. While underactuation at the control level has been demonstrated with the CDS/CMS example, in the case of mechanical underactuation two different aspects should be considered. First, the number of hand compatible configurations (Sect. 3.4) would be reduced, as the fingers workspace would be more limited. This would reflect in less possible resulting hand stiffness \(^{\text {obj}}\mathbf {K}_{\text {hand}}\) due to the Jacobian influence (5). Then, the trajectory generation (Sect. 3.7) should be adapted to include a further constraint on the possible joint positions due to the underactuation.
Nonetheless, the method presents some limitations due to the assumptions made. First, we focus only on fingertip grasps. Grasp points at other finger links could be easily added into the equations through the Jacobian \(\mathbf {J}_{\text {hand}}\) and Grasp \(\mathbf {G}\) matrices (5). This addition could help with the stabilization of the grasps, yet at the expense of going towards powergrasp models and therefore reducing the manipulability capacity of the tool and the influence of the hand in the overall stiffness. Second, we assume the object to be attached to the thumb. This assumption was a good approximation during these experiments resulting in stable grasps and has proven to work with diverse objects and hand reconfigurations in previous works (Ruiz Garate et al. 2018a). In other studies we relaxed this assumption by allowing all fingertips to rotate around the contact points (Ruiz Garate et al. 2018b). While this latter approach is more general and realistic, it comes at a higher computational cost and also cannot assure the certain location of the object. Besides, it must be noted that to compute the hand stiffness (5) we use the ideal contact model (Bicchi 1994). Therefore, in the cases where the assumptions made are no longer valid, e.g., when some preloading is present at the joints, the geometric terms of the equation should also be taken into account.
Future work foresees the use of force sensors to enhance the contact detections and stability. Moreover, further tests of the method with different hands providing diverse underactuation principles are envisaged.
6 Conclusions
This manuscript proposed an algorithm to regulate the resulting objectlevel stiffness of a handarm system constrained by underactuation principles and the requirement of preserving the contact points on the grasped object. The mathematical foundations were described where the underactuation was illustrated at the level of the hand by the synergistic CMS/CDS principles. The desired stiffness for a given task was characterized as a set of directions in which to maximize the stiffness or be compliant. The method was tested by several experiments with the peginhole task, where it was proven that by using the proposed method the correct tuning of the handarm system stiffness can be achieved to successfully perform a task.
Notes
In this paper the \(diag\{\mathbf {v}\}\) operator refers to the diagonal matrix whose diagonal is composed by the elements of \(\mathbf {v}\).
References
Ajoudani, A., Tsagarakis, N., & Bicchi, A. (2012). Teleimpedance: Teleoperation with impedance regulation using a bodymachine interface. The International Journal of Robotics Research, 31(13), 1642–1656.
Ajoudani A, Godfrey SB, Catalano M, Grioli G, Tsagarakis NG, Bicchi A (2013) Teleimpedance control of a synergydriven anthropomorphic hand. In: 2013 IEEE/RSJ International conference on intelligent robots and systems, (pp. 1985–1991).
Ajoudani, A., Zanchettin, A. M., Ivaldi, S., AlbuSchäffer, A., Kosuge, K., & Khatib, O. (2018). Progress and prospects of the humanrobot collaboration. Autonomous Robots, 42(5), 957–975.
AlbuSchaffer A, Ott C, Frese U, Hirzinger G (2003) Cartesian impedance control of redundant robots: recent results with the dlrlightweightarms. In: 2003 IEEE International conference on robotics and automation (Cat. No.03CH37422), vol. 3, (pp. 3704–3709).
Bae JH, Arimoto S, Ozawa R, Sekimoto M, Yoshida M (2006) A unified control scheme for a whole robotic armfingers system in grasping and manipulation. In: Proceedings 2006 IEEE international conference on robotics and automation, 2006. ICRA 2006., (pp. 2131–2136).
Balatti P, Kanoulas D, Tsagarakis NG, Ajoudani A (2019, accepted for publication) Towards robot interaction autonomy: Explore, identify, and interact. In: IEEE International conference on robotics and automation (ICRA).
Bicchi, A. (1994). On the problem of decomposing grasp and manipulation forces in multiple wholelimb manipulation. Robotics and Autonomous Systems, 13(2), 127–147.
Catalano, M. G., Grioli, G., Farnioli, E., Serio, A., Piazza, C., & Bicchi, A. (2014). Adaptive synergies for the design and control of the pisa/iit softhand. The International Journal of Robotics Research, 33(5), 768–782.
Chen, S. F., & Kao, I. (2000). Conservative congruence transformation for joint and cartesian stiffness matrices of robotic hands and fingers. The International Journal of Robotics Research, 19(9), 835–847.
Deimel, R., & Brock, O. (2016). A novel type of compliant and underactuated robotic hand for dexterous grasping. The International Journal of Robotics Research, 35, 161–185.
Friedman, J., & Flash, T. (2007). Taskdependent selection of grasp kinematics and stiffness in human object manipulation. Cortex, 43(3), 444–460.
Kim BH, Yi BJ, Oh SR, Suh IH (2001) Taskbased compliance planning for multifingered hands. In: Proceedings 2001 ICRA. IEEE International conference on robotics and automation (Cat. No.01CH37164), vol. 3, (pp. 2614–2621).
Lee, D. H., Park, J. H., Park, S. W., Baeg, M. H., & Bae, J. H. (2017). Kitechhand: A highly dexterous and modularized robotic hand. IEEE/ASME Transactions on Mechatronics, 22(2), 876–887.
Malvezzi M, Prattichizzo D (2013) Evaluation of grasp stiffness in underactuated compliant hands. In: 2013 IEEE International conference on robotics and automation, (pp. 2074–2079).
Malvezzi, M., Gioioso, G., Salvietti, G., & Prattichizzo, D. (2015). Syngrasp: A matlab toolbox for underactuated and compliant hands. IEEE Robotics Automation Magazine, 22(4), 52–68.
Milner, T. E., & Franklin, D. W. (1998). Characterization of multijoint finger stiffness: dependence on finger posture and force direction. IEEE Trans on Biomed Engineering, 45(11), 1363–1375.
MussaIvaldi, F., Hogan, N., & Bizzi, E. (1985). Neural, mechanical, and geometric factors subserving arm posture in humans. Journal of Neuroscience, 5(10), 2732–2743. https://doi.org/10.1523/JNEUROSCI.051002732.1985.
Nagai K, Yoshikawa T (1995) Grasping and manipulation by arm/multifingeredhand mechanisms. In: Proceedings of 1995 IEEE international conference on robotics and automation, vol. 1, (pp. 1040–1047).
Ott C, Eiberger O, Friedl W, Bauml B, Hillenbrand U, Borst C, AlbuSchaffer A, Brunner B, Hirschmuller H, Kielhofer S, Konietschke R, Suppa M, Wimbock T, Zacharias F, Hirzinger G (2006) A humanoid twoarm system for dexterous manipulation. In: 2006 6th IEEERAS International conference on humanoid robots, (pp. 276–283).
Peternel L, Ajoudani A (2017) Robots learning from robots: A proof of concept study for comanipulation tasks. In: 2017 IEEERAS 17th International conference on humanoid robotics (Humanoids), (pp. 484–490).
Pozzi, M., Malvezzi, M., & Prattichizzo, D. (2017). On grasp quality measures: Grasp robustness and contact force distribution in underactuated and compliant robotic hands. IEEE Robotics and Automation Letters, 2(1), 329–336.
Rossi M, Altobelli A, Godfrey SB, Ajoudani A, Bicchi A (2015) Electromyographic mapping of finger stiffness in tripod grasp: a proof of concept. In: 2015 IEEE International conference on rehabilitation robotics (ICORR), (pp. 181–186).
Ruiz Garate, V., Pozzi, M., Prattichizzo, D., & Ajoudani, A. (2018a). A bioinspired grasp stiffness control for robotic hands. Frontiers in Robotics and AI, 5, 89.
Ruiz Garate, V., Pozzi, M., Prattichizzo, D., Tsagarakis, N., & Ajoudani, A. (2018b). Grasp stiffness control in robotic hands through coordinated optimization of pose and joint stiffness. IEEE Robotics and Automation Letters, 3(4), 3952–3959.
Sundaralingam, B., & Hermans, T. (2019). Relaxedrigidity constraints: Kinematic trajectory optimization and collision avoidance for ingrasp manipulation. Autonomous Robots, 43(2), 469–483.
Wimbock T, Ott C, Hirzinger G (2007) Impedance behaviors for twohanded manipulation: Design and experiments. In: Proceedings 2007 IEEE International conference on robotics and automation, (pp. 4182–4189).
Funding
Open access funding provided by Istituto Italiano di Tecnologia within the CRUICARE Agreement.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This work is supported in part by the EU H2020 Project “SOPHIA” (No. 871237).
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Ruiz Garate, V., Ajoudani, A. An approach to objectlevel stiffness regulation of handarm systems subject to underactuation constraints. Auton Robot 44, 1505–1517 (2020). https://doi.org/10.1007/s10514020099429
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10514020099429
Keywords
 Grasping
 Dexterous manipulation
 Compliance control
 Impedance control