moveit / moveit2

:robot: MoveIt for ROS 2
https://moveit.ai/
BSD 3-Clause "New" or "Revised" License
1.03k stars 508 forks source link

Dual arm planning error with IKConstraintSampler #1145

Closed ravnicas closed 2 years ago

ravnicas commented 2 years ago

Description

Setting pose for two endeffectors in a dual arm setup returns "IKConstraintSampler received dirty robot state, but valid transforms are required. Failing."

Behaviour analogous to moveit

Your environment

Steps to reproduce

clone https://github.com/ravnicas/dual_panda_bringup in your workspace, build it repo should include all necessary files, meshes etc.

start robots ros2 launch dual_panda_bringup dual_panda.launch.py

start planning example ros2 launch dual_panda_bringup planning_test.launch.py

Expected behaviour

Both robots should be set to an endeffector pose via:

move_group.setPoseTarget(target_pose1, "panda_left_link8");
move_group.setPoseTarget(target_pose2, "panda_right_link8");

This should call the selected IK solver, etc..

Actual behaviour

On moveit2 tag 2.3.0: Robots move to the desired poses

On moveit2 tag 2.4.0 Only single robots behave as desired, compound groups of two (or more) robots throw an error: IKConstraintSampler received dirty robot state, but valid transforms are required. Failing.

ravnicas commented 2 years ago

The work done by @cambel in moveit also applies here.

ravnicas commented 2 years ago

see issue #3119