Добавлена спецификация и навыки для codex и kimi-code
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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` до вызова планирования и исполнения
|
||||
|
||||
Reference in New Issue
Block a user