Роботы
Страница “Роботы” предназначена для:
- оперативного мониторинга парка роботов (режим “Карточки”);
- отборов по типовым признакам (связь, режим, заряд, миссия и др.) без переключения в другой раздел;
- массового выделения записей на экране;
- просмотра подробной панели по выбранному роботу (телеметрия, нагрузка, ошибки, отладочный снимок состояния);
- табличного просмотра и сортировки по колонкам;
- создания новой записи робота и редактирования/удаления существующей.
Интерфейс позволяет оператору быстро оценить общую ситуацию в парке роботов, отфильтровать нужные устройства и получить детальную информацию по каждой единице техники.
Где доступны сведения о роботах
Сведения о роботах доступны в нескольких представлениях:
- пункт «Роботы» в левом меню открывает отдельную страницу в режимах «Карточки» и «Таблица»;
- на странице «Карта» роботы отображаются как объекты слоя; инструмент «Роботы» открывает таблицу поверх карты;
- на дашборде роботов можно добавить виджетами «Список роботов» и «Таблица роботов». Подробнее о добавлении виджетов см. в статье «Дашборды».
На странице раздела, в таблице на карте и в виджетах используются одни и те же данные робота; карточка открывается из строки, с карточки списка или по нажатию на робота на карте. На карте карточки открываются как плавающие окна.
Таблица на карте показывает роботов в сети на активной карте и не заменяет полный список раздела «Роботы».
Режимы просмотра
На странице «Роботы» переключатель «Карточки» / «Таблица» в шапке меняет только вид одного и того же парка.
«Карточки» нужны для оперативного обзора: статус, связь, заряд и ошибки видны сразу, доступны быстрые фильтры, группировка и массовый выбор для наблюдения.

«Таблица» удобнее, когда нужны сравнение по колонкам, сортировка и точные фильтры по полям. Поиск и фильтры в каждом режиме свои; карточка робота открывается из обоих представлений.

Режим карточек
Поиск
- Используйте поисковую строку, чтобы найти информацию о роботах, доступную в текущем загруженном списке;
- в подписи к полю указана горячая клавиша фокуса: / — после нажатия курсор переходит в строку поиска.

Плотность отображения карточек
- Компактно — более плотная сетка;
- Стандарт — режим по умолчанию;
- Наблюдение — режим с укрупнённым “наблюдательным” представлением карточек.

Группировка
- по нажатию открывается меню с вариантами группировки (переключаемые пункты):
- Без групп;
- по статусу;
- по режиму работы;
- по связи.
- по умолчанию без группировки;

Сортировка
- по нажатию открывается меню с вариантами сортировки:
- важность;
- статус;
- название;
- заряду (от минимального к максимальному);
- обновлению.
- по умолчанию сортировка по важности.

Массовый выбор
Массовый выбор нужен, чтобы держать под наблюдением несколько роботов сразу, не открывая карточку каждого по очереди. Выбранные роботы отображаются в нижней панели «Наблюдение»: по ним видны число инцидентов, средний заряд, статус, позиция и ошибки. Оттуда можно открыть детали конкретного робота или убрать его из набора.

Роботов можно отметить на карточках или сразу всех роботов кнопкой на панели:
- По одному. На карточке откройте меню действий и выберите «Выбрать». Когда хотя бы один робот уже выбран, на всех карточках появляется флажок для выбора.
- Сразу всех роботов. Кнопка «Выбрать (N)» на панели отмечает все роботы, которые остались после поиска и фильтров; N — их число.

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

Карточки роботов
Каждая карточка робота — интерактивная область. Нажатие на основную часть карточки выполняет действие «Открыть детали». Заголовком открывшегося окна является название робота. На карточке отображаются:
- верхний блок:
- имя робота, серийный номер
- бейдж подключения: ONLINE или OFFLINE;
- меню действий робота: Выбрать, Редактировать, Удалить;
- блок “Статус”: текущий статус робота
- блок “Миссия”: ID миссии;
- блок “Груз”: тип груза;
- нижний блок:
- процент заряда робота;
- координаты позиции робота.
- время последнего сообщения от робота

