Keywords

1 Introduction

On-orbit services, such as repairing, refuelling and re-orbiting, are essential for space missions, and they increasingly rely on the end effector, which is the most critical device in space manipulators. To perform diverse on-orbit tasks, many types of end effectors have been examined. Recently, studies on human hands have inspired new research in this field, particularly regarding underactuated systems [1]. Underactuated end effectors can grasp various objects, because the fingers adapt themselves to the shape of the object by their mechanical behaviour [2]. However, to design an appropriate autonomous control scheme to achieve the stability of grasp and the flexibility to the environment is difficult for the underactuated end effector [3].

The common control objective of end effectors is to drive away from any arbitrary initial position and balance at the equilibrium position to obtain fine object grasping; accordingly, researchers have presented many control schemes. However, the most frequently used method is a hybrid position/force controller T. Reisinger proposed hybrid position/force-control to implement skill primitives [4]. The hybrid control method only attempts to control forces and motions in orthogonal directions, and it cannot actively control the complete system dynamics of capturing objects, particularly regarding the system damping property; hence, it cannot comply with the environment. To address this disadvantage, Hogan introduced the impedance control scheme [5], which is currently considered a classical control approach in robotics [6]. Based on the general concept of impedance control, the impedance position controller was presented in [7]. However, it should be noted that the impedance position controller has position feedback, which is modified by a second-order impedance model, but no force/torque control, which leads to stability problems [8]. To overcome this problem, H. Liu proposed an impedance joint torque control scheme [9], where the impedance parameters determined the dynamic behaviour of the capture so that each finger could comply with the force control. However, the impedance parameters of these controllers cannot vary with different objects, which results in poor flexibility to the seized object. Therefore, self-adapting the dynamic property of the capture to different objects is a great challenge for the control of the end effector.

To realise flexible and adaptive manipulation in an unknown environment, various sensors are mounted in the gripper to mimic the human hand, such as the sensor-based space robotics ROTEX [10]. In general, the sensors can be classified into noncontact sensors and contact sensors [11]. Noncontact sensors, such as laser scanners and cameras, are essential for the gripper to recognise an object and plan the location to grasp it [12]. Recognition and planning instruct the grasping action, such as providing information about the material, shape and position trajectory of the object, to adaptively handle an unknown object and remain robust to inevitable uncertainties [13], any a priori information must be complemented with real-time contact sensors, such as force/torque sensors and tactile sensors [14]. Tactile sensors, which are similar to human skin structure, are extremely sensitive and capable to measure dynamic contact forces and their distribution. Therefore, tactile sensors are better than other sensors at perceiving interactive events, which inspired the development of its application in robotic grasp control. Based on tactile sensing, Fernandez and Yussof studied the slipping detection and object hardness classification [15], and Chitta analysed the internal state recognition for mobile manipulation [16]. Although significant efforts were made to recognise the object and contact state by tactile sensing, researchers had to pursue an appropriate computation scheme to apply the detection information to the controller.

This paper presents a new self-adaptive impedance controller for a two-finger gripper with tactile sensing. First, the kinematics and dynamics of the gripper are briefly reviewed. Second, a new self-adaptive impedance control scheme is proposed for the gripper, the stiffness parameter of which can be adjusted using the stiffness recognition of tactile sensing in real time. Based on the proposed scheme, there is no switching mode during the transition from the free space to the constraint space, and the finger can autonomously adapt appropriate forces to different objects, which acts as a programmable mechanical spring with variable impedance parameters to the environment. Finally, the experimental results validate the efficiency of the proposed controller to adapt the capture force to different stiffness of the objects.

The paper is organised as follows. Section 2 briefly reviews the kinematics and dynamics of the two-finger gripper. The self-adaptive impedance controller with tactile sensing is proposed in Sect. 3. The experimental results are presented in Sect. 4. Finally, the conclusions are provided in Sect. 5.

2 Model

2.1 Brief View of the Gripper

The structure of the two-finger gripper is shown in Fig. 1. It consists of four parts: (1) motor and gearing, (2) two fingers, (3) tactile sensors and (4) the base. The motor and gearing parts are used to transmit energy and forces to guide the gripper in grasping. The two-finger part consists of 2 underactuated fingers with passive springs. Each finger is a closed-loop system with four moving linkages and a fixed linkage embedded in the base. As a 5-bar link with only one input torque is indeterminate, a spring which is in a different location from that of the gripper [17] is used to resolve the indeterminacy so that distal phalanges can move relative to one another in the parallel manner with less energy consumption. In addition, the tactile sensors in the contact linkages are used to measure the contact force and its distribution. The base supports the entire system.

Fig. 1.
figure 1

Structure of the two-finger grip

2.2 Kinematics

