55 lines
4.2 KiB
Markdown
55 lines
4.2 KiB
Markdown
# 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** программа сообщает тайм-аут и закрывает сессию
|
|
|