МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН, КОМПЛЕКСОВ И КОМПЬЮТЕРНЫХ СЕТЕЙ
УДК 004.45:62-52
DOI: 10.24412/2071-6168-2022-8-386-390
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ТРАЕКТОРНОГО УПРАВЛЕНИЯ ВИРТУАЛЬНЫМ МОБИЛЬНЫМ РОБОТОМ НА БАЗЕ ARDUPILOT
М.В. Чугунов, И.Н. Полунина, И.А. Ермишов
В статье представлен программный модуль, предназначенный для планирования траектории и моделирования движения мобильного робота, собранного на платформе ArduPilot (ArduRover). Модуль функционирует совместно с широко распространенной станцией наземного управления MissionPlanner, пользовательский интерфейс которой используется в прозрачном окне для задания путевых точек на карте местности. Моделирование движения по заданной траектории виртуального робота реализуется на базе алгоритмов управления, основанных на линеаризации обратной связью.
Ключевые слова: мобильный робот, программное обеспечение робота, траекторное управление, ArduPilot, ArduRover, MissionPlanner, OpenGL
Для планирования траекторий и управления движением мобильных роботов в настоящее время используется широкий спектр программно-аппаратных платформ. Одной из наиболее распространенных и популярных платформ такого рода является ArduPilot, позволяющей решать указанные задачи для наземных, надводных, подводных и летающих роботов. При этом актуальной задачей является расширение штатного функционала программного обеспечения ArduPilot, что обусловлено необходимостью планирования траекторий и режимов движения (миссий), связанных с решением конкретных технологических задач, не предусмотренных штатным функционалом, а также для улучшения качества управления.
На практике, целесообразно осуществлять моделирование (тестирование и отладку) миссий на виртуальных моделях, что является более дешевым и безопасным мероприятием, не требующим никакого аппаратного обеспечения, кроме компьютера. Так, SITL (Software In The Loop) ArduPilot представляет собой средство моделирования подобного рода. При использовании MissionPlanner, откомпилированный и построенный на базе SITL exe-модуль физического симулятора заменяет собой штатный модуль ArduRover.exe [1].
В частности, в работе [2] указанная задача решается на основе SITL для квадрокопте-ра, используемого для доставки почты для множества адресатов, а программный код был протестирован с помощью SITL Simulator с MAVProxy в среде Ubuntu. В работе [3] задача моделирования на базе ArduPilot SITL решается для квадрокоптера в условиях ветрового воздействия.
В данный работе предлагается симулятор для моделирования движения виртуального робота по траектории, сформированной в среде наземной станции управления, в частности, MissionPlanner, но с использованием алгоритма траекторного управления, не входящего в штатный функционал ArduPilot.
Так, штатным алгоритмом для ArduPilot является алгоритм, основанный на ПИД (пропорционально-интегрально-дифференциальном) методе управления и представленный в работе
[4].
Математическое и программное обеспечение вычислительных машин, комплексов и ...
Мы используем алгоритм траекторного управления и путевой стабилизации, основанный на линеаризации обратной связью [5, 6], и который в работе [7] использовался нами в качестве алгоритма траекторного управления виртуальным роботом, функционирующем в среде SolidWorks Motion.
Таким образом, целью данной работы является разработка интегрированного программного обеспечения (модуля TrajectorySim), которое позволяло бы решать задачи планирования траекторий, траекторного управления и путевой стабилизации, а также моделирования движения (кинематики и динамики) робота как в CAE-средах (SolidWorks), так и в среде станций наземного управления (MissionPlanner).
В целях повышения качества графики, нами используется открытая графическая библиотека OpenGL [8]. OpenGL является эффективным и популярным средством, используемым для визуализации широкого спектра задач, аналогичных рассматриваемой нами и связанных с моделированием роботизированных систем. Так, в частности, в работе [9] решена задача предотвращения столкновений робота-манипулятора на основе системы планирования траектории движения в трехмерной среде.
Задача траекторного управления имеет множество частных приложений как в отношении роботов-манипуляторов, так и мобильных роботизированных платформ. Задача навигация мобильного робота на основе определения кратчайшего возможного пути перемещения из любого текущего положения в целевое положение в неизвестном окружение с движущимися препятствиями решена в работе [10], в качестве инструментов моделирования в этой работе также используется OpenGL.
Указанные средства широко используются для разработки и отладки алгоритмов траекторного управления и путевой стабилизации для мобильных роботов [11, 12], а также для тестирования, разработанного на их основе программного обеспечения [13].
Задача построения интегрированных моделей роботов-манипуляторов (виртуальных -на базе OpenGL и натурных - на базе fischertechnik) рассмотрена в работе [14].
Задача привнесения технологии виртуальной реальности в решение задач дистанционного управления мобильным роботом-манипулятором рассмотрена в работе [15, 16]. При этом одной из центральных задач является синхронизация поведения робота в реальной среде и его 3D-модели в виртуальной среде. OpenGL используется для создания 3D виртуальной среды.
Рис. 1. Основное окно и результаты работы программного модуля
На рис.1 показано основное окно нашего приложения (в белой рамке) и результаты его работы совместно с MissюnPlanner. Окно является прозрачным, поэтому пользователь имеет доступ как к интерфейсу MissionPlanner, так и к интерфейсу модуля TrajectorySim.
387
Известия ТулГУ. Технические науки. 2022. Вып. 8
Путевые точки формируются в MissionPlanner, затем они соединяются сегментами траекторий, которые пользователь выбирает из пиктографического меню в нижней части окна нашего приложения. Там же фиксируется режим задания ориентации робота в начальной точке и запуск процедуры моделирования (Run). Целевая траектория показана белым цветом, а результаты моделирования - тонкой красной линией. Наблюдается хорошее совпадение желаемой и фактической траектории, а также переходные процессы в точках стыковки сегментов.
Рис. 2. Блок-схема основного алгоритма
Программное обеспечение разработано в среде MS VisualStudio C++ (MFC) как многодокументное приложение [7]. В рассматриваемой части проект включает в себя две основные функции: функцию окна WindowFunc(), предназначенную для обработки сообщений Windows и, соответственно, реализующей пользовательский графический интерфейс, а также функцию выполнения алгоритмов управления Run() . Функция Run () выполняет циклическую процедуру по параметру времени, и результатом её работы является действительная траектория движения виртуального робота. Для выполнения графических процедур используются библиотеки GL, GLU, GLUT, GLAUX.
Авторы выражают признательность Фонду содействия развитию малых форм предприятий в научно-технической сфере, поддержавшего данный проект по программе УМНИК.
Список литературы
1. ArduPilot: 2022 [Электронный ресурс]. URL: https://ardupilot.org/dev/docs/sitl-with-realflight.html#mp-sitl-custom-code (дата обращения: 02.08.2022).
2. Hasan M., Qays, H.M., Jumaa, B.A., Salman A.D. Design and Implementation of Autonomous Quadcopter using SITL Simulator // IJCCCE. 2020. 20. P. 1-16.
3. Chu T., Starek M.J., Berryhill J., Quiroga C., Pashaei M. Simulation and Characterization of Wind Impacts on sUAS Flight Performance for Crash Scene Reconstruction // Drones. 2021. V. 5(67). [Электронный ресурс] URL: https://doi.org/10.3390/drones5030067 (дата обращения: 10.05.2022).
4. Park S., Deyst J., How J. A New Nonlinear Guidance Logic for Trajectory Tracking// Proceedings of the AIAA Guidance, Navigation, and Control Conference and Exhibit. American Institute of Aeronautics and Astronautics: Providence, Rhode Island. 2004. DOI: 10.2514/6.2004-4900.
5. Rapoport L.B. Estimation of Attraction Domains in Wheeled Robot Control // Automation and Remote Control. 2006. Vol. 67. P. 1416-1435. DOI: 10.1134/S0005117906090062.
6. Gilimyanov R.F., Pesterev A.V., Rapoport L.B. Motion Control for a Wheeled Robot Following a Curvilinear Path // Journal of Computer and Systems Sciences International. 2008. 47. P. 987-994. DOI: DOI: 10.1134/S1064230708060129.
7. Интегрированная модель мобильной роботизированной платформы / М.В. Чугунов [и др.] // Инженерные технологии и системы. 2021. Т. 31, № 4. С. 609-627. DOI: 10.15507/26584123.031.202104.609-627.
8. OpenGL: 2022 [Электронный ресурс] URL: https://www.opengl.org (дата обращения: 02.08.2022).
Математическое и программное обеспечение вычислительных машин, комплексов и ...
9. Wang Pengjie Application of OpenGL-based virtual collision avoiding technology in robot path planning simulation // 2011 International Conference on Multimedia Technology. 2011. P. 2964-2967. DOI: 10.1109/ICMT.2011.6003007.
10. Hossain M.A., Ferdous I. Autonomous robot path planning in dynamic environment using a new optimization technique inspired by Bacterial Foraging technique // 2013 International Conference on Electrical Information and Communication Technology (EICT). 2014. P. 1-6. DOI: 10.1109/EICT.2014.6777884.
11. Cheng-jun D., Ping D., Ming-lu Z., Yan-fang Z. Design of mobile robot teleoperation system based on virtual reality // 2009 IEEE International Conference on Automation and Logistics. 2009. P. 2024-2029. DOI: 10.1109/ICAL.2009.5262601.
12. Cui F., Zhang M. -l., Liu B. -q. Design of the Mending Robot Based on Virtual Reality and Intelligent Decision System// 2006 International Conference on Machine Learning and Cybernetics. 2006, P. 753-758. DOI: 10.1109/ICMLC.2006.258448.
13. Lupián L.F., Rabadán-Martín J.R. Segment-wise optimal trajectory execution control for four-wheeled omnidirectional mobile robots // 2009 6th Latin American Robotics Symposium (LARS 2009). 2009. P. 1-6. DOI: 10.1109/LARS.2009.5418325.
14. Lupian L.F., Avila R. Stabilization of a Wheeled Inverted Pendulum by a Continuous-Time Infinite-Horizon LQG Optimal Controller // 2008 IEEE Latin American Robotic Symposium. 2008. P. 65-70. DOI: 10.1109/LARS.2008.33.
15. Achmad B., Karsiti M.N. Visual-based fuzzy navigation system for mobile robot: Wall and corridor follower // 2007 International Conference on Intelligent and Advanced Systems. 2007. P. 244-248. DOI: 10.1109/ICIAS.2007.4658383.
16. Wang Y.M., Yin H.L., Xiao N.F. et al. Internet-based remote manipulation and monitoring of an industry robot in advanced manufacturing systems // Int J Adv Manuf Technol. 2009. 43. P.907-913. DOI: 10.1007/s00170-008-1768-y.
Чугунов Михаил Владимирович, канд. техн. наук, доцен, заведующий кафедрой, [email protected], Россия, Саранск, Мордовский государственный университет,
Полунина Ирина Николаевна, канд. пед. наук, доцент, my_pk@mail. ru, Россия, Саранск, Мордовский государственный университет,
Ермишов Иван Алексеевич, студент, Россия, Саранск, Мордовский государственный университет
ARDUPILOT-BASED VIRTUAL MOBILE ROBOT TRAJECTORY CONTROL SOFTWARE M. V. Chugunov, I.N. Polunina, I.A. Ermishov
The article presents a software module designed to plan the trajectory and simulate the movement of a mobile robot assembled on the ArduPilot (ArduRover) platform. The module works in conjunction with the widespread MissionPlanner ground control station, the user interface of which is used in a transparent window to set waypoints on the terrain map. Motion modeling along a given trajectory of a virtual robot is implemented on the basis of control algorithms based on feedback linearization.
Key words: mobile robot, robot software, trajectory control, ArduPilot, ArduRover, Mis-sionPlanner, OpenGL.
Chugunov Mikhail Vladimirovich, candidate of technical sciences, docent, head of a chair, [email protected], Russian, Saransk, Mordovian state university,
Polunina Irina Nikolaevna, candidate of pedagogical sciences, docent, [email protected], Russian, Saransk, Mordovian state university,
Ermishov Ivan Alekseyevich, student, Russian, Saransk, Mordovian state university