How to get actors to work along static models (consisting of meshes)?

asked 2020-04-29 18:53:56 -0600

relffok gravatar image

Hi all!

I recently added actors to my project. I currently have a simple box, that is floating around in my world/room. I used and adaptation of the ActorCollisionsPlugin (https://bitbucket.org/osrf/gazebo/pul...) to work with my actor. So I do have a collision, that is representing the actor.

So since "ODE has a auto-disable feature that "disables" an object when it comes to rest and an actor will pass through these objects", I have to use the allow_auto_disable> tag for my models to actually collide with the actor. I can do that and it works, but the problem is that most of my models are supposed to be static (the room itself for example).

I found this example of the usage of BoundaryBoxes for meshes, that can check if the actor is close:(https://bitbucket.org/osrf/servicesim/src/91fbe760ad927bf6123ed92e653b41d97e945525/servicesim_competition/src/TrajectoryActorPlugin.cc?at=default&fileviewer=file-view-default#TrajectoryActorPlugin.cc-159). I like the principal idea, but what if your collision is far away from being a box? For example I do have a closed room, which consists out of a mesh instead of separate walls. I cant use the boundary box, first of all, because it would cover the whole room as a box and second of all because rooms are not necessary box-shaped.

My question is: Are there any solutions/ ideas/ plans to make an actor work either through an actual collision or a mesh-to-actor-distance check implemented in a plugin? Is there a possibility to let an actor collide with a static element?

-- Using gazebo 9.13 --

edit retag flag offensive close merge delete