2.9 KiB
Observability
Purpose
Определяет доступные оператору средства наблюдения за состоянием робота и симуляции и требования к диагностике отказов без сокрытия ошибок связи или движения.
Requirements
Requirement: Суставная телеметрия
Активный контроллер SHALL публиковать измеренное состояние семи суставов через joint_state_broadcaster для планирования и внешнего чтения.
Scenario: Работа контроллера
- WHEN аппаратный или симуляционный контроллер активен
- THEN
/joint_statesдоступен серверу движения, веб-мосту и визуализации
Requirement: RViz по запросу
Основной launch SHALL поддерживать отдельный аргумент rviz для визуализации модели и планирования.
Scenario: RViz включён
- WHEN launch получает
rviz:=true - THEN запускаются RViz-узлы с конфигурацией из
digital_twin.rviz.config
Requirement: Foxglove bridge по настройке
При foxglove.enabled=true система SHALL запускать foxglove_bridge с настроенными портом, адресом, TLS и списками разрешённых топиков, сервисов и параметров.
Scenario: Foxglove отключён
- WHEN
foxglove.enabled=false - THEN bridge не запускается основным launch
Requirement: Явное сообщение об отказе FRI
Аппаратная подсистема MUST сообщать диагностическую причину ошибки FRI, включая ошибки SDK, тайм-аут цикла, неверный период и потерю сессии.
Scenario: Ошибка FRI step
- WHEN FRI
step()завершается неуспешно - THEN worker отмечает отказ, прекращает нормальный обмен и выводит сообщение об ошибке
Requirement: Различение состояний движения
Action движения SHALL публиковать обратную связь planning и executing, а окончательный результат SHALL содержать сообщение, пригодное для диагностики.
Scenario: Планирование цели
- WHEN сервер начал обработку action-цели
- THEN клиент получает стадию
planning, затемexecutingдо вызова планирования и исполнения