UniversalRobots / Universal_Robots_ROS_cartesian_control_msgs

Message definition for Cartesian trajectories.
Apache License 2.0
7 stars 3 forks source link

Definition of orientation_error message type in cartesian_control_msgs/CartesianTolerance #4

Open wafts95 opened 2 years ago

wafts95 commented 2 years ago

The current msg type for orientation_error is set to be geometry_msgs/Vector3. According to the FZI proposal, it is said that:

With this definition users can define tolerances per axis, where rotational constraints are meant to be angle differences in the local coordinate system. Therefore we use geometry_msgs/Vector3 instead of geometry_msgs/Pose for position_error and orientation_error.

I am not completely sure what to understand from the Vector3 orientation_error:

  1. Are we meant to define either a rotation error in either RPY, rotation vector or any Euler angle?
  2. Are we meant to interpret this Vector3 as a list of elements defining a cone around each of the x, y, and z axes of the goal pose, with that cone being the maximum allowable angular deviation of the respective x, y, and z axes of the current pose?

Please let me know, and I believe that we can update the documentation of the msg definition based on your answer.

fmauch commented 6 months ago

I guess the answer would be "it depends on the implementation".

For example, in the Cartesian trajectory controller it is using an angle axis representation:

https://github.com/UniversalRobots/Universal_Robots_ROS_controllers_cartesian/blob/fdc1b96a3e5614fc3f7e771a9e187f7545dde25d/cartesian_trajectory_interpolation/include/cartesian_trajectory_interpolation/cartesian_state.h#L80-L82

which is being checked here