РОБОТОТЕХНИЧЕСКИЙ КОМПЛЕКС ДЛЯ ОТРАБОТКИ ПУЛЬТОВОЙ АППАРАТУРЫ СИСТЕМ УПРАВЛЕНИЯ ИЗДЕЛИЯМИ РАКЕТНО-КОСМИЧЕСКОЙ ТЕХНИКИ

Робототехника и искусственный интеллект

УДК 004.896

РОБОТОТЕХНИЧЕСКИЙ КОМПЛЕКС ДЛЯ ОТРАБОТКИ ПУЛЬТОВОЙ АППАРАТУРЫ СИСТЕМ УПРАВЛЕНИЯ ИЗДЕЛИЯМИ РАКЕТНО-КОСМИЧЕСКОЙ ТЕХНИКИ

DOI: 10.24412/^-35807-2023-1-43-49

Рублева Е. А., студент ФГАОУВО «Национальный исследовательский ядерный университет «МИФИ»

ROBOTIC COMPLEX FOR TESTING REMOTE CONTROL EQUIPMENT OF CONTROL SYSTEMS FOR ROCKET AND SPACE TECHNOLOGY PRODUCTS

Rubleva E. A., student of "National Research Nuclear University "MEPhI"

Аннотация. В статье рассматривается ро-бототехнический комплекс (РТК) для автоматизации отработочных мероприятий. С его помощью удалось минимизировать участие человека в процессах отработки пультовой аппаратуры. В состав комплекса входит робот-манипулятор, ПЭВМ для запуска РТК и программное обеспечение для управления РТК. Разработанное решение позволило увеличить количество испытаний за счет проведения отработочных мероприятий во внерабочее время и сократить количество ошибок в отработке аппаратуры.

Abstract. The article describes the robotic complex for automation of testing activities. With its help, it was possible to minimize human participation in the processes of testing remote control equipment. The complex includes a robot manipulator, a PC for launching the robotic complex and software for controlling the robotic complex. The developed solution made it possible to increase the number of tests by carrying out development activities during off-hours and reduce the number of errors in equipment testing.

Ключевые слова: робототехнический комплекс, отработка аппаратуры, программно-аппаратный комплекс, система управления, робот-манипулятор, robot operating system, ROS, робототехника.

Keywords: robotic complex, equipment testing, hardware and software complex, control system, robot manipulator, robot operating system, ROS, robotics.

Актуальность разработки РТК

Важный этап контроля качества разработки систем управления изделиями ракетно-космической техники — проведение мероприятий по отработке продукции с ц елью выявления ошибок в программном обеспечении и аппаратуре на ранних стадиях создания. Чем раньше в жизненном цикле будут обнаружены ошибки, тем дешевле и быстрее обойдется их исправление.

При проведении отработочных мероприятий большую часть рутинных операций можно автоматизировать, особенно в части проверки программного кода, где достаточно подать на вход нужные данные и затем соотнести полученный результат с ожидаемым. Однако с тестированием работоспособности устройств ввода все гораздо сложнее, и часто эту работу выполняет человек, имитируя действия оператора: он нажимает на кнопки на механической и сенсорной клавиатуре, переключает тумблеры, поворачивает ключи по заранее прописанным сценариям.

Недостатки такого подхода очевидны:

а) работник допускает ошибки, и в результате выполнение сценария надо запускать заново;

б) нет возможности отработки аппаратуры во внерабочее время (ночью, в выходные и праздничные дни);

в) человек занят работой, не требующей высокой квалификации.

Выполнение задач по отработке пультовой аппаратуры можно автоматизировать и тем самым:

а) высвободить трудовые ресурсы для решения более приоритетных задач;

б) сократить количество ошибок при отработке, которые возникают из-за человеческого фактора;

в) увеличить количество проведенных испытаний и быстрее получать заключение на соответствие изделий заявленным требованиям.

Таким образом, потребность в автоматизации мероприятий по отработке пультовой аппаратуры с помощью разработанного робототехни-ческого комплекса на предприятиях отрасли высокая.

Объект автоматизации

За основу разработки РТК были взяты производственные процессы реального предприятия. В качестве объекта автоматизации был выбран комплекс отработки аппаратуры и программ (КОАП) научно-производственного объединения (НПО) автоматики. Необходимые сведения о структуре объекта автоматизации приведены на рисунке 1. С программно-аппаратным комплексом взаимодействует оператор, он же выполняет сценарии отработки устройств ввода.

Процесс отработки на позициях КОАП включает этапы:

а) подготовка (анализ исходных данных, создание аппаратных и программных имитаций ра-

боты ПО, выпуск программы и методики отработки аппаратуры);

б) отработка и анализ полученных результатов;

в) выпуск отчета.

После установки робототехнического комплекса на штатную позицию робот вместо оператора взаимодействует с устройствами ввода, которые расположены на штатной аппаратуре (объекте контроля). Он принимает сигналы от программного комплекса централизованного управления (ПКЦУ) на выполнение сценариев отработки [7]. Далее программное обеспечение РТК производит все необходимые расчеты и подает сигналы на плату управления роботом. Робот выполняет движения в соответствии с подаваемыми сигналами. У робота есть панель управления, на которой расположены кнопки для включения, отключения, останова робота, считывания координат рабочего органа в пространстве.

Основные требования к РТК

а) РТК реализуется на базе механической части робота-манипулятора, компьютера (или микрокомпьютера Raspberry Pi) и платы управления. РТК д олжен состоять из аппаратной ч асти и программного обеспечения (рис. 2).

б) РТК должен обеспечивать работу в двух режимах: штатный режим и режим системного администрирования.

L _ _ _ _ _ _ _ _ _ _ _ _ _ J

Рис. 1. Место решаемой задачи до внедрения РТК

Система планирования и обработки результатов испытаний

Технологическое оборудование КОАП

Программный комплекс централизованного управления

Систем га анализа результатов испытаний

Группа им аппа [итирующей ратуры Группа регистрирующей аппаратуры

Робототехнический комплекс

Робот-манипулятор

ПЭВМ

ПО для управления роботом

Штатная аппаратура

Рис. 2. Структура системы проведения испытаний после внедрения РТК

в) РТК д олжен иметь подсистему диагностики ее целостности. При наличии неисправностей РТК не начинает работу.

г) При разработке системы должны быть предусмотрены возможности ее последующей модернизации при минимальных временных и финансовых затратах по следующим направлениям:

— расширение прикладных функций;

— изменение системной платформы (операционная система).

д) У РТК должен быть предусмотрен ручной аварийный останов. Аварийный останов применяется, если РТК не может начать или продолжить работу в соответствии со своим назначением или инструкциями (не обнаружен пульт управления, произошел фатальный сбой/крах операционной системы, возникла неисправность каких-либо технических средств).

е) РТК должен быть подключен к источнику бесперебойного питания.

ж) В системе должно быть предусмотрено два вида пользовательского интерфейса: веб-интерфейс, интерфейс командной сроки.

и) У РТК между шагами работы (выполнение одного действия) должно быть реализовано управление задержкой по времени.

Конструкция робота

За основу была взята модель манипулятора на основе разомкнутой кинематической цепи с параллельным механизмом [4] на шаговых двигателях. Она удовлетворяла следующим критериям:

а) много информации в свободном доступе;

б) можно изготовить самостоятельно;

в) можно подобрать недорогую электронику и двигатели.

Преимущества такой конструкции:

а) отпадает необходимость управления углом наклона рабочего органа, т. к. при изменении углов поворота звеньев схват всегда сохраняет параллельное положение;

б) двигатели, управляющие звеньями руки, расположены на одном уровне у основания робота и не утяжеляют стрелу манипулятора, поэтому можно подобрать любые по весу электроприводы без необходимости как-то менять или уравновешивать конструкцию;

в) самый простой в изготовлении и управлении вариант манипулятора, что важно для создания опытного образца.

Исходная модель была доработана под подобранные двигатели и электронику. Детали изготовлены из листового алюминия методом лазер -ной резки.

Архитектура программного обеспечения

Программное обеспечение для РТК состоит из нескольких приложений:

а) приложений для формирования файлов запуска робота;

б) приложений для запуска робота.

В процессе отработки участвуют:

а) инженер-аналитик (создает команды и формирует файл запуска для робота);

Работник £

картинки/фото пульта управление

Подготовка |л| изображения для импорта

I

Формирование файла й

запуска (практика) --*--

Формирование координат кнопок для файла запуска

А

Формирование файла запуска робота

Формирование

JL

Координаты для движения рабочего

рабочего органа (данные) --

| Программа для создания | конфигурационных

файлов (приложение) --

I

Программа для составления конфигурационных файлов

Компьютер инженера

Windows О

Z

ПК

±

Рис. 3. Архитектура системы формирования файлов запуска

б) инженер-отработчик (взаимодействует с роботом).

Для каждой роли построена своя система. На рисунке 3 показана архитектура системы формирования файлов запуска на языке АгсЫта1е.

Инженер-аналитик готовит фотографию, рисунок или чертеж пульта управления, открывает на своем ПК пользовательский интерфейс в браузере, загружает изображение. При необходимости он редактирует загруженное изображение (меняет его размер по ширине) и располагает на схеме рабочей зоны робота. После завершения редактирования инженер-аналитик кликает по фото и отмечает координаты, до которых нужно дотянуться роботу. Затем из этих координат необходимо сформировать файл запуска с указанием параметров задержки между нажатиями клавиш. Пример интерфейса показан на рисунке 4.

На рисунке 5 показана архитектура системы запуска робота на языке АгсЫта!е.

Инженер-отработчик перед началом работы должен убедиться в правильном расположении робота и пульта управления. Также он должен проверить наличие и корректность файла запуска, который ему подготовил инженер-аналитик. Запуск робота производится из пользовательского интерфейса, из командной строки или по кнопке на роботе.

Программа рассчитывает координаты новой позы робота и траекторию движения на основе конфигурации из ИКОБ-файла (это специальный формат ХМЬ-файла, в котором хранится описание робота). Конфигурация робота составляется один раз на основе модели из ЗоШ^огкз и меняется только при изменении исходной модели.

Всю систему можно разбить на ш есть больших блоков в соответствии со списком подсистем:

а) подсистема создания окружения;

б) подсистема робота;

в) подсистема симуляции;

г) подсистема взаимодействия;

д) подсистема логирования;

е) подсистема тестирования.

Рис. 5. Архитектура системы запуска робота

Подсистема создания окружения запускает Docker-контейнер с Ubuntu 18.04 и ROS Melodic со всеми необходимыми зависимостями для работы ROS [3, 5]. Окружение м ожно запустить на любой машине под операционной системой Linux.

Подсистема робота — центральное звено всей системы. Внутри этой подсистемы выполняется загрузка модели робота, расчет движений, передача управления на управляющую плату, расчет количества шагов для запуска двигателей. Подсистема робота соединяется с подсистемой симуляции посредством стандартного ROS API, с подсистемой взаимодействия (пользовательским интерфейсом) через Rosbridge protocol, с системой логирования — через ROS API [2].

Подсистема симуляции обеспечивает визуальное отображение модели, планирования траектории движений, симуляцию работы робота в реальном мире. С подсистемой робота связывается через стандартный ROS API.

Подсистема взаимодействия (пользовательский интерфейс) связывается с подсистемой робота через вебсокеты, а с подсистемой логирования — через контроллер. В этой подсистеме формируются файлы запуска и задается/проверяется состояние робота.

Подсистема логирования записывает историю работы из других подсистем (подсистемы робота, подсистемы взаимодействия и подсистемы тестирования). С подсистемой взаимодействия связывается через контроллер. С подсистемами робота и подсистемой тестирования — через shell script.

Выбор инструментальных средств для разработки ПО

Для написания программного обеспечения для управления роботом был выбран фреймворк ROS версии Melodic (одна из последних стабильных версий). Разработка велась под операционной системой Ubuntu 18.04. Поскольку работа с

ROS требует установки большого количества пакетов, то было принято решение собирать окружение в Docker-контейнере. В Docker^ была также развернула и Ubuntu 18.04. В качестве языка программирования использовался C++. Язык выбран из соображений единообразия. Пакеты, в которых реализовано техническое зрение, написаны на Python.

Симуляция работы робота выполнена в Gazebo (рис. 6).

Для взаимодействия с пользовательским интерфейсом используется rosbridge. Протокол rosbridge — это спецификация для отправки команд на основе JSON в ROS. Схема взаимодействия между ROS и веб-клиентом приведена на рисунке 7.

Пользовательский интерфейс реализован как веб-приложение и представляет трехзвенную кли-

Рис. 6. Версия модели в симуляторе Gazebo

ROS Web-client

Рис. 7. Схема взаимодействия ROS с веб-клиентом

