lrauv icon indicating copy to clipboard operation
lrauv copied to clipboard

Ignition Marker improvements for LRAUV

Open mabelzhang opened this issue 4 years ago • 6 comments

Given that all of us (@arjo129 @chapulina and I) have been seeing a big need for Ignition Markers to be more usable for debugging purposes, I'm opening this ticket to keep track of specific features we need in this repo (as opposed to opening separate issues upstream, because there are so many things to make it parallel to RViz Marker. We need to focus on a few for now).

Feel free to add.

  • [x] Per-vertex coloring for Marker arrays. Why: Performance for visualizing science data. See osrf/lrauv#133. Otherwise we can only visualize a very small number of markers without significant lag, ~400 on my Dell XPS 15 9570. Implementation: Refer to RViz Markers implementation, which has the colors specified as a vector for vector types including POINTS, LINE_LISTS, etc. Ignition differs in that the material field is very large, and a vector of that creates a lot of overhead. Need design decision.
  • [ ] Arrows Why: To debug force vectors etc. I've run into this in our GSoC 2020 project with Martiño too. It's a real limitation. Current workaround: One way is to use POINTS and LINE_LISTS in combination. Drawback is you won't have per-vertex coloring - see bullet above. Implementation: Refer to RViz Markers implementation for parameters to specify sizes for different parts of the arrow.
  • [ ] (Optional bonus) Marker textures Why: Continuous gradient color visualization with more resemblance to typical marine science visualizations, as opposed to discrete points visualization. Implementation: Marker textures have recently been added to RViz2 https://github.com/ros2/rviz/pull/719 Example usage: https://github.com/gbalke/rviz_shader_tester

mabelzhang avatar Oct 27 '21 18:10 mabelzhang

Related upstream issues:

  • https://github.com/ignitionrobotics/ign-gazebo/issues/1156
  • https://github.com/ignitionrobotics/ign-gazebo/issues/1155

chapulina avatar Nov 01 '21 20:11 chapulina

Does #1156 include per-vertex coloring? Seems like it does not. It seems specific to a plugin and not for generic Marker arrays. Should per-vertex coloring be a separate ticket or are we not ticketing that upstream?

mabelzhang avatar Nov 02 '21 00:11 mabelzhang

Also I've opened ignitionrobotics/ign-gui#307 for some changes to GUI. Its on a backburner as I have got to fix dynamics related issues.

arjo129 avatar Nov 02 '21 01:11 arjo129

Does #1156 include per-vertex coloring?

Good question, I think it's necessary, otherwise it will be tough to represent different environment data values

chapulina avatar Nov 02 '21 06:11 chapulina

I looked a bit into adding arrow markers because I thought it wouldn't take long, and also because I wanted to use axis markers to visualize multiple frames of reference (in the context of #81). It turned out that we may need some deep refactoring in ign-rendering to do it, see https://github.com/ignitionrobotics/ign-rendering/issues/493. So I think the easier route may be to publish separate markers with a cylinder and a cone that combined make an arrow :confused:

chapulina avatar Nov 24 '21 02:11 chapulina

@arjo129 am I right to say this feature request has been captured upstream?

hidmic avatar Nov 10 '22 12:11 hidmic