Robotics StackExchange | Archived questions

Strange behavior/missing joints when using MoveIt to configure gripper

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:

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?

Asked by ceres on 2018-12-14 16:41:14 UTC

Comments

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

Asked by ceres on 2018-12-16 00:07:46 UTC

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.

Asked by pennjamin on 2019-07-31 01:17:13 UTC

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?

Asked by srm.robot on 2020-01-09 09:19:37 UTC

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
  publishJoints();
  // Unhighlight all links
  Q_EMIT unhighlightAll();
  // Highlight group
  Q_EMIT highlightGroup(pose->group_);
}

Maybe that's why?

Asked by srm.robot on 2020-01-09 09:35:34 UTC

Answers