3.2 KiB
Robot Model
Purpose
Фиксирует кинематическую модель семиосевого iiwa 7, систему координат TCP, ограничения суставов и зависимость модели от выбранного инструмента.
Requirements
Requirement: Семь осей и единицы
Модель SHALL содержать суставы joint1–joint7 в заданном порядке; суставные положения SHALL выражаться в радианах, скорости в радианах в секунду.
Scenario: Публикация состояния
- WHEN запущен
joint_state_broadcaster - THEN
/joint_statesсодержит имена и значения всех семи управляемых суставов
Requirement: Согласованные лимиты
URDF, ros2_control, MoveIt и проверка внешних суставных команд MUST брать границы из joint_limits.yaml с учётом мягкого диапазона там, где он предусмотрен.
Scenario: Суставная цель вне мягкой границы
- WHEN HTTP-запрос суставного движения содержит угол за допустимой границей
- THEN запрос отклоняется до отправки ROS action с кодом 422
Requirement: Активный инструмент
Конфигурация инструмента SHALL определять Xacro-описание, конечное звено кинематической цепи, TCP и пары отключённых самоколлизий.
Scenario: Выбор инструмента из реестра
- WHEN
cobot robot-setupприменяет инструмент изtools.yaml - THEN обновляются
tool_active.xacroиiiwa7.srdf, сохраняя существующие именованные положения
Scenario: Нет инструмента
- WHEN выбран
none - THEN TCP совпадает с
link_eeчерез фиксированное соединение
Requirement: Декартова система координат
Декартово движение SHALL задавать целевую позу TCP относительно указанного frame_id, по умолчанию base_link.
Scenario: Рамка не указана
- WHEN клиент оставляет
frame_idпустым - THEN сервер движения использует
planning.default_frame
Requirement: Именованные положения
Именованные положения SHALL определяться group_state в SRDF и предоставляться клиенту вместе с именами и углами суставов.
Scenario: Запрос каталога
- WHEN клиент вызывает
GET /robot/positions - THEN возвращаются доступные
group_stateс именем, группой, описанием и суставными углами