ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Last link of a robot as an end-effector in Moveit

asked 2017-10-11 09:22:54 -0500

Fiddle gravatar image

updated 2017-10-12 07:03:16 -0500

Hi, I am trying to set up a python interface for communication with Moveit, but I fail while setting a pose goal. The error message is:

Fail: ABORTED: No motion plan found. No execution attempted.

I guess this is because I haven't set up an end effector. But when I try to set up the last link in kinematic chain as the EEF, the warning message is :

Could not identify parent group for end-effector 'eef'

And I can't set up its own motion group to be it's own parent, since then it gives me an error message. Do I need to create another link, just for it to be a dummy link for the Moveit? This is kind of weird for me, since I can plan the poses in Moveit just fine.

EDIT I attach some of the files:

-srdf

<?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="Kuka_kr3">
    <!--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="kuka">
        <chain base_link="dummy" tip_link="link6" />
    </group>
    <group name="eef">
        <link name="link6" />
    </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="all_zeros" group="kuka">
        <joint name="joint0" value="-1.0433" />
        <joint name="joint1" value="0.5178" />
        <joint name="joint2" value="-2.1456" />
        <joint name="joint3" value="0" />
        <joint name="joint4" value="-0.5563" />
        <joint name="joint5" value="0.863" />
    </group_state>
    <group_state name="home" group="kuka">
        <joint name="joint0" value="-1.0433" />
        <joint name="joint1" value="0.5178" />
        <joint name="joint2" value="-2.1456" />
        <joint name="joint3" value="0" />
        <joint name="joint4" value="-0.909" />
        <joint name="joint5" value="0" />
    </group_state>
    <!--END EFFECTOR: Purpose: Represent information about an end effector.-->
    <end_effector name="eef" parent_link="link6" group="eef" parent_group="kuka" />
    <!--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="fixed_joint" type="fixed" parent_frame="world" child_link="dummy" />
    <!--DISABLE COLLISIONS: By default ...
(more)
edit retag flag offensive close merge delete

Comments

Sorry, but this is like saying "My airplane does not fly, it's probably due to the fuel pump". Please provide (if possible) the moveit configuration, the concrete code you use to request the motion and the full command line output during the request...

v4hn gravatar image v4hn  ( 2017-10-11 14:25:28 -0500 )edit

Sorry, you are correct, I attached parts of the code to the original post.

Fiddle gravatar image Fiddle  ( 2017-10-12 06:14:03 -0500 )edit

Please include the contents of those files directly in the question. Pastebin does not have infinite retention, so those links will go dead at which point your question loses much of its value.

Copy-paste the contents, select it, then press the Preformatted Text button (with 101010 on it).

gvdhoorn gravatar image gvdhoorn  ( 2017-10-12 06:18:29 -0500 )edit

Also: if you're using tutorial code, please just link to the tutorial, instead of copy-pasting it verbatim.

gvdhoorn gravatar image gvdhoorn  ( 2017-10-12 06:19:48 -0500 )edit

Ok, sorry, I corrected everything according to your suggestions.

Fiddle gravatar image Fiddle  ( 2017-10-12 07:04:27 -0500 )edit

No need to apologise. Thanks for updating the question.

gvdhoorn gravatar image gvdhoorn  ( 2017-10-12 07:05:24 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
2

answered 2017-10-15 08:13:29 -0500

v4hn gravatar image

[ WARN] [1507806491.615849484, 10340.228000000]: Orientation constraint for link 'link6' is probably incorrect: 0.000000, 0.000000, 0.000000, 0.900000. Assuming identity instead.

This looks very much like you specified an invalid rotation goal. (rotation quaternions have to be normalized to 1) In that case it is not unlikely that the specified pose goal can't be solved by the ik solver and/or is unreachable.

edit flag offensive delete link more

Comments

That was the case, I didn't get it from the tutorial, what the quaternions were about, and so I needed to fully describe the quaternion.

  pose_target.orientation.x = 0.0
  pose_target.orientation.y = 1.0
  pose_target.orientation.z = 0.0
  pose_target.orientation.w = 0.0
Fiddle gravatar image Fiddle  ( 2017-10-18 06:47:12 -0500 )edit

Question Tools

4 followers

Stats

Asked: 2017-10-11 09:22:54 -0500

Seen: 1,814 times

Last updated: Oct 15 '17