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

Generic point cloud visualization #1156

Closed
chapulina opened this issue Nov 1, 2021 · 2 comments
Closed

Generic point cloud visualization #1156

chapulina opened this issue Nov 1, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) rendering Involves Ignition Rendering

Comments

@chapulina
Copy link
Contributor

The VisualizeLidar plugin allows visualizing laser scans as, among other visualizations, point clouds. That plugin is very tied to Lidar sensors though. It would be great to have a generic plugin that displays point clouds on the 3D scene coming from any source, not specifically sensors. The immediate use case we have at the moment is visualizing scientific data.

Desired behavior

Open a GUI plugin, choose a topic to display, and it shows on the 3D scene. Some other nice to haves:

  • Configure color, point size, display shape...
  • Only generate markers for points within the user camera's view, for performance. We're dealing with hundreds of thousands of points spread across several kilometers, so it's not necessary to have it all on the scene at the same time.

Alternatives considered

Extend the lidar visualization plugin to handle any point cloud. I think that's a stretch though, and we'll need to address various assumptions about frame of reference and others.

Implementation suggestion

Create a GUI plugin that subscribes to point cloud messages and makes marker requests.

Additional context

We have a prototype on a downstream project that we're planning to upstream.

@chapulina chapulina added enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) rendering Involves Ignition Rendering labels Nov 1, 2021
@mabelzhang
Copy link
Contributor

Noting to self (or whoever ends up being the lucky camper to implement this):
This ticket includes per-vertex coloring.

That is, there needs to be a way to specify the color for each point in the cloud, separately.
This would improve performance drastically, because currently, to get different colored points, they need to be in different Marker messages, as every point in a MarkerArray would be the same color. For hundreds of markers, that is a drain on memory.

Some design decisions need to be made, as making an array of Materials can add a big overhead to memory. If a lighter implementation can be found, that would be preferred.

@chapulina
Copy link
Contributor Author

chapulina commented Mar 2, 2022

The first version has been merged in gazebosim/gz-gui#346. Let's ticket new issues for new features as needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request GUI Gazebo's graphical interface (not pure Ignition GUI) rendering Involves Ignition Rendering
Projects
None yet
Development

No branches or pull requests

2 participants