# Cerebellum-inspired neural network solution of the inverse kinematics problem

## Abstract

The demand today for more complex robots that have manipulators with higher degrees of freedom is increasing because of technological advances. Obtaining the precise movement for a desired trajectory or a sequence of arm and positions requires the computation of the inverse kinematic (IK) function, which is a major problem in robotics. The solution of the IK problem leads robots to the precise position and orientation of their end-effector. We developed a bioinspired solution comparable with the cerebellar anatomy and function to solve the said problem. The proposed model is stable under all conditions merely by parameter determination, in contrast to recursive model-based solutions, which remain stable only under certain conditions. We modified the proposed model for the simple two-segmented arm to prove the feasibility of the model under a basic condition. A fuzzy neural network through its learning method was used to compute the parameters of the system. Simulation results show the practical feasibility and efficiency of the proposed model in robotics. The main advantage of the proposed model is its generalizability and potential use in any robot.

### Keywords

Inverse kinematics Cerebellar neural network Cerebellar cortex Robot manipulator Bioinspired model Fuzzy neural network## 1 Introduction

Robots are widely used primarily in industrial and medical applications where responsible, stable, and highly accurate operations are required. The demand today for more complex robots that have manipulators with higher degrees of freedom (Dof) is increasing because of technological advances. Obtaining the precise movement for a desired trajectory or sequence of arm and positions requires the computation of the inverse kinematic (IK) function, which is a major problem in robotics (Alavandar and Nigam 2008; Köker 2013; Wu and Rao 2007).

Forward kinematics involves determining the position of the end-effector of the robot given its joint variables. Obtaining the joint variable of a robot manipulator, given the desired position of the end-effector of the robot, is called IK (de Jesús Rubio et al. 2013; Zhang and Paul 1991). The solution of the IK problem requires the real-time computation and uniqueness of the inverse function. The solution of the IK problem has been studied by many researchers (Ali et al. 2010; Kanoun et al. 2011; Kumar et al. 2010; Reinhart and Steil 2011; Wang et al. 2010). Many approaches to solving the IK problem can be categorized into (1) analytical-based and (2) learning-based methods.

Although both types of methods can efficiently solve the problem, they have several shortcomings. First, the computations of the complex models in both methods are time-consuming because of the complexity of the mathematical formulation. Furthermore, poor efficiency results from the failure of the model to specify the robot characterization. By contrast, if the model can reflect all of the robot characterization, then the results are more specific. Second, the learning data generated from the IK function in a restricted domain in most learning-based methods result in limited convergence. Neither method proposes a general solution for IK problems (Hasan et al. 2006, 2010).

The proposed solution can be categorized into a learning-based method in the present study. However, two major distinctions can be recognized. First, this study proposes a new artificial neural network (ANN) model inspired by the anatomy of the cerebellum. Second, the IK function is learned using the forward kinematics function, unlike in other studies.

Different solutions to the IK problems of serial manipulators through learning-based methods exist. Among these solutions, learning-based methods that use ANNs are similar to the method used in the present study.

The approach used by Alavandar and Nigam (2008) in solving the IK problem is based on an adaptive neuro-fuzzy interface system, which was used to predict and estimate the problem. The said researchers collected training data from the forward kinematics of the 2-Dof and 3-Dof robot manipulator to show the effectiveness of this approach. The obtained results are inconsistent with the analytical IK function. The disadvantage of this method is its limited convergence because collecting data from forward kinematics covers only a part of the IK function domain.

Karlik and Aydin (2000) implemented a robot manipulator with six Dof through the best ANN configuration from two ANNs: a three-layer back-propagation (BP) with six outputs and six four-layer BPs with one output. The error obtained from the second ANN is smaller than that from the first configuration. The data set elements (i.e., inputs and outputs) for training NNs were calculated from analytic equations based on restrictions.

