You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PoseStamped instead of TransformStamped for Cartesian space positions #1
I would like to suggest a change to the CRTK specification. I know the following is a breaking change and so may not be accepted because of that.
I propose using the PoseStamped message type for representing "single" (i.e., not a heirarchy of transformations) measurements/commands in Cartesian space. My arguments for doing so:
Basically, tools like RViz expect an array with a hierarchy of transforms which gets published by, e.g., robot_state_publisher. Typically not at a very high frequency.
TransformStamped has a child_frame_id field, which implies that it "specifies a transform from the header's frame_id to child_frame_id" (again, a hierarchy of transforms). PoseStamped only has a frame_id which makes more sense for representing end-effector poses that are given in, e.g., the robot's base_link frame.
PoseStamped is immediately visualizable in RViz, while TransformStamped has to be displayed via. TFDisplay, i.e., updating the view of the whole TF transform heirarchy.
My reason for asking this is that I was looking to implement the CRTK spec in our MOPS surgical system, and here I found a discrepancy.
Agreed. One of our heavy ROS user made a similar comment a while back. This will break users's code since the payload will change. So if we get a consensus for this change (@pkazanzides@blake5634@melodysu83), I'd like to keep this in the devel branch until we get to a proper release (2.1?). Should we synchronize this with the next round of Raven, dVRK, CRTK ROS2... releases?
I have pushed some code related to this issue to a few repositories:
ROS1 cisst/SAW CRTK bridge (device side)
ROS1 Python and Matlab client libraries
ROS2 cisst/SAW CRTK bridge (device side)
ROS2 Python client library (there is no Matlab for ROS2 yet)
All cisst/SAW users (including dVRK) will need to update their code if they created their own ROS publishers/subscribers for _cp commands instead of using the client libraries (devel branches and upcoming releases).
Activity
adeguet1 commentedon Dec 1, 2021
Agreed. One of our heavy ROS user made a similar comment a while back. This will break users's code since the payload will change. So if we get a consensus for this change (@pkazanzides @blake5634 @melodysu83), I'd like to keep this in the devel branch until we get to a proper release (2.1?). Should we synchronize this with the next round of Raven, dVRK, CRTK ROS2... releases?
pkazanzides commentedon Dec 2, 2021
I am fine with that change.
melodysu83 commentedon Dec 2, 2021
Use PoseStamped instead of TransformStamped for CRTK _cp commands (see …
Use PoseStamped instead of TransformStamped for CRTK _cp commands (see …
Use PoseStamped instead of TransformStamped for CRTK _cp commands (see …
Use PoseStamped instead of TransformStamped for CRTK _cp commands (see …
Use PoseStamped instead of TransformStamped for CRTK _cp commands (see …
adeguet1 commentedon Jan 10, 2022
I have pushed some code related to this issue to a few repositories:
All cisst/SAW users (including dVRK) will need to update their code if they created their own ROS publishers/subscribers for
_cpcommands instead of using the client libraries (develbranches and upcoming releases).Regarding the documentation (https://github.com/collaborative-robotics/documentation/wiki/Robot-API-motion). Should I:
TransformStampedbyPoseStampedand remove all references toTransformStampedAs far as I am concerned, CRTK is still a draft and not released (not 1.0 yet) so I'd be fine just replacing
TransformStampedbyPoseStamped.CRTK interface: Use PoseStamped type for Cartesian positions
CRTK interface update (#38)