gazebo_ros_vacuum_gripper not working as expected

asked 2016-10-26 08:45:41 -0600

JoshMarino gravatar image

Hello there,

I am trying to use the gazebo_ros_vacuum_gripper plugin from gazebo_ros_pkgs in Jade. My URDF can be found here. Basically it is a box that starts out roughly 0.5 m above ground and then gravity pulls it downward. On the underside of my box, I have added a link/joint for the vacuum_gripper.

I am able to turn the grasping service on and it notifies me on the topic /Gecko_2/vacuum_gripper that it is grasping. However, if I apply a body force in Gazebo that is just larger than the weight of the box, the box moves upward off the ground plane in Gazebo. When this occurs, the state of /Gecko_2/vacuum_gripper stays True (grasping).

This should not happen from my understanding of the vacuum_gripper. Is there something I am doing wrong?

I want to be able to extend this example to a walking robot in which each leg will be attached to the ground_plane through a vacuum_gripper.

Any help would be appreciated, including going about this a different way. I looked into gazebo/physics/gripper.cc, but have not yet tried. It appears to create a fixedJoint between the gripper and the grasping object for a certain amount of time.

edit retag flag offensive close merge delete

Comments

After going through the C++ code, I was able to determine that the force is being added properly to the link. Still not sure why I am able to apply an additional body force in Gazebo (that is more than the weight of the box, but less than weight of box + vacuum force), and the box lifts off the ground.

JoshMarino gravatar imageJoshMarino ( 2016-10-28 16:40:16 -0600 )edit

I'm faced the same problem. Do you know what's the detailed meaning of the argument: maxDistance and min Distance in <plugin> block? Thank a lot!

NickelCao gravatar imageNickelCao ( 2019-04-19 02:01:31 -0600 )edit