# A Novel Approach for a Inverse Kinematics Solution of a Redundant Manipulator
## 2 Path Planning Task for End-Effector
### Potential Field Method  
Our aim is to move the manipulator end-effector from its start position \(\mathrm{s}_{\mathrm{start}}=\left[\mathrm{x}_{\mathrm{S}},\ \mathrm{y}_{\mathrm{S}}\right]^{\mathrm{T}}\) to its goal position \(\mathrm{s}_{\mathrm{goal}}=\left[\mathrm{x}_{\mathrm{G}},\ \mathrm{y}_{\mathrm{G}}\right]^{ \mathrm{T}}\), while the control system has to ensure the avoidance of collision with obstacles. In this research we use potential field method for the purposes of path planning task. The generated path is the shortest path from start point to goal point. This research assumes planar motion of the manipulator. The main idea of the potential field method is very simple, and at the same time the method is very powerful for robot navigation. The potential field method deals with two kinds of fields, namely an attractive field and a repulsive field [25]. In general, the attractive potential field represents the relation between each point of the robot workspace and the goal point. The workspace of the robot can be divided into a defined number of points according to the chosen grid. The softer the workspace grid is, the more precise the planned path will be. There are several ways to mathematically model the attractive field. The commonly used relation of attractive potential function is [26; 27]:  
\[\mathrm{U_{att}(s)}=\frac{1}{2}\xi\parallel\mathrm{s_{goal}-s_{grid}}\parallel ^{k} \tag{1}\]  
where \(\xi\), is a positive scalar variable, \(\mathrm{s_{grid}}\) is the position of every point from the workspace, and \(k\) is a number higher than zero. For \(k=1\) the potential field has a conic shape and for \(k=2\) the potential field has a parabolic shape. In this research we use \(k=1\). The corresponding force function can be expressed as:  
\[\mathrm{F_{att}(s)}=-\
abla\mathrm{U_{att}(s)}=-\frac{\partial\mathrm{U_{att}( s)}}{\partial s} \tag{2}\]  
By modeling the attractive field one obtains the function which has a local extreme at the goal point. We can imagine the attractive field as, for example, a ball falling down a hill, which stops at the lowest point. The example of attractive field is shown in Figure 1.  
In Figure 1, the dark blue color in the position (0, 30, 0) represents the local minimum of the potential function, that is, the goal point. Besides the attractive field there is also the repulsive field. The repulsive field represents the environment, with which the manipulator cannot collide. In our study, the repulsive field is represented by obstacles of circular shape. The repulsive potential function usually takes the following form:  
\[\mathrm{U_{rep}(s)}=\left\{ \begin{array}{c}\eta\Big{(}\frac{1}{d}-\frac{1}{d _{0}}\Big{)}^{2},d\leq d_{0}\\ 0,\ d>d_{0}\end{array} \right. \tag{3}\]  
where \(d=\parallel\mathrm{s_{obstacle}-s_{robot}}\parallel\) is the distance between the obstacle and manipulator link, \(d_{0}\) represents the influence of the obstacle, and \(\eta\) is a scalar parameter. The gradient corresponding to this function is :  
\[\mathrm{F_{rep}(s)}=\
abla\mathrm{U_{rep}(s)}=\left\{ \begin{array}{c}\eta \Big{(}\frac{1}{d}-\frac{1}{d_{0}}\Big{)}^{2}\frac{(s-s_{0})}{d^{3}},\ d\leq d _{0}\\ 0,d>d_{0}\end{array} \right. \tag{4}\]  
where \(s\) is the actual position of the manipulator link and \(s_{0}\) is the distance from the manipulator link to the obstacle. The aim of the repulsive forces is to affect out from the obstacle. The example of the repulsive field applied in this research can be seen in Figure 2.  
The final potential field is given by the sum of the attractive and repulsive functions:  
\[\mathrm{F(q)}=-\
abla\mathrm{U_{att}}+\
abla\mathrm{U_{rep}} \tag{5}\]  
Figure 1: Example of attractive field. The set of all obstacles in the workspace of the investigated manipulator can be represented by the matrix \(\mathrm{O}\in\mathrm{R}^{\mathrm{m}\times\mathrm{h}}\), where \(\mathrm{h}\) is the number of obstacles and \(\mathrm{m}\) represents the dimension of the performed task. Since our task is planar, the parameter \(\mathrm{m}\) equals 2.