The model of the active-passive composited driving end effector is shown in Fig. 2, which is a symmetrical design with two fingers. Each finger consists of five linkages L 1 , L 2 , L 3 , L 4, d and five joints \( O_{ 1} ,O_{ 2} ,O_{ 3} ,O_{ 4} (O^{\prime}_{4} ),O_{ 5} \), where linkages O 4 O 6 and L 3 are coupled with the invariant angle β, and d is rooted in the base. The frame {O 1-xy} is located with the finger base coordinate system. The state parameters of the system φ = [φ 1 φ 2 φ 3 φ 4]T are the angles between the linkages (L 1, L 2, L 3, L 4) and the x axis of the base coordinate system and α is the angle between linkage d and the opposite direction of the x axis as the base coordinate system.

Fig. 2.
figure 2

Model of the two-finger gripper

According to the closed-loop system of the finger, one can obtain the restricted functions as follows [18]:

$$ \left\{ {\begin{array}{*{20}l} {f_{1} = d\,\cos \alpha + L_{1} \cos \varphi_{1} + L_{2} \cos \varphi_{2} + L_{3} \cos \varphi_{3} - L_{4} \cos \varphi_{4} \,{ = }\,0} \hfill \\ {f_{2} = d\,\sin \alpha + L_{1} \sin \varphi_{1} + L_{2} \sin \varphi_{2} + L_{3} \sin \varphi_{3} - L_{4} \sin \varphi_{4} \,{ = }\,0} \hfill \\ {f_{3} = d^{2} + L_{1}^{2} + L_{2}^{2} + L_{3}^{2} - L_{4}^{2} + 2dL_{1} \cos \,\left( {\alpha - \varphi_{1} } \right) + 2dL_{2} \cos \left( {\alpha - \varphi_{2} } \right) + 2dL_{3} \cos \left( {\alpha - \varphi_{3} } \right)} \hfill \\ {\quad\quad + \,2L_{1} L_{2} \cos \left( {\varphi_{1} - \varphi_{2} } \right) + 2L_{1} L_{3} \cos \left( {\varphi_{1} - \varphi_{3} } \right) + 2L_{2} L_{3} \cos \left( {\varphi_{2} - \varphi_{3} } \right)\,{ = }\,0} \hfill \\ {f_{4} = d^{2} + L_{1}^{2} + L_{2}^{2} + L_{4}^{2} - L_{3}^{2} + 2dL_{1} \cos \left( {\alpha - \varphi_{1} } \right) + 2dL_{2} \cos \left( {\alpha - \varphi_{2} } \right) - 2dL_{4} \cos \left( {\alpha - \varphi_{4} } \right)} \hfill \\ {\quad\quad + \,2L_{1} L_{2} \cos \left( {\varphi_{1} - \varphi_{2} } \right) - 2L_{1} L_{4} \cos \left( {\varphi_{1} - \varphi_{4} } \right) - 2L_{2} L_{4} \cos \left( {\varphi_{2} - \varphi_{4} } \right)\,{ = }\,0} \hfill \\ \end{array} } \right. $$
(1)

After differentiating Eq. (1) with respect to the state parameters φ 1, φ 2, φ 3, φ 4, one obtains Jacobian matrix as follows:

$$ {\mathbf{\rm A}} = \left[ {\frac{{\partial f_{1} }}{{\partial \varphi_{1} }}\frac{{\partial f_{1} }}{{\partial \varphi_{2} }}{\kern 1pt} \frac{{\partial f_{1} }}{{\partial \varphi_{3} }}\frac{{\partial f_{1} }}{{\partial \varphi_{4} }}{\kern 1pt} ;\frac{{\partial f_{2} }}{{\partial \varphi_{1} }}\frac{{\partial f_{2} }}{{\partial \varphi_{2} }}{\kern 1pt} \frac{{{\partial }f_{2} }}{{\partial \varphi_{3} }}{\kern 1pt} \frac{{\partial f_{2} }}{{\partial \varphi_{4} }};\frac{{\partial f_{3} }}{{\partial \varphi_{1} }}\frac{{\partial f_{3} }}{{\partial \varphi_{2} }}{\kern 1pt} \frac{{\partial f_{3} }}{{\partial \varphi_{3} }}{\kern 1pt} \frac{{\partial f_{3} }}{{\partial \varphi_{4} }};\frac{{\partial f_{4} }}{{\partial \varphi_{1} }}\frac{{\partial f_{4} }}{{\partial \varphi_{2} }}\frac{{\partial f_{4} }}{{\partial \varphi_{3} }}{\kern 1pt} \frac{{\partial f_{4} }}{{\partial \varphi_{4} }}} \right] $$
(2)

2.3 Dynamics and Modelling

The two-finger gripper is an underactuated system, which is usually formulated using differential-algebraic dynamic equations and results in a complex computational burden. To address this problem, the Virtual Spring Approach (VSA) [19] is adopted to derive the dynamic equation. Then, one can use a Lagrangian formulation to derive the dynamic equations of the equivalent mechanism [20].

In Fig. 2, ignoring the undesirable effects of the transmission part, there is an active torque T a of the driving motor and a passive torque T k of the spring; F 1 and F 2 are external forces caused by the contact between the finger and the grasped object, which is measured using the tactile sensors, and S 1 and S 2 are the arms of external forces that act on the corresponding joints. The dynamic equation for the gripper is rewritten in matrix form:

$$ {\mathbf{M}}({\mathbf{\upvarphi }}){\mathbf{\ddot \upvarphi }}\, + \,{\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right)\,{{ + \,\mathbf{H}}}({\mathbf{\upvarphi }}) = {\varvec{\uptau}} $$
(3)

i.e.

$$ \left[ {\begin{array}{*{20}c} {M_{11} } & {M_{12} } & {M_{13} } & 0 \\ {M_{12} } & {M_{22} } & {M_{23} } & 0 \\ {M_{13} } & {M_{23} } & {M_{33} } & 0 \\ 0 & 0 & 0 & {M_{44} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\ddot{\varphi }_{1} } \\ {\ddot{\varphi }_{2} } \\ {\ddot{\varphi }_{3} } \\ {\ddot{\varphi }_{4} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {C_{1} } \\ {C_{2} } \\ {C_{3} } \\ {C_{4} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {H_{1} } \\ {H_{2} } \\ {H_{3} } \\ {H_{4} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\tau_{1} } \\ {\tau_{2} } \\ {\tau_{3} } \\ {\tau_{4} } \\ \end{array} } \right] $$
(4)

where M(φ) is the \( 4 \times 4 \) inertia matrix of the finger, \( {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right) \) is the \( 4 \times 1 \) vector that contains the centrifugal and Coriolis terms, H(φ) is the \( 4 \times 1 \) vector of the elastic forces, and τ is the \( 4 \times 1 \) vector of the generalised forces.

$$ \begin{aligned} & M_{11} = J_{1} + m_{1} L_{{c_{1} }}^{2} + m_{2} L_{1}^{2} + m_{3} L_{1}^{2} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} M_{12} = \left( {m_{2} L_{{c_{2} }} + m_{3} L_{2} } \right)L_{1} \cos \left( {\varphi_{1} - \varphi_{2} } \right),M_{13} = m_{3} L_{1} L_{{c_{3} }} \cos \left( {\varphi_{1} - \varphi_{3} } \right) \\ & M_{22} = J_{2} + m_{2} L_{{c_{2} }}^{2} + m_{3} L_{2}^{2} ,M_{23} = m_{3} L_{2} L_{{c_{3} }} \cos \left( {\varphi_{2} - \varphi_{3} } \right),M_{33} = J_{3} + m_{3} L_{{c_{3} }}^{2} ,M_{44} = J_{4} + m_{4} L_{{c_{4} }}^{2} \\ & C_{1} = \dot{\varphi }_{2}^{2} L_{1} \left( {m_{2} L_{{c_{2} }} + m_{3} L_{2} } \right)\sin \left( {\varphi_{1} - \varphi_{2} } \right) + \dot{\varphi }_{3}^{2} m_{3} L_{1} L_{{c_{3} }} \sin \left( {\varphi_{1} - \varphi_{3} } \right) \\ & C_{2} = - \dot{\varphi }_{1}^{2} L_{1} \left( {m_{2} L_{{c_{2} }} + m_{3} L_{2} } \right)\sin \left( {\varphi_{1} - \varphi_{2} } \right) + \dot{\varphi }_{3}^{2} m_{3} L_{2} L_{{c_{3} }} \sin \left( {\varphi_{2} - \varphi_{3} } \right) \\ & C_{3} = - \dot{\varphi }_{2}^{2} m_{3} L_{2} L_{{c_{3} }} \sin \left( {\varphi_{2} - \varphi_{3} } \right) - \dot{\varphi }_{1}^{2} m_{3} L_{1} L_{{c_{3} }} \sin \left( {\varphi_{1} - \varphi_{3} } \right) \\ & H_{1} = - L_{1} k_{1} \Delta_{x} \sin \varphi_{1} + L_{1} k_{1}\Delta _{y} \cos \varphi_{1} + T_{k} ,H_{2} = - L_{2} k_{1} \Delta_{x} \sin \varphi_{2} + L_{2} k_{1} \Delta_{y} \cos \varphi_{2} - T_{k} \\ & H_{3} = - L_{3} k_{1} \Delta_{x} \sin \varphi_{3} + L_{3} k_{1} \Delta_{y} \cos \varphi_{3} ,H_{4} = L_{4} k_{1} \Delta_{x} \sin \varphi_{4} - L_{4} k_{1} \Delta_{y} \cos \varphi_{4} \\ & \tau_{1} = T_{a} - F_{2x} L_{1} \sin \varphi_{1} + F_{2y} L_{1} \cos \varphi_{1} ,\tau_{2} = - F_{2x} L_{2} \sin \varphi_{2} + F_{2y} L_{2} \cos \varphi_{2} \\ & \tau_{3} = - F_{2x} \left[ {L_{3} \sin \varphi_{3} + S_{2} \sin \left( {\varphi_{3} - \pi /3} \right)} \right] + F_{2y} \left[ {L_{3} \cos \varphi_{3} + S_{2} \cos \left( {\varphi_{3} - \pi /3} \right)} \right] \\ & \tau_{4} = - F_{1x} S_{1} \sin \varphi_{4} + F_{1y} S_{1} \cos \varphi_{4} \\ \end{aligned} $$
(5)

where F 1x , F 1y , F 2x and F 2x are the projections of F 1 and F 2 onto the x and y axes, respectively, and Δ x and Δ y are the projections of Δ onto the x and y axes, respectively, which can be described as: \( \Delta _{x} = L_{1} \cos \varphi_{1} + L_{2} \cos \varphi_{2} + L_{3} \cos \varphi_{3} - L_{4} \cos \varphi_{4} - d\,\cos \left( {\pi + \alpha } \right) \) and \( \Delta_{y} = L_{1} \sin \varphi_{1} + L_{2} \sin \varphi_{2} + L_{3} \sin \varphi_{3} - L_{4} \sin \varphi_{4} - d\,\sin \left( {\pi + \alpha } \right) \), accordingly.

It can be observed from Eqs. (4) and (5) that every joint torque contains an inertia force, the centrifugal and Coriolis forces of the linkages and external forces. Evidently, the VSA increases the degrees of freedom in modelling the mechanism.

As discussed in Sect. 2.1, the gripper is an underactuated mechanism that consists of an active motor and a passive spring. We can obtain the desired motor torque T a based on the commanded trajectories of the linkages using inverse dynamics. When applied to the inverse dynamics computation, some parameters for the gripper must already be known from the forward dynamics, where the torque T k of the passive spring is a function of angles φ 1 and φ 2, and F 1, F 2, S 1 and S 2 can be measured using the tactile sensor. Then, Eq. (4) can be transformed into a system of four equations by eliminating the internal action forces k 1Δx and k 1Δy.

According to the forward dynamics in Eqs. (3), (4) and (5), one can obtain

$$ {\mathbf{M}}({\mathbf{\upvarphi }}){\mathbf{\ddot \upvarphi }} + {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right) = {\mathbf{Y}}\left[ {\begin{array}{*{20}c} {T_{a} } \\ {k_{1} \Delta_{x} } \\ {k_{1} \Delta_{y} } \\ 1 \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 1 & {L_{1} \sin \varphi_{1} } & { - L_{1} \cos \varphi_{1} } & { - T_{k} + \tau^{\prime}_{1} } \\ 0 & {L_{2} \sin \varphi_{2} } & { - L_{2} \cos \varphi_{2} } & {T_{k} + \tau_{2} } \\ 0 & {L_{3} \sin \varphi_{3} } & { - L_{3} \cos \varphi_{3} } & {\tau_{3} } \\ 0 & { - L_{4} \sin \varphi_{4} } & {L_{4} \cos \varphi_{4} } & {\tau_{4} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {T_{a} } \\ {k_{1} \Delta_{x} } \\ {k_{1} \Delta_{y} } \\ 1 \\ \end{array} } \right] $$
(6)
$$ \left[ {\begin{array}{*{20}c} {T_{a} } \\ {k_{1} \Delta_{x} } \\ {k_{1} \Delta_{y} } \\ 1 \\ \end{array} } \right] = {\mathbf{Y}}^{ - 1} \left[ {{\mathbf{M}}({\mathbf{\upvarphi }}){\mathbf{\ddot \upvarphi }} + {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right)} \right] $$
(7)

where \( \tau_{1}^{{\prime }} = - F_{2x} L_{1} \sin \varphi_{1} + F_{2y} L_{1} \cos \varphi_{1} \). From Eq. (7), we can find the values of k 1Δx and k 1Δy.

According to Eq. (5), Eq. (4) can be transformed into

$$ {\bf M}({\mathbf{\upvarphi}}){\mathbf{\ddot{\upvarphi}}} + {\bf C}\left( {\dot{\mathbf{\upvarphi}}},{\mathbf{\upvarphi}} \right) + {\bf H}({\mathbf{\upvarphi }}) = {\bf T} - {\bf T}_{{\bf{ext}}} $$
(8)

where T − T ext  = τ, T is the \( 4 \times 1 \) vector of the active motor torque of the joint, i.e., T = [T a 0 0 0]T, and T ext is the \( 4 \times 1 \) vector of the joint torques of the external forces \( {\mathbf{T}}_{{{\mathbf{ext}}}} = \left[ { - \tau^{\prime}_{1} - \tau_{ 2} - \tau_{ 3} - \tau_{ 4} } \right]^{\text{T}} \).

Accordingly, the inverse dynamics can be written as

$$ {\mathbf{T}} = {\mathbf{M}}({\mathbf{\upvarphi }}){\mathbf{\ddot \upvarphi }} + {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right) + {\mathbf{H}}({\mathbf{\upvarphi }}) + {\mathbf{T}}_{{\mathbf{ext}}} $$
(9)

3 Controller Design

This section presents the self-adaptive impedance controller for the two-finger gripper, which consists of two parts: impedance control and stiffness recognition. The objectives are to cause the finger to follow the desired trajectory and autonomously control the dynamic grasping behaviour. The control scheme of the system is shown in Fig. 3.

Fig. 3.
figure 3

Block diagram of the impedance controller

3.1 Impedance Control

Using the proposed control scheme, we can control the desired impedance property of the finger:

$$ {\mathbf{F}}_{{{\mathbf{ext}}}} \text{ = }{\mathbf{M}}_{{\mathbf{d}}} {\varvec{\updelta}}{\mathbf{\ddot{x}}}\text{ + }{\mathbf{B}}_{{\mathbf{d}}} {\varvec{\updelta}}{\dot{\mathbf{x}}}\text{ + }{\mathbf{K}}_{{\mathbf{d}}} {\varvec{\updelta}}{\mathbf{x}} $$
(10)

where F ext  = [F 1x F 1y F 2x F 2y]T are the external forces acting on the finger; M d , B d and K d are the \( 4 \times 4 \) diagonal desired target impedance parameters of the finger; δx = x d   x is the \( 4 \times 1 \) vector of the position errors; and x d and x are \( 4 \times 1 \) vectors of the desired positions and the actual positions of the finger, respectively.

According to the closed-loop system of the finger, as shown in Fig. 3, the positions of the contact points between the external forces and the finger can be written as

$$ \left\{ {\begin{array}{*{20}l} {{\mathbf{S\_F}}_{{\mathbf{1}}} \,\text{ = }\,O_{1} O_{5} \text{ + }O_{5} C_{1} } \hfill \\ {{\mathbf{S\_F}}_{{\mathbf{2}}} \,\text{ = }\,O_{1} O_{2} + O_{2} O_{3} + O_{3} O_{4} + O_{4} C_{2} } \hfill \\ \end{array} } \right. $$
(11)

Based on the projections of the positions onto the x and y axes, Eq. (11) can be transformed into

$$ {\mathbf{x}} = \left[ {\begin{array}{*{20}c} {x\_F_{1} } \\ {y\_F_{1} } \\ {x\_F_{2} } \\ {y\_F_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} { - d\,\cos \alpha + S_{1} \cos (\varphi_{4} )} \\ { - d\,\sin \alpha + S_{1} \sin (\varphi_{4} )} \\ {L_{1} \cos (\varphi_{1} ) + L_{2} \cos (\varphi_{2} ) + L_{3} \cos (\varphi_{3} ) + S_{2} \cos (\varphi_{3} - \frac{\pi }{3})} \\ {L_{1} \sin (\varphi_{1} ) + L_{2} \sin (\varphi_{2} ) + L_{3} \sin (\varphi_{3} ) + S_{2} \sin (\varphi_{3} - \frac{\pi }{3})} \\ \end{array} } \right] $$
(12)

By differentiating Eq. (12) with respect to the state parameters φ 1, φ 2, φ 3 and φ 4, one obtains the following relationship between δx and δφ:

$$ {\varvec{\updelta}}{\mathbf{x}}\text{ = }{\mathbf{J}} \cdot {\varvec{\updelta \varphi }}\text{ = }\left[ {\begin{array}{*{20}l} 0 \hfill & 0 \hfill & 0 \hfill & { - S_{1} \sin (\varphi_{4} )} \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & {S_{1} \cos (\varphi_{4} )} \hfill \\ { - L_{1} \sin (\varphi_{1} )} \hfill & { - L_{2} \sin (\varphi_{2} )} \hfill & { - L_{3} \sin (\varphi_{3} ) - S_{2} \sin (\varphi_{3} - \frac{\pi }{3})} \hfill & 0 \hfill \\ {L_{1} \cos (\varphi_{1} )} \hfill & {L_{2} \cos (\varphi_{2} )} \hfill & {L_{3} \cos (\varphi_{3} ) + S_{2} \cos (\varphi_{3} - \frac{\pi }{3})} \hfill & 0 \hfill \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{\varvec{\updelta}}\varphi_{1} } \\ {{\varvec{\updelta}}\varphi_{2} } \\ {{\varvec{\updelta}}\varphi_{3} } \\ {{\varvec{\updelta}}\varphi_{4} } \\ \end{array} } \right] $$
(13)

By combining Eqs. (10) and (13), F ext can be written as:

$$ \begin{aligned} {\mathbf{F}}_{{{\mathbf{ext}}}} & = {\mathbf{M}}_{{\mathbf{d}}} {\mathbf{\delta \ddot{x}}} + {\mathbf{B}}_{{\mathbf{d}}} {\mathbf{\delta \dot{x}}} + {\mathbf{K}}_{{\mathbf{d}}} {\mathbf{\delta x}} \\ & = {\mathbf{M}}_{{\mathbf{d}}} \left( {{\mathbf{\dot{J}\delta }}{\dot{\mathbf{\varphi }}} + {\mathbf{J\delta }}{\mathbf{\ddot \upvarphi }}} \right) + {\mathbf{B}}_{{\mathbf{d}}} {\mathbf{J\delta }}{\dot{\mathbf{\upvarphi }}} + {\mathbf{K}}_{{\mathbf{d}}} {\mathbf{J\delta }}{\mathbf{\upvarphi }} \\ & = {\mathbf{M}}_{{\mathbf{\upvarphi }}} {\varvec{\updelta}}{\mathbf{\ddot \upvarphi }} + {\mathbf{B}}_{{\mathbf{\upvarphi }}} {\varvec{\updelta}}{\dot{\mathbf{\upvarphi }}} + {\mathbf{K}}_{{\mathbf{\upvarphi }}} {\varvec{\updelta}}{\mathbf{\upvarphi }} \\ \end{aligned} $$
(14)

where \( {\mathbf{M}}_{{\mathbf{\upvarphi }}} = {\mathbf{M}}_{{\mathbf{d}}} {\mathbf{J}} \), \( {\mathbf{B}}_{{\mathbf{\upvarphi }}} = {\mathbf{M}}_{{\mathbf{d}}} {\dot{\mathbf{J}}} + {\mathbf{B}}_{{\mathbf{d}}} {\mathbf{J}} \), \( {\mathbf{K}}_{{\mathbf{\upvarphi }}} = {\mathbf{K}}_{{\mathbf{d}}} {\mathbf{J}} \), and M φ , B φ and K φ are the 4 × 4 matrices that represent the joint inertia, damping and stiffness, respectively.

As discussed in Sect. 2.3, by substituting Eqs. (3), (4) and (5) into Eq. (8), the relationship between the joint torques and the external forces can be written in matrix form:

$$ {\mathbf{T}}_{{{\mathbf{ext}}}} = \left[ {\begin{array}{*{20}c} {\tau_{1}^{{\prime }} } \\ {\tau_{2} } \\ {\tau_{3} } \\ {\tau_{4} } \\ \end{array} } \right] = {\tilde{\mathbf{J}}\mathbf{F}}_{{{\mathbf{ext}}}} $$
(15)

Where,

$$ {\tilde{\mathbf{J}}} = \left[ {\begin{array}{*{20}l} 0 \hfill & 0 \hfill & {L_{1} \sin \varphi_{1} } \hfill & { - L_{1} \cos \varphi_{1} } \hfill \\ 0 \hfill & 0 \hfill & {L_{2} \sin \varphi_{2} } \hfill & { - L_{2} \cos \varphi_{2} } \hfill \\ 0 \hfill & 0 \hfill & {L_{3} \sin \varphi_{3} + S_{2} \sin (\varphi_{3} - \frac{\pi }{3})} \hfill & { - L_{3} \cos \varphi_{3} - S_{2} \cos (\varphi_{3} - \frac{\pi }{3})} \hfill \\ {S_{1} \sin \varphi_{4} } \hfill & { - S_{1} \cos \varphi_{4} } \hfill & 0 \hfill & 0 \hfill \\ \end{array} } \right] $$

To maintain the target impedance, we can deduce the following active motor torque by substituting Eqs. (14) and (15) into the inverse dynamics in Eq. (9).

$$ {\mathbf{T}} = {\mathbf{M}}({\mathbf{\upvarphi }})\left\{ {{\mathbf{\ddot \upvarphi }}_{d} - {\mathbf{M}}_{\upvarphi }^{ - 1} \left( {{\mathbf{F}}_{{\mathbf{ext}}} - {\mathbf{B}}_{{\mathbf{\upvarphi }}} {\mathbf{\delta \dot{\upvarphi }}} - {\mathbf{K}}_{{\mathbf{\upvarphi }}} {\mathbf{\delta \upvarphi }}} \right)} \right\} + {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}},{\mathbf{\upvarphi }}} \right) + {\mathbf{H}}({\mathbf{\upvarphi }}) + {\tilde{\mathbf{J}}}{\mathbf{F}}_{{\mathbf{ext}}} $$
(16)

