This is usefull when the end effector link is not part of the robot kinematic chain, e.g. when a gripper takes a screw driver. This parameter is optionnal and defaults to identity. Tested on a real robot (UR3).
Configuration exemple:
my_cartesian_force_controller:
type: "position_controllers/CartesianForceController"
robot_base_link: "ur3_base_link"
end_effector_link: "robotiq_2f140_tcp"
ft_sensor_ref_link: "robotiq_ft300_frame_id"
hand_frame_control: true # Indicate in which frame the target_wrench is given:
# True = given in end_effector_link coordinates,
# False = given in robot_base_link coordinates
# Current PR
end_effector_transform_offset:
x: 0
y: 0
z: 0
# Rotate -pi/2 wrt. the end_effector_link Y axis
qx: 0
qy: -0.7071068
qz: 0
qw: 0.7071068
# Alternate 1
end_effector_transform_offset:
position: {x: 0, y: 0, z: 0}
orientation: {qx: 0, qy: -0.7071068, qz: 0, qw: 0.7071068}
# Alternate 2
end_effector_transform_offset:
[0, 0, 0, 0, -0.7071068, 0, 0.7071068] # [x, y, z, qx, qy, qz, qw]
This is usefull when the end effector link is not part of the robot kinematic chain, e.g. when a gripper takes a screw driver. This parameter is optionnal and defaults to identity. Tested on a real robot (UR3).
Configuration exemple: