IK-FA, a New Heuristic Inverse Kinematics Solver Using Firefly Algorithm

  • Nizar RokbaniEmail author
  • Alicia Casals
  • Adel M. Alimi
Part of the Studies in Computational Intelligence book series (SCI, volume 575)


In this paper, a heuristic method based on Firefly Algorithm is proposed for inverse kinematics problems in articulated robotics. The proposal is called, IK-FA. Solving inverse kinematics, IK, consists in finding a set of joint-positions allowing a specific point of the system to achieve a target position. In IK-FA, the Fireflies positions are assumed to be a possible solution for joints elementary motions. For a robotic system with a known forward kinematic model, IK-Fireflies, is used to generate iteratively a set of joint motions, then the forward kinematic model of the system is used to compute the relative Cartesian positions of a specific end-segment, and to compare it to the needed target position. This is a heuristic approach for solving inverse kinematics without computing the inverse model. IK-FA tends to minimize the distance to a target position, the fitness function could be established as the distance between the obtained forward positions and the desired one, it is subject to minimization. In this paper IK-FA is tested over a 3 links articulated planar system, the evaluation is based on statistical analysis of the convergence and the solution quality for 100 tests. The impact of key FA parameters is also investigated with a focus on the impact of the number of fireflies, the impact of the maximum iteration number and also the impact of (α, β, γ, δ) parameters. For a given set of valuable parameters, the heuristic converges to a static fitness value within a fix maximum number of iterations. IK-FA has a fair convergence time, for the tested configuration, the average was about 2.3394 × 10−3 seconds with a position error fitness around 3.116 × 10−8 for 100 tests. The algorithm showed also evidence of robustness over the target position, since for all conducted tests with a random target position IK-FA achieved a solution with a position error lower or equal to 5.4722 × 10−9.


Robotics Inverse kinematics Heuristics Computational kinematics Swarm intelligence 



