gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.19k stars 481 forks source link

Visualization of actors in gazebo has friezes if they don’t have skin and there are other moving objects in simulation. #2581

Open osrf-migration opened 5 years ago

osrf-migration commented 5 years ago

Original report (archived issue) by Ilea Baltashov (Bitbucket: Baltic1996).

The original report had attachments: no_problem.mkv, no_problem.world, problem.mkv, problem.world, problem_gtx_1080.mkv, problem_urdf.mkv


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:

  1. Actors have no skin tag or it is empty – there is only unempty link tag or include tag.

  2. 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:

  1. 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.

  2. Gazebo-gui works approximately on 60 Hz. This means that there are friezes only in some actors.

  3. The problem appears without the ROS usage (look problem.world).

  4. 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:

  1. animated_box – there is only link tag

  2. animated_man – there is only skin tag

  3. 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

relffok commented 4 years ago

I have noticed the same issue when using waypoints for the actor's path. Without a second moving object in the world, it works just fine. When I add the moving object, I can see the visualization failing, but just like Ilea mentioned, in RVIZ I can see the normal moving of the object through the LaserScan.

When using the Actor plugin for random path planning, this issue does not occur.

eliasdc commented 3 years ago

has there been a solution for this? I'm also getting this issue while trying to move a simple box from point a to b and repeat it.

ByLiZhao commented 3 years ago

has there been a solution for this?