The Visual Computer

, Volume 33, Issue 12, pp 1541–1553 | Cite as

Inverse kinematics using dynamic joint parameters: inverse kinematics animation synthesis learnt from sub-divided motion micro-segments

  • J. HuangEmail author
  • M. Fratarcangeli
  • Y. Ding
  • C. Pelachaud
Original Article


In this paper, we describe a novel parallelizable method for the fast computation of inverse kinematics (IK) animation. The existing IK techniques are based on sequential algorithms as they compute a skeletal pose relying only on the previous one; However, for a given trajectory, both the previous posture and the following posture are desired to compute a natural posture of the current frame. Moreover, they do not take into account that the skeletal joint limits vary with temporal spatial skeleton configurations. In this paper, we describe a novel extension of IK model using dynamic joint parameters to overcome the major drawbacks of traditional approaches of IK. Our constraint model relies on motion capture data of human motion. The dynamic joint motion parameters are learned automatically, embedding dynamic joint limit values and feasible poses. The joint information is stored in an octree which clusters and provides fast access to the data. Where the trajectory of the end-effector is provided in the input or the target positions data are sent by data stream, all the computed poses are assembled into a smooth animation sequence using parallel filtering and retargeting passes. The main benefits of our approach are dual: first, the joint constraints are dynamic (as in a real human body), and automatically learnt from real data; second, the processing time is reduced significantly due to the parallel algorithm. After describing our model, we demonstrate its efficiency and robustness, and show that it can generate high visual quality motion and natural looking postures with a significant performance improvement.


Animation Inverse kinematics Octree Parallel processing 

Supplementary material

