Is there a difference in performance between heightmaps and mesh geometry?
Is there a difference in computational efficiency/performance between loading a heightmap in Gazebo vs. loading an equivalent static mesh as the visual and collision elements of a model?
It seems that meshes generated when gazebo loads a heightmap are cached, which I don't think is the case for standard geometry(?), so that would at least seem to indicate that heightmaps might be preferable when sticking with a single terrain model. But are there any other differences in how they are used under the hood?
In particular, I'm interested:
- once spawned in gazebo, heightmaps appear to be converted into meshes; are there any difference between how the meshes are used?
- if heightmaps perform better for larger/higher resolution terrains during the simulation? while loading the simulation environment?
- and if either would be preferable when simulating a large number of randomly generated terrains (e.g. where each run of a simulation has a different terrain loaded)?
Thanks!
Asked by shonigmann on 2021-06-07 11:30:33 UTC
Answers
On my experience with heightmap quite some time ago (on gazebo 9) I think the collision I got was not that smooth. There seem to be some "holes" between the grid of the heightmap, so if you try rolling a sphere on it, it would look a bit bumpy or it might go a bit below the surface. Not sure how much have been improved from then.
If you want some randomization in the surface the heightmap sounds like a good choice since randomly generating a mesh is probably harder to do. However I think cache would not be meaningful for that.
Asked by Veerachart on 2021-06-09 04:40:24 UTC
Comments