DOI 10.36622/VSTU.2023.19.4.003 УДК 681.51
ПРОЕКТИРОВАНИЕ СИСТЕМ УПРАВЛЕНИЯ РОБОТОТЕХНИЧЕСКИМИ СИСТЕМАМИ
ПОСРЕДСТВОМ CAD-СИСТЕМЫ
Г.В. Петрухнова, В.А. Трубецкой, А.С. Точилин Воронежский государственный технический университет, г. Воронеж, Россия
Аннотация: разработка и использование робототехнических систем актуальны, эффективны и обоснованы. Для контроля состояния роботов требуются современные инструменты сбора, хранения и анализа данных. Грамотная реализация процедур управления робототехническими системами является одним из главных условий обеспечения эффективности и надежности их функционирования. Рассматривается полуавтономный робот, управляемый посредством CAD-системы. Целью статьи является представление архитектуры системы для управления роботом-манипулятором. В данной задаче CAD-система представляет собой среду моделирования-управления, в которой трёхмерные модели отражают поведение физического устройства. Представляемая система включает в себя произвольную робототехниче-скую подсистему, состоящую из функциональных блоков, а также desktop-приложение, которое отображает модель управляемого устройства. Каждый блок робототехнической подсистемы может обмениваться информацией с другими элементами подсистемы. Протокол обмена информацией устроен так, что система модулей со своими внутренними адресами развернута на транспортном уровне. Внутренний адрес содержит тип устройства и его уникальный номер из числа таких устройств. Межмодульный обмен информацией определяется сеансовым уровнем протокола. Реализация программного обеспечения основана на использовании DLL-библиотеки с общим для всех таких библиотек API. Стек протоколов предполагает наличие нескольких независимых модулей, так данные распределяются между ними сервером. Для внешнего клиента существует только одна точка входа в систему - сервер. Модели реальных устройств загружаются в систему из файлов открытых форматов: OBJ, STL. Для каждого формата написаны шейдеры. Разработчик библиотеки может задать набор типов датчиков, приводов, накопителей, подходящих для работы с его устройством. Это делает систему подходящей для работы с устройствами из произвольного набора модулей с известным протоколом обмена данными. Чтобы добавить какое-либо новое устройство для мониторинга и управления, необходимо лишь реализовать протокол внутри встраиваемой системы, а после собрать реализацию части графической системы в виде динамической библиотеки. Рассмотрены примеры практического использования представляемой системы
Ключевые слова: робототехнические системы, модель OSI, трехмерное моделирование, CAD-система, шейдер, протокол обмена данными, desktop-приложение, модель освещения Фонга
Введение
Роботизированные системы широко используются на предприятиях для автоматизации широкого спектра производственных процессов. Внедрение робототехники позволяет не только оптимизировать производственные процессы, но и снизить затраты, сократить время выполнения операций, устранить ошибки человеческого фактора и улучшить качество продукции. Роботы используются для достижения самых разных целей, обусловленных спецификой производственного объекта. Для успешного решения своих профильных задач автоматизации производственных процессов роботы должны создаваться на надежных и эффективно работающих узлах информационно-управляющих систем.
Одна из целей создания робототехниче-ских систем состоит в том, чтобы наделить роботов расширенными функциями восприятия и действия, иначе говоря, сделать роботов спо-
© Петрухнова Г.В., Трубецкой В.А., Точилин А.С., 2023
собными выполнять самые разнообразные задачи в изменяющихся условиях, в которых люди и роботы сотрудничают. На сегодняшний день разработка и использование робототехни-ческих систем актуальны, эффективны и обоснованы [1], [2].
Для контроля состояния роботов требуются современные инструменты сбора, хранения, анализа и передачи данных. Грамотная реализация процедур управления робототехниче-скими системами является одним из главных условий обеспечения эффективности и надежности их функционирования.
В данной статье рассматривается полуавтономный робот, управляемый посредством CAD-системы. Целью данной статьи является представление архитектуры системы для управления роботом-манипулятором в реальном режиме времени.
Актуальность представленной работы состоит в создании системы, при помощи которой пользователь мог бы управлять робототех-нической системой, состоящей из произвольных периферийных модулей. На рынке в дан-
ный момент распространены лишь системы проектирования от производителей роботов, которые выполняют предварительную настройку заранее заданных типов роботов.
Постановка задачи
Рассмотрим постановку задачи по аналогии с работами [3] - [5].
Реализация функций управления состояниями робота сводится к выполнению ряда технологических операций в рамках соответствующих технологических процедур. Формализуем этот процесс.
В общем случае модель любого объекта, подлежащего контролю, есть кортеж, представленный ниже:
А = < Т, X, У, I К >,
где Т - множество моментов времени, в которые наблюдается объект; X, У - множества входных и выходных сигналов соответственно; Z - множество состояний объекта; Е - оператор переходов, отражающий механизм изменения состояния объекта как реакцию объекта на внутренние и внешние возмущения; Ь - оператор выходов, описывающий механизм формирования выходного сигнала под воздействием внутренних и внешних возмущений.
Операторы Е и Ь задают собой отображения (1) и (2), соответственно:
к- ТхХхI - I (1)
Ь:ТхХх1-У (2)
Следующим этапом моделирования процедуры контроля состояний робота является постановка и решение задачи классификации, т.е. соотнесения наблюдаемого состояния робота к одному из заданных классов его состояний. В общем виде суть решения этой задачи заключается в отыскании отображения ц, представляемого как:
ц: У-Е, (3)
где Е есть множество классов состояний робота.
Задачу контроля состояния робота можно в общем виде представить как объединение отображений (2) и (3) [5]:
Т хХх1->У->Е. (4)
Выбор состояния, в которое должен перейти робот, остается за пользователем, работающим в CAD-системе. Пользователь задает состояние - система выполняет его указание.
Цель данной статьи состоит в представлении технических средств, позволяющих формировать множества X и Y.
Множества Z, E, отображения F, L, ц, в рассматриваемой задаче, как правило, задаются техническим заданием на выполнение технологической процедуры, техническими характеристиками роботизированной системы и человеком, который управляет роботом посредством CAD-системы.
Архитектура системы управления состояниями робота
В данной задаче CAD-система представляет собой среду моделирования-управления, в которой 3-D модели отражают поведение физического устройства.
Представляемая система состоит из двух подсистем. Первая из них включает в себя произвольную робототехническую подсистему, состоящую из функциональных блоков. Вторая подсистема - это desktop-приложение, которое отображает модель управляемого устройства. Каждый блок робототехнической подсистемы может обмениваться информацией с другими составляющими блоками.
Протокол обмена информацией устроен так, что система модулей со своими внутренними адресами развернута на одном транспортном уровне. Внутренний адрес содержит тип устройства и его уникальный номер из числа таких устройств. Межмодульный обмен информацией определяются сеансовым уровнем протокола. Реализация программного обеспечения основана на использовании DLL-библиотеки с общим для всех таких библиотек API. Таким образом, разработчик протокола имеет возможность изменять организацию данных самостоятельно. Схема обмена данными представлена на рис. 1.
Модели реальных устройств загружаются в систему из файлов открытых форматов: OBJ, STL. Структура файла STL содержит в себе треугольники из вершин и готовые нормали, а для моделей формата OBJ необходимо считать нормали по ориентации, заданной тремя индексами вершин.
Для каждого формата написаны шейдеры - программы, выполняемые на видеокарте, при помощи которых формируется конечное изоб-
ражение на экране. В работе фигурируют вершинный (преобразование трёхмерных координат в нормализованные координаты устройства) и фрагментный (преобразование цвета пикселя) шейдеры. Геометрические шейдеры могли быть использованы для расчёта нормалей или перевода граней в рёбра для отображения каркаса модели. Однако, с точки зрения производительности, быстрее посчитать нормали при загрузке модели, а каркас можно оптимизировать при помощи матрицы смежности таким образом, чтобы он не содержал одинаковых ребер.
Фрагментный шейдер основан на упрощённой модели освещения Фонга [6], согласно которой цвет каждого пикселя внутри грани описывается по формулам (5), (6):
level = п • (light — fragment) * specular. (5) color = level * color11 + col.orp . (6)
По формуле (5) определяется уровень level. Вначале находится скалярное произведение между нормалью грани п и вектором от позиции света до пикселя (hght — fragment). Далее скалярное произведение умножается на коэффициент отражения материала specular, specular Е [0,1].
Для получения конечного цвета нужно по формуле (6) сложить цвет грани со1.огр с цветом освещения, умноженным на уровень level. Если грань повёрнута в сторону от источника освещения, то скалярное произведение будет иметь отрицательный знак, что делает грань темнее в итоге.
В программном обеспечении позиция источника света совпадает с позицией сценической камеры, а также количество поглощаемого света ограничено коэффициентом отражения (значение level всегда меньше или равно 1). В этом случае отпадает надобность в реализации фонового компонента освещения.
Вершинный же шейдер реализует стандартное вычисление позиции вершины при помощи матриц MVP [7]. Для реализации математической модели робототехнической системы необходимо вычислить матрицу системных преобразований Sn, как произведение мировых матриц Mt всех звеньев модели, предшествующих данному звену (7). Мировая матрица непосредственно умножается на найденную матрицу системных преобразований, как показано в формуле (8):
5п = П?=:01м1. (7)
Мп=Бп* М;. (8)
Подобные преобразования помогут эмулировать связь звеньев робототехнической системы. При трансформации элемента, более близкого к базе, все присоединённые к нему звенья трансформируются соответствующим образом (рис. 2).
Оператор может загрузить на сцену некоторое количество моделей разных форматов, объединить их в деревья зависимостей. Каждый элемент дерева вычисляет свою матрицу согласно формулам (7) и (8). Элемент дерева представляет собой узел со ссылкой на родительский элемент и списком ссылок на дочерние. Таким образом, у модели может быть только один родитель - в противном случае расчёт мировой матрицы модели не однозначен: было бы не понятно, у какого именно родителя брать матрицу моделей. Из деревьев формируется сборка, представляющая собой законченное устройство.
Для трансформации объектов сцены используются либо клавиатурные события, либо значения из полей ввода окна свойств. При изменении значения переноса или угла поворота модели, все её дочерние узлы перестраиваются по новой системной матрице.
При наличии активного подключения к шлюзу, распределяющему сообщения по физическим узлам робототехнической системы, вместе с трансформацией элемента производится отправка актуальных координат модели. Если для модели задан существующий на стороне робота идентификатор, шлюз перенаправит координаты соответствующему приводу, на что тот сможет среагировать. Реализация обработки сигнала и реакции на него является отдельной задачей, не затрагивающей рассматриваемую систему моделирования и управления. В самом простом случае МПС должна разбить пришедшие данные на углы Эйлера и изменить скважность ШИМ-сигнала для привода в соответствии с его степенями свободы.
Программное обеспечение управления роботом задаёт идентификацию собственных периферийных устройств. Количество идентификаторов не обязано должно совпадать с количеством моделей в сцене desktop-приложения. Оператор может управлять ограниченным количеством периферийных устройств, а также расширять библиотеку обработки сообщений. Например, для того, чтобы принимать видеосиг-
нал с устройства, оборудованного камерой, пользователь может загрузить динамическую библиотеку. Внутри неё включается перечисление, задающее соответствие между номером типа объекта и его назначением, дополнительные пункты контекстного меню, открываемые окна.
Разработчик библиотеки может задать набор типов датчиков, приводов, накопителей, подходящих для работы с его устройством. Это делает систему подходящей для работы с устройствами из произвольного набора модулей с известным протоколом обмена данными. Чтобы добавить какое-либо новое устройство для мониторинга и управления, необходимо лишь реализовать протокол внутри встраиваемой системы, а после собрать реализацию ча-
сти графической системы в виде динамической библиотеки.
Пользователь Рис. 1. Схема обмена данными
Рис. 2. Трансформация узла внутри окна моделирования с деревом объектов
Подобное архитектурное решение делает систему управления довольно гибкой, поскольку сама по себе система не будет хранить заранее предустановленные конфигурации для ограниченного набора робототехнических систем. Вместо этого, продвинутый конечный пользователь сможет настроить программное обеспечение под своё устройство, используя графические элементы окна и контекстное меню. Обычный же пользователь сможет загрузить готовое расширение.
Система может быть полезна не только для того, чтобы реализовывать управление роботом в реальном времени, но и для того, чтобы осуществлять тестирование протоколов обмена данными, получая визуальный отклик на какие-либо манипуляции с робототехнической системой.
Реализации режима непосредственного цифрового управления роботом
Представленная система может быть востребована для реализации режима непосред-
ственного цифрового управления (НЦУ). В таких системах сигнал от управляющего вычислительного комплекса передается посредством определенных преобразователей к исполнительным устройствам. Системы НЦУ характеризуются отсутствием аппаратурной избыточности. В них широко используется возможность изменения алгоритмов управления контурами посредством изменения программного кода. Подобные системы отличаются гибкостью и могут совершенствоваться без изменений аппаратурной составляющей, что не представляется возможным при использовании других механизмов регулирования. Таким образом, в системах с НЦУ разработка программного кода может являться альтернативой монтажным работам на действующем объекте. Функционирование системы НЦУ можно представить схемой на рис. 3.
Для эффективной работы систем НЦУ необходимо наличие моделей внешней среды, полных и подробных моделей рабочей зоны. В соответствии с назначением системы человеку-оператору может потребоваться информация о
текущем угле курса движения определенного объекта, о крене или наклоне объекта, о текущем положении робота; об обнаруженных проходимых и непроходимых участках среды, о выделенных типовых объектах, о различных сечениях и проекциях рабочей зоны. Очень актуальны видеоизображения среды в реальном времени, для чего необходима видеокамера. Подобная информация позволяет детально рассмотреть и проанализировать рабочую зону и ее фрагменты.
В представляемой системе на основе анализа информации, полученной из внешней среды, человек-оператор принимает решение о корректировке положения робота. Для этого ему достаточно скорректировать модель на экране компьютера путем трансформации узлов, например, так, как показано на рис. 2. Робот вслед за человеком-оператором реализует предписанные действия.
Среда моделирования предоставляет возможность оператору в режиме диалога загружать модели на сцену. Загруженный файл отобразится в виде модели на экране компьютера. Для оценки пространственного положения детали пользователь может воспользоваться управлением камерой. Помочь сориентироваться в пространстве должны координатные оси мирового пространства. Для каждого от-
дельного элемента модели имеется возможность настройки его свойств. При наличии нескольких моделей на сцене, оператор может объединить их в сборки путем перетаскивания узлов в дереве модели. Каждый дочерний узел связан с родительским и повторяет его трансформации.
Для подключения своего собственного робота к представленной системе, необходимо, согласно инструкциям программиста, реализовать методы обмена и обработки данных между микропроцессорной системой, встроенной в робота, и приложением.
При использовании алгоритмов компьютерного зрения у робота появляется возможность моделирования трёхмерных объектов вокруг себя. Подобные технологии используются в геоинформационных системах. Спроектированная система может упростить процесс восстановления геометрии по серии снимков, предоставляя для каждого из них дополнительную информацию. Человек-оператор в случае непосредственного цифрового управления будет контролировать объём восстановленной трёхмерной поверхности и итеративно повторять процесс восстановления, если получены некорректные результаты для какой-то области пространства.
Рис. 3. Схема функционирования системы НЦУ
Заключение
В статье показана актуальность и эффективность использования робототехнических систем на современных автоматизированных предприятиях. Проведена формализация про-
цедур контроля роботов-манипуляторов. Выделены основные множества, которые формализуют разработанные технические средства для управления роботом-манипулятором.
Для управления роботом используется система проектирования, посредством которой
решаются задачи обратной кинематики для определения смещения приводов, чтобы задать положение "руки" в координатном пространстве. В статье рассматривается реализация режима непосредственного цифрового управления. Для управления предварительно программируют систему - зашивают в микроконтроллер, на базе которого реализован робот, скетч. Робот-манипулятор в последствие сможет выполнять самостоятельно заложенный алгоритм действий.
Система проектирования позволяет пользователю из готовых моделей приводов/датчиков/неподвижных частей системы создавать сборки. Когда же программа с настроенной сборкой подключается к реальной системе, то происходит обмен информацией, посредством которого осуществляется управление физическим устройством через его модель.
Результаты исследования разработанной системы показали широкие возможности ее расширяемости.
Литература
1. Ядровская М.В., Гурин И.В. Исследование актуальности робототехнических технологий // Advanced Engineering Research. 2022. Т. 22. № 4. С. 353-364.
2. Galin R., Meshcheryakov R. Review on HumanRobot Interaction During Collaboration in a Shared Workspace. In: Ronzhin A., Rigoll G., Meshcheryakov R. (eds) Interactive Collaborative Robotics // ICR 2019. Lecture Notes in Computer Science. 2019. Vol. 11659. Springer, Cham. DOI: 10.1007/978-3-030-26118-4_7.
3. Байкин В. А., Стецюк А. Н. Формализация технологических процедур контроля жизненного цикла сложной инженерно-технической системы // Программные системы и вычислительные методы. 2016. №1(10). Сс. 52-58. DOI: 10.7256/2305-6061.2015.1.14407
4. Петрухнова Г.В., Болдырев И. Р. Многофункциональная система сбора данных для контроля состояния технических средств // Вестник Воронежского государственного университета. 2021. Т. 17. № 6. С. 56 - 61.
5. Петрухнова Г.В., Болдырев И. Р., Усачев М.Г. Структура многофункциональной системы для контроля состояния технических средств // Вестник Воронежского государственного университета. 2022. Т. 18. № 6. С. 3945.
6. Szeliski R. Computer Vision: Algorithms and Applications // Springer, 2022. 925 с.
7. LearnOpenGL - Coordinate Systems. URL: https:// learnopengl.com/Getting-started/Coordinate-Systems
Поступила 01.06.2023; принята к публикации 15.08.2023 Информация об авторах
Петрухнова Галина Викторовна - канд. техн. наук, доцент, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: gvpetruhnova@mail.ru
Трубецкой Виктор Александрович - канд. техн. наук, доцент, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: viktortrubetsckoi@yandex.ru
Точилин Александр Сергеевич - студент, Воронежский государственный технический университет (394006, Россия, г. Воронеж, ул. 20-летия Октября, 84), e-mail: alexgerggot@gmail.com
DESIGN OF CONTROL SYSTEMS FOR ROBOTIC SYSTEMS BY MEANS OF A CAD SYSTEM
G.V. Petrukhnova, V.A. Trubetskoy, A.S. Tochilin Voronezh State Technical University, Voronezh, Russia
Abstract: the development and use of robotic systems are relevant, effective and justified. Modern data collection, storage and analysis tools are required to monitor the state of robots. Competent implementation of control procedures for robotic systems is one of the main conditions for ensuring the efficiency and reliability of their functioning. This article discusses a semi-autonomous robot controlled by a CAD system. The purpose of the article is to present the architecture of system for controlling a robot manipulator. In this task, the CAD system is a simulation-control environment in which three-dimensional models reflect the behavior of a physical device. The presented system includes an arbitrary robotic subsystem consisting of functional blocks, as well as a desktop application that displays a model of a controlled device. Each unit of the robotic subsystem can exchange information with other elements of the subsystem. The information exchange protocol is designed so that the system of modules with their internal addresses is deployed at the transport level. The internal address contains the device type and its unique number from among such devices. The intermodule exchange of information is determined by the session level of the protocol. The software implementation is based on the use of a DLL library with an API common to all such libraries. The protocol stack assumes the presence of several independent modules, and the data is distributed between them by the server. For an external client, there is only one entry point to the system - the server. Models of real devices are loaded into the system from files of open formats: OBJ, STL. Shaders are written for each format. The library developer can specify a set of types of sensors, drives, drives suitable for working with his device. This makes the system suitable for working with devices from an arbitrary set of modules with a known communication protocol. To add any new device for monitoring and control, it is only necessary to implement the protocol inside the embedded system, and then assemble the implementation of the part of the graphical system in the form of a dynamic library. Examples of practical use of the presented system are considered
Key words: robotics systems, OSI model, three-dimensional modeling, CAD system, shader, data exchange protocol, desktop application, Phong lighting model
References
1. Yadrovskaya M.V., Gurin I.V. "Study of the relevance of robotic technologies", Advanced Engineering Research, 2022, vol. 22, no 4, pp. 353-364.
2. Galin R., Meshcheryakov R. "Review on Human-Robot Interaction During Collaboration in a Shared Workspace", in: Ronzhin A., Rigoll G., Meshcheryakov R. (eds) "Interactive Collaborative Robotics", ICR 2019. Lecture Notes in Computer Science, 2019, vol 11659, Springer, Cham. DOI: 10.1007/978-3-030-26118-4_7.
3. Baykin V.A., Stetsyuk A.N. "Formalization of technological procedures for monitoring the life cycle of a complex engineering system", Software systems and computational methods (Programmnyye sistemy i vychislitel'nyye metody), 2016, no. 1 (10), pp. 52-58, DOI: 10.7256/2305.
4. Petrukhnova G.V., Boldyrev I.R. "Multifunctional data acquisition system for monitoring the state of technical means", The Bulletin of Voronezh State University (Vestnik Voronezhskogo gosudarstvennogo universiteta), 2021, vol. 17, no. 6, pp. 56 - 61.
5. Petrukhnova G.V., Boldyrev I.R., Usachev M.G. "The structure of a multifunctional system for monitoring the state of technical means", The Bulletin of Voronezh State University (Vestnik Voronezhskogo gosudarstvennogo universiteta), 2022. vol. 18, no. 6, pp. 39-45
6. Szeliski R. "Computer Vision: Algorithms and Applications", Springer, 2022, 925 p.
7. "LearnOpenGL - Coordinate Systems" available at: https://learnopengl.com/Getting-started/Coordinate-Systems
Submitted 01.06.2023; revised 15.08.2023 Information about the authors
Galina V. Petrukhnova - Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia ), e-mail: gvpetruhnova@mail.ru
Viktor A. Trubetskoy - Cand. Sc. (Technical), Associate Professor, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia ), e-mail: viktortrubetsckoi@yandex.ru
Alexander S. Tochilin - Undergraduate student, Voronezh State Technical University (84 20-letiya Oktyabrya str., Voronezh 394006, Russia), e-mail: alexgerggot@gmail.com