Abstract
This paper presents an adaptive neural network learning-based solution for the inverse kinematics of humanoid fingers. For the purpose, we specify an effective finger model by considering the interphalangeal joint coordination inherent in human fingers. In order to find a proper joint combination for any fingertip trajectory, we propose an adaptive learning scheme by using a multi-layered neural network. It is interesting to use an adaptive learning rate algorithm that leads the neural network to get the inverse kinematic solution quickly. The usefulness of the proposed approach is verified by exemplary simulations for the general motion of humanoid fingers.
1. Introduction
In order to manipulate the fingers of a robotic hand, we need to know the combination of joints of each finger [1][2]. Actually, the joint configuration of a finger plays an important role for the dexterous manipulation of an object grasped by multiple fingers. Thus, a method is necessary to get a proper joint combination for the given fingertip trajectory.
In practice, there exists a preferable configuration depending on the task in using a redundant manipulator or a finger with a coupling among joints. In fact it is not easy to obtain an effective joint configuration due to the redundancy or constraints. To solve this issue, some approaches have been proposed [3–5]. Yoshikawa [3] and Chiu [4] suggested a performance index-based algorithm using a manipulability criterion and a compatibility index, respectively, from the viewpoint of finding an effective posture of robot manipulators. These methods have an advantage with regard to resolving the singularity posture of a manipulator as well as avoiding obstacles. However, unbalancing of the joint configuration during grasp can be obtained by optimizing such a performance index. Secco, et al. [5] tried to solve the inverse kinematic problem for a prosthetic finger by adopting a physiological constraint among joints. Secco's method gives a simple closed-form solution, but it has a limitation with regard to implementing the realistic movement of human fingers. This is because the third joint of a humanoid finger should actuate identically with the second joint through his approach. According to the literature, the motion range of the joints in human fingers is not identical [6–8]. Moreover, since the method does not consider the phalangeal length parameters, this may lead to difficulties in making a consistent grasp configuration in multi-fingered operations. Thus, the inverse kinematic solution for effective positioning of such a humanoid finger or a manipulator in manipulation tasks is still an interesting problem [9].
The objective of this paper is to provide an adaptive learning-based method to get the inverse kinematic solution of humanoid fingers with a coupling between the distal interphalangeal joint and the proximal interphalangeal joint. For this purpose, we use a multi-layered neural network learned at an adaptive learning rate. In Section 2, we specify a model of humanoid fingers based on the interphalangeal joint coordination of the human hand and reveal the issue of inverse kinematics for humanoid fingers. The adaptive neural network learning scheme for the inverse kinematics is described in Section 3. In Section 4, exemplary simulation results for the inverse kinematics of some humanoid fingers are shown and the usefulness of the proposed approach is also discussed. The concluding remarks are drawn in Section 5.
2. Modelling of Humanoid Fingers and Inverse Kinematics Issue
It is important to study the features of the human hand in order to develop a dexterous humanoid hand [10]. For a model of humanoid fingers, we consider the interphalangeal features of the human hand as shown in Fig. 1.

Human hand and its structural model
In Fig. 1(a), for instance, the index finger is usually actuated by four joints, but its planar motion can be implemented by the combination of three revolute joints as shown in Fig. 1(b) [11]. The mechanism of the index finger is structurally the same as that of the middle, ring and little fingers. So, they can be modelled as a finger with three revolute joints in two-dimensional space. The thumb however differs from those fingers and it is not taken into consideration in this paper.
In particular, one of the interesting features inherent in human fingers is that interphalangeal joint coordination exists between the DIP (Distal InterPhalangeal) joint and the PIP(Proximal InterPhalangeal) joint of the human fingers except the thumb [7][8][12]. Thus, the motion of the third joint depends on the actuation of the second joint. Practically, each link ιi(i = 1, 2, 3) in Fig. 1(b) corresponds to the proximal, middle and distal phalanges in the index finger, respectively, and the origin of the MCP(MetaCarpoPhalangeal) joint can be considered as the pivot connecting to the palm. In the previous research [12], we tried to find the interphalangeal joint coordination of the index, middle, ring and little fingers of the author. It has been confirmed that the joint coordination between the DIP joint and the PIP joint of those fingers can be modelled approximately as a linear relation as follows:
where the phalangeal length parameters of the ith finger used in the experiment and the corresponding interphalangeal joint coordination parameter λi can be summarized as in Table 1.
Phalangeal length and interphalangeal joint coordination parameters
By considering the interphalangeal joint coordination, the forward kinematic relations of the representative index finger in Fig. 1(b) can be described by
where xf and yf denote the x- and y-directional fingertip positions of the index finger, respectively, and λ1 implies the coupling between the DIP joint and the PIP joint of the index finger. The parameter of ιj represents the length parameter of the jth link of the finger and θf represents its posture.
From (2) ~ (5), it is natural that the fingertip position and its posture are definitely determined when the joint angles of the finger have been given. It is worth noting that reverse work is usually necessary in the object handling tasks by multi-fingered hands. That is, it is required to obtain the joint combination corresponding to the fingertip trajectory of each finger for the manipulating tasks. This is actually called the inverse kinematics problem which is the fundamental issue for general hand operations. For instance, the assembling performance of a stick manipulated by multiple fingers is basically dependant on the accuracy of the inverse kinematic solution of each finger. If such a finger has a coupling among joints, its inverse kinematic problem is usually not easily solved in a closed-form.
On the other hand, it is well-known that a multi-layered neural network enables us to get an effective solution for various identification and control tasks using a learning strategy [13–16].
Thus, this paper aims to provide an adaptive solution of the inverse kinematics of such a humanoid finger by utilizing the advantages of the neural network approach.
3. Neural Network Learning Scheme for Inverse Kinematics
This section describes a multiple neural network learning scheme for the inverse kinematic solutions of the humanoid fingers in Fig. 1(b). An adaptive learning algorithm to initialize and update the learning rate is also introduced for the neural network learning scheme.
3.1. Multiple Neural Network Scheme
Fig. 2(a) shows the multiple neural network learning scheme proposed for the inverse kinematics of the humanoid fingers. The structure of the adaptive neural network interface ANN
i
(i = 1, · · ·, 4) for the actual joint combination corresponding to the desired fingertip trajectory of each finger is shown in Fig. 2(b). In addition, the multi-layered neural network has been constructed as in Fig. 3. In fact, the positions,

A neural network learning scheme for multiple inverse kinematic solutions

A multi-layered neural network
The overall signal processing of the neural network in Fig. 3 is described as follows. The input of the neural network
where
The output of the first hidden layer hj(t) is determined by
where
here wji(t) denotes the weighting factor between the i-th input layer and the j-th first hidden layer. The parameter sj implies the slope of the j-th sigmoid function at the first hidden layer and M indicates the number of neurons placed at the first hidden layer.
The output of the second hidden layer hk(t) is made by
where
here wkj(t) denotes the weighting factor between the j-th first hidden layer and the k-th second hidden layer. The parameter sk implies the slope of the k-th sigmoid function at the second hidden layer.
The final output of the neural network θι(t) is determined by
where wιk(t) denotes the weighting factor between the second hidden layer and the output layer. In particular, the second joint angle of each finger has been made to be at least positive and thus the third joint also has a positive angle. This is done in order to mimic the structural features observed in the general motion of the human fingers and it is easily experienced in real finger motions.
3.2. Adaptive Learning Algorithm
For the learning of the neural network in Fig. 3, we define an error function as follows:
where
In fact, the error function implies the sum of each position error at the fingertip space. For effective description of the learning algorithm, the case of the representative index finger has been considered in this section.
Through the conventional error back propagation [19], the error effect according to the change of the weighting factor between the second hidden layer and the output layer
where
where
And also
where
When ι = 2, for the second joint angle of the finger,
where
And
where
By defining an output-layer error term δ0ι(t) for effective description, we have
and the second hidden-layer error term at the k-th neuron δh2k(t) can be represented by
In addition, the first hidden-layer error term at the j-th neuron δh1j(t) can be expressed by
Finally, all of the weighting factors at each layer for the index finger can be updated using the following rule:
where δ0ι(t), δh2k(t) and δh1j(t) denote the error terms propagated back from the fingertip space of the finger to the output and hidden layers. The learning rate η1(t) is determined dynamically according to the state of learning of the neural network, and the details of the procedure have been described in Section 7.1.
In addition, the same procedure considering the corresponding finger's coupling parameter is available for the middle, ring and little fingers.
4. Simulation Results: Inverse Kinematics
This section shows some representative simulation results for the inverse kinematics of the humanoid fingers in Fig. 1(b) by using the proposed neural network learning scheme. In particular, the simulation results for the index and middle fingers have been shown.
The specifications of the humanoid fingers for the simulation study have been specified in Table 1. Some test positions on the following curve according to the learning state of the neural network have been assigned for the desired fingertip trajectories in (6):
where a0, a1 and a2 denote the coefficients of a second-order curve. Those parameters are specified in Table 2. The assigned trajectory implies that the index and middle fingers move along such a second-order function in a free grasp motion [12].
Parameters for the functions of the index and middle fingers
The multi-layered neural network used in this simulation has four layers as shown in Fig. 3. The number of neurons at the input layer, the first hidden layer, the second hidden layer, and the output layer has been empirically assigned by 2, 5, 3 and 2, respectively. All of the weights of the neural network have been initialized randomly in the range of −1.0 ~ 1.0. The parameters for the adaptive learning algorithm, β, σ, P and Q, are assigned by 0.0015, 0.5, 3 and 5, respectively. The slope parameters of the sigmoid functions at the hidden layers have been assigned by 1.0. In fact, the desired accuracy of the given manipulation task is dependent on the range of the fingertip position error. In this simulation, if the maximum error of e1(t) and e2(t) in Fig. 2(b) is less than the desired range of each fingertip error, ±0.5 mm, the inverse kinematic learning process of each trajectory has been completed and the current joint values have been determined as the inverse kinematic solution, and the inverse kinematic process is repeated for the next trajectory.
Fig. 4 and Fig. 8 show the x- and y-directional fingertip trajectories of the index and middle fingers, respectively, in the process of the neural network learning, where the desired fingertip trajectories have been assigned successively after getting the solution of the current inverse kinematics. The actual fingertip trajectories in Figs. 4 and 8 have been taken by the forward kinematics using the actual joint angles which are resultantly obtained by the neural network learning. Figs. 5 and 9 show the fingertip trajectory errors according to the learning process, where we can confirm the satisfactory convergence of the neural network training algorithm under variable learning rate. In fact, the process of inverse kinematics is completed at the moment of each circle indicated in Figs. 6 and 10, and then the output angles of the neural network learning scheme have been set as the actual joint angles. Those actual joint angles for the desired fingertip positions have been plotted in Fig. 6 and Fig. 10, respectively. As a result, we can find that the actual fingertip positions have been approached satisfactorily to the desired positions through the adaptive learning process.

Fingertip trajectories of the index finger: (i) desired x-directional trajectory(

Fingertip error profiles of the index finger according to the learning process: (i) x-directional error, e1(t), and (ii) y-directional error, e2(t)

Joint angles of the index finger obtained by the proposed neural network learning-based inverse kinematics. Note that the joint angles at the moment of each circle have been accepted as the solution of the corresponding inverse kinematics.

The learning rate adapted for the inverse kinematics of the index finger

Fingertip trajectories of the middle finger: (i) desired x-directional trajectory(

Fingertip error profiles of the middle finger according to the learning process: (i) x-directional error, e1(t), and (ii) y-directional error, e2(t)

Joint angles of the middle finger obtained by the proposed approach of inverse kinematics. Note that the joint angles at the moment of each circle have been accepted as the solution of the corresponding inverse kinematics.
In particular, it should be noted from Figs. 4, 5, 6, 8, 9, and 10 that a rather long time is required for the learning of the initial position. The period actually means the initial posturing process of each finger and thus it is practically not related to the computing load in the manipulation process. Nevertheless, an effort to reduce the learning time is very important in the implementation aspect of neural networks [13–18]. So, it is remarkable that the adaptive learning rate used in this paper can contribute to reducing the learning time. The trace of the learning rate for the two fingers during the learning process is shown in Fig. 7 and Fig. 11, respectively. As you can see in Figs. 7 and 11, the learning rate for each finger has been initialized differently and the trace of updating is also different. This is because each learning rate is adjusted by the state of learning of the corresponding neural network. Indeed one can see via the results shown in Figs. 4 and 8 that those adaptive learning rates contribute to improving the speed of learning of the corresponding neural network.

The learning rate adapted for the middle finger
In addition, the singularity issue of the humanoid fingers with regard to obtaining the inverse kinematic solution has been analysed in Section 7.2. The inverse kinematic solutions of the ring and little fingers can also be obtained from the same procedure considering the corresponding finger's coupling parameter.
As a result, it is concluded that the proposed neural network learning scheme is useful for the inverse kinematics of the humanoid fingers with a coupling. Hopefully, it is expected that the proposed approach can be applied to the effective motion control of humanoid fingers, prosthetic hands, and manipulators with such an interphalangeal coupling [20][21].
5. Concluding Remarks
An adaptive neural network learning-based solution for the inverse kinematics of the humanoid fingers with a coupling has been presented. In order to verify the usefulness of the adaptive neural network learning scheme, we utilized an effective model of the human fingers and performed exemplary simulations for the inverse kinematics of the index and middle fingers, where a four-layered neural network has been employed. Through the simulation study, it has been shown that the inverse kinematics of the humanoid fingers can be solved effectively by using the proposed neural network learning scheme, and its performance is satisfactory. In addition, the adaptive learning rate algorithm is practically useful for improving the learning speed of the neural network. Finally, it is concluded that the adaptive neural network learning scheme is applicable for manipulation tasks by humanoid robotic or prosthetic fingers. In our future work we intend to compare and improve the computational efficiency which is desirable for the practical applications of the proposed approach.
Footnotes
6. Acknowledgements
This research was supported by Kyungsung University Research Grants in 2013.
