ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

Turtlebot Gazebo Information about pushing objects

asked 2017-11-08 03:54:39 -0600

Baumboon gravatar image

updated 2017-11-12 16:56:49 -0600

Hello Guys,

is there a way how i can get information if my robot can push an object or he can't. I am using Gazebo 7.0 with Ros Kinetic turtlebot package.

I looked in odom but i didn´t find anything whats helps me with my problem.

Is there a topic that will help me with the problem?

Maybe with wheel movement ?

To clear the meaning of pushing : My robot drive into an object some objects he can move and some he can't. I need a parameter to decide which objects he can push away and which he can't.

Maybe I can solve this with my Slam Map. I can get the position if my robot and I can compare it with the object position. If the robot push away the object he should stand in the object position or am I wrong ?

edit retag flag offensive close merge delete


Could you clarify what you mean by "can push an object"? Do you want to know whether the object is movable, whether the object is currently moving, whether there is contact between the robot and the object, whether the robot is trying to push but the object won't move...?

chapulina gravatar image chapulina  ( 2017-11-08 09:29:53 -0600 )edit

It's the third point I need to know when my robot tries to push an object if the objects moves or the object don't move. The contact between robot and object I can get from number sensors. So far I got this.

Baumboon gravatar image Baumboon  ( 2017-11-08 10:36:42 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2017-11-10 09:05:59 -0600

ElizabethA gravatar image

I know what you're talking about - in the turtlebot demo environment, when I drive into the white cube, the encounter pushes the cube away from the robot. When I run into the bookshelf, the bookshelf doesn't move.

You could use the gazebo service "get_model_state" to poll the pose of the model you're running into (cube, bookshelf, etc.) and see if its coordinates are changing over time (or, if you don't know which object you're running into, poll all of the simulation's models and see if any of the models' poses are changing). If there's no pose change, it's an object that's too heavy to be moved. If there's a pose change in the object model, you're able to push it.

edit flag offensive delete link more


That is a good idea but I am looking for an solution with the possibilities of the roboter normally the robot don't know the model states.

Are u know anything about getting information about wheel rotation it should change when the robot can't push away an object

Baumboon gravatar image Baumboon  ( 2017-11-12 16:54:40 -0600 )edit

The odom topic offers wheel velocity - not sure if that will be a helpful indicator of what you're trying to detect. I've also used the tf::Transformer class to get the current positions of the right and left Turtlebot wheels with respect to the simulated world.

ElizabethA gravatar image ElizabethA  ( 2017-11-16 19:29:30 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2017-11-08 03:54:39 -0600

Seen: 487 times

Last updated: Nov 12 '17