Gazebo | Ignition | Community
Ask Your Question

gazebo crash when using .png heightmap and Velodyne 3D LIDARs

asked 2017-12-05 08:36:08 -0500

bitpejoy gravatar image

updated 2017-12-07 05:08:09 -0500

I'm testing Velodyne high definition 3D LIDARs in gazebo:

roslaunch velodyne_gazebo example.launch

It will load a 16 laser model. And I have already prepared a heightmap following this tutorial . After inserting the heightmap(65x65 (pixels), 10mx10m, a larger map also results in crash ) I made, gazebo will not responde. Sim time and real time will stop.

And in rviz, ROS time will stop, but wall time still goes.

Run roswtf, 3 warnings were found:

WARNING The following node subscriptions are unconnected:
 * /gazebo:
   * /gazebo/set_model_state
   * /gazebo/set_link_state

WARNING These nodes have died:
 * spawn_model-4

WARNING No tf messages

Sometimes the real time foctor will be around 0.3 when I use 1 beam LiDAR in a .png heightmap.
I think the reason gazebo will crash is that my laptop‘s hardware performance is not good enough.

Are there any ways to optimize the program to continue the simulation with my laptop? or should I use another computer?? Or maybe there is another reason for the crash.

update: I tried using my PC, there is still the same problem.

Thanks in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-12-13 12:20:00 -0500

cratliff gravatar image

I've had some experience using heightmaps and have found that Gazebo is very slow when used with heightmaps and a bot is spawned in the world. I believe this is caused by the physics engine having to compute a complex collision object. When using the same heightmap method I see an RTF of .00025.

Some methods to improve the performance that I used were to simplify the heightmap. Simplifying and reducing the number of objects helped to improve performance to something like .0005 RTF. S

I've seen switching physics engines as a suggestion before, but haven't done that myself.

There was a size limitation of the heightmap when using this method. Simplifying the heightmap helped this as well. Where the heightmap must be 2^n +1 I was only able to go from 1025x1025 to 2049 x 2049.

edit flag offensive delete link more

Comments switched physics engine to bullet,and used a smallest heightmap that gazebo can load. it worked out, though the real time factor is not ideal. the RTF is 0.3 . When using "Winding Valley Heightmap", the RTF is 0.1.

bitpejoy gravatar imagebitpejoy ( 2018-05-10 23:55:41 -0500 )edit
Login/Signup to Answer

Question Tools



Asked: 2017-12-05 08:36:08 -0500

Seen: 1,120 times

Last updated: Dec 07 '17