There are very strange friezes in object visualization in gazebo-gui when I use “actors” without skin and there are other moving objects in the simulation. This is quite a weird problem. For quick understanding of it you can watch the attached videos problem.mkv or problem_urdf.mkv.
Here is some background information:
Not so long ago I had to test some algorithms for a self-driving car and I decided to create a simple gazebo world with citysim as a basis. When I turned citysim on, I saw that all the cars were moving with some friezes but at the same time people were moving smoothly. Firstly, I tried to use a more powerful machine (i7-8700k+GTX1080) to turn on the simulation but the friezes were still there. Then I started cutting the world file until I thought of the circumstances when the friezes appeared.
They only appeared only in 2 conditions:
Actors have no skin tag or it is empty – there is only unempty link tag or include tag.
There is another moving object (not actor) added to the simulation. For example I used gazebo model «sckoda prius» or spawn simple ROS urdf file - R2D2.
Here are some important details:
The friezes only appear in visualization (gazebo-gui). When I use plot built-in gazebo I see that the position of the box is changing smoothly. Also when I use gazebo_ros_gpu_laser I see a smooth movement of points corresponding to the box in RVIZ.
Gazebo-gui works approximately on 60 Hz. This means that there are friezes only in some actors.
The problem appears without the ROS usage (look problem.world).
The degree of the friezes doesn’t depend on the presence and the type of the measuring sensors but depends only on the number of other moving objects (not actors) and number of links they have. The more powerful the PC is, the more objects there are needed (for example, 10 sckoda prius for i7-8700k+GTX1080).
For clarity I filmed a couple of simple videos and created two simple worlds (they are attached). Each of them has three actors:
animated_box – there is only link tag
animated_man – there is only skin tag
animated_man_box – there are both link и skin
In the «no_problem.world» there is nothing else and as you can see all three objects are moving smoothly (see no_problem.mkv).
In the «problem.world» there are 5 added sckoda prius objects, which cause the appearance of the friezes in the visualization of the animated_box while animated_man and animated_man_box are moving smoothly. All other added objects are moving smoothly. (see problem*.mkv).
I tested it on:
Ubuntu 16.04 + i5-6600+GTX1050 + gazebo 9.6 + nvidia 415
Ubuntu 16.04 + i7-8700k+GTX1080 + gazebo 9.6 + nvidia 384