-
Notifications
You must be signed in to change notification settings - Fork 1
IKFast
Bas Janssen edited this page Oct 30, 2017
·
19 revisions
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
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, this will also update the MoveIt support package to use the IKFast solver:
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