Skip to content

Proposal - Add geometry_msgs/Wrench support to trajectory_msgs message typesΒ #284

@my-rice

Description

@my-rice

Description

This proposal suggests adding an optional geometry_msgs/Wrench field to the existing trajectory_msgs/JointTrajectoryPoint and trajectory_msgs/MultiDOFJointTrajectoryPoint message definitions. This addition would allow force and torque data to be integrated alongside position, velocity, and acceleration in trajectory messages.

Motivation

Many robotics applications require the ability to command force and torque (wrench) values in addition to trajectory information. For example, there are admittance control strategies, different from the one proposed in ros2_controllers, that could benefit from sending wrench data as a feedforward signal to a controller managing both pose and force control within the same message. Even the existing admittance controller in ros2_controllers could potentially be simplified by including the wrench reference directly in the trajectory message, eliminating the need for a separate subscriber to retrieve the wrench.

Currently, neither JointTrajectoryPoint nor MultiDOFJointTrajectoryPoint supports wrench data, which often necessitates the creation of custom message types.

Design / Implementation Considerations

The proposed modification is to add an optional geometry_msgs/Wrench field to both JointTrajectoryPoint and MultiDOFJointTrajectoryPoint messages.

Additional Information

I have developed custom controllers that depend on this functionality and implemented a workaround using private, custom message definitions in a separate repository. I believe this feature would be beneficial to the ROS 2 community. I am willing to contribute to the development of this change. I will start by participating in community discussions. If the change is accepted, I will submit a pull request aligned with your feedback and the ROS 2 contribution guidelines.
I am also open to any suggestions or modifications that could improve the proposal and better fit the needs of the community.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions