Files

52 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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