## 1 Introduction
### Literature Review
As the complexity of the robot increases, the solution of the inverse kinematics problem requires more computational time. In [13], the ability of ANFIS (Adaptive Neuro-Fuzzy Inference System) to learn from training data is used to solve the inverse kinematics problem. Computer simulations are conducted for robots with two and three degrees of freedom that demonstrate the approach. Numerical methods based on inverse differential kinematics are effective in solving the inverse kinematics problem of robots with seven degrees of freedom with arbitrary geometric parameters. However, they offer insufficient numerical stability and take time to determine a unique solution. The research in [14] presents an approach that generates a general algorithm for a n-link planar hyper-redundant robot. This method repeatedly uses the solution of the inverse problem of a two-link robot on virtual joints, where the virtual joints are defined after a geometric proposal. In [15], Locally Recurrent Neural Networks (LRNNs) are used to solve the inverse kinematics problem. A MATLAB/Simulink simulation is presented for a manipulator with six degrees of freedom by computing the inverse kinematics with LRNN and applying complex motions. The authors of [16] present an analysis of the performance of different approaches for solving inverse kinematics with neural networks and the results are compared with the analytical approach. The main reason for usingdata-driven techniques such as neural networks to solve the inverse kinematics of robotic manipulators, is that it can be extended to any number of joints without much effort, while other methods have to consider the number of joints and the types of connections in advance. In [17], neural network training datasets, are created with a simulation software that uses a kinematic model of the robot. The solution of each neural network is evaluated using an analytical solution of the forward kinematics problem of the robot. Cyclic Coordinate Descent (CCD) is a numerical method that uses only geometric considerations to derive subsequent iterations. The idea is to move each link independently, so as to minimize the error between the end-effector and the target by repeating this over all joints (repeating the process iteratively) [18; 19]. This is a popular method for solving inverse kinematics that finds application in computer characters animation [18; 20] and in robotics [19]. In [19], this method is combined with [PERSON]'s method and applied with six different known robot manipulators. The CCD algorithm can be easily applied in robotics, but it can take a series of iterations before reaching a solution, and it can also generate incorrect joint rotations. The findings of [20] present an algorithm that uses a target triangle to determine the orientation and joint angles by eliminating the problems associated with incorrect and large angular rotations. The authors of [21] propose a method using the law of cosines that quickly determines the joint angles of a kinematic structure when the target is given. It combines an analytical with a numerical method. The research in [22] proposes a model of a structured artificial neural network (ANN) and adaptive neural fuzzy inference system (ANFIS) in order to find the inverse kinematics solution of a robot. Since there is no unique inverse kinematics solution, predictive models are applied to the initial configuration. In general, IK is affected by an incorrect configuration of the links, which implies that the existence, uniqueness, and stability of its solutions are not guaranteed [23]. In [23], the authors demonstrate the effectiveness of applying network inversion with regularization, by which the incorrect positioning can be reduced. An example is given with a robotic arm with multiple joints.