Inverse Kinematics of a Serial Robot

This work describes a technique to treat the inverse kinematics of a serial manipulator. The inverse kinematics is obtained through the numerical inversion of the Jacobian matrix, that represents the equation of motion of the manipulator. The inversion is affected by numerical errors and, in different conditions, due to the numerical nature of the solver, it does not converge to a reasonable solution. Thus a soft computing approach is adopted to mix different traditional methods to obtain an increment of algorithmic convergence.


Introduction
Inverse kinematics problem is the computation needed to find the joint angles for a given Cartesian position and orientation of the end effectors.There is no unique solution for the inverse kinematics thus necessitating application of numerical iterative models.In the case of a redundant manipulator, the number of inverse kinematic solutions may become infinite and closed form solutions are impossible to find in general.The methods available for solving these problems may be broadly grouped into two major classes: classical techniques based on the differential kinematic relationship between the end-effector velocities and the corresponding joint angle velocities [1,2], and learning based techniques based on biologically inspired approaches like neural networks, fuzzy logic, machine learning [3][4][5].The classical techniques require previous knowledge of the manipulator geometry represented by the Jacobian matrix.Pseudoinverse, Jacobian transpose, damped least square methods and their variants fall into this category.On the other hand, learning based approaches can be used to learn the kinematic relationship of the manipulators during action-perception cycles without requiring explicit knowledge of their geometry.A robot manipulator is composed of a serial chain of rigid links connected to each other by revolute or prismatic joints.A revolute joint rotates about a motion axis and a prismatic joint slide along a motion axis.Each robot joint location is usually defined relative to neighboring joint [6][7][8][9][10][11].The relation between successive joints is described by 4 × 4 homogeneous transformation matrices that have orientation and position data of robots.The number of those transformation matrices determines the degrees of freedom of robots.The product of these transformation matrices produces final orientation and position data of a n degrees of freedom robot manipulator.Robot control actions are executed in the joint coordinates while robot motions are specified in the Cartesian coordinates.Conversion of the position and orientation of a robot manipulator end-effector from Cartesian space to joint space, called a Corresponding author : cinzia.amici@unibs.itas inverse kinematics problem, which is of fundamental importance in calculating desired joint angles for robot manipulator design and control.If the joints of the manipulator are more complex, the inverse kinematics solution by using these traditional methods is time consuming [12][13][14][15][16][17][18][19][20][21][22][23].In recent years, there have been increasing research interest of artificial neural networks and many efforts have been made on applications of neural networks to various control problems [24][25][26][27].