ент-серверную архитектуру. Используется архитектурный стиль REST (клиент и сервер могут быть выполнены независимо друг от друга, изменения в коде сервера не влияет на работу клиента и наоборот). Это способствует высокой надежности, производительности, расширяемости, управляемости, простому обновлению и возможности повторного использования компонентов приложения.

Для реализации пользовательского интерфейса выбраны инструменты:

а) Angular для фронтенда (язык — TypeScript) [1];

б) Micronaut для бекенда (язык — Groovy);

в) база данных MySQL.

Техническое зрение

В проекте используется функциональная схема аппаратной части робототехнического комплекса с сервером данных и системой технического зрения [6].

Техническое зрение в проекте используется для детектирования отклонения положения рабочего органа от начального. Камера расположена над роботом (рис. 8). Также сделаны заготовки для построения карты глубины по изображениям с камер для расчета расстояния от рабочего органа до объекта контроля (пульта управления). Техническое зрение пока реализовано только на модели робота в Gazebo. После доработки карты глубины планируется подключение камеры на роботе.

Результаты работы

В результате работы над проектом был создан робототехнический комплекс для отработки пультовой аппаратуры систем управления изделиями ракетно-космической и авиационной техники, состоящий из робота-манипулятора, программного обеспечения (ПО) для управления роботом и ПЭВМ для запуска ПО.

Были решены следующие задачи:

а) составлено техническое задание на разработку РТК;

б) выполнен обзор вариантов решений для реализации поставленной задачи и найдена CAD-модель для изготовления каркаса робота;

в) выбраны детали для создания робота (двигатели, электроника);

г) изготовлен робот;

д) протестированы двигатели;

е) запрограммирована модель робота;

ж) запрограммирован робот;

и) развернуто окружение для работы робота;

к) написан веб-интерфейс для управления роботом;

Рис. 8. Изображения с камер в симуляторе

л) собран и запрограммирован прототип панели управления роботом.

Характеристики робота представлены в таблице 1.

Таблица 1

Характеристики робота

РТК выдан на комплекс отработки аппаратуры и программ, где после установки на штатную позицию были проведены испытания по отработке пульта управления. По результатам испытаний подписан акт внедрения РТК в опытную эксплуатацию.

Дальнейшие пути развития проекта

В дальнейшем планируется объединить нескольких роботов в одну сеть для синхронной работы, подключить машинное зрение с целью обнаружения устройств ввода, установить РТК на подвижную платформу для перемещения между несколькими пультами управления, усовершенствовать конструкцию манипулятора для сокращения времени на расчеты траекторий движений.

Характеристика Значение

Максимальная скорость перемещения Максимальная скорость поворота Точность позиционирования Перемещение грузов массой Повторяемость (точность возвращения в одну и ту же точку) Габариты и масса робота Рабочая зона робота в диаметре 3 м/c 180 °/c 0,5 мм 0,5 кг 0,05 мм 500 х 150 х 200 мм, 5 кг 320 мм

Список литературы

1. Angular [Электронный ресурс] // Документация по Angular. — Режим доступа: https://angular.io/ (дата обращения: 13.12.2022).

2. O'Kane J. M. A Gentle Introduction to ROS [Текст] / Columbia: University of South Carolina, 2014. — 156 с.

3. ROS — Robot Operating System [Электронный ресурс] // Документация по ROS. — Режим доступа: https:// www.ros.org/ (дата обращения: 10.11.2022).

4. Rubleva E. A., Mudrich A. B. Kinematic model of a desktop robot manipulator with 5 degrees of freedom [Текст] // Journal of Physics: Conference Series. 2021, т. 2096, № 1, 2021.

5. Zhang J. Performance optimization and implementation of evolutionary inverse kinematics in ROS [Текст]. — Hamburg: Hamburg University, 2017. — 69 с.

6. Борисов О. И., Громов В. С. и Пыркин А. А. Методы управления робототехническими приложениями: Учебное пособие [Текст]. — СПб.: Университет ИТМО, 2016. — 110 с.

7. Журавлев А. В., Аксенов К. А., Князев Р. О. Методика построения оптимального испытательного стенда программно-аппаратных комплексов систем управления [Текст]. — Екатеринбург: АО «Научно-производственное объединение автоматики им. академика Н. А. Семихатова», 2020.