# Inverse Kinematics: An Alternative Solution Approach Applying Metaheuristics
## 1 Introduction  
The specific positioning of a kinematic chain is a recurrent problem in different areas of engineering such as robotics, animation, or in articulated reference models for graphic illustrators. In many cases, it is possible to achieve the desired position by moving each link through angular movements until the proper posture is achieved. However, in other occasions, a method is desirable or even necessary that can position the rest of the links to meet a specific condition, such as positioning the end effector of the last link, which is known as inverse kinematics (IK). The process of finding the IK is complex [1; 2; 3], and for this reason, diverse ways to deal with this task have been explored: analytic methods, neural networks, and metaheuristic algorithms. Traditional approximations, as is the case of obtaining the analytical equations via geometric analysis, are limited to working with kinematic chains of 2-, 3-, or, in some cases, 4-DOF at maximum, and their solution requires the use of constraints. This is because one of the aspects that increases the complexity of finding the IK is the number of degrees of freedom, since there are multiple solutions that satisfy the desired conditions. When it is required to solve hard optimization problems, especially on real-world engineering cases, metaheuristic algorithms are a good option when traditional methods present deficient performance. Metaheuristic algorithms showed good performance when solving the IKP without being affected by the number of degrees of freedom, as shown in [4]. In general, metaheuristic algorithms are iterated approximate numerical techniques that involve different processes with stochastic variables. In these methods, it is necessary to adequately model the problem with a fitness function to quantify the quality of the candidate solutions. Since they are approximate techniques, the optimal solution is not necessarily found, understanding this as the minimal or maximal value of the function depending on the context, but good-enough solutions can be obtained. For example, in [4], in addition to proposing a hybrid method between two algorithms, namely, DE [5] and particle swarm optimization (PSO) [6]), the authors presented a series of proposals to achieve the desired position and additional objectives: minimal displacement between solutions, collision avoidance, and functional joint relations. As in [4; 7], most of the works based in metaheuristic algorithms use the obtained equations from homogeneous transformations following the Denavit-Hartenberg convention [8] as a means to formulate the performance function in order to minimize the error between the desired and real positions mapped by the forward kinematics (FK) model. In [2], a modified genetic algorithm was proposed to obtain the IK of a 6-DOF robot, highlighting the modification performed to balance exploration and exploitation, which refers to the behavior of the algorithm to explore solutions throughout the search space, and to improve the candidate solutions. With this same idea of improving the performance of search algorithms, so-called hybrid algorithms were produced that take steps or operators from other algorithms and adapt them to modify their own behavior. In [9], the authors presented the hybrid mutation fruit fly optimization algorithm in which they implemented an olfactory search on the basis of different mutation strategies from different DE versions. The performance of the proposed algorithm was evaluated using a problem to obtain the IK of a manipulator with 7-DOF and 8 benchmark functions. In [10], the IKP was solved with a modified PSO to increase the speed of convergence through a bidirectional search and the decoupling of the kinematic chain while considering the characteristics of the robot, a 4-DOF manipulator with a mobile base. In other cases, in addition to obtaining a solution close to the optimum, it is necessary to generate it in a given time, which, in turn, implies the fast convergence of the algorithm.