Bratsk, Irkutsk region, Russian Federation
Russian Federation
The purpose of the study is to develop a web application for control systems of robotic complexes (RTK) using the example of RTK with MP-11 robotic manipulators. The structure of the control system includes a controller on the Arduino Mega 2560 Pro Mini board with a loaded low-level program and an upper-level program. A web application has been selected as a software component. This type of application consists of a server and a client part. Data is exchanged between them over the network using the HTTP protocol. The application is built on the Microsoft .NET platform and the ASP .NET WebForms framework. The web server is a computer connected via a USB cable to the controller and currently used for a desktop application. The description of the web pages of the developed web application and its operation, algorithms of functioning, indicating the specifics of execution for this type of program is given. The program provides manual and automatic operation modes, as well as control of not only the RTK, but also its model. This type of management system involves multi-user mode and network transmission, two types of user rights and authentication have been developed to ensure the security of the complex, as well as antivirus protection, network settings for protection against unauthorized access are used. Guest access allows you to control only the robot model, in order to ensure the safety of the equipment. The main advantages of a web application are its cross-platform nature, i.e. the ability to work on any devices and operating systems, as well as the absence of the need for installation.
web application, robotics complex, algorithm, manual control, automatic control
Введение
Большинство систем автоматического управления в настоящее время являются распределенными, т. е. их компоненты расположены на больших площадях и значительном удалении друг от друга.
Среди большого числа объектов управления могут быть и технологические установки со значительной концентрацией технологических параметров, таких как давление, температура, содержание определенных элементов и т. д.
В настоящее время разработка web-приложений является одним из самых перспективных направлений для решения задачи управления распределенными объектами. Они могут использоваться для управления различными устройствами и системами, что делает их незаменимыми как для бизнеса, так и для конечных пользователей [1]. Однако для управления роботами системы на основе web-приложений встречаются редко, что делает разработку такой программы более уникальной.
Роботы уже давно используются в промышленности, медицине, науке и других сферах. Управление роботами через web-интерфейс позволяет контролировать их работу из любого места на планете в режиме реального времени.
Программа управления необходима для создания системы взаимодействия оператора и манипуляционного механизма с целью обеспечения удобного интерфейса в области передачи и обработки информации.
Разработка web-приложения для управления роботом – очень сложная задача, требующая глубоких знаний в области программирования и робототехники [2]. В данной статье рассмотрены основные этапы разработки такого приложения, описаны инструменты и технологии, применяемые для его создания.
Разработка программы управления робототехническим комплексом (РТК) по-прежнему остается актуальной задачей, а в настоящее время, в связи с уходом многих зарубежных производителей, ее актуальность даже увеличивается.
Потребности производств в автоматизации постоянно растут, при этом если механическую часть РТК (роботы, транспортеры и т. д.) достаточно выбрать из имеющихся на рынке, то программная составляющая обычно уникальна и зачастую требует разработки системы управления, подходящей под конкретный технологический процесс.
Web-приложение выбрано как наиболее универсальный пользовательский интерфейс, позволяющий работать с РТК на различных устройствах, в том числе и низкой вычислительной мощностью, и без привязки к местоположению оператора.
Структура программы
Web-приложение разрабатывается для РТК на базе роботов-манипуляторов МП 11, использующегося в учебном и исследовательском процессе на кафедре управления в технических системах Братского государственного университета. На нем же проводится тестирование результата.
В состав данного РТК входят два робота с окружающей инфраструктурой, контроллер на базе Arduino, пульты управления и программа для ПК, реализующая различные задачи управления и контроля.
С процессом создания системы управления для данного комплекса можно ознакомиться в статьях [3, 4], где описаны принципы построения контроллера, язык команд управления различных уровней и алгоритмы работы программы в разнообразных режимах работы.
Данная система отлично себя зарекомендовала, и было принято решение расширить ее функционал за счет web-приложения.
Реализация web-сервера на базе контроллера была бы ограничена объемом его встроенной памяти и ресурсами для визуализации технологического процесса (например, видеопоток с web-камеры), однако в настоящее время контроллер уже имеет usb-подключение к компьютеру, который имеет подключение к локальной сети университета и выход в интернет, что позволяет использовать его в качестве web-сервера [5].
В качестве web-сервера используется компьютер, подключенный к контроллеру. Большинство современных операционных систем поддерживают все необходимые функции для его реализации. Одной из них является служба IIS (Internet Information Services) от компании Microsoft, которая была выбрана в качестве базы при создании сервера.
Web-приложение – это клиент-серверное приложение, в котором клиент взаимодействует с web-сервером при помощи браузера. Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети.
Структура системы управления в общем виде представлена на рис. 1.
Рис. 1. Структура системы управления
Fig. 1. The structure of the management system
Клиентская часть приложения реализует пользовательский интерфейс. С его помощью пользователь формирует запросы на сервер, содержащие выполняемые действия, отслеживает положение манипуляторов, выбирает режимы работы и т. д.
Серверная часть получает запрос от клиента, определяет состояние подключения к контроллеру, преобразует пользовательские запросы в управляющие команды и передает их контроллеру, после этого формирует web-страницу и отправляет ее клиенту по сети с использованием протокола HTTP. Сервер передает управляющие команды на контроллер в соответствии с языком команд, выполняя необходимые алгоритмические операции и задержки, необходимые для перемещения звеньев манипулятора, и технологические операции.
Контроллер управляет питанием электроклапанов роботов и транспортером, преобразованием управляющих команд в электрический сигнал. Также он производит опрос состояния датчиков робота для определения его текущего положения [3].
Обмен данными между клиентской и серверной частью происходит по сети (локальной или глобальной), между серверной частью и контроллером –по usb-кабелю, между контроллером и манипулятором – по двум специальным шинам (управления и состояния датчиков).
Выбор программного обеспечения для реализации системы управления
В качестве основного средства разработки были выбраны платформа Microsoft .NET и web-фреймворк ASP .NET WebForms в первую очередь потому, что предполагалось портировать настольное приложение с минимальными изменениями программной части.
Применение такого подхода позволяет перенести большинство функций и алгоритмов из существующей системы управления, что значительно снижает затраты на разработку, а схожий интерфейс упрощает процесс обучения.
Встроенные средства авторизации и аутентификации упрощают процесс работы с пользователями.
Платформа .NET позволяет создавать приложения на языках C#, F#, Visual Basic. Для реализации приложения был выбран C#.
Для разработки интерфейсов приложения используются следующие технологии:
– HTML – язык разметки, интерпретируемый браузерами;
– CSS – язык описания внешнего вида документа, написанного с использованием языка разметки;
– Javascript – язык программирования, используемый для обеспечения интерактивности на web-странице;
– JQuery – библиотека языка Javascript, предоставляющая API для более простого взаимодействия с элементами web-страницы, а также функции для использования AJAX (подход к построению интерактивных пользовательских интерфейсов web-приложений, заключающийся в «фоновом» обмене данными браузера с web-сервером).
Для хранения данных приложения и пользователей использовался СУБД MS SQL Server 2017 ввиду максимальной совместимости с приложениями .NET.
Описание программы
Экранная форма web-приложения представлена на рис. 2.
Рис. 2. Web-страница автоматического управления
Fig. 2. Automatic control web page
Доступ к приложению с сервера осуществляется по локальному адресу https://localhost/. Из глобального сегмента сети доступ осуществляется по IP-адресу, присвоенному провайдером.
Разработанное web-приложение поддерживает два вида работы – ручное (рис. 3) и автоматическое управление (см. рис. 2), а также два режима – управление роботом в реальном времени и режим имитации, т. е. управление моделью робота.
Рис. 3. Web-страница ручного управления
Fig. 3. Manual control web page
Ручное управление представляет собой программный пульт управления, содержащий кнопки, отвечающие за отдельные движения манипуляторов.
С помощью функции записи можно создать программы для автоматического управления комплексом путем последовательной активации командных кнопок. Сформированная программа записывается в текстовый документ для дальнейшего использования.
Режим имитации служит для управления моделью робота. Это позволяет безопасно обучиться работе с РТК, а также производить отладку управляющих программ и обеспечивать совместную работу нескольких человек.
Страница автоматического управления содержит поле для ввода управляющих команд вручную или путем загрузки из текстового файла. Также в автоматическом режиме поддерживается зацикливание управляющей программы.
Обе страницы содержат поле для возможности выбора подключаемого устройства (возможность выбора контроллера или управляющей платы контроллера).
Алгоритмы работы программы
На рис. 4 приведен алгоритм ручного управления РТК.
Рис. 4. Алгоритм ручного управления робототехническим комплексом
Fig. 4. Manual control algorithm of robotic complex
На рис. 5 приведен алгоритм автоматического управления РТК.
Рис. 5. Алгоритм автоматического управления робототехническим комплексом
Fig. 5. Automatic control algorithm of robotic complex
Отличительной особенностью работы данного типа web-приложения, по сравнению с настольным, является то, что обновление страницы происходит после окончания запроса. Запросом в автоматическом режиме является нажатие кнопки выполнения списка операций, а концом – завершение. Следовательно, на странице программы не происходит обновление состояния роботов, пока не выполнится последняя операция, и помимо этого блокируются кнопки управления.
Для решения данной проблемы необходимо было изменить алгоритм работы. Вместо использования цикла применен следующий алгоритм:
1. Список команд разбивается на строки, из них формируется массив.
2. Выполняется первая операция, определяется время, необходимое для ее выполнения, и формируется ответ, обновляющий страницу.
3. По истечении необходимого времени клиент автоматически отправляет новый запрос для выполнения следующей операции.
Эти действия выполняются до тех пор, пока не выполнятся все команды либо не будет нажата кнопка «Стоп».
Информационная безопасность
Поскольку использование web-приложения предполагает передачу данных по сети, а также подключение разнообразных пользователей, одним из важнейших аспектов, рассматриваемых в проекте, является информационная безопасность.
Ориентиром в данной области может служить приказ Федеральной службы по техническому и экспортному контролю № 31 от 14 марта 2014 г., в котором определены требования к обеспечению защиты информации в автоматизированных системах управления производственными и технологическими процессами на критически важных объектах.
Для соблюдения мер безопасности необходимо наличие трех составляющих:
– защита от удаленного вторжения;
– антивирусная защита;
– аутентификация пользователей.
Первая часть системы обеспечивается сетевыми администраторами, вторая антивирусной программой, установленной на компьютере, и, следовательно, не требуют дополнительного вмешательства в программу. Аутентификация пользователей в среде ASP.NET осуществляется тремя способами:
– аутентификация Windows;
– аутентификация паспортом;
– аутентификация формой с использованием Cookie-файлов.
Для реализации был выбран последний.
Поскольку программа реализует многопользовательский режим и удаленное управление, возникает необходимость не только в аутентификации пользователей, но и в разделении их прав.
Для данного приложения достаточно два типа прав:
– права с доступом к управлению физическим манипулятором;
– права с доступом к управлению только моделью.
Пока система управления работает локально, созданы только 2 пользователя. При эксплуатации в локальной сети университета можно использовать существующую базу доменных имен, а для гостевого доступа анонимных пользователей ограничить права только управлением моделью.
Заключение
Было разработано web-приложение для управления РТК на базе манипуляторов МП-11. Подключение к контроллеру осуществляется по usb-кабелю к компьютеру, являющемуся web-сервером. На нем же располагается серверная часть программы. Оператор получает доступ к клиентскому интерфейсу посредством браузера с любого устройства, находящегося в одной сети с сервером, будь то компьютер, телефон или планшет, независимо от операционной системы. Большим преимуществом web-технологий является отсутствие необходимости установки каких-либо дополнительных программ.
При проверке результатов использовались локальная сеть и локальный сервер.
Данная разработка является примером создания кроссплатформенного решения для системы автоматического управления и позволяет работать как локально, так и удаленно, сохраняя привычный пользовательский интерфейс.
Аналогичные приложения будут разработаны для других роботов лаборатории, чтобы объединить их в единую систему. Это позволит обеспечить удаленное управление, а предоставление доступа с сайта вуза позволит выполнять задание дистанционно.
Использование системы защиты помогает избежать поломок оборудования и потери данных при несанкционированном воздействии.
Результаты работы внедряются в учебный процесс – при подготовке студентов и магистров, работе со школами и учебными центрами.
1. Kaczmarek W., Lotys B., Borys S., Laskowski D., Lubkowski P. Controlling an Industrial Robot Using a Graphic Tablet in Offline and Online Mode. Sensors, 2021, vol. 21 (7), p. 2439. Available at: https://doi.org/10.3390/s21072439 (accessed: 07.10.2023).
2. Kozlov S. V. Problematic aspects of integrating a complete group of processes in the lifecycle of robotic control systems. Procedia Computer Science, 2021, vol. 186, pp. 210-216.
3. Koltygin D. S., Avsievich A. V., Sedel'nikov I. A. Apparatno-programmnyi kompleks dlia upravleniia robototekhnicheskimi kompleksami [Hardware and software complex for controlling robotic complexes]. Mekhatronika, avtomatizatsiia i upravlenie na transporte: materialy III Vserossiiskoi nauchno-prakticheskoi konferentsii (Camara, 26-27 ianvaria 2021 g.). Samara, Izd-vo Samar. gos. un-ta putei soobshcheniia, 2021. Pp. 107-111.
4. Koltygin D. S., Sedel'nikov I. A. Razrabotka sistemy komand dlia upravleniia robotom-manipuliatorom [Devel-opment of a command system for manipulator robot control]. Sistemy. Metody. Tekhnologii, 2020, no. 1 (45), pp. 53-60. DOI:https://doi.org/10.18324/2077-5415-2020-1-53-60.
5. Votinov M. V. Osobennosti postroeniia web-prilozhenii informatsionnogo obespecheniia sistem avto-maticheskogo upravleniia [Features of building web applications for information support of automatic control systems]. Vestnik Astrakhanskogo gosudarstvennogo tekhnicheskogo universiteta. Seriia: Upravlenie, vychislitel'naia tekhnikai informatika, 2017, no. 3, pp. 40-47. DOI:https://doi.org/10.24143/2072-9502-2017-3-40-47.