Files

3.2 KiB
Raw Permalink Blame History

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 с именем, группой, описанием и суставными углами