Add optionnal end effector transform offset for the cartesian force controller #159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ability to add an offset to the end effector link. Usefull when the end effector link is not part of the robot kinematic chain, e.g. when a gripper takes a screw driver. Tested on a real UR3 :)
Adds a generic
SpatialPose
config andPoseParameterHandle
for handling updates of a pose through the dynamic reconfigure server. A getter to retrieve the pose and an atomic query method to see if a new pose is available.Use the
PoseParameterHandle
in the cartesian force controller. Enables the offset to bet set at runtime at the start of the loop to avoid having a potential different offset for the FT sensor reference frame and the target wrench.Setting the pose from within RQT is not recommanded, because we can only adjust one parameter at a time. But you can use the dynamic reconfigure client to set the pose offset parameters in one shot. Can also be configured in the yaml config.
An example of the optionnal offset parameter in the config:
Drawback: Adds 1 matrix multiplication when
m_hand_frame_control = False
, otherwise 2 matrix multiplications. Also retriggers thesetFtSensorReferenceFrame
on each new pose.It's totaly fine if you don't want this feature as it adds some overhead to the controller.