Strange behavior/missing joints when using MoveIt to configure gripper

asked 2018-12-14 15:41:14 -0600

ceres gravatar image

updated 2018-12-21 11:34:51 -0600

I'm trying to build a simulation in Gazebo for a UR robot along with a Robotiq 2F-140 gripper (ideally with ros-melodic), but when using MoveIt to generate config files for a the robot coupled with the end effector, the robot poses for the gripper planning group don't appear to load correctly. As demonstrated in the gifs below, only the finger_joint appears in the group (which includes all the gripper joints).

What is even more confusing is that:

1) the first time I try to configure the pose, all of the joints are activated and move into position (not just the finger_joint).

image description

2) But once the pose is saved, subsequent poses only actuate the finger_joint.

image description image description

Notice that in the planning group, I have more than just the finger_joint selected. image description

Is this expected behavior?

I have tried a number of different combinations including:

  • urdf configurations using UR arm models (UR3/5/10) with both the 2f-140 and 2f-85 grippers
  • ros-kinetic and ros-melodic
  • Ubuntu 18.04 and Ubuntu 16.04
  • urdfs that I have created, but also third party examples from tutorials and open source projects

Even with all these variations, I always get the same result, and must be missing something fundamental.

What could cause this to happen, and how do I correctly configure my robot for simulation?

edit retag flag offensive close merge delete


Could this be related to the way I am creating the planning group as described here ? Depending on which joints I include, the gripper components detach in different ways, but I'm not clear about the correct configuration.

ceres gravatar image ceres  ( 2018-12-15 23:07:46 -0600 )edit

Hi there, I have the same problem. Did you by any chance find a solution? Also, could this be related to some sort of a mistake in the Robotiq urdf files? When attaching my gripper to ur10 in a urdf file it correctly adds the gripper's base link to the robot, but the fingers remain detached.

pennjamin gravatar image pennjamin  ( 2019-07-31 01:17:13 -0600 )edit

Same issue here. Has there been a solution found? Movement works fine (using the slider to open and close the gripper) in the test_myrobot.launch file from the myrobot_support package. Hence, the URDF seems to be ok? Maybe a MoveIt! bug?

srm.robot gravatar image srm.robot  ( 2020-01-09 08:19:37 -0600 )edit

So I found this TODO in the source code:

// Show the robot in the current pose
// ******************************************************************************************
void RobotPosesWidget::showPose(srdf::Model::GroupState* pose)
  // Set pose joint values by adding them to the local joint state map
  for (std::map<std::string, std::vector<double> >::const_iterator value_it = pose->joint_values_.begin();
       value_it != pose->joint_values_.end(); ++value_it)
    // Only copy the first joint value // TODO: add capability for multi-DOF joints?
    joint_state_map_[value_it->first] = value_it->second[0];

  // Update the joints
  // Unhighlight all links
  Q_EMIT unhighlightAll();
  // Highlight group
  Q_EMIT highlightGroup(pose->group_);

Maybe that's why?

srm.robot gravatar image srm.robot  ( 2020-01-09 08:35:34 -0600 )edit