Xia and Wang (2001) developed a recurrent NN called the dual network, which has a single neuron layer. The approach proposed by Arefi and Sadigh (2011) is based on a fuzzy algorithm and a polar coordinate displacement of the robot manipulator’s tip. The model overcomes blind spots and singularities. NNs based on the radial basis function and multilayer perceptron, used to predict incremental joint angles, were proposed by Chiddarwar et al. and K.K. Dash et al., respectively (Chiddarwar and Ramesh Babu 2010; Dash et al. 2011). A genetic algorithm was used to improve the accuracy of the ANN model in several of these studies (Köker 2013; Oyama et al. 2001).

The ability of biological motor control systems to fine-tune themselves and enhance their performance is one of their major inspiring aspects. The cerebellum is indispensable in achieving fast and precise coordinated movements and accurately perceiving body motion; thus, the use of the cerebellum as a model for control and learning movement has attracted the attention of researchers for many years (Albus 1975b; Darlot 1993; Eccles et al. 1967; Kawato et al. 1987; Miall et al. 1993).

The current study attempts to modify the shortcomings of previous models of cerebellar NNs, which is more consistent with the general anatomy and functioning of the cerebellar pathways to solve the IK problem. Moreover, the disadvantage of previous cerebellar NN models and strong point of the proposed model have been mathematically proven.

## 2 Method

### 2.1 Cerebellar NN Model

Computing an inverse function is an “ill-posed problem” with no general solution, except in trivial cases (Cannon and Robinson 1987; Tikhonov and Arsenin 1979).

*n*Dof at any instant of time. The position variable at any instant of time in the

*x*,

*y*, and

*z*directions is denoted by \(\mathbf{P(t)} =(x(t),y(t),z(t))\), and

*f*is a nonlinear function.

*f*.

One of the early famous computational models of cerebellum is the cerebellar model articulation controller, which is based on the Marr–Albus ideas of the cerebellum (Albus 1975a, b; Pouget et al. 2000; Wolpert 1997). However, it was not originally proposed as a biological plausible approximation (Wolpert et al. 1998).

Given the unavailability of a training signal to the central nervous system (CNS), one of the most challenging tasks in modeling the cerebellum as an inverse model is acquiring an inverse dynamic model through motor learning. Kawato and colleagues (Kawato et al. 1987; Kawato and Gomi 1992) proposed a cerebellar feedback-error- learning model to solve this problem.

The learning process in the Kawato model is conducted in slow movement, after which the speed is increased . However, the model is insensitive to the noise because of the use of an open-loop control system, but one of the most important shortcomings is that it is not based on cerebellum physiology. Previous studies show that the cerebellum does not compute the inverse dynamic solutions and instead learns the forward one (Gentili et al. 2009).

The other inverse model for the cerebellum as a controller is based on the Smith predictor (Miall et al. 1993). This model is a forward model and has a delay structure that postpones the sensorimotor predictions for regulating the sensorimotor outcomes. In contrast to the Kawato model, the Smith model uses the inverse function, and the main (forward) function is trained. One of its advantages is that the error in this model is lower than that in the Kawato model (Wolpert et al. 1998).

The inverse problem can be bypassed by placing in a feedback loop a circuit that predicts the effect of motor orders, which provides it with a deterministic direct function (Barto et al. 1999; Darlot 1993; Houk 1996; Miall 1998; Miall et al. 1993; Miall and Wolpert 1996; Wolpert et al. 1998). The proposed theory holds that anticipating signal values is similar to the function of the cerebellar cortex and that computing approximate inverse functions is similar to the function of the entire cerebellum.

*x*(

*t*) is the input signal and

*y*(

*t*) is the output]:

*B*can be varied as the stability condition is satisfied.

This circuit resembles the cerebellar pathways because positive and negative loops arranged in parallel evoke the excitatory mossy fibers that reach the cerebellar nuclei and cerebellar cortex. The inhibitory axons of the Purkinje cells project to the cerebellar nuclei. Thus, the predictor resembles the cerebellar cortex, and the summing element resembles the cerebellar nuclei (Figs. 3, 4). This anatomical interpretation matches the importance of the cerebellum in motor coordination and error compensation. The cerebellum is indispensable in achieving fast and precise coordinated movements and accurately perceiving body motion.