Problem definition
The study of precision positioning systems plays a relevant role in the design phase to obtain high performance in robot and mechatronic system accuracy [28][29][30][31][32][33][34][35].This paper focuses on a serial manipulator modelled as a serial chain of rigid bodies (links) connected by joints, Fig .1 [36,37].The joint J i connects links l i and l i-1 providing a relative movement.This movement is described by the scalar joint variable q i .In this study only rotary and prismatic joints are considered.The first type of joints permits circular movements around the joint axis, while the second one guarantees only rectilinear movements between the connected links along the joint axis.In this structure two links are fundamental in the kinematic chain: l 1 : it is the base and it is considered motionless; ln: it is the end-effector, the position and orientation are important since it used to act on the external world.The position and orientation of the end-effector is described by a set of variables S (work space variables) or a set of joint variables Q.In a serial manipulator scheme, the relation between the joint and the work space is defined by: Eq. 1 describes the positional kinematics of a serial robot [38][39][40].The inversion of Eq. 1 can be usually difficult and computationally expensive and sometimes it is impossible to obtain a closed form.This task is called as positional inverse kinematic problem [41,42].In order to avoid these issues the robot manufacturers usually select a kinematic chain that solves the inverse kinematic problem in a closed form.These choices are focused to guarantee the required performance and reliability of robots and mechatronic systems [43][44][45][46].This study aims to propose an alternative approach focusing on the numerical solution overcoming difficulties without losing in computational performances.As case of study, a simple SCARA robot, is considered, as schematically shown in Fig. 2.
For this type of robot, an analytical closed form solution already exists.The SCARA robot is here used only as a test.Classical numerical methods, considered in this paper, consist on linearizing the inverse kinematic equations, setting up an initial position and then using Newton's method, a generalization of Newton's method or another iterative methods [49][50][51].Numerical methods can be applied to analyze any manipulator topology, but they can be affected by uncertainty in obtaining all possible solutions [52].A set of charts, Fig. 3, based on numerical simulations shows when classical algorithms do not converge to a correct solution.The simulations are structured on an initial position to set up the numerical algorithm, then it is imposed to the robot to achieve a collection of positions uniformly distributed on the work space, starting from the same point.The non converging points are plotted in a diagram, as shown in Fig. 3.In Fig. 3, PP is the starting position while the black points are non converging points for the Newton-Raphson algorithm, as follows: -Non converging points (NCPs) are gathered in non-converging regions (NCRs); -The feature of NCRs seems simple at a first approach, nevertheless micro-characteristics are difficult to model; -Rotating the starting point around the center of the work space, the NCRs undergo the same rotation (Fig. 3a and Fig. 3b); -Translating the starting point along a radius of the work space, the non converging regions change their features in a complex way, but approximately the radial coordinate of the non converging region barycenter remains constant (Fig. 3c and Fig. 3d).The first and the second observations have general validity while the third and the fourth conclusions are based on the SCARA robots.Due to the uncertainty in the aforementioned observations, a soft-computing approach is convenient in the definition and treatment of non converging regions [53][54][55].The use of soft-computing techniques in the modeling of mechanical phenomena is well known [56][57][58].In this study, a fuzzy approach is proposed to define and evaluate non converging regions.

A fuzzy logic to solve Inverse Kinematics problem
Fuzzy systems are the most popular constituent of the soft computing area and they are used in modeling uncertainty and vagueness [59][60][61].Many studies have demonstrated the power of this approach contributing to transform a pioneering approach into a scientific method [62,63].Under specific hypotheses, a fuzzy system S given by n rules of the form is defined as (compact form): -A ij ϵ F(R) and B j ϵ F(R) are fuzzy sets representing linguistic variables (i.e.dark or light, long or short, black or light) with convenient features where: for some t-norm T.
A further simplification is introduced in (2) in a specific case: if x j is the assertion that ij j X X and A ij is the set of true assertion that ij j X X , (2) is written as (4) or (5): ൛ܴ ݅ : Starting from these assumptions, the new algorithm based on Fuzzy logic is now presented.The first step is the definition of the starting point to every iteration of the algorithm.At the first iteration, this point is chosen in accordance with a rule independent from the proposed algorithm.At the following steps, the starting point of the t-th iteration is defined by the arrival point of the (t-1)th iteration.The algorithm terminates, when the arrival point of the t-th iteration is close to the final point P f .A set of starting points P i is taken as example for the fuzzy algorithm.The first fuzzy system selects a correct example: where: x j are the coordinates of the fuzzy starting point P and x ij are the coordinates of each example of starting point P i .There is a non-converging region A i associated to every starting point P i .More If the desired final point P f for the numerical method is out of the non-converging region i A ˆ, associated with the numerical algorithm a i , it is possible to use the algorithm a i : This algorithm is robust with a fail probability close to 0.02%.Nevertheless, to avoid these issues, a further fuzzy system is introduced.In case the original algorithm has not reached the solution in T ~iterations, the rules (8) are denied: ൛ܴ ݅ : ‫݂ܫ‬ ܲ ݂ ∉ ‫ܣ‬ መ ݅ ‫ݐ‬ℎ݁݊ ‫݁ݏݑ‬ −ܽ ݅ ൟ ݅=1,2,…,݊ (9)

Conclusions
This paper aims at presenting a new general fuzzy iterative algorithm based on classical algorithms to solve the inverse kinematic problem on a serial manipulator.The effectiveness of the algorithm was compared with the classical methods on a SCARA robot.