7.7 KiB
Инструкция по добавлению нового робота в фреймворк Robossembler ROS 2
Прежде всего необходимо скачать пакет робота, содержащий файлы xacro
или urdf
, а также файлы геометрии робота в формате .stl
, .dae
, .obj
и других.
Перед началом работы важно ознакомиться с основными аспектами формата xacro. Этот формат позволяет переиспользовать существующие фрагменты URDF-описания робота, что упрощает создание и модификацию описания.
Шаги по добавлению нового робота:
-
Установка пакета робота
После установки пакета робота создайте файлxacro_args.yaml
в директории{description_package}/config/
. В этом файле необходимо указать аргументы для преобразования xacro-файла в URDF. -
Настройка запуска
Отредактируйте файлrbs_bringup.launch.py
, указав параметры для запуска робота.Пример стандартной реализации:
main_script = IncludeLaunchDescription( PythonLaunchDescriptionSource( [ PathJoinSubstitution( [FindPackageShare("rbs_runtime"), "launch", "runtime.launch.py"] ) ] ), launch_arguments={ "with_gripper": "true", "gripper_name": "rbs_gripper", "robot_type": "rbs_arm", "description_package": "rbs_arm", "description_file": "rbs_arm_modular.xacro", "robot_name": "rbs_arm", "use_moveit": "false", "moveit_config_package": "rbs_arm", "moveit_config_file": "rbs_arm.srdf.xacro", "use_sim_time": "true", "hardware": "gazebo", "use_controllers": "true", "scene_config_file": "", "base_link_name": "base_link", "ee_link_name": "gripper_grasp_point", "control_space": "task", "control_strategy": "position", }.items(), )
Здесь выполняется запуск другого launch-файла с указанными аргументами. Ниже приводится описание каждого аргумента.
Описание параметров:
-
with_gripper
Указывает, есть ли на роботе захватное устройство (гриппер). Если значениеtrue
, будет настроен и запущенgripper_controller
. -
gripper_name
Используется как ключевое слово для указания линков и джоинтов, относящихся к грипперу. Также применяется в xacro-аргументах. -
robot_type
Обозначает группу роботов одного типа. Например, все роботы с разными именами, но одинаковой конструкцией. -
description_package
Пакет, содержащий описание URDF робота. Обязательный параметр. Используется для определения пути к файлу описания и конфигурации контроллеров. -
description_file
Имя файла описания, который должен находиться в{description_package}/urdf/
. -
robot_name
Уникальное имя робота, которое позволяет отличить его от других в сцене. -
use_moveit
Указывает, нужно ли использовать MoveIt 2. Для базовых перемещений MoveIt 2 не обязателен, но для работы с препятствиями рекомендуется его включить. -
moveit_config_package
Имя пакета конфигурации MoveIt 2, который генерируется на основе{description_package}
. Обязательный параметр, если используется MoveIt 2. -
moveit_config_file
Файл запуска MoveIt 2, находящийся в{moveit_config_package}/launch/
. -
use_sim_time
Обязательный параметр при работе в симуляции. Обеспечивает синхронизацию времени с симулятором. -
hardware
Указывает интерфейс для управления роботом. Например,gazebo
. Используется в основном в xacro-файлах. -
use_controllers
Указывает, нужно ли использовать стандартные контроллеры. Если значениеfalse
, робот не сможет двигаться. Влияет на запуск файла control.launch.py. -
scene_config_file
Файл конфигурации сцены в формате YAML. Пример можно найти здесь. Обратите внимание на соответствие количества степеней свободы робота. -
base_link_name
Имя базового линка, от которого начинается робот. Важно для настройки навыков. Рекомендуется свериться с URDF. -
ee_link_name
Имя конечного линка (энд-эффектора), где заканчивается робот. Этот параметр также настраивается на основе URDF. -
control_space
Указывает, в каком пространстве робот будет управляться.
Возможные значения:task
— управление в пространстве задач (например, с использованием позиций и ориентации в рабочем пространстве).joint
— управление в пространстве суставов (например, с использованием угловых значений для каждого сустава робота).
Значение по умолчанию:task
.
-
control_strategy
Указывает стратегию управления роботом.
Возможные значения:position
— управление положением, когда задаются желаемые позиции для суставов или рабочей точки.velocity
— управление скоростью, когда задаются желаемые скорости движения.effort
— управление усилием, когда задаются моменты или силы, прикладываемые к суставам.
Значение по умолчанию:position
.
-
interactive
Указывает, нужно ли запускать контроллерmotion_control_handle
.
Значение по умолчанию:true
.