Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Add pose covariance displays #974

Closed

Conversation

Ellon
Copy link
Contributor

@Ellon Ellon commented Mar 1, 2016

Hi all,

This PR addresses #381 .

I've been working on visualizing properly the covariances on rviz, improving what was done on rviz_plugin_covariance. I decided to integrate it already on rviz so other people could discuss the enhancements here.

Summary of features:

  • New CovarianceProperty class to hold all properties related to covariances
  • New CovarianceVisual class to perform the drawing of the covariances
  • New PoseWithCovariance display for PoseWithCovarianceStamped messages
    • Selection tool is working properly
    • Covariance can be hidden if needed
  • Update Odometry display to show covariances
    • Odometry can be visualized as Axes or Arrow (idea borrowed from PoseDisplay)
    • Shape related options grouped under shape property
    • Covariance can be hidden if needed
  • Add test script for messages with covariances

Future features:

  • Add proper visualization of orientation covariance. Currently it's just a cone with the same logic of the position covariance, and it's not at all intuitive. I plan to add something like the figure 2 of this article that I found on this email exchange on ros-users.

More information can be found in the discussions here and here.

Ellon added 3 commits March 1, 2016 16:52
The visual of the covariance is defined by CovarianceVisual class. The angular
part should be improved.
@wjwwood
Copy link
Member

wjwwood commented Mar 2, 2016

Thanks for the pr. As I mentioned here: laas/rviz_plugin_covariance#11 I'd like to see the plugin merged and fixed up over there first. If people agree it is working well then I'll consider it for integration into rviz.

@NikolausDemmel
Copy link
Contributor

+1 for getting this into rviz. I guess there cannot be too many serious users out there that we would "leave behind". And it is not too hard to switch your rviz config to use the new plugin from rviz proper. We could add deprecation warning to the plugin in the extra repo, informing users about a more up-to-date version in rviz.

In particular before the latest PR was merged in the plugin repository, the reference frames in which the covariances were displayed were wrong. Therefore that was a breaking change in any case (either fixing previously wrong displays, or breaking workarounds for the previously wrong displays).

Ellon added 4 commits March 8, 2016 11:16
- Use more Ogre Scene Nodes to position/rotate/scale shapes
- Use an 4 shapes for orientation: 3 ellipses for 3D posed and one cone for 2D poses
- Display flat objects when dealing with 2D poses (cov of z, roll, pitch <= 0.0)
- Make this visual constructble only from CovarianceProperty
- The property holds all the CovarianceVisual instances, and updates them then
  covariance properties change, without passing by the parent display.
- Moved it from properties to to default_plugin
…y display

Let CovarianceProperty handle how to exhibit a CovarianceVisual
Also let CovarianceProperty handle the exhibition of CovarianceVisuals
@jihoonl
Copy link

jihoonl commented Aug 10, 2016

+1 for this.

@corot
Copy link

corot commented Aug 30, 2016

👍 I have been using it for a month and works fine

@corot
Copy link

corot commented Sep 19, 2016

Hi @Ellon, did you consider remake this PR for Kinetic?

@Ellon
Copy link
Contributor Author

Ellon commented Jan 4, 2017

HI @corot, no I didn't considered it. In my developments here I'm using Indigo, and I don't have time now to this remake right now. Maybe soon in the future. But feel free to propose a remake if you have time to do so!

@wjwwood
Copy link
Member

wjwwood commented May 1, 2017

Closing in favor of #1096

@wjwwood wjwwood closed this May 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants