Inverse Kinematics of an Anthropomorphic 6R Robot Manipulator Based on a Simple Geometric Approach for Embedded Systems
Abstract
:1. Introduction
- The fundamental derivation of the forward and inverse kinematics of a 6R robot manipulator, as well as the development of the IK solver in order to resolve the joint angles based on arbitrary TCP poses. The geometric approach is an extension of the inverse kinematic solutions based on industrial robots with respect to the deployment of embedded hardware.
- The analysis of important characteristics, which are essential for the practical application of the solver.
- Simulation results that validate the presented solution to the IK problem and the solver accuracy with high computational power.
- Experimental results that examine the solver accuracy and real-time capability on an embedded open-source 32-bit ARM Cortex®-M7 board with an FPU and a clock frequency of 260 MHz (https://emanual.robotis.com/docs/en/parts/controller/opencr10/ accessed on 6 July 2023).
- Efficient IK Solvers: Developing lightweight and efficient IK solvers is crucial for embedded platforms with limited computational resources.
- Real-Time Optimization: Embedded platforms often require real-time performance for controlling robots in dynamic environments. The developed algorithm can efficiently handle constraints and optimize IK solutions within the given time constraints.
- Memory Optimization: Embedded platforms often have limited memory resources. Optimizing data structures, algorithms, and parameter representations can help reduce memory usage.
- Energy Efficiency: Embedded systems typically operate on limited power sources. Designing energy-efficient IK algorithms by minimizing unnecessary computations, optimizing data flow, or leveraging low-power modes when idle can help prolong the system’s battery life for mobile manipulators.
- Platform-Independent: The platform-independent IK solver presented in this paper offers a versatile and adaptable solution for solving the inverse kinematics problem of robotic manipulators. Decoupling the solver from platform-specific considerations provides a unified framework that can be easily integrated into diverse robotic systems, regardless of the underlying computing platform.
2. Related Work
3. Fundamental Geometry
4. Forward Kinematics
5. Inverse Kinematics
5.1. Geometric Derivation
- the link between the coordinate systems and can be oriented towards or opposite from the WP,
- the elbow defined by the coordinate system can be oriented upwards or downwards, and
- the orientation of the wrist is identical every half turn of the joints assigned to the coordinate systems and and the corresponding angle of the joint assigned to the coordinate system ,
- joint (shoulder);
- joints and (elbow);
- joints , , and (wrist).
5.2. Solution
5.2.1. Joint 1
5.2.2. Joints 2 and 3
5.2.3. Joints 4, 5, and 6
6. Experiments and Results
6.1. Evaluation and Test Procedure
- Import the manipulator geometry and set the parameters described in Table 1.
- Random generation of a combination of joint angles () within the limits.
- Forward transformation of the generated joint angle combination to obtain the pose of the TCP represented by the transformation matrix .
- Inverse transformation of the transformation matrix to resolve for eight different combinations of joint angles ().
- Selection of the combination of joint angles which causes the smallest angular deviation as the solution ().
- Analysis of the IK solution in comparison with the generated joint angles and the remaining joint angle combinations.
6.2. Selection of the Solution
6.3. Conversion between Singleturn and Multiturn Range
6.4. Singularities and Limits
6.4.1. Joint 1
6.4.2. Joints 2 and 3
6.4.3. Joints 4, 5, and 6
6.5. Workspace and Solvability
6.6. Solver Accuracy and Execution Time
7. Discussion
8. Conclusions and Future Work
- The geometric relationship between the end-effector and the joints of the manipulator is established.
- The end-effector pose is expressed in terms of the joint angles of the manipulator.
- The IK problem is solved using this geometric relationship.
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
DOF | Degrees of Freedom |
IK | Inverse Kinematics |
TCP | Tool Center Point |
WP | Wrist Point |
Appendix A. Simulation with MATLAB®
Appendix B. Calculation Times of the IK Solver Executed on the Embedded Board
References
- Edlinger, R.; Nuechter, A. Marc-modular autonomous adaptable robot concept. In Proceedings of the 2019 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Würzburg, Germany,, 2–4 September 2019; pp. 1–7. [Google Scholar]
- Edlinger, R.; Anschober, M.; Froschauer, R.; Nüchter, A. Intuitive HRI Approach with Reliable and Resilient Wireless Communication for Rescue Robots and First Responders. In Proceedings of the 2022 31st IEEE International Conference on Robot and Human Interactive Communication (RO-MAN), Napoli, Italy, 29 August–2 September 2022; pp. 75–82. [Google Scholar]
- Pieper, D.L. The Kinematics of Manipulators under Computer Control; Stanford University: Stanford, CA, USA, 1969. [Google Scholar]
- Lee, C.S.G.; Ziegler, M. Geometric Approach in Solving Inverse Kinematics of PUMA Robots. IEEE Trans. Aerosp. Electron. Syst. 1984, AES-20, 695–706. [Google Scholar] [CrossRef]
- Lloyd, J.; Hayward, V. Kinematics of common industrial robots. Robot. Auton. Syst. 1988, 4, 169–191. [Google Scholar] [CrossRef]
- Raghavan, M.; Roth, B. Kinematic analysis of the 6R manipulator of general geometry. In Proceedings of the Fifth International Symposium on Robotics Research, Tokyo, Japan, 28–31 August 1989; pp. 314–320. [Google Scholar]
- Denavit, J.; Hartenberg, R.S. A kinematic notation for lower-pair mechanisms based on matrices. ASME J. Appl. Mech. 1955, 22, 215–221. [Google Scholar] [CrossRef]
- Manocha, D.; Canny, J.F. Efficient inverse kinematics for general 6R manipulators. IEEE Trans. Robot. Autom. 1994, 10, 648–657. [Google Scholar] [CrossRef] [Green Version]
- Kucuk, S.; Bingul, Z. The inverse kinematics solutions of industrial robot manipulators. In Proceedings of the IEEE International Conference on Mechatronics, ICM‘04, Istanbul, Turkey, 5 June 2004; pp. 274–279. [Google Scholar] [CrossRef]
- Husty, M.L.; Pfurner, M.; Schröcker, H.P. A new and efficient algorithm for the inverse kinematics of a general serial 6R manipulator. Mech. Mach. Theory 2007, 42, 66–81. [Google Scholar] [CrossRef]
- Brandstötter, M.; Angerer, A.; Hofbaur, M. An Analytical Solution of the Inverse Kinematics Problem of Industrial Serial Manipulators with an Ortho-parallel Basis and a Spherical Wrist. In Proceedings of the Austrian Robotics Workshop, Linz, Austria, 22–23 May 2014. [Google Scholar]
- Khatamian, A. Solving Kinematics Problems of a 6-DOF Robot Manipulator. Int. Conf. Sci. Comput. 2015, 2, 228. [Google Scholar]
- Asif, S.; Webb, P. Kinematics analysis of 6-DoF articulated robot with spherical wrist. Math. Probl. Eng. 2021, 2021, 6647035. [Google Scholar] [CrossRef]
- Pratheep, V.; Chinnathambi, M.; Priyanka, E.; Ponmurugan, P.; Thiagarajan, P. Design and Analysis of six DOF robotic manipulator. In Proceedings of the IOP Conference Series: Materials Science and Engineering; IOP Publishing: Erode, India, 2021; Volume 1055, p. 012005. [Google Scholar]
- Zhang, H.; Xia, Q.; Sun, J.; Zhao, Q. A Fully Geometric Approach for Inverse Kinematics of a Six-Degree-of-Freedom Robot Arm. J. Phys. Conf. Ser. 2022, 2338, 012089. [Google Scholar] [CrossRef]
- Dikmenli, S. Forward & Inverse Kinematics Solution of 6-DOF Robots Those Have Offset & Spherical Wrists. Eurasian J. Sci. Eng. Technol. 2022, 3, 14–28. [Google Scholar]
- Krishnan, M.G.; Ashok, S. Kinematic Analysis and Validation of an Industrial Robot Manipulator. In Proceedings of the TENCON 2019—2019 IEEE Region 10 Conference (TENCON), Kochi, India, 17–20 October 2019; pp. 1393–1399. [Google Scholar] [CrossRef]
- Chen, I.M.; Gao, Y. Closed-form inverse kinematics solver for reconfigurable robots. In Proceedings of the Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164), Seoul, Republic of Korea, 21–26 May 2001; Volume 3, pp. 2395–2400. [Google Scholar] [CrossRef]
- Tab, Y.; Xiao, A. Extension of the Second Paden-Kahan Sub-problem and its’ Application in the Inverse Kinematics of a Manipulator. In Proceedings of the 2008 IEEE Conference on Robotics, Automation and Mechatronics, Chengdu, China, 21–24 September 2008; pp. 379–381. [Google Scholar] [CrossRef]
- Chen, Q.; Zhu, S.; Zhang, X. Improved Inverse Kinematics Algorithm Using Screw Theory for a Six-DOF Robot Manipulator. Int. J. Adv. Robot. Syst. 2015, 12, 140. [Google Scholar] [CrossRef]
- Chitta, S. MoveIt!: An introduction. In Robot Operating System (ROS) The Complete Reference (Volume 1); Springer: Cham, Switzerland, 2016; pp. 3–27. [Google Scholar]
- Quigley, M.; Conley, K.; Gerkey, B.; Faust, J.; Foote, T.; Leibs, J.; Wheeler, R.; Ng, A.Y. ROS: An open-source Robot Operating System. In Proceedings of the ICRA Workshop on Open Source Software, Kobe, Japan, 12–17 May 2009; Volume 3, p. 5. [Google Scholar]
- Diankov, R. Automated Construction of Robotic Manipulation Programs. Ph.D. Thesis, Carnegie Mellon University, Robotics Institute, Pittsburgh, PA, USA, 2010. [Google Scholar]
- Siciliano, B.; Khatib, O. (Eds.) Springer Handbook of Robotics; Springer Handbooks; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar] [CrossRef]
Link | Joint Variable | [] | [] | [] | [] | Range |
---|---|---|---|---|---|---|
1 | 0.081 | 0.077 | ±90 | |||
2 | 0 | 0.520 | 0– 180 | |||
3 | 0 | 0.066 | 0– 180 | |||
4 | 0.409 | 0 | ±180 | |||
5 | 0 | 0 | ±90 | |||
6 | 0.180 | 0 | 0 |
Joint | Motor | Motor Resolution [pulse/rev] |
---|---|---|
1 | H54-100-S500-R | 501,923 |
2 | H54-200-S500-R | 501,923 |
3 | H54-200-S500-R | 501,923 |
4 | H54-100-S500-R | 501,923 |
5 | H42-20-S300-R | 303,751 |
6 | H42-20-S300-R | 303,751 |
Solver Variant | Percentile [ ] | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0th (Min.) | 5th | 25th | 50th (Med.) | 75th | 95th | 99th | 100th (Max.) | |||
PC | implicit | 1 | 0.0 | 2.2 | 4.4 | 8.9 | 17.8 | 125.4 | 770.5 | 107,642.8 |
2 | 0.0 | 2.2 | 4.4 | 8.9 | 17.8 | 125.5 | 770.5 | 107,642.8 | ||
3 | 0.0 | 2.2 | 4.4 | 8.9 | 17.8 | 127.4 | 783.3 | 107,642.8 | ||
explicit | 1 | 0.0 | 2.2 | 4.4 | 7.8 | 13.3 | 102.1 | 532.8 | 309,219.3 | |
2 | 0.0 | 2.2 | 4.4 | 8.3 | 13.3 | 102.1 | 532.8 | 309,219.3 | ||
3 | 0.0 | 2.2 | 4.4 | 8.9 | 15.5 | 106.6 | 537.3 | 309,219.3 | ||
Embedded Board | implicit | 1 | 0.0 | 2.2 | 4.4 | 8.9 | 14.4 | 102.1 | 562.3 | 267,226.2 |
2 | 0.0 | 2.2 | 4.4 | 8.9 | 14.4 | 102.1 | 562.3 | 267,226.2 | ||
3 | 0.0 | 2.2 | 4.4 | 8.9 | 15.5 | 106.6 | 579.5 | 267,226.2 | ||
explicit | 1 | 0.0 | 2.2 | 4.4 | 8.9 | 14.4 | 102.1 | 532.8 | 309,219.3 | |
2 | 0.0 | 2.2 | 4.4 | 8.9 | 14.4 | 102.1 | 532.8 | 309,219.3 | ||
3 | 0.0 | 2.2 | 4.4 | 8.9 | 15.5 | 106.6 | 532.8 | 309,219.3 | ||
IKFast | 13.3 | 40.0 | 71.1 | 113.2 | 340.8 | 3466.1 | 20,643.5 | 24,375,716.2 |
Solver Variant | PC | Embedded Board | ||
---|---|---|---|---|
[ ] | [ ] | [] | ||
implicit | 1 | 2.86 | 3.05 | 378.3 |
2 | 2.86 | 3.05 | 313.7 | |
3 | 2.93 | 3.13 | 310.1 | |
explicit | 1 | 3.16 | 3.19 | 316.1 |
2 | 3.16 | 3.20 | 252.0 | |
3 | 3.24 | 3.27 | 252.9 | |
IKFast | - | 153.99 | 1856.2 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Anschober, M.; Edlinger, R.; Froschauer, R.; Nüchter, A. Inverse Kinematics of an Anthropomorphic 6R Robot Manipulator Based on a Simple Geometric Approach for Embedded Systems. Robotics 2023, 12, 101. https://doi.org/10.3390/robotics12040101
Anschober M, Edlinger R, Froschauer R, Nüchter A. Inverse Kinematics of an Anthropomorphic 6R Robot Manipulator Based on a Simple Geometric Approach for Embedded Systems. Robotics. 2023; 12(4):101. https://doi.org/10.3390/robotics12040101
Chicago/Turabian StyleAnschober, Michael, Raimund Edlinger, Roman Froschauer, and Andreas Nüchter. 2023. "Inverse Kinematics of an Anthropomorphic 6R Robot Manipulator Based on a Simple Geometric Approach for Embedded Systems" Robotics 12, no. 4: 101. https://doi.org/10.3390/robotics12040101
APA StyleAnschober, M., Edlinger, R., Froschauer, R., & Nüchter, A. (2023). Inverse Kinematics of an Anthropomorphic 6R Robot Manipulator Based on a Simple Geometric Approach for Embedded Systems. Robotics, 12(4), 101. https://doi.org/10.3390/robotics12040101