The above equation shows that one can perfectly calculate active motor torque based on the feedback linearization with precise knowledge of the gripper dynamics and accurate sensors, and the finger will present the desired impedance parameters M d , B d and K d to the environment. However, in reality, the gripper dynamics are not precisely known, the gearing part introduces some hysteresis, and the accuracy of the position and force sensors are always affected by some noises, so it is difficult to realise a perfect linearisation. Hence, the desired impedance parameters cannot be achieved. Alternatively, to maintain Eq. (16) as equal as possible, we can introduce an explicit force control scheme [9].

$$ {\mathbf{F}}_{{\mathbf{d}}} = {\mathbf{M}}_{{\mathbf{\upvarphi }}} {\mathbf{\delta \ddot \upvarphi }} + {\mathbf{B}}_{{\mathbf{\upvarphi }}} {\mathbf{\delta \dot{\upvarphi }}} + {\mathbf{K}}_{{\mathbf{\upvarphi }}} {\mathbf{\delta \upvarphi }} $$
(17)

We define the error function

$$ {\mathbf{F}}_{{\mathbf{e}}} \text{ = }{\mathbf{F}}_{{\mathbf{d}}} - {\mathbf{F}}_{{{\mathbf{ext}}}} $$
(18)

where F ext is the external forces that are measured using the tactile sensor.

