Transform angular velocity with tf2
Is it possible to transform angular velocity (x, y, z) or a TwistStamped with TF2 (in C++?)
tf_buffer.transform(velo1, velo2, "target_frame", ros::Duration(0))
compiles, but falls in runtime, with
tf2::getFrameId
symbol not found. I debugged, and found out, that tf2geometrymsgs.h file lacks getFrameId
with TwistStamped argument.
Asked by okalachev on 2018-09-05 20:44:26 UTC
Answers
tf2 does not support transforming velocities. There is a former transformTwist method. But to transform velocities there are several extra reference frames that need to be considered when transforming it. To that end the Twist datatype doesn't have enough information. And the tf data doesn't have velocities built in so it requires discrete differentiation with a parameterized time period which is another parameter that's also application specific and needs to be tuned.
Asked by tfoote on 2019-09-09 12:55:29 UTC
Comments