Добавлена спецификация и навыки для codex и kimi-code

This commit is contained in:
Даниил Грабарь
2026-11-05 14:07:19 +10:00
parent 0e3fd0358f
commit 54f8f14ed7
30 changed files with 3385 additions and 2 deletions
+51
View File
@@ -0,0 +1,51 @@
# Deployment
## Purpose
Определяет воспроизводимый запуск LWC в локальной или контейнерной среде, выбор физического робота или Webots и правила загрузки единой конфигурации.
## Requirements
### Requirement: Целевая платформа
Система SHALL поддерживать нативный запуск на Ubuntu 24.04 с ROS 2 Jazzy и отдельный Docker-сценарий на совместимом Linux-хосте.
#### Scenario: Локальная подготовка
- **WHEN** пользователь запускает `cobot local-setup` на поддерживаемом хосте
- **THEN** мастер проверяет зависимости ROS 2 и Webots и собирает workspace из `src/`
### Requirement: Явный выбор режима
Команда `cobot run` SHALL предлагать среду запуска и режим контроллера или Webots; режим Webots SHALL передавать launch-аргумент `simulate:=1`.
#### Scenario: Выбор симуляции
- **WHEN** пользователь выбирает «Симулятор Webots»
- **THEN** запускается общее дерево `iiwa.launch.py` с симуляционной аппаратной моделью и временем `/clock`
#### Scenario: Выбор контроллера
- **WHEN** пользователь выбирает «Контроллер»
- **THEN** запускается то же дерево с FRI hardware interface и системным временем
### Requirement: Единый файл настроек
Основной launch SHALL загружать путь из аргумента `setting`, разрешать `pkg://` пути и передавать параметры подсистемам из загруженной структуры.
#### Scenario: Пользовательская конфигурация
- **WHEN** задан `setting:=/path/to/cobot-setting.yaml`
- **THEN** launch использует этот файл для параметров робота, симуляции, планирования, веб-сервера и Foxglove
### Requirement: Ошибка конфигурации до движения
Система MUST отклонять некорректные обязательные параметры и отсутствующие обязательные файлы конфигурации до начала командного движения.
#### Scenario: Неверный период FRI
- **WHEN** `fri_cycle_ms` находится вне диапазона 1–100 мс
- **THEN** запуск аппаратного контроллера завершается ошибкой конфигурации
#### Scenario: Неверные параметры TCP-гизмы
- **WHEN** значение тайм-аута или скорости TCP-гизмы неположительно либо не является конечным числом
- **THEN** загрузчик настроек отвергает конфигурацию
### Requirement: Состав запуска
Основной launch SHALL поднимать публикацию состояния робота, контроллеры, MoveIt и сервер движения; Webots, RViz, веб-сервер и Foxglove SHALL включаться согласно режиму и настройкам.
#### Scenario: Отключён веб-сервер
- **WHEN** `web.enabled` имеет значение `false`
- **THEN** узел `iiwa_web_server` не добавляется в launch