Then, the torque τ e caused by the error function can be obtained:

$$ {\varvec{\uptau}}_{{\mathbf{e}}} \text{ = }{\tilde{\mathbf{J}}\mathbf{F}}_{{\mathbf{e}}} $$
(19)

Combining Eqs. (9), (16) and (19), the impedance control moment of the driving motor is defined as:

$$ {\varvec{\uptau}}\text{ = }{\varvec{\uptau}}_{{\mathbf{a}}} \text{ + }{\varvec{\uptau}}_{{\mathbf{e}}} $$
(20)

Where,

$$ {\varvec{\uptau}}_{{\mathbf{a}}} = {\mathbf{M(}}{\mathbf{\upvarphi }}{\mathbf{)}}{\mathbf{\ddot \upvarphi }} + {\mathbf{C}}\left( {{\dot{\mathbf{\upvarphi }}}{\mathbf{,}}{\mathbf{\upvarphi }}} \right) + {\mathbf{H(}}{\mathbf{\upvarphi }}{\mathbf{)}}.$$

Ultimately, we can build an impedance controller, as is shown in Fig. 3. If F e approaches zero, the desired target impedance parameters M d , B d and K d will converge to the actual values. In the steady state, the measured and desired velocities and accelerations are zero, so the capture force is proportional to the deformation δφ, which implies that the steady force is the stiffness K φ multiplied by the deformation δφ, where the joint stiffness K φ depends on the desired target stiffness K d . However, the desired target stiffness K d is constant and cannot vary with the environment, which results in the poor flexibility of the capture force to the different seized objects. To address this problem, in the following subsection, the tactile sensing is applied to recognise the stiffness of object in real time, so that the desired target stiffness parameter K d can vary with the environment.

