End effector not found

1,975 views
Skip to first unread message

Patrick Goebel

unread,
Jun 3, 2013, 10:47:47 PM6/3/13
to moveit-users
Hello,

Somehow I shot myself in the foot by playing with the URDF file of my
arm and gripper. I re-ran the Setup Assistant and I can launch the
demo.launch file in my moveit config directory and planning works OK to
move the arm between poses. However, during the launch of demo.launch,
I get the warning message:

[ WARN] [1370313663.438092634]: No active joints or end effectors found.
Make sure you have defined an end effector in your SRDF file and that
kinematics.yaml is loaded in this node's namespace.

The end effector is in fact in my SRDF file:

<!--END EFFECTOR: Purpose: Represent information about an end
effector.-->
<end_effector name="right_end_effector"
parent_link="right_arm_gripper_attach_link" group="right_gripper" />

And my kinematics.yaml file looks like this:

right_arm:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_attempts: 3
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.05

Any thoughts on what I have broken? I have also attached my entire URDF
file.

Thanks!
patrick


stl_pi_robot.urdf

Patrick Goebel

unread,
Jun 4, 2013, 9:51:46 AM6/4/13
to moveit...@googlegroups.com, Ioan Sucan
Please ignore my previous message. I went back to an earlier version of
my URDF and all is well. I'll worry about what I did wrong later.

Sorry for the wasted bandwidth!

--patrick

Tiago Pimentel

unread,
Jun 13, 2013, 10:44:01 AM6/13/13
to moveit...@googlegroups.com
Good morning,

I'm having the same issue you were. I have a robot's urdf that I have imported in MoveIt Setup Assistant and I can launch the demo.launch, but I'm also receiving this warning

[ WARN] [1371130156.078738435]: No active joints or end effectors found. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.

I'm using this dummy_eef_link as my only end effector link.

  <link name="dummy_eef_link"/>
  <joint name="dummy_eef_joint" type="fixed">
    <parent link="gripper_link"/>
    <child link="dummy_eef_link"/>
  </joint>

and my kinemactics.yaml looks like:

arm:
  kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
  kinematics_solver_search_resolution: 0.005
  kinematics_solver_timeout: 0.05
  kinematics_solver_attempts: 3

and the SRDF has this lines:

    <group name="dummy_gripper">
        <link name="dummy_eef_link" />
    </group>


    <end_effector name="dummy_eef" parent_link="gripper_link" group="dummy_gripper" />

Did you figure out why it wasn't being detected?

Thank you,
Tiago Pimentel



Patrick Goebel

unread,
Jun 13, 2013, 11:43:22 AM6/13/13
to moveit...@googlegroups.com
I had the same problem for awhile and I finally solved it by taking out
some extraneous links from my URDF that were simply adding some
cosmetics (e.g. some bracket mounts hanging off one of the servos). I'm
not sure if this causes a branch in the kinematic tree that messes up
MoveIt or something else. There were no errors when I ran xacro on the
"bad" URDF.

--patrick

Tiago Pimentel

unread,
Jun 13, 2013, 12:43:06 PM6/13/13
to moveit...@googlegroups.com
Hey Patrick,

Thanks for the help, the warning still shows up, but now I can, at least, control the end effector's position through the RViz interface, which is already something at least.
Do you know if this can be a problem in the future for some application? Everything works in the RViz interface currently.

Thank you,
Tiago Pimentel

Ioan Sucan

unread,
Jun 13, 2013, 1:14:23 PM6/13/13
to Tiago Pimentel, moveit-users
Hello Tiago,

Is the gripper_link part of the arm group? If not, that could be the problem. The rviz plugin needs to identify the group that 'holds' the end effector, and that group needs a kinematics solver specified.
Just based on the naming of links, why not just use the gripper link as the end effector?
Also, for groups that are just a chain, you do not need an end effector -- the markers should show up anyway.

Ioan

Patrick Goebel

unread,
Jun 13, 2013, 4:27:18 PM6/13/13
to moveit...@googlegroups.com
Hi Ioan and Tiago,

So now I'm getting the same warning as Tiago:

[ WARN] [1371154634.404314355]: No active joints or end effectors found. Make sure you have defined an end effector in your SRDF file and that kinematics.yaml is loaded in this node's namespace.

I'm wondering if this warning is generated when the "gripper" is a fixed link.  I ask because the URDF I am getting this warning from has a "hand" link that is fixed--there is no joint.  It just acts a paddle like hand.  So I have an "arm" group with all my servo joints, a "hand" group with this one hand link, and my "end effector" which connects the two using the last link in the arm.

Like Tiago, everything works in RViz using the Motion Planning display so I'm wondering if the warning is harmless.

--patrick

Ioan Sucan

unread,
Jun 13, 2013, 4:36:59 PM6/13/13
to Patrick Goebel, moveit-users

I think the error appears by mistake then. Can you put this in a ticket in moveit_ros?
Thanks!

Ioan

Patrick Goebel

unread,
Jun 13, 2013, 4:58:27 PM6/13/13
to Ioan Sucan, moveit-users
OK, ticket submitted here https://github.com/ros-planning/moveit_ros/issues/264.

--patrick
Reply all
Reply to author
Forward
0 new messages