Добавлена спецификация и навыки для 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
+54
View File
@@ -0,0 +1,54 @@
# Sunrise Program
## Purpose
Определяет обязанности программы на контроллере KUKA при установлении FRI-сессии и ограничения выбранного сетевого и управляющего режима.
## Requirements
### Requirement: Отдельное развёртывание
`ServerFriRos2` SHALL собираться и развёртываться в Sunrise Workbench отдельно от ROS workspace; физический запуск MUST сверять адрес ПК, порт FRI, инструмент и Load Data с конфигурацией ячейки.
#### Scenario: Новый контроллер
- **WHEN** программа переносится на другую ячейку
- **THEN** оператор проверяет сетевые константы, имя инструмента и его данные нагрузки перед FRI-сессией
### Requirement: Выбор интерфейса сети
Программа SHALL предлагать KONI или KLI и использовать адрес ПК выбранной сети при создании FRI-конфигурации.
#### Scenario: Выбран KLI
- **WHEN** оператор выбирает KLI
- **THEN** период отправки устанавливается в 10 мс и режим ручного ведения недоступен в меню
### Requirement: Подъезд до запуска FRI
Программа SHALL перемещать робот в предварительно заданное суставное положение до открытия FRI-сессии; оператор MUST проверять это положение для своей ячейки и инструмента.
#### Scenario: Запуск физической программы
- **WHEN** оператор начинает `ServerFriRos2`
- **THEN** робот выполняет настроенный подъезд до входа в позиционный или мониторинговый режим FRI
### Requirement: Выбор командного режима
Для позиционного управления программа SHALL создавать FRI-сессию с позиционными суставными командами; выбранный режим управления SHALL соответствовать возможностям клиентского аппаратного интерфейса.
#### Scenario: Позиционный режим
- **WHEN** оператор выбирает Position или JointImpedance для командного движения
- **THEN** клиент ROS получает сессию с `POSITION` command mode и `JOINT` overlay
### Requirement: Мониторинг без команд
Режим Monitor SHALL быть доступен только при выборе KONI; перед ручным ведением программа SHALL проверить данные нагрузки инструмента и предупредить оператора, если проверка не прошла.
#### Scenario: Попытка Monitor на KLI
- **WHEN** оператор выбирает KLI
- **THEN** программа не предлагает Monitor как режим запуска
#### Scenario: Неверные Load Data
- **WHEN** проверка нагрузки инструмента в Monitor не проходит
- **THEN** программа показывает предупреждение и предоставляет оператору выбор остановить запуск или явно продолжить
### Requirement: Завершение сессии
Программа MUST закрывать FRI-сессию при штатном окончании и при освобождении приложения, включая ошибки соединения.
#### Scenario: Нет клиента
- **WHEN** FRI-клиент не подключается в отведённые 30 секунд
- **THEN** программа сообщает тайм-аут и закрывает сессию