3.2 Stiffness Recognition

This section presents the stiffness recognition algorithm with the tactile signals of tactile sensors, which consists of two parts: contact event detection and stiffness recognition. Here, we describe the two tactile sensory signals, including the force and force disturbance, which are required to analyse the contact state.

Each fingertip of the gripper is equipped with a tactile sensor that consists of 4 × 4 individual cells. The total fingertip force can be calculated by summing the readings from all 16 elements in the tip of one finger:

$$ F_{L} = \mathop \sum \limits_{i = 1}^{4} \mathop \sum \limits_{j = 1}^{4} f_{L(i,j)} $$
(21)

where \( f_{L(i,j)} \) is the force that acts on the left fingertip at location (i,j). The same method is used to calculate \( F_{R} \) on the right finger using \( f_{R(i,j)} \). The mean grip force is obtained by averaging the force of two fingers:

$$ F = \frac{1}{2}\left( {F_{L} + F_{R} } \right) $$
(22)

To obtain the force disturbance, we take the sum of the high-pass-filtered forces using the 16 fingertip cells:

$$ \tilde{F}_{L} (z) = \mathop \sum \limits_{i = 1}^{4} \mathop \sum \limits_{j = 1}^{4} H_{F} (z)f_{L(i,j)} (z) $$
(23)

