Software implementation of a hierarchical approach to solving the inverse problem of kinematics of a robot manipulator
https://doi.org/10.21869/2223-1560-2024-28-2-71-91
Abstract
Purpose of research. Development of a software implementation of a hierarchical approach to solving the inverse problem of the kinematics of a robot manipulator with an arbitrary number of joints. The developed library can be used both as part of mechanical engineering CAD systems with support for engineering analysis (CAE) functionality, and for the development of software for embedded control systems for multi-axis handling machines.
Methods. The idea of the approach is to iteratively approximate generalized coordinates in a sequence defined by the developer. The number of required iterations is determined by the required accuracy of the solution. As initial data for solving the inverse kinematics problem, a 4 × 4 “manipulator matrix” in symbolic form, initial values of generalized coordinates, and a 4 × 4 “manipulator matrix” describing the final position and orientation of the gripper are required. The ANSI C programming language was chosen for implementation because it provides sufficient portability and proximity to the hardware.
Results. The result of the work is a library of the C programming language for computers running operating systems of the Unix family (for example, GNU/Linux, freeBSD, openBSD, macOS, Solaris), which provides the functions necessary to solve the inverse problem of the kinematics of a robot manipulator.
Conclusion. The article shows an example of using this library for a three-link robotic manipulator, and also plots the trajectory of its movement along ten points. Using the libreRGM3 library proposed in the article can be an effective way to solve OZK when modeling robot movement in CAD (for example, OpenSCAD [8]), for educational or research purposes, when working with a computer without a graphical interface or with a programmable logic controller and microcontroller.
About the Authors
E. M. ApokinRussian Federation
Elisey M. Apokin, Student
50 Let Oktyabrya ave. 7, Bryansk 241035
Competing Interests:
The authors declare the absence of obvious and potential conflicts of interest related to the publication of this article
V. A. Khandozhko
Russian Federation
Viktor A. Khandozhko, Cand. of Sci. (Engineering), Associate Professo,, Head of the Automated Technological Systems Department
50 Let Oktyabrya ave. 7, Bryansk 241035
Competing Interests:
The authors declare the absence of obvious and potential conflicts of interest related to the publication of this article
References
1. Borisov O. I., Gromov V. S., Pyrkin A. A. Methods for controlling robotic applications. Saint Petersburg: Universitet ITMO; 2016. 108 p. (In Russ.).
2. Simulate Robot Applications Program any Industrial Robot with One Simulation Environment. RoboDK. Available at: https://robodk.com/ (accessed 08.12.2023).
3. Software package for modeling robots and robotic systems. Dyn-Soft RobSim. Available at: http://www.robsim.dynsoft.ru/ (accessed 08.12.2023).
4. Web based free tool to search, compare and immediately analyze particular robots. KUKA Load. Available at: https://www.kuka.com/en-de/products/robot-systems/software/ cloud-software/kuka-load (accessed 08.12.2023).
5. Universal mechanism. (In Russ.). Available at: http://www.robsim.dynsoft.ru/ (accessed 08.12.2023).
6. Design, simulate, test, and deploy robotics applications. Robotics System Toolbox. Available at: https://www.mathworks.com/products/robotics.html (accessed 08.12.2023).
7. Latest Official Release: 0.8.2. Open RAVE. Available at: http://www.openrave.org/ (accessed 08.12.2023).
8. The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. ROS - Robot Operating System. Available at: https://www.ros.org/ (accessed 08.12.2023).
9. Kerningan B. W., Ritchie D. M. Programming language C. 2nd ed. Saint Petersburg: Dialektika; 2020. 288 p. (In Russ.).
10. Karginov L. A. Hierarchical approach to solving the inverse problem of kinematics. Nauka i obrazovanie. MGTU im. N. E. Baumana = Science and Education. MSTU im. N. E. Bauman. 2016; (3): 37-63. (In Russ.).
11. Fu K., Gonzalez R., Li K. Robotics. Moscow: Mir; 1989. 624 p. (In Russ.).
12. Krakhmalev O. N. Modeling of manipulation systems of robots. Saratov: IP Er Media; 2018. 165 p. (In Russ.).
13. LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity. LibreOffice. Available at: https://www.libreoffice.org/ (accessed 11.12.2023).
14. Run your private office with the ONLYOFFICE. OnlyOffice. Available at: https://www.onlyoffice.com/ (accessed: 11.12.2023).
15. Turn data into insights with free and premium spreadsheets. Microsoft Excel. Available at: https://www.microsoft.com/en-us/microsoft-365/excel (accessed 11.12.2023).
16. Maxima. A Computer Algebra System. Maxima. Available at: https://maxima.sourceforge.io/ (accessed 13.12.2023).
17. Debian – The Universal Operating System. Debian. Available at: https://www.debian.org/ (accessed 25.12.2023).
18. Stolyarov A.V. Programming: an introduction to the profession. Vol.2: Sistemy i seti. 2nd ed. Moscow: DMK Press; 2021. 656 p. (In Russ.).
19. OpenSCAD:The Programmers Solid 3D CAD Modeller. OpenSCAD. Available at: https://openscad.org/ (accessed 25.12.2023).
20. GIMP – GNU Image Manipulation Program. GIMP. Available at: https://www.gimp.org/ (accessed 25.12.2023).
Review
For citations:
Apokin E.M., Khandozhko V.A. Software implementation of a hierarchical approach to solving the inverse problem of kinematics of a robot manipulator. Proceedings of the Southwest State University. 2024;28(2):71-91. (In Russ.) https://doi.org/10.21869/2223-1560-2024-28-2-71-91