Skip to content

Hardware Interfaces with many parameters #347

@destogl

Description

@destogl

Integrating an existing robot into the ros2_control framework, an issue about parameterizing hardware interface came up. Concretely, the robot is rather complex with many sensors (FTS, cameras), tool changing system, many tools. Therefore many parameters need to be set at on start of the hardware. In ros_control we would typically use YAML files for this and access the parameters on the parameters server. Since the hardware interface does not have access to the ROS2 Node interface in ros2_control, this is no longer possible. Therefore we decided to define parameters under the ros2_control tag in URDF. So if one often needs to change those parameters, this is very inconvenient, especially if it is expected that end-users set the concrete values for their robots (e.g., IP-addresses).

I see two possibilities to make this easier:

  1. Extend interfaces through the ros2_control library and enable RessourceManager and HardwareInterfaces to access the parameters.
  2. Use YAML files inside xacro files as done by @livanov93 for the UR robots:

As users, which approach do you prefer? I would especially like to get opinions from people focusing on using the library and not developing it (@guru-florida, @olivier-stasse, @dignakov, @v-lopez, @ahcorde, @jordan-palacios, @AndyZe, @livanov93)

Sorry @bmagyar and @Karsten1987, I think we are too biased. 😀

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions