<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">izvestswsu</journal-id><journal-title-group><journal-title xml:lang="ru">Известия Юго-Западного государственного университета</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings of the Southwest State University</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2223-1560</issn><issn pub-type="epub">2686-6757</issn><publisher><publisher-name>ЮЗГУ</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.21869/2223-1560-2024-28-2-71-91</article-id><article-id custom-type="elpub" pub-id-type="custom">izvestswsu-1264</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Информатика, вычислительная техника и управление</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Computer science, computer engineering and IT managment</subject></subj-group></article-categories><title-group><article-title>Программная реализация иерархического подхода решения обратной задачи кинематики робота – манипулятора</article-title><trans-title-group xml:lang="en"><trans-title>Software implementation of a hierarchical approach to solving the inverse problem of kinematics of a robot manipulator</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0009-0009-3390-3787</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Апокин</surname><given-names>Е. М.</given-names></name><name name-style="western" xml:lang="en"><surname>Apokin</surname><given-names>E. M.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Апокин Елисей Михайлович, студент</p><p>бульвар 50 лет Октября, д. 7, г. Брянск 241035</p></bio><bio xml:lang="en"><p>Elisey M. Apokin, Student</p><p>50 Let Oktyabrya ave. 7, Bryansk 241035</p></bio><email xlink:type="simple">aoipkn@yandex.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-5212-0616</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Хандожко</surname><given-names>В. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Khandozhko</surname><given-names>V. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Хандожко Виктор Александрович, кандидат технических наук, доцент, заведующий кафедрой «Автоматизированные технологические системы»</p><p>бульвар 50 лет Октября, д. 7, г. Брянск 241035</p></bio><bio xml:lang="en"><p>Viktor A. Khandozhko, Cand. of Sci. (Engineering), Associate Professo,, Head of the Automated Technological Systems Department</p><p>50 Let Oktyabrya ave. 7, Bryansk 241035</p></bio><email xlink:type="simple">vichandozhko@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Брянский государственный технический университет</institution></aff><aff xml:lang="en"><institution>Bryansk State Technical University</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2024</year></pub-date><pub-date pub-type="epub"><day>28</day><month>06</month><year>2024</year></pub-date><volume>28</volume><issue>2</issue><fpage>71</fpage><lpage>91</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Апокин Е.М., Хандожко В.А., 2024</copyright-statement><copyright-year>2024</copyright-year><copyright-holder xml:lang="ru">Апокин Е.М., Хандожко В.А.</copyright-holder><copyright-holder xml:lang="en">Apokin E.M., Khandozhko V.A.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://izvestswsu.elpub.ru/jour/article/view/1264">https://izvestswsu.elpub.ru/jour/article/view/1264</self-uri><abstract><sec><title>Цель исследования</title><p>Цель исследования. Разработка программной реализации иерархического подхода к решению обратной задачи кинематики робота-манипулятора с произвольным количеством сочленений. Разработанная библиотека может быть использована как в составе САПР машиностроительного назначения с поддержкой функционала инженерного анализа (CAE), так и для разработки программного обеспечения встроенных систем управления многокоординатными манипуляционными машинами.</p></sec><sec><title>Методы</title><p>Методы. Идея подхода заключается в итерационном приближении обобщенных координат в последовательности, определенной разработчиком. Количество необходимых итераций определяется требу-емой точностью решения. В качестве исходных данных для решения обратной задачи кинематики требуется «матрица манипулятора» 4 × 4 в символьном виде, начальные значения обобщенных коорди-нат, и «матрица манипулятора» 4 × 4, описывающая финальные положение и ориентацию схвата. Для реализации выбран язык программирования Си стандарта ANSI C, поскольку он обеспечивает доста-точную портативность и близость к аппаратуре.</p></sec><sec><title>Результаты</title><p>Результаты. Результатом работы является библиотека языка программирования Си для ЭВМ под управлением операционных систем семейства Unix (например, GNU/Linux, freeBSD, openBSD, macOS, Solaris), которая предоставляет функции, необходимые для решения обратной задачи кинематики робота–манипулятора.</p></sec><sec><title>Заключение</title><p>Заключение. В статье показан пример использования данной библиотеки для трехзвенного робота– манипулятора, а также построена траектория его движения по десяти точкам. Использование предложенной в статье библиотеки libreRGM3 может быть эффективным способом решения ОЗК при моделировании движения робота в САПР (например, OpenSCAD [<xref ref-type="bibr" rid="cit8">8</xref>]), в учебных или исследовательских целях, в условиях работы с ЭВМ без графического интерфейса или с программируемым логическим контроллером и микроконтроллером.</p></sec></abstract><trans-abstract xml:lang="en"><sec><title>Purpose of research</title><p>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.</p></sec><sec><title>Methods</title><p>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.</p></sec><sec><title>Results</title><p>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.</p></sec><sec><title>Conclusion</title><p>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 [<xref ref-type="bibr" rid="cit8">8</xref>]), for educational or research purposes, when working with a computer without a graphical interface or with a programmable logic controller and microcontroller.</p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>робот</kwd><kwd>иерархический подход</kwd><kwd>программа</kwd><kwd>алгоритм</kwd><kwd>UNIX</kwd></kwd-group><kwd-group xml:lang="en"><kwd>robot</kwd><kwd>hierarchical approach</kwd><kwd>program</kwd><kwd>algorithm</kwd><kwd>UNIX</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Борисов О. И., Громов В. С., Пыркин А. А. Методы управления робототехническими приложениями. СПб.: Университет ИТМО, 2016. 108 c.</mixed-citation><mixed-citation xml:lang="en">Borisov O. I., Gromov V. S., Pyrkin A. A. Methods for controlling robotic applications. Saint Petersburg: Universitet ITMO; 2016. 108 p. (In Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Simulate Robot Applications Program any Industrial Robot with One Simulation Environment // RoboDK. URL: https://robodk.com/ (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">Simulate Robot Applications Program any Industrial Robot with One Simulation Environment. RoboDK. Available at: https://robodk.com/ (accessed 08.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Программный комплекс для моделирования роботов и робототехнических систем // Dyn-Soft RobSim. URL: http://www.robsim.dynsoft.ru/ (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">Software package for modeling robots and robotic systems. Dyn-Soft RobSim. Available at: http://www.robsim.dynsoft.ru/ (accessed 08.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Web based free tool to search, compare and immediately analyze particular robots // KUKA Load. URL: https://www.kuka.com/en-de/products/robot-systems/software/cloudsoftware/kuka-load (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">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).</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Универсальный механизм. URL: http://www.robsim.dynsoft.ru/ (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">Universal mechanism. (In Russ.). Available at: http://www.robsim.dynsoft.ru/ (accessed 08.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Design, simulate, test, and deploy robotics applications // Robotics System Toolbox. URL: https://www.mathworks.com/products/robotics.html (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">Design, simulate, test, and deploy robotics applications. Robotics System Toolbox. Available at: https://www.mathworks.com/products/robotics.html (accessed 08.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Latest Official Release: 0.8.2 // Open RAVE. URL: http://www.openrave.org/ (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">Latest Official Release: 0.8.2. Open RAVE. Available at: http://www.openrave.org/ (accessed 08.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications // ROS - Robot Operating System. URL: https://www.ros.org/ (дата обращения: 08.12.2023).</mixed-citation><mixed-citation xml:lang="en">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).</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Кернинган Б. У., Ритчи Д. М. Язык программирования C. 2-е изд. СПб., 2020. 288 c.</mixed-citation><mixed-citation xml:lang="en">Kerningan B. W., Ritchie D. M. Programming language C. 2nd ed. Saint Petersburg: Dialektika; 2020. 288 p. (In Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Каргинов Л. А. Иерархический подход к решению обратной задачи кинематики // Наука и образование. МГТУ им. Н. Э. Баумана. 2016. № 3. C. 37-63.</mixed-citation><mixed-citation xml:lang="en">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.).</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Фу К., Гонсалес Р., Ли К. Робототехника. М.: Мир, 1989. 624 c.</mixed-citation><mixed-citation xml:lang="en">Fu K., Gonzalez R., Li K. Robotics. Moscow: Mir; 1989. 624 p. (In Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Крахмалев О. Н. Моделирование манипуляционных систем роботов. Саратов: Ай Пи Эр Медиа, 2018. 165 с.</mixed-citation><mixed-citation xml:lang="en">Krakhmalev O. N. Modeling of manipulation systems of robots. Saratov: IP Er Media; 2018. 165 p. (In Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">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. URL: https://www.libreoffice.org/ (дата обращения: 11.12.2023).</mixed-citation><mixed-citation xml:lang="en">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).</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Run your private office with the ONLYOFFICE // OnlyOffice. URL: https://www.onlyoffice.com/ (дата обращения: 11.12.2023).</mixed-citation><mixed-citation xml:lang="en">Run your private office with the ONLYOFFICE. OnlyOffice. Available at: https://www.onlyoffice.com/ (accessed: 11.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Turn data into insights with free and premium spreadsheets // Microsoft Excel. URL: https://www.microsoft.com/en-us/microsoft-365/excel (дата обращения: 11.12.2023).</mixed-citation><mixed-citation xml:lang="en">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).</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Maxima. A Computer Algebra System // Maxima. URL: https://maxima.sourceforge.io/ (дата обращения: 13.12.2023).</mixed-citation><mixed-citation xml:lang="en">Maxima. A Computer Algebra System. Maxima. Available at: https://maxima.sourceforge.io/ (accessed 13.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Debian – The Universal Operating System // Debian. URL: https://www.debian.org/ (дата обращения: 25.12.2023).</mixed-citation><mixed-citation xml:lang="en">Debian – The Universal Operating System. Debian. Available at: https://www.debian.org/ (accessed 25.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Столяров А. В. Программирование: введение в профессию. Т.2. Системы и сети. 2-е изд. М.: ДМК Пресс, 2021. 656 c.</mixed-citation><mixed-citation xml:lang="en">Stolyarov A.V. Programming: an introduction to the profession. Vol.2: Sistemy i seti. 2nd ed. Moscow: DMK Press; 2021. 656 p. (In Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">OpenSCAD:The Programmers Solid 3D CAD Modeller // OpenSCAD. URL: https://openscad.org/ (дата обращения: 25.12.2023).</mixed-citation><mixed-citation xml:lang="en">OpenSCAD:The Programmers Solid 3D CAD Modeller. OpenSCAD. Available at: https://openscad.org/ (accessed 25.12.2023).</mixed-citation></citation-alternatives></ref><ref id="cit20"><label>20</label><citation-alternatives><mixed-citation xml:lang="ru">GIMP – GNU Image Manipulation Program // GIMP. URL: https://www.gimp.org/ (дата обращения: 25.12.2023).</mixed-citation><mixed-citation xml:lang="en">GIMP – GNU Image Manipulation Program. GIMP. Available at: https://www.gimp.org/ (accessed 25.12.2023).</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
