frankaemika / franka_ros

ROS integration for Franka research robots
https://frankaemika.github.io
Apache License 2.0
353 stars 308 forks source link

Exposing default and constant values #40

Open aPonza opened 5 years ago

aPonza commented 5 years ago

I was wondering if it were possible to expose GripperState::max_width in the ROS parameter server or maybe in the result of the HomingAction.

On a different but related note, I find myself having to define many static constexpr values for, for example, the bit "_linkN" from "panda_linkN" or "_leftfinger" (since I can get the arm_id from /franka_state_controller") from the SRDF. I can find the joint names in the parameter server, but not the link names...and I haven't found another way to get those.

Same goes for static const geometry_msgs::Vector3 distance_flange_to_center_of_fingers_closed describing the (0.0, 0.0, 0.1034) vector you provide on the research manual (pag. 44). This one is needed for a static transform broadcaster which I would gladly remove from my code if you had a default one in franka_state_controller.

As far as I know, these should all be constant for all Panda robots. I personally prefer to avoid having my own definition for defaults if defaults are already in place from someone else. It would really be nice to have these setup, though they are not a critical concern. At the same time I'm not sure wether this is regarded as a "best practice" in the ROS community, especially when talking about the SRDF parameters.

aPonza commented 5 years ago

A note on the distance_flange_to_center_of_fingers_closed: I was looking for frame panda_K which franka_state_controller indeed publishes. I was always reading a number somehow different from 0.1034 and thought you were publishing the distance to the center of the tips of the fingers, not the center of the fingers. Glad I was wrong!

aPonza commented 5 years ago

I have accidentally found: