Skip to main content
Log in

CRRIK: A Fast Heuristic Algorithm for the Inverse Kinematics of Continuum Robot

  • Short Paper
  • Published:
Journal of Intelligent & Robotic Systems Aims and scope Submit manuscript

Abstract

The inverse kinematics (IK) of continuum robot is a challenging work due to the hyper-redundant DOFs and the narrow and complex operating environment. However, many of the currently available algorithms are with the disadvantage of complex solving processes, low computational efficiency, and even singular problems or low convergence rates. Referred to the Forward and Backward Reaching Inverse Kinematics (FABRIK) algorithm, a novel heuristic algorithm is proposed in this paper, which is called Continuum Robot Reaching Inverse Kinematics (CRRIK). The CRRIK algorithm is with the advantages of high convergence rate and low computational cost, which are suitable for real-time applications. The forward iteration of CRRIK is inspired by the physical process of pulling a rope with a fixed end, which is straightforward and obvious, avoiding complicated nonlinear operations. Furthermore, the joint angle boundary condition and obstacle avoidance can also be implemented in the backward iteration, broadening the application scenarios of the CRRIK algorithm. The effectiveness of the CRRIK algorithm is demonstrated through a five-segment continuum robot’s trajectory tracking and obstacle avoidance simulation. And a comparison between the CRRIK algorithm and some of the most popular IK methods is also presented to validate the performance of CRRIK.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Data Availability

The datasets supporting the conclusions of this article are included within the article.

