ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If you use a target_time of zero it will give you the latest reading. And if you set a very small averaging_interval to a very small value(less than the minimum time between your tf updates) it will effectively do what you want. This will cause the target time to be the last update. And it will use linear interpolation between the last two updates to compute the other endpoint of the interval.

Note: This will be very noisy data! You are doing discreet differentiation over small time samples, the result will be very biased by noise in the tf positions.

As @diaz mentioned you want to use Transformer::lookupTwist()

If you use a target_time of zero it will give you the latest reading. And if you set a very small averaging_interval to a very small value(less than the minimum time between your tf updates) it will effectively do what you want. This will cause the target time to be the last update. And it will use linear interpolation between the last two updates to compute the other endpoint of the interval.

Note: This will be very noisy data! You are doing discreet differentiation over small time samples, the result will be very biased by noise in the tf positions.

As @diaz @dlaz mentioned you want to use Transformer::lookupTwist()

If you use a target_time of zero it will give you the latest reading. And if you set a very small averaging_interval to a very small value(less than the minimum time between your tf updates) it will effectively do what you want. This will cause the target time to be the last update. And it will use linear interpolation between the last two updates to compute the other endpoint of the interval.

Note: This will be very noisy data! You are doing discreet differentiation over small time samples, the result will be very biased by noise in the tf positions.