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

Ikfastdemo Does Not Compile

asked 2013-01-28 07:34:23 -0500

Ed Venator gravatar image

updated 2013-01-28 19:52:35 -0500

I'm attempting to create a fast inverse kinematics solver using OpenRAVE's ikfast, following the tutorial here: http://ros.org/wiki/Industrial/Tutorials/Create_a_Fast_IK_Solution

All is well until I get to step 6. When I try to compile the demo, I get the following error message:

/tmp/cctZjKHD.o: In function `IKSolver::solvedialyticpoly12qep(double const*, double*, int&)':
ikfastdemo.cpp:(.text._ZN8IKSolver22solvedialyticpoly12qepEPKdPdRi[IKSolver::solvedialyticpoly12qep(double const*, double*, int&)]+0x296): undefined reference to `dgetrf_'
ikfastdemo.cpp:(.text._ZN8IKSolver22solvedialyticpoly12qepEPKdPdRi[IKSolver::solvedialyticpoly12qep(double const*, double*, int&)]+0x626): undefined reference to `dgetrs_'
ikfastdemo.cpp:(.text._ZN8IKSolver22solvedialyticpoly12qepEPKdPdRi[IKSolver::solvedialyticpoly12qep(double const*, double*, int&)]+0x6e8): undefined reference to `dgeev_'
collect2: ld returned 1 exit status

I'm using ROS Furte, OpenRAVE 0.8.2, and sympy 0.7.0 as in the tutorial.

Anyone have any ideas or run into similar problems?

Edit 1:

Commands entered, as reconstructed from my .bash_history and memory:

cd ~/ros/dev_stacks/cwru-ros-pkg/cwru_abby/abby_description/urdf/
rosrun collada_urdf urdf_to_collada abby.urdf abby.dae
cd ~/openRAVE #openRAVE 0.8.2 root directory
export collada_file="/home/ed/ros/dev_stacks/cwru-ros-pkg/cwru_abby/abby_description/urdf/abby.dae" #path to collada file
openrave-robot.py $collada_file --info links
python ./python/ikfast.py --robot=$collada_file --iktype=transform6d --baselink=32 --eelink=39 --savefile=output_ikfast61.cpp
wget http://kaist-ros-pkg.googlecode.com/svn/trunk/arm_kinematics_tools/src/ikfastdemo/ikfastdemo.cpp
vim ikfastdemo.cpp #Edit includes to point to correct cpp file
cp python/ikfast.h . #Copy ikfast header file into this directory
g++ -lstdc++ -llapack -o compute ikfastdemo.cpp -lrt

Edit 2:

Code can be found here:

https://gist.github.com/4662558

edit retag flag offensive close merge delete

Comments

A quick Google search for "dgeev" refers to LAPACK. You should post the exact commands you're typing into console, and if you can link to your copy of the demo code and the output from IKFast, people can check if you have configured it properly, and try to compile it themselves.

dbworth gravatar image dbworth  ( 2013-01-28 10:12:53 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2013-01-28 19:57:55 -0500

Ed Venator gravatar image

updated 2013-01-28 21:08:53 -0500

Modifying the order of the arguments to g++ solved my problem:

g++ ikfastdemo.cpp -lstdc++ -llapack -o compute -lrt

I've edited the tutorial on the wiki accordingly.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2013-01-28 07:34:23 -0500

Seen: 804 times

Last updated: Jan 28 '13