References

  1. Pritts, M. B., & Rahn, C. D.: Design of an artificial muscle continuum robot. In IEEE international conference on robotics and automation, 2004. Proceedings. ICRA'04. 2004 5, 4742-4746. IEEE (2004). https://doi.org/10.1109/ROBOT.2004.1302467

  2. Chikhaoui, M. T., & Burgner-Kahrs, J.: Control of Continuum Robots for Medical Applications: State of the Art. In ACTUATOR 2018; 16th International Conference on New Actuators (pp. 1-11). VDE, (2018)

  3. Walker, I. D.: Continuous backbone “continuum” robot manipulators. International Scholarly Research Notices, 2013, (2013). https://doi.org/10.5402/2013/726506

  4. Burgner-Kahrs, J., Rucker, D.C., Choset, H.: Continuum robots for medical applications: a survey. IEEE Trans. Robot. 31(6), 1261–1280 (2015). https://doi.org/10.1109/TRO.2015.2489500

    Article  Google Scholar 

  5. Wolf, A., Brown, H. B., Casciola, R., Costa, A., Schwerin, M., Shamas, E., & Choset, H.: A mobile hyper redundant mechanism for search and rescue tasks. In proceedings 2003 IEEE/RSJ international conference on intelligent robots and systems (IROS 2003) (cat. No. 03CH37453) 3, 2889-2895. IEEE, (2003). https://doi.org/10.1109/IROS.2003.1249309

  6. Buckingham, R., & Graham, A.: Nuclear snake-arm robots. Industrial Robot: An International Journal, (2012). https://doi.org/10.1108/01439911211192448

  7. Buckingham, R., Chitrakaran, V., Conkie, R., Ferguson, G., Graham, A., Lazell, A., ... , Green, B: Snake-arm robots: a new approach to aircraft assembly (no. 2007-01-3870). SAE Technical Paper. (2007). https://doi.org/10.4271/2007-01-3870

  8. Jones, B. A., & Walker, I. D.: A new approach to Jacobian formulation for a class of multi-section continuum robots. In proceedings of the 2005 IEEE international conference on robotics and automation (pp. 3268-3273). IEEE, (2005). https://doi.org/10.1109/ROBOT.2005.1570614

  9. Dulęba, I., Opałka, M.: A comparison of Jacobian-based methods of inverse kinematics for serial robot manipulators. Int. J. Appl. Math. Comput. Sci. 23(2), (2013)

  10. Xu, D., Li, E., Liang, Z., & Gao, Z.: Design and tension modeling of a novel cable-driven rigid Snake-like manipulator. J. Intell. Robot. Syst., 1-18, (2020). https://doi.org/10.1007/s10846-019-01115-w

  11. Machado, J.T., Lopes, A.M.: A fractional perspective on the trajectory control of redundant and hyper-redundant robot manipulators. Appl. Math. Model. 46, 716–726 (2017). https://doi.org/10.1016/j.apm.2016.11.005

    Article  MathSciNet  MATH  Google Scholar 

  12. Hannan, M.W., Walker, I.D.: Kinematics and the implementation of an elephant's trunk manipulator and other continuum style robots. J. Robot. Syst. 20(2), 45–63 (2003). https://doi.org/10.1002/rob.10070

    Article  MATH  Google Scholar 

  13. Gong, Z., Fang, X., Chen, X., Cheng, J., Xie, Z., Liu, J., et al.: A soft manipulator for efficient delicate grasping in shallow water: modeling, control, and real-world experiments. Int. J. Robot. Res. 40(1), 449–469 (2021). https://doi.org/10.1177/0278364920917203

    Article  Google Scholar 

  14. Wei, Y., Jian, S., He, S., Wang, Z.: General approach for inverse kinematics of nR robots. Mech. Mach. Theory. 75, 97–106 (2014). https://doi.org/10.1016/j.mechmachtheory.2014.01.008

    Article  Google Scholar 

  15. Mu, Z., Yuan, H., Xu, W., Liu, T., Liang, B.: A segmented geometry method for kinematics and configuration planning of spatial hyper-redundant manipulators. IEEE Transactions on Systems, Man, and Cybernetics: Systems. 50(5), 1746–1756 (2018). https://doi.org/10.1109/TSMC.2017.2784828

    Article  Google Scholar 

  16. Tutsoy, O.: CPG based RL algorithm learns to control of a humanoid robot leg. Int. J. Robot. Autom. 30(2), 1–7 (2015). https://doi.org/10.2316/Journal.206.2015.2.206-4185

    Article  Google Scholar 

  17. Tutsoy, O., Erol Barkana, D., Colak, S.: Learning to balance an NAO robot using reinforcement learning with symbolic inverse kinematic. Trans. Inst. Meas. Control. 39(11), 1735–1748 (2017). https://doi.org/10.1177/0142331216645176

    Article  Google Scholar 

  18. Jiang, H., Wang, Z., Liu, X., Chen, X., Jin, Y., You, X., & Chen, X.: A two-level approach for solving the inverse kinematics of an extensible soft arm considering viscoelastic behavior. In 2017 IEEE international conference on robotics and automation (ICRA) (pp. 6127-6133). IEEE, (2017). https://doi.org/10.1109/ICRA.2017.7989727

  19. Melingui, A., Merzouki, R., Mbede, J. B., Escande, C., & Benoudjit, N.: Neural networks based approach for inverse kinematic modeling of a compact bionic handling assistant trunk. In 2014 IEEE 23rd international symposium on industrial electronics (ISIE) (pp. 1239-1244). IEEE, (2014). https://doi.org/10.1109/ISIE.2014.6864791

  20. Thuruthel, T.G., Shih, B., Laschi, C., Tolley, M.T.: Soft robot perception using embedded soft sensors and recurrent neural networks. Sci. Robot. 4(26), eaav1488 (2019). https://doi.org/10.1126/scirobotics.aav1488

    Article  Google Scholar 

  21. Kenwright, B.: Inverse kinematics–cyclic coordinate descent (CCD). Journal of Graphics Tools. 16(4), 177–217 (2012). https://doi.org/10.1080/2165347X.2013.823362

    Article  Google Scholar 

  22. Mukundan, R.: A robust inverse kinematics algorithm for animating a joint chain. Int. J. Comput. Appl. Technol. 34(4), 303–308 (2009). https://doi.org/10.1504/IJCAT.2009.024084

    Article  Google Scholar 

  23. Mahmudi, M., & Kallmann, M.: Feature-Based Locomotion with Inverse Branch Kinematics. In International Conference on Motion in Games (pp. 39-50). Springer, Berlin, Heidelberg, (2011). https://doi.org/10.1007/978-3-642-25090-3_4

  24. William II, R. L., & Mayhew IV, J. B.: Obstacle-free control of the hyper-redundant nasa inspection manipulator. In Proc. of the Fifth National Conf. on Applied Mechanics and Robotics (pp. 12-15), (1997)

  25. Brown, J., Latombe, J.C., Montgomery, K.: Real-time knot-tying simulation. Vis. Comput. 20(2), 165–179 (2004). https://doi.org/10.1007/s00371-003-0226-y

    Article  Google Scholar 

  26. Coimbra, A.P., Crisöstomo, M.M., Ferreira, J.: Position and anti-collision algorithms for a 3D hyper-redundant robot. In Management and Control of Production and Logistics. 6(1), 572–576 (2013)

    Google Scholar 

  27. Cho, C.N., Jung, H., Son, J., Sohn, D.K., Kim, K.G.: An intuitive control algorithm for a snake-like natural orifice transluminal endoscopic surgery platform: a preliminary simulation study. Biomed. Eng. Lett. 6(1), 39–46 (2016). https://doi.org/10.1007/s13534-016-0209-3

    Article  Google Scholar 

  28. Muller-Cajar, R., Mukundan, R.: Triangualation-a new algorithm for inverse kinematics. (2007)

  29. Aristidou, A., Lasenby, J.: FABRIK: a fast, iterative solver for the inverse kinematics problem. Graph. Model. 73(5), 243–260 (2011). https://doi.org/10.1016/j.gmod.2011.05.003

    Article  Google Scholar 

  30. Ananthanarayanan, H., Ordóñez, R.: Real-time inverse kinematics of (2n+ 1) DOF hyper-redundant manipulator arm via a combined numerical and analytical approach. Mech. Mach. Theory. 91, 209–226 (2015). https://doi.org/10.1016/j.mechmachtheory.2015.04.011

    Article  Google Scholar 

  31. Santos, P.C., Freire, R.C.S., Carvalho, E.A.N., Molina, L., Freire, E.O.: M-FABRIK: a new inverse kinematics approach to mobile manipulator robots based on FABRIK. IEEE Access. 8, 208836–208849 (2020). https://doi.org/10.1109/ACCESS.2020.3038424

    Article  Google Scholar 

  32. Abdallah, M. A., Baziyed, M. S., Fareh, R., & Rabie, T.: Tracking control for robotic manipulator based on FABRIK algorithm. In 2018 Advances in Science and Engineering Technology International Conferences (ASET) (pp. 1-5). IEEE, (2018). https://doi.org/10.1109/ICASET.2018.8376844

  33. Kolpashchikov, D. Y., Laptev, N. V., Danilov, V. V., Skirnevskiy, I. P., Manakov, R. A., & Gerget, O. M.: FABRIK-based inverse kinematics for multi-section continuum robots. In 2018 18th International Conference on Mechatronics-Mechatronika (ME) (pp. 1-8). IEEE, (2018)

  34. Jones, B.A., Walker, I.D.: Kinematics for multisection continuum robots. IEEE Trans. Robot. 22(1), 43–55 (2006). https://doi.org/10.1109/TRO.2005.861458

    Article  Google Scholar 

  35. Amouri, A., Zaatri, A., Mahfoudi, C.: Dynamic modeling of a class of continuum manipulators in fixed orientation. J. Intell. Robot. Syst. 91(3), 413–424 (2018). https://doi.org/10.1007/s10846-017-0734-z

    Article  Google Scholar 

  36. Mahl, T., Hildebrandt, A., Sawodny, O.: A variable curvature continuum kinematics for kinematic control of the bionic handling assistant. IEEE Trans. Robot. 30(4), 935–949 (2014). https://doi.org/10.1109/TRO.2014.2314777

    Article  Google Scholar 

  37. Jones, B.A., Walker, I.D.: Practical kinematics for real-time implementation of continuum robots. IEEE Trans. Robot. 22(6), 1087–1099 (2006). https://doi.org/10.1109/TRO.2006.886268

    Article  Google Scholar 

  38. Webster III, R.J., Jones, B.A.: Design and kinematic modeling of constant curvature continuum robots: a review. Int J Robot Res. 29(13), 1661–1683 (2010). https://doi.org/10.1177/0278364910368147

    Article  Google Scholar 

  39. Xiong, Z., Tao, J., & Liu, C. (2018). Inverse Kinematics of Hyper-Redundant Snake-Arm Robots with Improved Tip Following Movement. Robot. https://doi.org/10.13973/j.cnki.robot.170255

  40. López-Franco, C., Hernández-Barragán, J., Alanis, A.Y., Arana-Daniel, N., López-Franco, M.: Inverse kinematics of mobile manipulators based on differential evolution. Int. J. Adv. Robot. Syst. 15(1), 1729881417752738 (2018). https://doi.org/10.1177/1729881417752738

    Article  Google Scholar 

Download references

Funding

This work was supported in part by the National Key R&D Program of China (Grant No. 2019YFB1311200) and the National Natural Science Foundation of China (Grant No. U1813221).

Author information

Authors and Affiliations

Authors

Contributions

Haoran Wu is responsible for the main research work and paper writing. Xu Pei and Jingjun Yu are responsible for the guidance of the project. Jie Pan and Guoxin Li assisted in data collection and analysis. The first draft of the manuscript was written by Haoran Wu, the revision was completed with the help of Jie Pan. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Xu Pei.

Ethics declarations

Ethics Approval

Not applicable.

Consent to Participate

Not applicable.

Competing Interests

The authors declare no competing financial interests.

Consent for Publication

Not applicable

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: Brief Introduction of Other Algorithms

Appendix: Brief Introduction of Other Algorithms

1.1 Jacobian

The continuum robot’s Jacobian matrix represents the mapping between configuration space and task space. Where x is the task space parameter and q is the configuration space parameter

$$\dot{x}=\frac{\partial k(q)}{\partial q}\dot{q}=J(q)\dot{q}$$
(26)

Where:

$$J(q)=\left[\begin{array}{cccc}\frac{\partial {x}_1}{\partial {q}_1}& \frac{\partial {x}_1}{\partial {q}_2}& \cdots & \frac{\partial {x}_1}{\partial {q}_j}\\ {}\frac{\partial {x}_2}{\partial {q}_1}& \frac{\partial {x}_2}{\partial {q}_2}& \cdots & \frac{\partial {x}_2}{\partial {q}_j}\\ {}\vdots & \vdots & \ddots & \vdots \\ {}\frac{\partial {x}_i}{\partial {q}_1}& \frac{\partial {x}_i}{\partial {q}_2}& \dots & \frac{\partial {x}_i}{\partial {q}_j}\end{array}\right]$$
(27)