Supplementary material 1 (mp4 70091 KB)


  1. 1.
    Autodesk Maya (2015). Accessed 20 Sept 2015
  2. 2.
    Blender (2015). Accessed 20 Sept 2015
  3. 3.
    Aristidou, A., Lasenby, J.: Fabrik: a fast, iterative solver for the inverse kinematics problem. Graph. Models 73(5), 243–260 (2011). doi: 10.1016/j.gmod.2011.05.003 CrossRefGoogle Scholar
  4. 4.
    Baerlocher, P., Boulic, R.: Task-priority formulations for the kinematic control of highly redundant articulated structures. In: Proceedings of 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 1, pp. 323–329 (1998). doi: 10.1109/IROS.1998.724639
  5. 5.
    Baerlocher, P., Boulic, R.: Parametrization and range of motion of the ball-and-socket joint. DEFORM/AVATARS 196, 180–190 (2000)Google Scholar
  6. 6.
    Baerlocher, P., Boulic, R.: An inverse kinematics architecture enforcing an arbitrary number of strict priority levels. Vis. Comput. 20(6), 402–417 (2004)CrossRefGoogle Scholar
  7. 7.
    Baillieul, J.: Kinematic programming alternatives for redundant manipulators. In: Proceedings of 1985 IEEE International Conference on Robotics and Automation, vol. 2, pp. 722–728 (1985). doi: 10.1109/ROBOT.1985.1087234
  8. 8.
    Blow, J.: Inverse kinematics with quaternion joint limits. Game Developer (2002)Google Scholar
  9. 9.
    Buss, S.R., Kim, J.S.: Selectively damped least squares for inverse kinematics, pp. 37–49 (2004)Google Scholar
  10. 10.
    Chiaverini, S.: Singularity-robust task-priority redundancy resolution for real-time kinematic control of robot manipulators. IEEE Trans. Robotics Autom. 13(3), 398–410 (1997)CrossRefGoogle Scholar
  11. 11.
    Feng, A.W., Xu, Y., Shapiro, A.: An example-based motion synthesis technique for locomotion and object manipulation. In: Proceedings of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pp. 95–102. ACM (2012)Google Scholar
  12. 12.
    Fourati, N., Pelachaud, C.: Emilya: Emotional body expression in daily actions database, pp. 3486–3493 (2014)Google Scholar
  13. 13.
    Grochow, K., Martin, S.L., Hertzmann, A., Popović, Z.: Style-based inverse kinematics. In: ACM SIGGRAPH 2004 Papers, SIGGRAPH ’04, pp. 522–531. ACM, New York (2004). doi: 10.1145/1186562.1015755
  14. 14.
    Harish, P., Mahmudi, M., Callennec, B.L., Boulic, R.: Parallel inverse kinematics for multithreaded architectures. ACM Trans. Graph. 35(2), 19:1–19:13 (2016)Google Scholar
  15. 15.
    Huang, J., Boubekeur, T., Ritschel, T., Holländer, M., Eisemann, E.: Separable approximation of ambient occlusion. In: Proceedings of Eurographics 2012 Short, pp. 29–32 (2011)Google Scholar
  16. 16.
    Huang, J., Pelachaud, C.: An efficient energy transfer inverse kinematics solution. Proc. Motion Game 2012 7660, 278–289 (2012)Google Scholar
  17. 17.
    Kallmann, M.: Analytical inverse kinematics with body posture control. Comput. Anim. Virtual Worlds 19(2), 79–91 (2008)CrossRefGoogle Scholar
  18. 18.
    Klein, C.A., Huang, C.H.: Review of pseudoinverse control for use with kinematically redundant manipulators. IEEE Trans. Syst. Man Cybern. SMC–13(2), 245–250 (1983). doi: 10.1109/TSMC.1983.6313123 CrossRefGoogle Scholar
  19. 19.
    Kopp, S., Krenn, B., Marsella, S., Marshall, A.N., Pelachaud, C., Pirker, H., Tharisson, K.R., Vilhjalmsson, H.: Towards a common framework for multimodal generation in ecas: The behavior markup language. In: Proceedings of the 6th International Conference on Intelligent Virtual Agents, pp. 21–23, Marina (2006)Google Scholar
  20. 20.
    Le Callennec, B., Boulic, R.: Interactive motion deformation with prioritized constraints. Graph. Models 68(2), 175–193 (2006)CrossRefGoogle Scholar
  21. 21.
    Liegeois, A.: Automatic supervisory control of the configuration and behavior of multibody mechanisms. IEEE Trans. Syst. Man Cybern. 7(12), 868–871 (1977)CrossRefzbMATHGoogle Scholar
  22. 22.
    Nakamura, Y., Hanafusa, H.: Inverse kinematic solutions with singularity robustness for robot manipulator control. J. Dyn. Syst. Meas. Control 108(3), 163–171 (1986)CrossRefzbMATHGoogle Scholar
  23. 23.
    Paris, S., Durand, F.: A fast approximation of the bilateral filter using a signal processing approach. In: Computer Vision—ECCV 2006, pp. 568–580. Springer, Berlin (2006)Google Scholar
  24. 24.
    Shao, W., Ng-Thow-Hing, V.: A general joint component framework for realistic articulation in human characters. In: Proceedings of the 2003 Symposium on Interactive 3D Graphics, pp. 11–18. ACM (2003)Google Scholar
  25. 25.
    Tang, W., Cavazza, M., Mountain, D., Earnshaw, R.A.: Real-time inverse kinematics through constrained dynamics. In: Proceedings of the International Workshop on Modelling and Motion Capture Techniques for Virtual Environments, CAPTECH ’98, pp. 159–170. Springer, London (1998)Google Scholar
  26. 26.
    Tolani, D., Goswami, A., Badler, N.I.: Real-time inverse kinematics techniques for anthropomorphic limbs. Graph. Models 62(5), 353–388 (2000)CrossRefzbMATHGoogle Scholar
  27. 27.
    Tomasi, C., Manduchi, R.: Bilateral filtering for gray and color images. In: Sixth International Conference on Computer Vision, pp. 839–846. IEEE (1998)Google Scholar
  28. 28.
    Unzueta, L., Peinado, M., Boulic, R., Suescun, A.: Full-body performance animation with sequential inverse kinematics. Graph. Models 70, 87–104 (2008)CrossRefGoogle Scholar
  29. 29.
    Wampler II, C.W.: Manipulator inverse kinematic solutions based on vector formulations and damped least-squares methods. IEEE Trans. Syst. Man Cybern. 16(1), 93–101 (1986). doi: 10.1109/TSMC.1986.289285 CrossRefzbMATHGoogle Scholar
  30. 30.
    Wang, L.C., Chen, C.: A combined optimization method for solving the inverse kinematics problems of mechanical manipulators. IEEE Trans. Robotics Autom. 7(4), 489–499 (1991). doi: 10.1109/70.86079 CrossRefGoogle Scholar
  31. 31.
    Webber, B.L., Phillips, C.B., Badler, N.I.: Simulating humans: computer graphics, animation, and control, p. 68. Center for Human Modeling and Simulation (1993)Google Scholar
  32. 32.
    Wendland, H.: Piecewise polynomial, positive definite and compactly supported radial functions of minimal degree. Adv. Comput. Math. 4(1), 389–396 (1995)CrossRefzbMATHMathSciNetGoogle Scholar
  33. 33.
    Wilhelms, J., Gelder, A.V.: Fast and easy reach-cone joint limits. J. Graph. Tools 6(2), 27–41 (2001)CrossRefzbMATHGoogle Scholar
  34. 34.
    Wolovich, W., Elliott, H.: A computational technique for inverse kinematics. In: The 23rd IEEE Conference on Decision and Control, vol. 23, pp. 1359–1363 (1984)Google Scholar
  35. 35.
    Yamane, K., Nakamura, Y.: Natural motion animation through constraining and deconstraining at will. IEEE Trans. Vis. Comput. Graph. 9, 352–360 (2003). doi: 10.1109/TVCG.2003.1207443 CrossRefGoogle Scholar
  36. 36.
    Yuan, J.: Local svd inverse of robot jacobians. Robotica 19(1), 79–86 (2001)CrossRefGoogle Scholar
  37. 37.
    Zhao, J., Badler, N.I.: Inverse kinematics positioning using nonlinear programming for highly articulated figures. ACM Trans. Graph. 13, 313–336 (1994)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • J. Huang
    • 1
    Email author
  • M. Fratarcangeli
    • 2
  • Y. Ding
    • 1
  • C. Pelachaud
    • 1
  1. 1.CNRS LTCI and Telecom ParisTechParisFrance
  2. 2.Chalmers University of TechnologyGöteborgSweden

Personalised recommendations