The authors would like to acknowledge the financial support of this work by grants from General Direction of Scientific Research (DGRST), Tunisia, under the ARUB program.


  1. 1.
    Ammar, B., Chouikhi, N., Alimi, A.M., Chérif, F., Rezzoug, N., Gorce, P.: Learning to walk using a recurrent neural network with time delay. In: Artificial Neural Networks and Machine Learning–ICANN, pp. 511–518. Springer, Heidelberg (2013)Google Scholar
  2. 2.
    Asfour, T., Dillmann, R.: Human-like motion of a humanoid robot arm based on a closed-form solution of the inverse kinematics problem. In: Intelligent Robots and Systems (IROS 2003), vol. 2, pp. 1407–1412 (2003)Google Scholar
  3. 3.
    Azevedo, C., Andreff, N., Arias, S.: BIPedal walking: from gait design to experimental analysis. Mechatronics 14(6), 639–665 (2004)CrossRefGoogle Scholar
  4. 4.
    Buckley, K.A., Simon H., Brian C.H.T.: Solution of inverse kinematics problems of a highly kinematically redundant manipulator using genetic algorithms. IET, pp. 264–269 (1997)Google Scholar
  5. 5.
    Buss, S.R.: Introduction to inverse kinematics with jacobian transpose, pseudoinverse and damped least squares methods. IEEE J. Robot. Autom. 17 (2004)Google Scholar
  6. 6.
    Çavdar, T., Mohammad, M., Milani, R.A.: A new heuristic approach for inverse kinematics of robot arms. Adv. Sci. Lett. 19(1), 329–333 (2013)CrossRefGoogle Scholar
  7. 7.
    Chiaverini, S., Siciliano, B., Egeland, O.: Review of the damped least-squares inverse kinematics with experiments on an industrial robot manipulator. IEEE Trans. Control Syst. Technol. 2(2), 123–134 (1994)CrossRefGoogle Scholar
  8. 8.
    De Jong, K.A., Spears, W.M.: An analysis of the interacting roles of population size and crossover in genetic algorithms. In: Parallel Problem Solving from Nature, pp. 38–47. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  9. 9.
    Dorigo, M., Birattari, M., Stutzle, T.: Ant colony optimization. IEEE Comput. Intell. Mag. 1(4), 28–39 (2006)Google Scholar
  10. 10.
    Eberhart, R.C., Kennedy, J.: A new optimizer using particle swarm theory. In: Proceedings of the Sixth International Symposium on Micro Machine and Human Science, vol. 1, pp. 39–43 (1995)Google Scholar
  11. 11.
    Eberhart, R.C., Shi, Y.: Particle swarm optimization: developments, applications and resources. In: Proceedings of the 2001 Congress on Evolutionary Computation, vol. 1, pp. 81–86 (2001)Google Scholar
  12. 12.
    Edison, E., Shima, T.: Integrated task assignment and path optimization for cooperating uninhabited aerial vehicles using genetic algorithms. Comput. Oper. Res. 38(1), 340–356 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  13. 13.
    Juang, J.G.: Fuzzy neural network approaches for robotic gait synthesis. IEEE Trans. Syst. Man Cybern. B Cybern. 30(4), 594–601 (2000)CrossRefGoogle Scholar
  14. 14.
    Karaboga, D., Gorkemli, B., Ozturk, C., Karaboga, N.: A comprehensive survey: artificial bee colony (ABC) algorithm and applications. Artif. Intell. Rev. 1–37 (2012)Google Scholar
  15. 15.
    Kuffner, J., Nishiwaki, K., Kagami, S., Inaba, M., Inoue, H.: Motion planning for humanoid robots. In: Robotics Research, pp. 365–374. Springer, Heidelberg (2005)Google Scholar
  16. 16.
    Kulpa, R., Multon, F.: Fast inverse kinematics and kinetics solver for human-like figures. In: Proceedings of Humanoids, pp. 38–43 (2005)Google Scholar
  17. 17.
    Lander, J., CONTENT, G.: Making kine more flexible. Game Developer Mag. 1, 15–22 (1998)Google Scholar
  18. 18.
    Łukasik, S., Żak, S.: Firefly algorithm for continuous constrained optimization tasks. Computational Collective Intelligence. Semantic Web, Social Networks and Multiagent Systems, pp. 97–106. Springer, Heidelberg (2009)Google Scholar
  19. 19.
    MATLAB Statistics Toolbox User’s Guide (2014). The MathWorks Inc.
  20. 20.
    Mohamad, M.M., Taylor, N.K., Dunnigan, M.W.: Articulated robot motion planning using ant colony optimisation. In: 3rd International IEEE Conference on Intelligent Systems, pp. 690–695 (2006)Google Scholar
  21. 21.
    Pant, M., Gupta, H., Narayan, G.: Genetic algorithms: a review. In: National conference on frontiers in applied and computational mathematics (FACM-2005), Allied Publishers, p. 225, 04–05 Mar 2005Google Scholar
  22. 22.
    Pérez-Rodríguez, R., Marcano-Cedeño, A., Costa, Ú., Solana, J., Cáceres, C., Opisso, E., Gómez, E.J.: Inverse kinematics of a 6 DoF human upper limb using ANFIS and ANN for anticipatory actuation in ADL-based physical neurorehabilitation. Expert Syst. Appl. 39(10), 9612–9622 (2012)CrossRefGoogle Scholar
  23. 23.
    Pham, D.T., Castellani, M., and Le Thi, H.A.: Nature-inspired intelligent optimisation using the bees algorithm. In:  Transactions on Computational Intelligence XIII, pp. 38–69. Springer, Heidelberg (2014)Google Scholar
  24. 24.
    Pollard, N.S., Hodgins, J.K., Riley, M.J., Atkeson, C.G.: Adapting human motion for the control of a humanoid robot. In Proceedings of IEEE International Conference on Robotics and Automation, ICRA’02, vol. 2, pp. 1390–1397 (2002)Google Scholar
  25. 25.
    Rokbani, N., Alimi, A.M.: Inverse kinematics using particle swarm optimization, a statistical analysis. Procedia Eng. 64, 1602–1611 (2013)CrossRefGoogle Scholar
  26. 26.
    Rokbani, N., Alimi, A.M.: IK-PSO, PSO inverse kinematics solver with application to biped gait generation. Int. J. Comput. Appl. 58(22), 33–39 (2012)Google Scholar
  27. 27.
    Rokbani, N., Alimi, A.M., Cherif, B.A.: Architectural proposal for an intelligent humanoid. In: Procedings of IEEE Conference on Automation and Logistics (2007)Google Scholar
  28. 28.
    Rokbani, N., Benbousaada, E., Ammar, B., Alimi, A.M.: Biped robot control using particle swarm optimization. In: IEEE International Conference Systems on Man and Cybernetics (SMC), pp. 506–512 (2010)Google Scholar
  29. 29.
    Rokbani, N., Boussada, E.B., Cherif, B.A., Alimi, A.M.: From gaits to ROBOT, A Hybrid methodology for A biped Walker. Mobile Robotics: Solutions and Challenges. In: Proceedings of Clawar, vol. 12, pp. 685–692 (2009)Google Scholar
  30. 30.
    Rokbani, N., Cherif B.A., Alimi, A.M.: Toward intelligent biped-humanoids gaits generation. In: Choi, B. (eds.) Humanoids. Chap 14, InTech (2009)Google Scholar
  31. 31.
    Rokbani, N., Zaidi, A., Alimi, A.M.: Prototyping a biped robot using an educational robotics kit. In: IEEE International Conference on Education and E-learning Innovations. Sousse, Tunisia (2012)Google Scholar
  32. 32.
    Rutkowski, L., Przybyl, A., Cpalka, K.: Novel online speed profile generation for industrial machine tool based on flexible neuro-fuzzy approximation. IEEE Trans. Industr. Electron. 59(2), 1238–1247 (2012)CrossRefGoogle Scholar
  33. 33.
    Schmidt, V., Müller, B., Pott, A. Solving the forward kinematics of cable-driven parallel robots with neural networks and interval arithmetic. In: Computational Kinematics, pp. 103–110. Springer, Netherlands (2014)Google Scholar
  34. 34.
    Tchoń, K., Jakubiak, J.: Endogenous configuration space approach to mobile manipulators: a derivation and performance assessment of Jacobian inverse kinematics algorithms. Int. J. Control 76(14), 1387–1419 (2003)CrossRefzbMATHGoogle Scholar
  35. 35.
    Tchon, K., Jakubiak, J.: Jacobian inverse kinematics. In: Advances in Robot Kinematics: Mechanisms and Motion, p. 465 (2006)Google Scholar
  36. 36.
    Tevatia, G., Schaal, S.: Inverse kinematics for humanoid robots. In: Proceedings of IEEE International Conference on Robotics and Automation, (ICRA’00), pp. 294–299 (2000)Google Scholar
  37. 37.
    Tolani, D., Goswami, A., Badler, N.I.: Real-time inverse kinematics techniques for anthropomorphic limbs. Graph. Models 62(5), 353–388 (2000)CrossRefzbMATHGoogle Scholar
  38. 38.
    Van den Bergh, F., Engelbrecht, A.P.: Effects of swarm size on cooperative particle swarm optimizers (2001)Google Scholar
  39. 39.
    Wang, R.Y., Popović, J.: Real-time hand-tracking with a color glove. In: ACM Transactions on Graphics (TOG), ACM, vol. 28, No. 3, p. 63 (2009)Google Scholar
  40. 40.
    Xu, Q., Li, Y.: Error analysis and optimal design of a class of translational parallel kinematic machine using particle swarm optimization. Robotica 27(1), 67–78 (2009)CrossRefGoogle Scholar
  41. 41.
    Yang, X.S. (2010). Firefly algorithm, Levy flights and global optimization. In: Research and Development in Intelligent Systems XXVI. Springer, London, 209–218Google Scholar
  42. 42.
    Yang, X.S.: Firefly algorithm, stochastic test functions and design optimisation. Int. J. Bio-Inspired Comput. 2(2), 78–84 (2010)CrossRefGoogle Scholar
  43. 43.
    Yang, X.S.: Firefly algorithms for multimodal optimization. In: Stochastic algorithms: foundations and applications, pp. 169–178, Springer, Heidelberg (2009)Google Scholar
  44. 44.
    Zaidi, A., Rokbani, N., Alimi, A.M.: A hierarchical fuzzy controller for a biped robot. In: Proceedings of ICBR 2013. Sousse, Tunisia ( 2013)Google Scholar
  45. 45.
    Zaidi, A., Rokbani, N., Alimi, A.M.: Neuro-Fuzzy gait generator for a biped robot. J. Electron. Syst. 2(2), 48–54 (2012)Google Scholar
  46. 46.
    Zhang, X,.Nelson, C.A.: Multiple-criteria kinematic optimization for the design of spherical serial mechanisms using genetic algorithms. J. Mech. Des. 133(1) (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.High Institute of Applied Sciences and TechnologyUniversity of SousseSousseTunisia
  2. 2.REGIM-Lab.: REsearch Groups in Intelligent MachinesUniversity of Sfax, ENISSfaxTunisia
  3. 3.Institute for Bioengineering of Catalonia and Universitat Politècnica de Catalunya. BarcelonaTech.BarcelonaSpain

Personalised recommendations