The configuration parameters of the i + 1th iteration can be obtained from the data of ith iteration. Where ξi is a given positive coefficient and J#(qi) is the pseudo-inverse of the Jacobian matrix. To retrieve invertibility in close vicinity of singular configurations, a diagonal matrix A scaled with a small positive coefficient λ is usually added to the manipulability matrix M.

$${\displaystyle \begin{array}{c}{q}_{i+1}={q}_i+{\xi}_i\cdot {J}^T\left({q}_i\right){\left(M\left({q}_i\right)+\lambda A\right)}^{-1}\left({x}_f-k\left({q}_i\right)\right)\\ {}={q}_i+{\xi}_i\cdot {J}^{\#}\left({q}_i\right)\left({x}_f-k\left({q}_i\right)\right)\end{array}}$$
(28)

Where:

$$M\left({q}_i\right)=J\left({q}_i\right){J}^T\left({q}_i\right)$$
(29)

The feasible solution for the robot can be obtained through iteration.

1.2 FABRIK

FABRIK divides the IK into two phases, forward and backward iterative approaches. Each joint location is determined by placing an anchor point on the line.

$${\mathbf{p}}_{\mathbf{i}}=\left(1-{\lambda}_i\right){\mathbf{p}}_{\mathbf{i}+\mathbf{1}}+{\lambda}_i{\mathbf{p}}_{\mathbf{i}}$$
(30)

Where:

$${\lambda}_i=\frac{\left|{\mathbf{p}}_{\mathbf{i}+\mathbf{1}}-{\mathbf{p}}_{\mathbf{i}}\right|}{\left|\mathbf{t}-{\mathbf{p}}_{\mathbf{i}}\right|}$$
(31)

A graphical representation of a full iteration with 4 joints is illustrated in Fig. 19.

Fig. 19
figure 19

An example of a full iteration of FABRIK. (a-c) Backward iteration (d-f) Forward iteration [29]

As illustrated in Fig. 20, the iteration strategy can also be applied to the continuum robot, and the configuration parameters of the continuum robot can be further obtained.

$$\theta =2\operatorname{arccos}\left(\frac{{\overrightarrow{\mathtt{Z}}}_{\mathtt{0}}\cdot {\overrightarrow{\mathtt{H}}}_{\mathtt{0}}}{\left\Vert {\overrightarrow{\mathtt{Z}}}_{\mathtt{0}}\right\Vert \cdot \left\Vert {\overrightarrow{\mathtt{H}}}_{\mathtt{0}}\right\Vert}\right)$$
(32)
$$\alpha =\arctan 2\left({\mathtt{X}}^{\prime },{\mathtt{Y}}^{\prime}\right)$$
(33)
Fig. 20
figure 20

An example of a single iteration of the FABRIK algorithm for a two-segment continuum robot. [33]

1.3 FTL

The FTL algorithm references the movement of the snake. Given the collision-free tip trajectory, the other joints of the robot follow the end. As shown in Fig. 21, the iteration progress starts at the end of the robot. The current joint position is located on the previous posture of the robot. Then the joint position is updated from the base to the end to guarantee that the end position of the fixed base coincides.

Fig. 21
figure 21

Schematic diagram of FTL algorithm for the robot with three joints. (a) Backward iteration (b) Forward iteration [39]

1.4 CCD

Cyclic coordinate descent (CCD) is an iterative numerical algorithm. From the end to the base of the robot, only one configuration parameter is changed during a single iteration. And the gradient descent is used to solve the maximum value of the cost function during a single iteration (Figs. 22 and 23).

$$\left\{\begin{array}{c}\min\ \left\Vert P-{P}_{\mathrm{target}}\right\Vert \\ {}s.t.{\alpha}_i={\alpha}_0\left(\theta ={\theta}_0\right)\\ {}\begin{array}{c}\ {\theta}_{\mathrm{low}}\le {\theta}_i\le {\theta}_{\mathrm{high}}\\ {}\ \left({\alpha}_{\mathrm{low}}\le {\alpha}_i\le {\alpha}_{\mathrm{high}}\right)\end{array}\end{array}\right.$$
(34)
Fig. 22
figure 22

CCD algorithm of a single two-link chain. [21]

Fig. 23
figure 23

CCD algorithm of a three-segment continuum robot

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, H., Yu, J., Pan, J. et al. CRRIK: A Fast Heuristic Algorithm for the Inverse Kinematics of Continuum Robot. J Intell Robot Syst 105, 55 (2022). https://doi.org/10.1007/s10846-022-01672-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10846-022-01672-7

Keywords

Navigation