The input signal *x* reaches the summing element, which issues \(\alpha \) through two pathways: a direct pathway that transmits this signal unchanged and an indirect pathway that processes the signal. This side circuit represents a motor part of the cerebellar pathways, which are situated outside the direct sensory or motor pathways.

The element, \(h\, (\alpha ,\, u)\), which is the predictor, represents the cerebellar cortex, which receives many sensory signals and efferent copies of motor signals through the mossy fibers. The cerebellar cortex processes these signals to increase the activity of Purkinje cells. This activity *P* is assumed to encode a dynamic signal that predicts the state of the body at the time the motor orders generate their effects (Figs. 3, 4).

*P*of \(h \, (\alpha ,\, u)\) and issues the signal

*Q*, represents a group of neurons in a cerebellar nucleus (Figs. 3, 4). The same feedback signals reach the predictor and summing element, as the messages conveyed by the mossy fibers reach both the cerebellar cortex and cerebellar nuclei. The negative output of the predictor is comparable with the inhibitory projection of the Purkinje cells to the neurons of the cerebellar nuclei (Figs. 3, 4).

The cerebellum has three learning levels: (1) unsupervised learning in the glomerulus synapse, (2) supervised learning in the Purkinje synapse, and (3) supervised learning in the cerebellar nucleus (Jaberi et al. 2013; Jaeger 2013). The first and second learning methods have been previously reported (Bostan et al. 2013; Ebadzadeh et al. 2005; Schweighofer et al. 2013).

### 2.2 Fuzzy NN (FNN)

Calculating the optimal value of the model’s parameter (*B* in Eq. 13) is computationally complex. ANN must be employed to predict this value at any instant of time. FNN is used in this study to predict the optimal value of the model’s parameter at any instant of time. The other ANNs that work as predictor cannot be employed because the nonlinear function (i.e., feedback loop in the model) learning methods can be implemented only in the FNNs.

*y*is the output variable of the fuzzy system.

*B*to a crisp point \(y^{*}\). \(y^{-i}\) is the center of the

*i*th fuzzy set and \(w_i \) is its height. The center average defuzzifier determines \(y^{*}\) as

*x*and

*f*(

*x*) are the input and output of the fuzzy system (Wang 1999). The corresponding network of the fuzzy model can be built as shown in Fig. 5. The FNN has four layers. The output of each node in the first layer equals \(\mu _{A_j^i } (x_j)\) and the membership value of fuzzy set \(A_j^i\) . The nodes in the second layer are used to calculate the product of the membership values and inputs in all the dimensions for each rule:

*i*is calculated as follows:

*i*th node of the last (output) layer is the summation of its input values from the previous layer:

### 2.3 Proposed model to solve the IK problem

The control of the two-segmented arm is studied to test the proposed model. This examination requires the calculation of IK with two inputs and two outputs. The model in the previous section is proposed with one input and one output, so that the proposed model must be developed. In this section, the equation of the forward kinematics of the two segments is calculated, and the proposed model is developed.

*x*and

*y*are the Cartesian positions of the end-effector.

*x*and

*y*at any instant of time is calculated as follows:

Figure 8 shows the location of two FNNs, and Fig. 9 shows the proposed FNN for learning \(B_1 \) and \(B_2 \).

The function \(h=(\mathop {\theta _1}\limits ^{\bullet } ,\mathop {\theta _2} \limits ^{\bullet }, u)\) is unknown, so that the weights \(v_i\) of the network must be learned. One of the most important reasons for selecting FNNs is the learning method, which runs only through these networks. The FNN used in this study is a one-layer network with a normal triangular fuzzy set. Normal triangular fuzzy sets are created as shown in Fig. 10, where \(\mu \) and *v* are the membership function and weight, respectively.

