feat(rbs): refactor controller paths and launch configuration

- Rename default controllers file `rbs_arm0_controllers.yaml` to `controllers.yaml` across all launch files
- Enhance `runtime.launch.py` by adding imports (`URDF_parser`, `ControllerManager`, `yaml`) and new arguments (`scene_config_file`, `ee_link_name`, `base_link_name`)
  - Implement xacro argument loading via YAML
  - Configure `robot_builder` to save controllers to `controllers.yaml` based on URDF parsing
- Add `control.launch.py` in `rbs_bringup` for dynamic controller spawning based on strategies/configurations
- Add `rbs_bringup.launch.py` as a unified entry point for single robot setup, initializing core settings like gripper, robot type, and controllers
- Remove `launch_env.launch.py`
- Remove `multi_robot.launch.py`
- Enhance `rbs_robot.launch.py` with `ee_link_name` and `base_link_name` arguments for end-effector and base link customization
- Add `ee_link_name` and `base_link_name` to `skills.launch.py` for flexible robot setup in skills
- Update `mtp_jtc_cart.cpp` with `base_link` and `robot_ee_link` parameters for KDL chain retrieval
- Remove `single_robot.launch.py` for simplified single robot deployment
This commit is contained in:
Ilya Uraev 2024-11-12 22:23:12 +03:00
parent a7b7225dd1
commit ea4ae0ed69
13 changed files with 279 additions and 880 deletions

View file

@ -13,6 +13,8 @@ def launch_setup(context, *args, **kwargs):
robot_description_kinematics = LaunchConfiguration("robot_description_kinematics")
use_sim_time = LaunchConfiguration("use_sim_time")
use_moveit = LaunchConfiguration("use_moveit")
ee_link_name = LaunchConfiguration("ee_link_name").perform(context)
base_link_name = LaunchConfiguration("base_link_name").perform(context)
# with_gripper_condition = LaunchConfiguration("with_gripper_condition")
robot_description = {"robot_description": robot_description_decl}
@ -64,6 +66,8 @@ def launch_setup(context, *args, **kwargs):
parameters=[
{"use_sim_time": use_sim_time},
{"robot_name": namespace},
{"base_link": base_link_name},
{"robot_ee_link": ee_link_name},
robot_description,
],
),
@ -136,6 +140,12 @@ def generate_launch_description():
declared_arguments.append(
DeclareLaunchArgument("namespace", default_value="")
)
declared_arguments.append(
DeclareLaunchArgument("ee_link_name", default_value="")
)
declared_arguments.append(
DeclareLaunchArgument("base_link_name", default_value="")
)
return LaunchDescription(
declared_arguments + [OpaqueFunction(function=launch_setup)]
)