Robotics StackExchange | Archived questions

IK failure due to passive joints

IINM moveit shouldn't fail planning for the kinematics chain that includes a passive joint, but it does to me.

[move_group-1] [INFO] [1683748228.187455789] [moveit_move_group_default_capabilities.move_action_capability]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
    [move_group-1] [ERROR] [1683748228.188023674] [moveit_constraint_samplers.default_constraint_samplers]: IK cannot be performed for link 'robot1_base_link'. The solver can report IK solutions for link 'robot1_gripper'.

robot1_gripper is a tip for the move-group so I might not be able to change that. SRDF:

:
        <group name="robot1_robot">
            <chain base_link="world" tip_link="robot1_gripper"/>

        <group name="robot1_arm">
            <chain base_link="robot1_base_link" tip_link="robot1_gripper"/>
:         
        <group_state name="home" group="robot1_robot">
            <joint name="robot1_elbow_joint" value="1.571"/>
        <joint name="robot1_gripper_joint" value="0"/>
        <joint name="robot1_shoulder_lift_joint" value="-1.571"/>
        <joint name="robot1_shoulder_pan_joint" value="0"/>
        <joint name="robot1_wrist_1_joint" value="-1.571"/>
        <joint name="robot1_wrist_2_joint" value="-1.571"/>
        <joint name="robot1_wrist_3_joint" value="0.012"/>
        <joint name="linear_actuator_joint" value="0"/>
    </group_state>
:
    <passive_joint name="robot1_gripper_joint"/>
:

Error happens around:

  move_group_interface_.setPoseTarget(
      pose_dest_,
      "robot1_base_link");
  bool success_arm_ = (move_group_interface_.plan(movegroup_plan_)

Tried to workaround/solve this but hasn't worked:

For now I don't have a control on the robot's moveit_config package so modifying it is not an option.

Btw, IINM, moveit#640 seems similar/the same as the issue I'm seeing and was closed with moveit!753 that was merged in 2018 into indigo-devel. Years passed, in moveit2 repo, I don't see the commit (history of trajectoryexecutionmanager.cpp), unless there was a decision to not include that commit into moveit2 etc.

# apt-cache policy ros-galactic-moveit-ros
ros-galactic-moveit-ros:
  Installed: 2.3.4-1focal.20221208.092707
  Candidate: 2.3.4-1focal.20221208.092707

Asked by 130s on 2023-05-10 16:26:19 UTC

Comments

Answers