Skip to content
Bas Janssen edited this page Oct 30, 2017 · 19 revisions

Creating the IKFast plugin

Descartes has been designed to be used with IKFast. This means that an IKFast solver plug-in must be build for the robot to be used.

To build the IKFast plug-in the following tools are required:

collada_urdf moveit_kinematics openrave

Patching create_ikfast_moveit_plugin.

First generate a collada file of your robot URDF: cd irb120_pen_support/urdf rosrun collada_urdf urdf_to_collada irb120_pen.urdf irb120_pen.dae

Check this model using openrave: openrave.py irb120_pen.dae Check for the link names: openrave-robot.py irb120_pen.dae --info links

When the links are correct, use openrave to generate the C++ source for IKFast: python `openrave-config --python-dir`/openravepy/_openravepy_/ikfast.py --robot=irb120_pen.dae --iktype=transform6d --baselink=1 --eelink=11 --savefile=ikfast61_irb120_pen_manipulator.cpp

Create a MoveIt robot support package, if it does not exist yet. Add all links to the kinematic chain group called manipulator: roslaunch moveit_setup_assistant setup_assistant.launch

Create the package that will become the IKFast plug-in: catkin_create_pkg irb120_pen_ikfast_manipulator

Generate the IKFast plug-in: cd irb120_pen_support/urdf rosrun moveit_kinematics create_ikfast_moveit_plugin.py irb120_pen manipulator irb120_pen_ikfast_manipulator ikfast61_irb120_pen_manipulator.cpp

Lastly, compile all: catkin_make

Clone this wiki locally