Ask Your Question
0

Is there something like TransformWithCovarianceStamped?

asked 2015-09-01 16:07:40 -0600

ruffsl gravatar image

I'm using a tf::StampedTransform message to add some odometric measurements to a factor graph, and I'd like to initialize the noise model for the measurement using the covariance from the ROS package thats publishing the TF.

I had thought there was a transform message that included covariance, but perhaps I was thinking of PoseWithCovarianceStamped, as I do not see an equivalent TransformWithCovarianceStamped among the geometry message types. I guess what I'm asking is in general, how one might one refactor this to incorporate covariance information, is there perhaps a pose listener lookup? I'm using a tf_listener to look up the transform between two times, but now I also need to look up the connivance for it as well.

Details:

I'm using a tf listener to grab the relative pose between time stamps like so: tf_pose_plugin.cpp#L38

And svo for visual radiometry is publishing the tf like so: visualizer.cpp#L208
but svo also publishes PoseWithCovarianceStamped here: visualizer.cpp#L196

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2015-09-01 17:44:13 -0600

tfoote gravatar image

Dealing with uncertainty in tf is definitely a problem. There are issues with representation of uncertainty to start with. Followed by how to chain uncertainty, as well as how to interpolate uncertainty.

You can probably write a method for interpolating your PoseWitthCovarianceStamped however I recommend keeping everything in the same coordinate frame otherwise you will also need to solve the covariance chaining problem.

The other reason covariance is not in the standard tf streams is that is a lot of information compared to just the core data.

edit flag offensive delete link more
0

answered 2019-12-05 00:29:57 -0600

Rufus gravatar image

updated 2019-12-05 01:20:03 -0600

UbiquityRobotic's fiducial_slam provides an implementation of TransformWithVariance. Not sure how accurate it is though

Additionally, MRPT has the pose_cov_ops which allows "adding" PoseWithCovariance

edit flag offensive delete link more

Comments

Perhaps you can update your answer with links to the packages?

jayess gravatar imagejayess ( 2019-12-05 20:04:32 -0600 )edit

@jayess It's already linked if you hover over the package names

Rufus gravatar imageRufus ( 2019-12-06 01:45:35 -0600 )edit

You're right, it's not obvious though because of the inline syntax highlighting.

jayess gravatar imagejayess ( 2019-12-07 12:21:14 -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

Stats

Asked: 2015-09-01 16:07:40 -0600

Seen: 362 times

Last updated: Dec 05 '19