Considering \(y=f(x)\), the output of the network is calculated according to \(y=\sum {v_i \mu _{A_i}}(x)\). If the condition \(v_i =f(m_i)\) is true, then *f*(*x*) can be defined as a piecewise linear function. Given that *f*(*x*) is an unknown function, the weight \(v_i\) should be learned by the network. Gradient and pseudo-inverse learning methods are inapplicable because the functions in the proposed model are nonlinear and cannot be differentiated as a result of the feedback loop.

- 1.
The point values in the fuzzy sets equal the function \((\mu =1)\).

- 2.
The points in the

*s*intervals are a linear combination of the preceding and following output values \((y=\mu _1 y_1 +\mu _2 y_2 )\). - 3.
The fuzzy sets in this study are normal; hence, \(\mu _1 +\mu _2 =1\).

As previously mentioned, we cannot use differentiation because of the feedback loop. Therefore, whether or not the weight of the active rule at each step must be increased or decreased cannot be determined. A solution to this problem is to increase the weight of the active rule and subsequently calculate the error (Fig. 11). If the error decreases, the increasing step is continued until the error becomes constant or drops. If the error increases, the weight must be decreased until the error is stabilized.

## 3 Results and discussion

Three experiments are designed and implemented in MATLAB (R2008a) 7.6.0.324 to evaluate the proposed model. The lengths of the first and second segments are considered to be \(a_1 =0.35 \hbox { m}\) and \(a_2 =0.3 \hbox { m}\), respectively. The Gaussian function considers the velocity of \(\theta \) to be the input of the model, and the velocity of movement is considered to be \(\sigma =0.2\).

The end-effector of the two-segmented robot moves from point (65, 0) to point (63, 15) in the first experiment (Fig. 12). The movement exhibits a trajectory in the joint coordinates, which is expected to be a straight line in the best-case scenario. Figures 12a, 13 and 14a show the angles of each arm segment that reach the desired position.

Thus, the results of experiments show that the proposed approach is a feasible option for the real-time path planning and precise control of robots.

## 4 Conclusion

The IK problem is solved through a method that resembles cerebellar anatomy and function. Previous cerebellum-inspired solutions were based on a direct function and a recursive model that remains steady only under certain conditions. Therefore, they cannot be applied to robot movement with high Dof.

We used mathematical analysis to propose a modified model that is stable under all conditions because only one parameter is determined. This dynamic parameter varies at any instant. Therefore, we use an FNN with a particular learning method.

The proposed model is developed and modified for a simple two-segmented arm to show its feasibility. Two model parameters are approximated by FNN because of its specific learning method. The model has an acceptable and reliable performance in solving the IK problem of the two-segmented arm.

Moreover, the proposed model can be generalized for all functions because it is independent of the calculations for the inverse function, which is proven mathematically. This approach can be used for the prediction of IK solutions for any kind of robot regardless of the geometry and Dof associated with it.

## Notes

### Acknowledgments

This study was supported by High Impact Research UM/MOHE/HIR Project No. D000010-16001 from the University of Malaya.

### References

