Ask Your Question

Transform PoseWithCovariance

asked 2012-02-15 22:54:15 -0600

Is there any funcionality in the tf library which allows transforming PoseWithCovariance msgs to a different frame? It should consider not just the pose transformation but also the covariance eigen vectors rotation.

edit retag flag offensive close merge delete


I talk a bit more about this problem in this post of my blog: . I'm sorry it is in spanish but It may be useful for some people.

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2012-02-17 05:45:12 -0600 )edit

You might want to read into "S. Su and C. Lee, “Manipulation and propagation of uncertainty and verification of applicability of actions in assembly tasks,” Systems, Man and Cybernetics, IEEE Transactions on, vol. 22, no. 6, pp. 1376– 1389, 1992."

TomTUM gravatar image TomTUM  ( 2012-03-15 05:46:52 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2012-03-25 07:17:21 -0600

Hi Pablo,

The new package pose_cov_ops in the mrpt_common stack does exactly what you're looking for.

It includes pose (direct and inverse) composition with a rigorous treatment of uncertainty, even when it's given as a 6x6 covariance matrix in yaw-pitch-roll, which is much harder to implement than e.g. as a 7x7 with unit quaternion representation.

The package is actually a wrapper of functionality in the lib mrpt-base, which has dozens of unit tests regarding uncertainty transformations so it should be quite reliable. Much more of mrpt-base functionality is expected to be wrapped in the future.

Check the package wiki for references to a technical report explaining all the internal equations.


edit flag offensive delete link more


This is a really really interesting package. AFAIK ROS lacked of this functionality. Neither TF, KDL, Bullet nor BFL provide this functionality. Specially interesting is the case of changing a pose to an uncertain frame.

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2012-03-26 06:14:34 -0600 )edit

In fact I would like to see TF system based of this uncertainty handling. I think this would be a much more powerful system allowing even a transformation graph instead of a transformation tree thanks to the possibility of a bayesian fussion of two estimation of the same frame.

Pablo Iñigo Blasco gravatar image Pablo Iñigo Blasco  ( 2012-03-26 06:22:32 -0600 )edit

Pablo: Building a transformation tree is "easy", given you correctly handle covariance transformations. But graphs, which may have loops, are much harder! They become in fact an entire new problem on its own: graph-slam ;-)

Jose Luis Blanco gravatar image Jose Luis Blanco  ( 2012-03-29 12:48:16 -0600 )edit

I can't seem to find a git link to download either pose_cov_ops or mrpt_common. Are there any instalation instructions I'm not aware of?

Pino gravatar image Pino  ( 2013-07-19 06:16:49 -0600 )edit

Instructions can be found here:

Jose Luis Blanco gravatar image Jose Luis Blanco  ( 2013-07-19 21:24:30 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2012-02-15 22:54:15 -0600

Seen: 2,497 times

Last updated: Mar 25 '12