1. Introduction
Robot kinematics modeling has been one of the main research issues
in robotics research. It can be divided into forward kinematics and
inverse kinematics. Forward kinematics refers to the calculation of the
position and orientation of an end effector in terms of the joint angles,
Approaches to the inverse kinematics problem can be roughly
categorized into four classes: the analytical approach (e.g., [1-5]),
the numerical approach (e.g., [6-11]), the computational
intelligence-based approach (e.g., [12-20]), and the lookup tablebased
approach (e.g., [21-23]). While the analytical approach solves
the joint variables analytically according to given configuration data
to provide closed form solutions, the numerical method provides
a numerical solution (e.g., the use of the Jacobian matrix of the
forward kinematics function,
The goal of this paper is to endow a 3-D printed humanoid robot
arm with the ability of positioning its fingertip to a target position
in real time. To achieve this goal, the robot system has to seek a
high efficiency solution to inverse kinematics modeling. In this
paper we propose an SOM-like approach to solving the inverse
kinematics problem. The proposed approach integrates the SOMbased
approach and the lookup table-based approach.Our approach
is the use of a Taylor series expansion to build the transformation
The performance of the proposed SOM-like inverse kinematics modeling method was tested on a 3-D printed robot arm with 5 degrees of freedom (DOF). Two simulated examples were designed to test whether the robot arm could successfully position its fingertip to target positions in the work space.
This paper is organized as follows. Following this introduction is a brief review of the Taylor series expansion and the SOM algorithm. Section III explains the detailed descriptions of the proposed SOMlike inverse kinematics modeling method. Simulation results are given in Section IV. The final section contains the discussions and conclusions.
2. Brief Review of the Taylor Series Expansion and the SOM Algorithm
2.1 The Taylor Series Expansion
In mathematics, a vector-valued function can be approximatedvia the first-order Taylor expansion as follows:
where
An immediate problem needed to be solved is the estimation of the
Jacobian matrix at the point,
where
Since we have N+1 data pairs,
The solution of the matrix
where
2.2 The SOM
The training algorithm proposed by Kohonen for forming a selforganizing feature map (SOM) is summarized as follows [25,26]:
Step 1. Initialization: Consider the network on a rectangular grid
with M rows and N columns. Each neuron in the neural network is
associated with an n-dimensional weight vector
Step 2. Winner Finding: Present an input pattern
where
Step 3. Weight Updating: Adjust the weights of the winner and its neighbors using the following updating rule:
where
Step 4. Iterating: Go to step 2 until some pre-specified termination criterion is satisfied.
3. The Proposed SOM-Like Approach to Inverse Kinematics Modeling
The goal of the proposed SOM-like approach to inverse kinematics
modeling is to derive an corresponding joint angles,
3.1 The off-line training phase
The proposed off-line training phase integrates the merits of the
SOM-based approach and the lookup table-based approach.It fully
utilizes the topology-preserving property of the SOM algorithm to
generalize the modeling capability from collected data to unknown
data space. In addition, similar to the table-based approach, it is able
to calculate the necessary information to derive the inverse kinematics
with no need of a complicated learning procedure. The principal idea
behind the proposed modeling method is to discretize the workspace
of a robot arm into a cubic lattice consisting of Nx×Ny×Nz sampling
points. Each sampling point corresponds to a non-overlapping
reciprocal zone in the workspace. For each sampling point, we will
stores four weight vectors or data terms (i.e.
The off-linetraining phase is describedas follows:
Step 1: Workspace Specification- First of all, we need to specify where the workspace of the robot arm is. Assume that the workspace of the robot arm is located in the region defined by [mx,Mx ]×[my,My]×[mz,Mz] where the parameters, mx,Mx, my,My,mz, and Mz are the lower bounds and upper bounds for the workspace with respective to the axes, X, Y, and Z, respectively.
Step 2: Lattice Determination- Discretize the work space into an
equidistant cubic lattice consisting of Nx×Ny×Nz template points.
The more template points the workspace has, the smaller the
approximation error the training phase will achieve. Accordingly, we
set the SOM network structure to be a 3-dimensional lattice structure
with the network size, Nx×Ny×Nz. Each neural node isthenrespectively
assigned to its correspondingtemplate point. Therefore, the reciprocal
zone of each neural nodeis
Step 3: Collecting training data- Assume the forward kinematics
model of the robot arm has been developed via some kind of forward
kinematics modeling method. Based on the generated forward
kinematics model, we can easily derive the position of the fingertip of
the robot arm from a given combination of joint angles. The training
data can be constructed by either the uniformly discretization
scheme or the real-life data generation scheme. If we have generated
the forward kinematics model then we suggest to use the uniformly
discretization scheme. Let RAi and Δθi represent the physical range
limit and the sampling step for the ith joint, respectively. Therefore,
we will collect
Step 4: Training of the SOM network- It involves the following four sub-steps.
(4.1) Initialization: For each neural node, its corresponding fourweight vectors are initialized as follows:
(4.2) Winner Finding: Present an input pattern
(4.3) Weight Updating: Adjust the weights of the winning neuron using the following updating rule:
A flag is attached to each neural node to indicate whether the
node has already won one competition. If the node has won for at
least one competition then the value of its flag will be set to be one;
otherwise, zero. After all Ns training data have been presented to
the SOM network, the neural nodes with non-zero flag value are
regarded as “template nodes”. On the contrary, neural nodes with a
zero flag value are claimed to be “novice nodes”. All novice nodes have
to enter the next sub-step to update their weight vectors. One thing
should be pointed out is that several neural nodes may have won the
competitions for more than one time. If this case happens then the
training data with the smallest distance to the coordinates position
vector,
(4.4) Updating the empty nodes’ weights: In this sub-step, we fully
utilize the topology-preserving property of the SOM. We assume
that neural nodes have similar responses as their neighboring nodes.
Based on this assumption, the weight vectors of a novice node can
be computed from its neighboring nodes. For each novice node
(k, l, m), we will find how many neighbors of the novice node are
already template nodes. We only consider its 3×3×3 neighboring
nodes. The novice nodes are sorted in a decreasing order according
to the numbers of their neighboring nodes which are template nodes.
According to the sorted order, the joint angle vector
where NS(k,l,m) represents the set of template nodes within the 3×3×3 region. After the updating change, a novice node then becomes a template node. This process is repeated until all novice nodes are updated and become template nodes.
Step 5: Computationof Jacobian matrix- According to Equation (1), if the
template point
where
These Nnb data pairs should meet the following conditions:
where the Jacobian matrix J is a Nact×3 matrix since there are Nact joints and the workspace is a 3-dimensional space. Via (7) the Jacobian matrix can be computed as follows:
where
3.2 The real-time manipulating phase
After the off-line training procedure, an inverse kinematics model
has been approximated via a trained SOM network with Nx×Ny×Nz
lattice structure. Each neural node stores the necessary information
(e.g., the template position weight vector
4. Results and Discussion
Step 1: Initialization: Set the iteration parameter k=0 and set the
initial real position vector
Step 2: Winner finding: Present the present positionx
We search the sampling point of which reciprocal zone is the closest
to the present real position vector
Step 3: Calculating the joint angles: The joint angles are approximated
by he first-order Taylor series expansion via the joint angle vector
where
Step 4: Actuating the joint angles: Let the robot arm move to the new real position,
Step 5: Termination criteria: If the new real position is close enough to the
target position (e.g., the approximation error between the target position and the final real position
5. Simulation Results
To test the performance of the proposed SOM-Like inverse kinematics modeling method, humanoid robots arm with 5 degrees of freedom was our test platform. The design of the robot arm was from the InMoov project [27]. The InMoov was the first open source 3D printed life-size robot. Based on the open source and a 3D printer, we implemented a humanoid robot arm with 5 degrees of freedom as shown in Figure 1. The Denavit-Hartenberg (DH) method is the most common method to construct a forward kinematics for a robot platform based on four parameters (e.g., the link length, link twist, link offset or distance, and joint angle) [28]. A coordinate frame is then attached to each joint to determine the DH parameters. Figure 2 shows the coordinate frame assignment for the robot arm.
Based on the forward kinematics, 20,800 training data points and 9,072 testing data points were generated, respectively. Figure 3 shows the workspace of these data points. The physical boundaries of these data points and the way for generating the data points are tabulated in Table 1. We then used five different network sizes to discuss whether the network size would influence the approximation performance. Table 2 tabulates the average approximation error, the maximum approximation error, and the computational time. The simulation was done on a PC with 4.0 GB memory, Intel Core i7-2600 CPU @ 3.40 GHz, and the operating system Windows 7. Two observations can be concluded. First of all, the larger the network size is the smaller the average approximation error is reached. Secondly, the larger the network size is the longer the computational time is required. We then took a tradeoff between the approximation error and the computational efficiency to choose an appropriate network size for the following two simulated examples.
After the inverse kinematics model of the robot arm has been constructed, two simulated examples were designed to further test the performance of the proposed SOM-Like inverse kinematics modeling method.
5.1 Example one: Tracking a Circular Helix
The first simulation was designed to track the circular helix defined as:
The circular helix was sampled for every Δθ=1° and there were total 720 sampling points. Figure 4 shows the circular helix tracked in the workspace, 200.0 mm×200.0 mm×72.0 mm, with an average error 5.73 mm if the maximum iteration number is only 1. To further decrease the approximation error, the termination criterion parameter ϵ was set to be 0.5 mm so that the real-time manipulating phase took about 0.0306 milliseconds to repeat the iterative procedure for 200 iterations. Finally, the average approximation error decreased to be 0.283 mm.
5.2 Example two: Writing a letter “B”
The second simulation was designed to write a letter “B” as follows:
Line 1:
Ellipse 1:
Ellipse 2:
The ellipses were sampled for every Δθ=1° and there were total 360 sampling points. The line was sampled for every 1 mm and there were 200 samples. Figure 5 shows the letter “B” tracked in the workspace, 200.0 mm×200.0 mm, with an average error 6.58 mm if the maximum iteration number is only 1. To further decrease the approximation error, the termination criterion parameter ϵ was set to be 0.5 mm so that the real-time manipulating phase took about 0.0175milliseconds to repeat the iterative procedure. Finally, the average approximation error decreased to be 0.247 mm.
6. Discussions and Conclusions
This paper introduces an SOM-Like inverse kinematics modeling method. The proposed approach integrates the merits of the lookup table-based approach and the SOM-based approach. Similar to the lookup table-based approach [23], our method also adopts a regular grid structure to store the necessary information about the inverse kinematics. However, in our method, the regular grid structure is created over the Cartesian position space but it is created over the joint space in the lookup table-based approach. Similar to the SOMbased approach [12-14,16-20], the topology-preserving property of the SOM is fully utilized in our method to estimate the weight vectors of the empty neurons. The major differences between our proposed method and the work on the use of the self-organizing feature map (SOM) [12-14,16-20], are as follows. While those methods will update the winning neuron and its neighboring neurons via the updating rule similar to (10), our method just updates the winning neuron’s template position weight vectors but its neighboring neurons are not updated simultaneously. The basic idea behind our method is that once a neuron finds its appropriate template position weight vectors, it should not be updated again and again by a rule similar to (9); otherwise, the right template position weight vectors will be continuously changed and become wrong at the end of the training procedure. In addition, the methods for estimating the Jacobian matrices are very different. For example, they used the Widrow-Hoff type rule to estimate the Jacobian matrix for each neuron [13] but we use the Moore-Penrose generalized inverse method as given in (21)- (23).
The proposed SOM-Like inverse kinematics modeling method was tested ona humanoid robot arm with 5 degrees of freedom. Simulation results have shown that the proposed method could reach the average approximation error with 0.25 mm and track a continuous trajectory. Several observations can be concluded. First of all, the larger the network size, the smaller the average approximation error. However, a larger network size will require more computational time. Therefore, we have to take a tradeoff between the approximation error and the computational efficiency to choose an appropriate network size. Secondly, if we allow the real-time manipulating phase to iterate more times, then the approximation errors can be greatly decreased.
Competing Interests
The authors declare that they have no competing interests.