- Alavandar S, Nigam M (2008) Neuro-fuzzy based approach for inverse kinematics solution of industrial robot manipulators. Int J Comput Commun Control 3:224–234Google Scholar
- Albus JS (1975a) Data storage in the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:228–233CrossRefGoogle Scholar
- Albus JS (1975b) A new approach to manipulator control: the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:220–227CrossRefGoogle Scholar
- Ali MA, Park HA, Lee CG (2010) Closed-form inverse kinematic joint solution for humanoid robots. In: 2010 IEEE/RSJ international conference on intelligent robots and systems (IROS). IEEE, pp 704–709Google Scholar
- Arefi R, Sadigh M (2011) Fuzzy inverse kinematics algorithm for man and machine cooperation. In: 2011 IEEE international conference on mechatronics (ICM). IEEE, pp. 398–402Google Scholar
- Barto AG, Fagg AH, Sitkoff N, Houk JC (1999) A cerebellar model of timing and prediction in the control of reaching. Neural Comput 11:565–594CrossRefPubMedGoogle Scholar
- Bostan AC, Dum RP, Strick PL (2013) Cerebellar networks with the cerebral cortex and basal ganglia. Trends Cogn Sci 17(5):241–254. doi:10.1016/j.tics.2013.03.003
- Cannon S, Robinson D (1987) Loss of the neural integrator of the oculomotor system from brain stem lesions in monkey. J Neurophysiol 57:1383–1409PubMedGoogle Scholar
- Chiddarwar SS, Ramesh Babu N (2010) Comparison of RBF and MLP neural networks to solve inverse kinematic problem for 6R serial robot by a fusion approach. Eng Appl Artif Intell 23:1083–1092CrossRefGoogle Scholar
- Darlot C (1993) The cerebellum as a predictor of neural messages–I. The stable estimator hypothesis. Neuroscience 56:617–646CrossRefPubMedGoogle Scholar
- Dash K, Choudhury B, Khuntia A, Biswal B (2011) A neural network based inverse kinematic problem. In: 2011 IEEE on recent advances in intelligent computational systems (RAICS). IEEE, pp 471–476Google Scholar
- de Jesús Rubio J, Aquino V, Figueroa M (2013) Inverse kinematics of a mobile robot. Neural Comput Appl 23(1):187–194. doi:10.1007/s00521-012-0854-0
- Ebadzadeh M, Darlot C (2003) Cerebellar learning of bio-mechanical functions of extra-ocular muscles: modeling by artificial neural networks. Neuroscience 122:941–966CrossRefPubMedGoogle Scholar
- Ebadzadeh M, Tondu B, Darlot C (2005) Computation of inverse functions in a model of cerebellar and reflex pathways allows to control a mobile mechanical segment. Neuroscience 133:29–49CrossRefPubMedGoogle Scholar
- Eccles JC, Ito M, Szentágothai J (1967) The cerebellum as a neuronal machine. Springer, New YorkGoogle Scholar
- Gentili RJ, Papaxanthis C, Ebadzadeh M, Eskiizmirliler S, Ouanezar S, Darlot C (2009) Integration of gravitational torques in cerebellar pathways allows for the dynamic inverse computation of vertical pointing movements of a robot arm. PloS ONE 4:e5176PubMedCentralCrossRefPubMedGoogle Scholar
- Hasan AT, Hamouda AMS, Ismail N, Al-Assadi H (2006) An adaptive-learning algorithm to solve the inverse kinematics problem of a 6 DOF serial robot manipulator. Adv Eng Softw 37:432–438CrossRefGoogle Scholar
- Hasan AT, Ismail N, Hamouda AMS, Aris I, Marhaban MH, Al-Assadi H (2010) Artificial neural network-based kinematics Jacobian solution for serial manipulator passing through singular configurations. Adv Eng Softw 41:359–367CrossRefGoogle Scholar
- Houk AGBJC (1996) A predictive switching model of cerebellar movement control. In: Proceedings of the 1995 conference. Kaufmann, p 138Google Scholar
- Jaberi J, Gambrell K, Tiwana P, Madden C, Finn R (2013) Long-term clinical outcome analysis of poly-methyl-methacrylate cranioplasty for large skull defects. J Oral Maxillofac Surg 71:e81–e88CrossRefPubMedGoogle Scholar
- Jaeger D (2013) Cerebellar nuclei and cerebellar learning. Handbook of the cerebellum and cerebellar disorders. Springer, BerlinGoogle Scholar
- Kandel ER, Schwartz JH, Jessell TM (2000) Principles of neural science. McGraw-Hill, New YorkGoogle Scholar
- Kanoun O, Laumond J-P, Yoshida E (2011) Planning foot placements for a humanoid robot: a problem of inverse kinematics. Int J Robot Res 30:476–485Google Scholar
- Karlik B, Aydin S (2000) An improved approach to the solution of inverse kinematics problems for robot manipulators. Eng Appl Artif Intell 13:159–164CrossRefGoogle Scholar
- Kawato M, Furukawa K, Suzuki R (1987) A hierarchical neural-network model for control and learning of voluntary movement. Biolog Cybern 57:169–185CrossRefGoogle Scholar
- Kawato M, Gomi H (1992) The cerebellum and VOR/OKR learning models. Trends Neurosci 15:445–453CrossRefPubMedGoogle Scholar
- Köker R (2013) A genetic algorithm approach to a neural-network based inverse kinematics solution of robotic manipulators based on error minimization. Inf Sci 222:528–543. doi:10.1016/j.ins.2012.07.051
- Kosko B (1994) Fuzzy systems as universal approximators. IEEE Trans Comput 43:1329–1333CrossRefGoogle Scholar
- Kumar S, Behera L, McGinnity TM (2010) Kinematic control of a redundant manipulator using an inverse-forward adaptive scheme with a KSOM based hint generator. Robot Auton Syst 58:622–633CrossRefGoogle Scholar
- Malek H, Ebadzadeh MM, Rahmati M (2012) Three new fuzzy neural networks learning algorithms based on clustering, training error and genetic algorithm. Appl Intell 37:280–289CrossRefGoogle Scholar
- Miall R (1998) The cerebellum, predictive control and motor coordination. Sens Guid Mov 218:272–290Google Scholar
- Miall R, Weir D, Wolpert D, Stein J (1993) Is the cerebellum a Smith predictor? J Mot Behav 25:203–216CrossRefPubMedGoogle Scholar
- Miall R, Wolpert DM (1996) Forward models for physiological motor control. Neural Netw 9:1265–1279CrossRefPubMedGoogle Scholar
- Oyama E, Agah A, MacDorman KF, Maeda T, Tachi S (2001) A modulator neural network architecture for inverse kinematics model learning. Neurocomputing 38–40:797–805Google Scholar
- Pouget A, Dayan P, Zemel R (2000) Information processing with population codes. Nat Rev Neurosci 1:125–132CrossRefPubMedGoogle Scholar
- Reinhart RF, Steil JJ (2011) Neural learning and dynamical selection of redundant solutions for inverse kinematic control. In: 2011 11th IEEE-RAS international conference on humanoid robots (Humanoids). IEEE, pp 564–569Google Scholar
- Schweighofer N, Lang EJ, Kawato M (2013) Role of the olivo-cerebellar complex in motor learning and control. Frontiers Neural Circuits 7:94. doi:10.3389/fncir.2013.00094
- Tikhonov A, Arsenin VY (1979) Methods for solving ill-posed problems. Nauka, MoscowGoogle Scholar
- Wang L-X (1999) A course in fuzzy systems. Prentice-Hall Press, Englewood Cliffs NJGoogle Scholar
- Wang X, Wang L, Pan C, Zhang Y, Tang W, Zhang X (2010) Inverse kinematics analysis of multi-legged walking robots based on hand-foot-integration mechanism. In: 2010 international conference on mechatronics and automation (ICMA). IEEE, pp 1184–1189. doi:10.1109/ICMA.2010.5587954
- Wolpert DM (1997) Computational approaches to motor control. Trends Cogn Sci 1:209–216CrossRefPubMedGoogle Scholar
- Wolpert DM, Miall RC, Kawato M (1998) Internal models in the cerebellum. Trends Cogn Sci 2:338–347CrossRefPubMedGoogle Scholar
- Wu W, Rao S (2007) Uncertainty analysis and allocation of joint tolerances in robot manipulators based on interval analysis. Reliab Eng Syst Saf 92:54–64CrossRefGoogle Scholar
- Xia Y, Wang J (2001) A dual neural network for kinematic control of redundant robot manipulators. IEEE Trans Syst Man Cybern Part B Cybern 31:147–154CrossRefGoogle Scholar
- Zhang H, Paul RP (1991) A parallel inverse kinematics solution for robot manipulators based on multiprocessing and linear extrapolation. IEEE Trans Robot Autom 7:660–669CrossRefGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.