robotology/assistive-rehab

Actor not seen by lidar sensors

vvasco opened this issue · 4 comments

The actor we use for the TUG demo in gazebo is not seen by lidar sensors.
According to this, the problem is related to the fact that the ray plugin used to simulate the robot lasers works with Physics, while the actor with Rendering.

A possible solution could be using the ActorCollisionsPlugin which adds collisions to the actor, but the sensor will see boxes instead of the actor's actual shape. I need to check if the actor legs can be approximated as single boxes.

The ActorCollisionsPlugin allows us to fit box shapes around the links defining the actor, with sizes that can be controlled in the .world file. The result is that the actor is successfully seen by the laser:

actor-collisions

However, a problem occurs with the parameter loop, which defines if the animations have to be repeated in loop.
The ActorCollisionsPlugin works if loop is set to true (animations played in loop). Otherwise, when the animation stops, the box shapes start lifting up and thus the legs are not perceived anymore by the laser:

actor-loop

I'm not sure why this is happening, I asked it here on gazebo answers. Having loop to be true is something we want to avoid in the TUG demo (we want to have control on the animations).

Opened a PR here.

The PR is going forward. I just added a test to check the fixed functionality, as required.

PR merged in gazebo11.