ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Simultaneous Grasping

asked 2020-03-18 17:16:26 -0600

NourhanKhatab gravatar image

updated 2020-04-01 10:31:33 -0600

I'm trying to pick and place an object using dual panda arms at the same time. Following this tutorial, both arms can pick and place at different times (not at the same time).

For now, I'm just trying to make one of them pick through the planning group "two_panda_arms". I tried that by:

  • Specifying the planning group "two_panda_arms" that contains the two planning groups of the 2 panda arms in different namespaces. The script is shown here in cpp.
  • Specifying an End Effector explicitly using setEndEffectorLink("franka2_link8") and implicitly; inside the SRDF file.

Here's the Terminal Output:

[ INFO] [1584575101.610706173]: Planning attempt 1 of at most 1
[ WARN] [1584575101.611125475]: Choice of end-effector for group 'two_panda_arms' is ambiguous. Assuming 'franka1_eef'
[ INFO] [1584575101.648778748]: Added plan for pipeline 'pick'. Queue is now of size 1
[ERROR] [1584575101.650257243]: IKConstraintSampler received dirty robot state, but valid transforms are required. Failing.
[ INFO] [1584575101.650371144]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 1
[ WARN] [1584575101.654277209]: All supplied grasps failed. Retrying last grasp in verbose mode.
[ INFO] [1584575101.654576371]: Re-added last failed plan for pipeline 'pick'. Queue is now of size 1
[ERROR] [1584575101.655092332]: IKConstraintSampler received dirty robot state, but valid transforms are required. Failing.
[ INFO] [1584575101.655176528]: Sampler failed to produce a state
[ INFO] [1584575101.655221825]: Manipulation plan 0 failed at stage 'reachable & valid pose filter' on thread 3
[ INFO] [1584575101.655503633]: Pickup planning completed after 0.042996 seconds

I'm using Kinetic on Ubuntu 16.04.

I don't need synchronized motion, just grasping different objects at the same time.

I have achieved in moving both of them at the same time by defining a Target Pose and a Joint Goal.

Here's 2 issues, that are kind of similar to mine but didn't solve my issue. issue1 and issue2

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-03-11 09:15:27 -0600

You can not plan for pose targets for multiple planning groups simultaneously .You first need to find a fitting joint configuration for each robot using IK and then set joint targets. I opened an Issue for a similar problem here.

bool rocket_found_ik = kinematic_state->setFromIK(rocket_joint_model_group, rocket_pose, timeout);
bool groot_found_ik = kinematic_state->setFromIK(groot_joint_model_group, groot_pose, timeout);

kinematic_state->copyJointGroupPositions(rocket_joint_model_group, rocket_joint_values);
kinematic_state->copyJointGroupPositions(groot_joint_model_group, 

// planning group with rocket and groot
rng_group_interface.setJointValueTarget(rocket_joint_names, 
rng_group_interface.setJointValueTarget(groot_joint_names, 

bool success = (rng_group_interface.plan(my_plan) == moveit::planning_interface::MoveItErrorCode::SUCCESS);

I create a demo project you can find here.

dual arm

edit flag offensive delete link more

Comments

any equivalent solution for python users?

matb gravatar image matb  ( 2022-07-26 05:01:03 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2020-03-18 17:16:26 -0600

Seen: 244 times

Last updated: Mar 11 '22