Robotics StackExchange | Archived questions

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

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/pull-requests/2875/example-plugin-that-enables-collisions/diff) 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 --

Asked by relffok on 2020-04-29 18:53:56 UTC

Comments

Answers