jacknlliu / development-issues

Some issues from my development
MIT License
7 stars 1 forks source link

moveit setup show no active joints or end effectors found for group '' #1

Open jacknlliu opened 7 years ago

jacknlliu commented 7 years ago

I forked ROS packages from ROS-I/universal_robot. And I follow Moveit Setup Assistant Tutorial. After setup Moveit config, I got a demo.launch file, then

roslaunch  ur5_grasp_moveit_config demo.launch

I got the following errors, and the rviz did not show any interactive markers.

[ INFO] [1505957647.779692210]: Fake controller 'fake_ur5manipulator_controller' with joints [ shoulder_pan_joint shoulder_lift_joint elbow_joint wrist_1_joint wrist_2_joint wrist_3_joint ]  
[ INFO] [1505957647.788025775]: Fake controller 'fake_gripper_controller' with joints [ bh_j11_joint bh_j12_joint bh_j22_joint bh_j32_joint ]  
[ INFO] [1505957647.796457498]: Fake controller 'fake_moveit_ee_controller' with joints [ ]  
[ INFO] [1505957647.807434551]: Returned 3 controllers in list  
[ INFO] [1505956629.889136115]: Loading robot model 'ur5'...  
[ WARN] [1505956629.889226914]: Skipping virtual joint 'virtual_joint' because its child frame 'box_fixed_link' does not match the URDF frame 'world'  
[ INFO] [1505956631.143209340]: No active joints or end effectors found for group ''. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.  
[ INFO] [1505956631.143508371]: No active joints or end effectors found for group 'gripper'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.  
[ INFO] [1505956631.212833955]: No active joints or end effectors found for group 'gripper'. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.  
[ INFO] [1505956631.213958002]: Constructing new MoveGroup connection for group 'gripper' in namespace ''  
[ INFO] [1505956633.034567194]: Ready to take commands for planning group gripper.  

It seems that I got a group named '', it's so strange! And we also noticed that there is a empty namespace in Constructing new MoveGroup connection for group 'gripper' in namespace '', it's so strange!

I make a robot using a fixed box as the human-like truck, a UR5 robot arm and a Kinect as human-like eyes.

My URDF model please see [here]()

ur5

