Robotics StackExchange | Archived questions

No kinematics solver instantiated for group with 2 arms

I have 2 plannings groups and want to move them at the same time collision free. For that I decided to make another planning group that contains both arms by editing the srdf file.

I followed this file mentioned in another ROS Answers question: https://github.com/o2as/ur-o2as/blob/master/catkin_ws/src/o2as_moveit_config/config/o2as_base_scene.srdf

Link to the ROS Answers question: https://answers.ros.org/question/370136/planning-for-a-dual-arm-robot-in-moveit/?answer=370364#post-id-370364

This is my srdf:

<group name="arm_right">
    <chain base_link="right_base_link" tip_link="right_ee_link" />
</group>
<group name="arm_left">
    <chain base_link="left_base_link" tip_link="left_ee_link" />
</group>
<group name="both_arms">
    <group name="arm_right" />
    <group name="arm_left" />
</group>
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
<group_state name="start" group="arm_right">
    <joint name="right_elbow_joint" value="0" />
    <joint name="right_shoulder_lift_joint" value="-1.57" />
    <joint name="right_shoulder_pan_joint" value="0" />
    <joint name="right_wrist_1_joint" value="-1.57" />
    <joint name="right_wrist_2_joint" value="0" />
    <joint name="right_wrist_3_joint" value="0" />
</group_state>
<group_state name="start" group="arm_left">
    <joint name="left_elbow_joint" value="0" />
    <joint name="left_shoulder_lift_joint" value="-1.57" />
    <joint name="left_shoulder_pan_joint" value="0" />
    <joint name="left_wrist_1_joint" value="-1.57" />
    <joint name="left_wrist_2_joint" value="0" />
    <joint name="left_wrist_3_joint" value="0" />
</group_state>
<group_state name="start" group="both_arms">
    <joint name="left_elbow_joint" value="0" />
    <joint name="left_shoulder_lift_joint" value="-1.57" />
    <joint name="left_shoulder_pan_joint" value="0" />
    <joint name="left_wrist_1_joint" value="-1.57" />
    <joint name="left_wrist_2_joint" value="0" />
    <joint name="left_wrist_3_joint" value="0" />
    <joint name="right_elbow_joint" value="0" />
    <joint name="right_shoulder_lift_joint" value="-1.57" />
    <joint name="right_shoulder_pan_joint" value="0" />
    <joint name="right_wrist_1_joint" value="-1.57" />
    <joint name="right_wrist_2_joint" value="0" />
    <joint name="right_wrist_3_joint" value="0" />
</group_state>

And here is my kinematics.yaml:

arm_right:
  kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
  kinematics_solver_search_resolution: 0.005
  kinematics_solver_timeout: 0.005
arm_left:
  kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
  kinematics_solver_search_resolution: 0.005
  kinematics_solver_timeout: 0.005

In rviz, I don't have any interactive markers if I choose the group "botharms" but I can plan and execute trajectories when choosing random valid states. Trying to pass a joint value with setjointvaluetarget gives me the error mentioned in the title. How do I solve this?

Asked by hopestartswithu on 2021-06-01 04:56:40 UTC

Comments

Answers