Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

For some of my 5dof manipulators, I've run into the same issue.

What worked for me was to wrap the Collada file describing your manipulator in an OpenRAVE robot definition file (that is not official terminology). This provides OpenRAVE IKFast with enough information to be able to generate a plugin for your robot. This also requires passing different parameters to be passed to the openrave.py script (I used version 0.8):

openrave0.8.py --database inversekinematics --robot=/path/to/collada_file_with_manipulator.xml --iktype=translationdirection5d --iktests=100

The iktests parameter value was just a default, you can make it larger or smaller.

Unfortunately I cannot find my collada_file_with_manipulator.xml right now, so I cannot provide it to you, but I used something like:

<robot file="/path/to/converted.urdf.dae">
  <Manipulator name="YOUR_NAME">
    ...
  </Manipulator>
</robot>

Note that you don't need to manually edit the Collada file you got by converting your urdf, you can reference it in your wrapper model definition using the file attribute.

I used the following pages for information:

Edit (2017-09-26): I've written an updated version of this in #q263925. That also uses a Docker image to avoid having to install OpenRave on the ROS machine (which is non-trivial on current versions of Ubuntu).


For some of my 5dof manipulators, I've run into the same issue.

What worked for me was to wrap the Collada file describing your manipulator in an OpenRAVE robot definition file (that is not official terminology). This provides OpenRAVE IKFast with enough information to be able to generate a plugin for your robot. This also requires passing different parameters to be passed to the openrave.py script (I used version 0.8):

openrave0.8.py --database inversekinematics --robot=/path/to/collada_file_with_manipulator.xml --iktype=translationdirection5d --iktests=100

The iktests parameter value was just a default, you can make it larger or smaller.

Unfortunately I cannot find my collada_file_with_manipulator.xml right now, so I cannot provide it to you, but I used something like:

<robot file="/path/to/converted.urdf.dae">
  <Manipulator name="YOUR_NAME">
    ...
  </Manipulator>
</robot>

Note that you don't need to manually edit the Collada file you got by converting your urdf, you can reference it in your wrapper model definition using the file attribute.

I used the following pages for information: