Веб-интерфейс управления роботами
Что такое ARTEX framework
ARTEX framework - это программная платформа для удалённого управления, мониторинга и интеграции разнородных устройств: простые светодиодные лампы, роботы и дроны. Она предоставляет единый веб-интерфейс, через который оператор может видеть состояние всех подключённых устройств, отдавать им команды и получать телеметрию в реальном времени.
Платформа построена по модульному принципу, что позволяет легко добавлять новые типы устройств и обрабатывающие алгоритмы. ARTEX ориентирована как на конечных пользователей, так и на разработчиков: первые получают готовый пульт управления, вторые - инструментарий для создания собственных модулей и интеграции нестандартного оборудования.
Интерфейс пользователя
A. Общий список подключений
После открытия ARTEX пользователь попадает на страницу «Подключения».
Здесь отображается сводная информация обо всех активных устройствах, которые в данный момент доступны платформе.
Элементы интерфейса:
- Сводка подключений – пиктограммы с названиями типов устройств (Robot, LED, Drone). Позволяют быстро оценить, какое оборудование находится в сети.
- Таблица подключений – детальная информация по каждому экземпляру:
1. SID - уникальный идентификатор устройства.
2. Имя - пользовательское имя.
3. Tun - техническое имя.
4. BTK - индикаторы статуса.
5. Безопасность - поле для будущих настроек прав доступа.
Подключения – список подключенных устройств. Клик по любому элементу столбца открывает индивидуальную страницу управления выбранным устройством.
B. Управление устройством Robot
При нажатии на элемент Robot открывается интерфейс управления роботом.
Блок «Клиент» содержит уникальный идентификатор устройства.
Панель управления включает:
- «Стоп» - экстренная остановка двигателей.
- «DISARM» - полное обесточивание силовых цепей.
- Поле ввода команд позволяет обработать следующий текст:
1.
video_start_record,
video_stop_record – запись видео в файл (видеопоток и команды передаются в
модуль VideoRecordModule)
2. auto_run, auto_stop – запуск и остановка
автоматического управления на основе видеопотока
Телеметрия в формате JSON отображает показания датчиков в реальном времени. Это означает, что устройство имеет температурный датчик, передающий два значения. Формат JSON универсален и позволяет легко добавлять новые датчики без изменения интерфейса.
C. Управление устройством LED
Блок «Клиент» также содержит уникальный идентификатор устройства.
Панель управления позволяет выбирать цвет из предложенных, а также вводить собственный.
- Поле ввода цвета в формате #RRGGBB и кнопка «OK» для смены цвета.
- Ползунок «Яркость» с регулировкой от 0 до 100%.
Телеметрия в формате JSON отображает показания датчиков.
D. Управление устройством Drone
Блок «Клиент» также содержит уникальный идентификатор устройства.
Панель управления включает:
- «Стоп» – экстренная остановка двигателей (зависание или прекращение движения).
- «DISARM» – полное обесточивание силовых цепей (безопасный режим после посадки).
- Поле ввода произвольной команды и кнопка «Отправить».
Телеметрия в формате JSON отображает показания датчиков в реальном времени.
Внутренняя архитектура: модули и потоки данных
За простым пользовательским интерфейсом скрывается гибкая модульная система. Она позволяет разработчикам конструировать логику обработки данных, соединяя готовые функциональные блоки-модули в визуальном редакторе.
Визуальный редактор модулей
Это инструмент, который позволяет соединять функциональные блоки (модули) для создания логики обработки данных. Каждый модуль отвечает за конкретную задачу и имеет входы и выходы. Пользователь перетаскивает модули на рабочее поле и связывает их порты, формируя конвейеры данных.
Модуль 1: ClientIOModule
Назначение: Хостит страницу с веб-интерфейсом для управления устройствами.
Порты:
- robot.connected - выводит уведомление в интерфейс о подключении робота.
- robot.disconnected - входной сигнал об отключении робота.
- robot.telemetry - вход для телеметрических данных.
- robot.video - вход для видеопотока.
Типичное использование: соединяется с выходами RobotWSModule или RobotsModule, чтобы передавать полученные от устройств данные на экран оператора.
Модуль 2: ConsoleLogModule
Назначение: служебный модуль для вывода отладочной информации в консоль сервера. Полезен при разработке и отладке цепочек модулей.
Порты: отсутствуют. Модуль просто логирует все проходящие через него данные, независимо от сигнатуры сообщения.
Типичное использование: размещается на схеме для отладки – позволяет видеть в консоли, какие данные передаются между модулями.
Модуль 3: RobotWSModule
Назначение: отвечает за взаимодействие с реальными роботами, дронами или другими устройствами через протокол WebSocket (обеспечивает двустороннюю связь в реальном времени).
Порты:
- robot.command - выход для отправки команд устройству.
- robot.telemetry - вход для приёма телеметрии от устройства (далее может передаваться в ClientIOModule).
- robot.video - вход для приёма видеопотока от устройства.
- robot.connected - выходной сигнал, генерируемый при подключении устройства.
- robot.disconnected - выходной сигнал при отключении.
Типичное использование: является мостом между физическим устройством и платформой. Получает данные от робота и передаёт их в другие модули (например, ClientIO для отображения, Yolo для обработки). Также принимает команды из интерфейса и отправляет их роботу.
Модуль 4: YoloModule
Назначение: модуль компьютерного зрения на базе нейросети YOLO (You Only Look Once). Выполняет детекцию объектов на видеопотоке в реальном времени.
Порты:
- robot.video – вход для видеопотока (подключается к выходу robot.video любого модуля, например RobotWSModule).
- yolo.detect – выход с результатами детекции. Эти данные могут быть переданы в ClientIOModule для отображения поверх видео или сохранены.
Типичное использование: соединяется с источником видеопотока (RobotWSModule или RobotsModule) и передаёт результаты детекции в интерфейс или в другой модуль для дальнейшего анализа.
Заключение
ARTEX framework - это система, объединяющая устройства, интерфейсы и алгоритмы. Благодаря модульной архитектуре она легко адаптируется под любые задачи: от умного дома до промышленной робототехники. Возможность создавать собственные модули и подключать любые устройства делает ARTEX универсальным решением, готовым к развитию вместе с потребностями своих пользователей.





No comments to display
No comments to display