# A Novel Approach for a Inverse Kinematics Solution of a Redundant Manipulator
## 3 Inverse Kinematic Model and Computing Algorithm
### Final Inverse Kinematic Model
\[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]4 Images from the experiment using the five-link manipulator. Another widely used method for inverse kinematics is the closed-loop inverse kinematics (CLIK) algorithm, which was developed to overcome the joint drift for open-chain robot manipulators [36]. The CLIK algorithm at velocity level can be formulated as follows. The expression of location error and its derivative is:

\[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]5 \[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]6

The vector of joint velocity has to be set so the error tends to zero. Considering the pseudoinverse solution, the generalized CLIK algorithm can be expressed as:

\[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]7

Equation (26) combined with Equation (6) gives:

\[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]8

where \(\mathrm{K_{P}}\) is a symmetric positive definite matrix. The final CLIK solution can be expressed as:

\[\dot{\mathrm{q}}=\left(\mathrm{J}^{-1}\mathrm{WJ}+\mathrm{J}_{\mathrm{c}}^{ \mathrm{T}}\mathrm{WJ}_{\mathrm{c}}+\mathrm{J}_{\mathrm{l}}^{-1}\mathrm{WJ}_{ \mathrm{l}}+\mathrm{W}_{\mathrm{s}}\right)^{-1}\left(\mathrm{J}^{\mathrm{T}} \mathrm{W}\dot{\mathrm{x}}\right) \tag{22}\]9

Subsequently, all of the mentioned methods were applied in the simulations in order to compare them in terms of computation time. The scenario was the same as in the first two case studies (Figure 4). For secondary tasks expression, the same approach as that introduced in previous sections is used. In the CLIK algorithm, matrix \(\mathrm{K_{P}}\) is set to be a diagonal matrix with values 10. The priority of the obstacle avoidance task was then decreased from 20 to 2. In the following simulations, obstacle influence was also changed. The obstacle influence is the parameter which causes increasing sense of obstacle avoidance task. This parameter arises from Section 3.3. The higher this parameter is, the more difficult the passage through the obstacles is. In other words, in the case of a high obstacle influence parameter, the passage for manipulator motion is narrower. Thus, high obstacle influence represents highly rugged terrain. Based on numerical simulations, computing times are determined for all the described methods in the following Tables 1-4. The simulations again consider a five-link and a 20-link manipulator. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Method** & **Computation Time (s)—5 Links** & **Computation Time (s)—20 Links** \\ \hline FPS & 0.99 & 45.51 \\ WLN & 1.11 & 49.38 \\ GGPM & 19.15 & 92.62 \\ CLIK & 18.21 & 52.14 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Simulation results with an obstacle influence of 10 mm.