Братск, Иркутская область, Россия
Россия
Цель исследования заключается в разработке web-приложения для систем управления робото-техническими комплексами (РТК) на примере РТК с роботами-манипуляторами МП-11. Структура системы управления включает в себя контроллер на плате Arduino Mega 2560 Pro Mini с загруженной программой низкого уровня и программу верхнего уровня. В качестве программной составляющей выбрано web-приложение. Данный тип приложений состоит из серверной и клиентской части. Обмен данными между ними осуществляется по сети с использованием протокола HTTP. Приложение построено на платформе Microsoft .NET и web-фреймворке ASP.NET WebForms. Web-сервером выступает компьютер, подключенный посредством usb-кабеля к контроллеру и используемый в настоящее время для настольного приложения. Приведено описание web-страниц разработанного web-приложения и его работы, алгоритмов функционирования с указанием особенностей выполнения для данного типа программ. В программе предусмотрен ручной и автоматический режимы работы, а также управление не только РТК, но и его моделью. Данный тип системы управления предполагает многопользовательский режим и передачу по сети, для обеспечения безопасности комплекса разработаны два вида прав пользователей и их аутентификация, а также применена антивирусная защита, используются сетевые настройки защиты от несанкционированного доступа. Гостевой доступ позволяет управлять только моделью роботов, в целях обеспечения сохранности оборудования. Основными преимуществами web-приложения является его кроссплатформенность, т. е. возможность работы на любых устройствах и операционных системах, а также отсутствие необходимости установки.
web-приложение, робототехнический комплекс, алгоритм, ручное управление, автоматическое управление
Введение
Большинство систем автоматического управления в настоящее время являются распределенными, т. е. их компоненты расположены на больших площадях и значительном удалении друг от друга.
Среди большого числа объектов управления могут быть и технологические установки со значительной концентрацией технологических параметров, таких как давление, температура, содержание определенных элементов и т. д.
В настоящее время разработка 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. V. 21 (7). P. 2439. URL: https://doi.org/10.3390/s21072439 (дата обращения: 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. V. 186. P. 210-216.
3. Колтыгин Д. С., Авсиевич А. В., Седельников И. А. Аппаратно-программный комплекс для управления робототехническими комплексами // Мехатроника, автоматизация и управление на транспорте: материалы III Всерос. науч.-практ. конф. (Cамара, 26-27 января 2021 г.). Самара: Изд-во Самар. гос. ун-та путей сообщения, 2021. С. 107-111.
4. Колтыгин Д. С., Седельников И. А. Разработка системы команд для управления роботом-манипулятором // Системы. Методы. Технологии. 2020. № 1 (45). С. 53-60. DOI:https://doi.org/10.18324/2077-5415-2020-1-53-60.
5. Вотинов М. В. Особенности построения web-приложений информационного обеспечения систем автоматического управления // Вестн. Астрахан. гос. техн. ун-та. Сер.: Управление, вычислительная техника и информатика. 2017. № 3. С. 40-47. DOI:https://doi.org/10.24143/2072-9502-2017-3-40-47.