where \( H_{F} (z) \) is a discrete-time first-order Butterworth high-pass filter with a cutoff frequency of 5 Hz, which is designed for the 50 Hz sampling rate of the pressure signals. Then the resulting filtered signals are summed to obtain an estimation of the >5 Hz force disturbances \( \tilde{F}_{L} (z) \) that acts on the left finger. The procedure is identical for the right finger to obtain \( \tilde{F}_{R} (z) \).

Based on the above tactile signals, to recognise the stiffness of grasped object, the contact event during the transition from the free space to the constraint space is detected first:

$$ \left\{ {\begin{array}{*{20}c} {{\text{LeftContact}} = (F_{L} > {\text{FLIMIT}})\;||\;(\tilde{F}_{L} > {\text{DLIMIT}})} \\ {{\text{RightContact}} = (F_{R} > {\text{FLIMIT}})\;||\;(\tilde{F}_{R} > {\text{DLIMIT}})} \\ \end{array} } \right. $$
(24)

where FLIMIT and DLIMIT are the thresholds of the force signal and force-disturbance signal of each fingertip for the contact event, respectively. We define LeftContact and RightContact as the contact event.

After contact is detected, the finger pauses for a short settling time (Δt) with a moderate closing speed (v). The force response during this contact settling time is a notably useful indicator of the object firmness [21]. Thus, the gripper records the maximum average force detected by the fingers during the settling time and calculates the target stiffness of the object as:

$$ K = \mathop {\hbox{max} }\limits_{\Delta t} (F)\frac{\text{KHARDNESS}}{v} $$
(25)

where KHARDNESS is a constant coefficient. The values of KHARDNESS and v strongly contribute to estimate the stiffness of the grasped objects. Therefore, KHARDNESS and v should be obtained from experiments that are implemented for a generic set of objects.

In the capture process, the desired position trajectory depends on the movement of the fingertip along the x axis, i.e., x_F 2d. In addition, there is zero value in F 1x , F 1y , and F 2y, and the desired target stiffness parameter K d is related to only the stiffness of the perpendicular compressive force F 2x of the fingertip, i.e.

$$ K_{d} = \left[ {0 \, 0 \, 0 \, 0; \, 0 \, 0 \, 0 \, 0; \, 0 \, 0K0; \, 0 \, 0 \, 0 \, 0 \, } \right] $$

Consequently, from Eq. (25), K d varies according to the stiffness K towards different objects. Therefore, when the finger contacts the grasped object, it appears as active mechanical impedance with variable impedance stiffness K φ , which makes the capture process smoother to avoid capture failure or damage to the object. Furthermore, in the steady state, the gripper can self-adapt the capture force to different stiffness of the objects. Accordingly, the impedance controller with stiffness recognition using tactile sensing makes the gripper behave similarly to a programmable spring with variable impedance parameters, which can adapt to the environment.

4 Experiment Study

4.1 Experimental Setup

As shown in Fig. 4, the experimental system consists of two parts: a supervisor computer and an implement controller. Based on the GUI software, the supervisor computer shows the sensor measurements and gives the desired trajectory of the gripper. The implement controller consists of the gripper and hardware control architecture, which comprise a closed-loop control system.

Fig. 4.
figure 4

Experimental system of the gripper

4.2 Experimental Results

In this section, two situations are experimented to validate the adaptability of the proposed controller: capturing a soft object (Fig. 5(a)) and capturing a hard object (Fig. 5(b)). The parameters of the two-finger gripper are listed in Table 1.

Fig. 5.
figure 5

Two experimental situations

Table 1. Parameters of the gripper.

Simultaneously, to demonstrate the improved performance of the new self-adaptive impedance controller with stiffness recognition, the presented method is compared with the traditional impedance controller without stiffness recognition, and the optimal parameters of these two controllers are listed in Table 2. The desired position trajectory of the gripper is shown in Fig. 6; three components of the desired position trajectory represent the closing, grasping and opening stages.

Table 2. Optimal parameters of two controllers.
Fig. 6.
figure 6

Desired position trajectory

The experimental results of the position trajectories and capture forces are shown in Figs. 7 and 8. Figures 7(a) and (b), 8(a) and (b) show that the position trajectories of the soft and hard objects are almost identical in both controllers. For the capture force, the traditional impedance controller maintains the same force for the soft and hard objects (Figs. 7(c) and (d)). However, in the self-adaptive impedance controller, the capture force of hard object is larger than that of soft object (Figs. 8(c) and (d)), because the impedance stiffness of the self-adaptive impedance controller can vary with different objects by stiffness recognition of tactile sensing, whereas the impedance stiffness of the traditional impedance controller remains constant, which poorly adapts to the environment. Simultaneously, because of the noises of the tactile sensors and asymmetrical surfaces of the grasped object, the forces of the left and right fingers have some asymmetry, as is shown in Figs. 7(c) and 8(c). In general, the self-adaptive impedance controller adapts the grasp control of the gripper better than the traditional impedance controller.

Fig. 7.
figure 7

The experimental results of traditional impedance controller

Fig. 8.
figure 8

The experimental results of self-adaptive impedance controller

5 Conclusion

The self-adaptive impedance controller was proposed for a two-finger gripper, the impedance stiffness of which is adjusted by the stiffness recognition of tactile sensing in real time. Accordingly, the finger acts as a programmable spring with variable impedance parameters and self-adapts the capture force to different stiffness of objects to adapt to the environment. Finally, terrestrial experiments were implemented to validate the adaptability of the proposed control scheme for the gripper.

The experimental results show that the proposed controller can be used for adaptive robotic grasp control. And in future work, based on tactile sensing and slipping detection, we hope to recognise other dynamic impedance parameters besides stiffness, including damping and inertia, to model the dynamics of the grasping process to adapt the dynamic properties for the capture process.