My SRDF file is:

  <?xml version="1.0" ?>
  <!--This does not replace URDF, and is not an extension of URDF.
  This is a format for representing semantic information about the robot structure.
  A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
  -->
  <robot name="ur5">
  <!--GROUPS: Representation of a set of joints and links. This can be useful for specifying DOF to plan for, defining arms, end effectors, etc-->
  <!--LINKS: When a link is specified, the parent joint of that link (if it exists) is automatically included-->
  <!--JOINTS: When a joint is specified, the child link of that joint (which will always exist) is automatically included-->
  <!--CHAINS: When a chain is specified, all the links along the chain (including endpoints) are included in the group. Additionally, all the joints that are parents to included links are also included. This means that joints along the chain and the parent joint of the base link are included in the group-->
  <!--SUBGROUPS: Groups can also be formed by referencing to already defined group names-->
  <group name="ur5manipulator">
      <chain base_link="base_link" tip_link="ee_link" />
  </group>
  <group name="gripper">
      <link name="bh_base_link" />
      <link name="bh_finger_11_link" />
      <link name="bh_finger_12_link" />
      <link name="bh_finger_13_link" />
      <link name="bh_finger_21_link" />
      <link name="bh_finger_22_link" />
      <link name="bh_finger_23_link" />
      <link name="bh_finger_31_link" />
      <link name="bh_finger_32_link" />
      <link name="bh_finger_33_link" />
  </group>
  <group name="moveit_ee">
      <link name="ee_link" />
  </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="InitPose" group="ur5manipulator">
      <joint name="elbow_joint" value="0" />
      <joint name="shoulder_lift_joint" value="0" />
      <joint name="shoulder_pan_joint" value="0" />
      <joint name="wrist_1_joint" value="0" />
      <joint name="wrist_2_joint" value="0" />
      <joint name="wrist_3_joint" value="0" />
  </group_state>
  <!--END EFFECTOR: Purpose: Represent information about an end effector.-->
  <end_effector name="moveit_eef" parent_link="ee_link" group="gripper" parent_group="moveit_ee" />
  <!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
  <virtual_joint name="virtual_joint" type="fixed" parent_frame="world" child_link="box_fixed_link" />
  <!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
  <disable_collisions link1="base_link" link2="box_fixed_link" reason="Adjacent" />
  <disable_collisions link1="base_link" link2="kinect_link" reason="Never" />
  <disable_collisions link1="base_link" link2="shoulder_link" reason="Adjacent" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_11_link" reason="Adjacent" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_12_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_21_link" reason="Adjacent" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_22_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_31_link" reason="Adjacent" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_32_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="bh_finger_33_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="ee_link" reason="Adjacent" />
  <disable_collisions link1="bh_base_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_base_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_12_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_13_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_21_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_22_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_23_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_31_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_32_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="bh_finger_33_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_11_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="bh_finger_13_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_12_link" link2="bh_finger_21_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="bh_finger_22_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="bh_finger_31_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="bh_finger_32_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_12_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_13_link" link2="bh_finger_21_link" reason="Never" />
  <disable_collisions link1="bh_finger_13_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_13_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_13_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_13_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="bh_finger_22_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_21_link" link2="bh_finger_23_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="bh_finger_31_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="bh_finger_32_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="bh_finger_33_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_21_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="bh_finger_23_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_22_link" link2="bh_finger_31_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="bh_finger_32_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_22_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_23_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_23_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_23_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_23_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_31_link" link2="bh_finger_32_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_31_link" link2="bh_finger_33_link" reason="Never" />
  <disable_collisions link1="bh_finger_31_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_31_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_31_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_31_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_32_link" link2="bh_finger_33_link" reason="Adjacent" />
  <disable_collisions link1="bh_finger_32_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_32_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_32_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_32_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="bh_finger_33_link" link2="ee_link" reason="Never" />
  <disable_collisions link1="bh_finger_33_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="bh_finger_33_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="bh_finger_33_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="box_fixed_link" link2="kinect_link" reason="Adjacent" />
  <disable_collisions link1="box_fixed_link" link2="shoulder_link" reason="Never" />
  <disable_collisions link1="ee_link" link2="wrist_1_link" reason="Never" />
  <disable_collisions link1="ee_link" link2="wrist_2_link" reason="Never" />
  <disable_collisions link1="ee_link" link2="wrist_3_link" reason="Adjacent" />
  <disable_collisions link1="forearm_link" link2="upper_arm_link" reason="Adjacent" />
  <disable_collisions link1="forearm_link" link2="wrist_1_link" reason="Adjacent" />
  <disable_collisions link1="kinect_link" link2="shoulder_link" reason="Never" />
  <disable_collisions link1="shoulder_link" link2="upper_arm_link" reason="Adjacent" />
  <disable_collisions link1="wrist_1_link" link2="wrist_2_link" reason="Adjacent" />
  <disable_collisions link1="wrist_1_link" link2="wrist_3_link" reason="Never" />
  <disable_collisions link1="wrist_2_link" link2="wrist_3_link" reason="Adjacent" />
  </robot>

And I can't find a way to debug it.

My system configuration:

Ubuntu: 16.04  
ROS: kinetic  
Moveit: 0.9.9-Alpha

Any help will be appreciated!

jacknlliu commented 7 years ago

Also refer to https://github.com/ros-planning/moveit/issues/616

jacknlliu commented 7 years ago

When run the following command

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

we got the following output

 Constructing new MoveGroup connection for group 'manipulator' in namespace ''

So what is the namespace ''?

moveit get the namespace from URDF file?

jacknlliu commented 6 years ago

I think there are some links or joints in URDF which don't belong to group manipulator or other defined groups. Then the moveit thinks the ungrouped links and joints as the empty group ''. If we make all the joints and links have its own group, the group '' will be missing.