fzi-forschungszentrum-informatik / cartesian_controllers

A set of Cartesian controllers for the ROS1 and ROS2-control framework.
BSD 3-Clause "New" or "Revised" License
397 stars 119 forks source link

Add optional pre/post chain segment to the default robot_chain #189

Open captain-yoshi opened 7 months ago

captain-yoshi commented 7 months ago

Allows to make every parameter's and computation wrt. a new robot base. This is handy if one wants to have everything computed wrt. a fixed hand frame. I needed a way to be in the hand frame, but also have the PD cartesian gains to also be in the hand frame.

Allows to set an optionnal offset to the end effector. E.g. Be able to reason about a screwdriver (no URDF link) grasped from a gripper.

Uses a ROS Service to update the pre/post segments as a geometry_msgs/PoseStamped. Just set the frame_id to apply the desired pre/post segments. An empty frame_id will remove the corresponding segment.

# Ability to add a chain before or after the robot chain (parsed by the URDF)

# Removes the chain if the frame_id is empty. Otherwise, overwrites the previous chain.
geometry_msgs/PoseStamped pre_robot_chain_offset    # Attached before the robot base link
geometry_msgs/PoseStamped post_robot_chain_offset   # Attached after end effector link
---
bool success
string message

This should only bet set when the controller is stopped.

TODO