Определение статуса робота
Статус на карточке, в таблице и в деталях вычисляется из телеметрии VDA5050. Проверка идёт сверху вниз — применяется первый совпавший статус:
| Приоритет | Статус | Условие |
|---|---|---|
| 1 | ESTOP_MANUAL | safetyState.activeEmergencyStop == "MANUAL" |
| 2 | ESTOP_REMOTE | safetyState.activeEmergencyStop == "REMOTE" |
| 3 | ERROR_FATAL | в errors[*] есть errorLevel == FATAL |
| 4 | ERROR_CRITICAL | в errors[*] есть errorLevel == CRITICAL |
| 5 | ERROR_URGENT | в errors[*] есть errorLevel == URGENT (транспортный заказ TOrder продолжается) |
| 6 | MANUAL | operatingMode == MANUAL |
| 7 | CHARGING | powerSupply.charging == true |
| 8 | DRIVING | driving == true |
| 9 | FIELD_VIOLATION | driving == false и safetyState.fieldViolation == true |
| 10 | WAITING | driving == false и newBaseRequest == true |
| 11 | PAUSED | paused == true |
| 12 | IDLE | ни одно условие выше не выполнено |
Клик по карточке робота открывает окно “Детали” этого робота.
Режим “Таблица”
При переключении на представление «Таблица» основная область меняется на табличное представление того же набора роботов. Таблица содержит:
| Колонка | Содержимое |
| ID | Внутренний идентификатор записи в WCS. У незарегистрированного робота поле пустое |
| Серийный номер | Уникальный код робота, как в VDA5050 (serialNumber) |
| Производитель | Название производителя из справочника |
| Название | Отображаемое имя робота |
| Действия | Меню строки: открыть детали, редактировать, удалить — в зависимости от прав |
| Статус | Текущий статус робота, например IDLE или DRIVING |
| ID последнего узла | lastNodeId — идентификатор последней достигнутой точки маршрута |
| ID заказа | orderId — идентификатор текущего транспортного заказа |
| Подключение | Состояние связи: ONLINE, OFFLINE или CONNECTIONBROKEN |
| Заряд | Уровень заряда батареи в процентах |
| Зарядка | Признак, что робот сейчас заряжается |
| Позиция | Координаты x и y на карте |
| Режим работы | operatingMode по VDA5050, например AUTOMATIC или MANUAL |
| Ручной | Признак ручного управления |
| Нагрузки | JSON с данными о грузе, если они переданы |
| Загружен | «Загружен» или «Свободен» |
| Движение | Признак, что робот едет |
| Приостановлен | Признак паузы |
| Активный | Признак, что робот доступен для рабочих процессов |
| Миссия | Идентификатор связанной миссии в формате #<номер>; если миссии нет — прочерк |
| Обновлено | Дата и время последнего обновления состояния |
| Ошибки | Текущий массив ошибок робота; длинное значение можно открыть полностью |
Поиск, сортировка, панель «Столбцы», меню «Действия» и быстрые действия работают по общим правилам из статьи «Работа с таблицами».
Нажатие на строку открывает окно деталей робота.
Окно “Детали робота”
Окно “Детали робота” открывается по клику на карточку робота или на строку в таблице роботов. Содержит расширенную информацию о роботе:

Шапка
- рядом с именем — краткие индикаторы состояния (статус, подключение, производитель);
- идентификатор и название робота (с возможностью быстрого копирования этих данных);
- строка с производителем (например, Automacon) и версией ПО (например, 3.0.0);
- ряд кнопок-индикаторов сценария движения/режима: Заряжается, На парковке, В пути, На паузе, В ручном режиме (отображают текущую классификацию состояния в терминах эксплуатации).

Левая колонка «Информация о роботе»
- блок “Заряд” с индикатором выполнения и числовым значением;
- признак “Активный”;
- поле “Подключение” (ONLINE/OFFLINE);
- поле “Нагрузка” с кратким статусом. Она же кнопка для открытия подробностей в нижней части окна;
- поле “Ошибка” с числом ошибок. Она же кнопка для открытия подробностей в нижней части окна.

Блок «3D модель»
- область предпросмотра;
- кнопки «Пауза» и «Запустить» управляют анимацией модели.

Вкладки нижней части окна
- Сейчас — текущие телеметрические поля;

- Нагрузка — сводка по грузу;

- Ошибки — сводка по ошибкам;

- Отладка — блок «Raw state» с просмотром исходного JSON состояния;

В нижнем правом углу кнопка для изменения размера окна.
Создание робота
Появление по телеметрии
Если робот уже передаёт сообщения VDA5050, а записи с таким серийным номером в реестре роботов нет, робот будет отображаться в списке как незарегистрированный: без ID, с данными из потока состояния. Это может быть как реальный робот, так и робот сервиса симуляции. Симуляция сама запись в реестр не создаёт.
Чтобы зарегистрировать такого робота, в меню «Действиия» выберите «Зарегистрировать».

Серийный номер, версия и производитель уже будут заполнены из сообщения и будут недоступны для изменения.
Заполните поля:
- Название - понятное пользователю название робота;
- Шаблон - задает визуализацию робота на карте
Отметьте признак “Активный”, чтобы робот стал доступен для назначения заданий.
Подтвердите регистрацию робота кнопкой “Сохранить”.

Регистрация с нуля
Если необходимо завести робота заранее, до того как он выйдет на связь, воспользуйтесь кнопкой «Зарегистрировать робота» в верхней части экрана.

Заполните форму: название, серийный номер, версия, производитель, шаблон и признак «Активный».
Откроется форма создания робота со следующими полями:
- Название - понятное пользователю название робота;
- Серийный номер - серийный номер робота;
- Версия - версия протокола VDA5050, которую робот указывает в сообщениях;
- Производитель - выберите из списка или создайте нового;
- Шаблон - задает визуализацию робота на карте, выберите из списка или создайте новый
- Активный - признак доступности робота для заданий.
Подтвердите создание кнопкой “Создать”.
В нижнем правом углу есть кнопка для изменения размера окна.

Редактирование робота
Редактирование недоступно для незарегистрированного робота и в режиме «История». Открыть форму редактирования робота можно из:
- меню действий на карточке робота — пункт «Редактировать»;

- столбец «Действия» или контекстное меню строки в таблице — пункт «Редактировать»;

- окно “Детали” робота — меню в шапке, пункт «Редактировать робота».

Далее:
- Измените доступные поля.
- Нажмите «Сохранить».
Удаление робота
Логическое удаление
Вместо безвозвратного удаления робота рекомендуется логическое удаление: в режиме редактирования выключите признак “Активный” .
- Что будет в системе: Робот пропадет из списков доступных для заданий, его не видно в обычных интерфейсах.
- Что будет с данными: Все исторические данные остаются доступными. Отчеты строятся корректно.
Безвозвратное удаление
При необходимости безвозвратно удалить робота из системы WCS (например, ошибочное заведение или тестовый робот) используйте функцию удаления.
Инициировать безвозвратное удаление робота можно из:
- меню действий на карточке робота — пункт «Удалить»;
- столбца «Действия» или контекстное меню строки в таблице — пункт «Удалить»;
- окна “Детали” робота — меню в шапке, пункт «Удалить».
Перед удалением система отображает предупреждение, подтверждающее выполнение операции. После подтверждения робот будет удалён из системы. Все связанные исторические данные также будут удалены.
История
Переключатель «История / Текущее время» в верхней части экрана позволяет просмотреть состояние парка и подробные сведения о роботах на выбранный момент. В режиме «История» действия редактирования и удаления недоступны.