Ask Your Question

motion_analysis_mocap fails to build

asked 2012-07-23 17:10:12 -0500

stochastic gravatar image

updated 2014-01-28 17:13:07 -0500

ngrennan gravatar image

Hello all

I just made my first foray into ros a few days ago. I am now trying to install the motion_analysis_mocap stack. I'm installing it from source in my overlay (since I can't seem to find any other way to do it). I do this like so:

roslocate info motion_analysis_mocap > motion_analysis_mocap.rosinstall

rosinstall <myrosoverlaydir> motion_analysis_mocap.rosinstall

this seems to work fine, but the 'documentation' package was lacking, and rather than install it like I thought rosinstall was supposed to, I had to install it with my package manager (I'm on ubuntu oneiric)

Then I run:

rosmake motion_analysis_mocap

and I get this error:

  [100%] Building CXX object CMakeFiles/evart.dir/src/nodes/tracker.o
  <myrosoverlaydir>/stacks/motion_analysis_mocap/evart_bridge/src/nodes/tracker.cpp: In member function ‘void evart::Tracker::callback(const evas_body_segments_t&)’:
  <myrosoverlaydir>/stacks/motion_analysis_mocap/evart_bridge/src/nodes/tracker.cpp:119:7: error: ‘class btQuaternion’ has no member named ‘setRPY’
  make[3]: *** [CMakeFiles/evart.dir/src/nodes/tracker.o] Error 1

So my educated guess is that the setRPY method of the btQuaternion class should initialize the quaternion given roll, pitch, and yaw angles. That class appears to come from the btQuaternion.h include in the tracker.cpp file. Searching my /opt/ros/fuerte folder for btQuaternion.h yields two such files:

/opt/ros/fuerte/stacks/geometry_experimental/tf2/include/LinearMath/btQuaternion.h /opt/ros/fuerte/stacks/bullet/include/LinearMath/btQuaternion.h

Both define a btQuaternion class. The first has a setRPY method, the second does not. (It's got setZYX instead)

My guess is therefore that this is somehow a dependency/path problem (bullet's include path getting put before geometry_experimental/tf2's). Can anybody offer any help as to how I might resolve it?

edit retag flag offensive close merge delete


I do not have access to this package. Which package dependency is mentioned in manifest.xml? Had you tried it in electric ?

prince gravatar image prince  ( 2012-07-23 20:52:55 -0500 )edit
KruseT gravatar image KruseT  ( 2012-07-23 22:48:43 -0500 )edit

@prince: bullet was the dependency in question, apparently (see Thomas's answer below)

stochastic gravatar image stochastic  ( 2012-07-25 13:56:40 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2012-07-24 02:21:03 -0500

Thomas gravatar image

updated 2012-07-24 03:40:20 -0500

Hello, I am the maintainer of this stack, I am currently trying to reproduce your issue. I'll edit this post after patching the stack (this afternoon).

This issue was due to the removal of some ROS-specific patches from Bullet in Fuerte. I switched to tf datatypes and now it works on my computer.

Please pull the latest changes from the Git repository. Commit ed053a2454b028c22f6117bdf01e49a1693e57f7 should fix the issue.

Edit: I'll release this stack into Fuerte so that it can be installed through apt-get but I will not have time to deal with that until next week.

edit flag offensive delete link more


I can verify that that release shows up after doing rosws update, and does indeed fix the issue: compiles with no error. thanks Thomas!

stochastic gravatar image stochastic  ( 2012-07-25 13:43:48 -0500 )edit

FYI the stack has been released in Fuerte today.

Thomas gravatar image Thomas  ( 2012-08-02 03:05:33 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2012-07-23 17:10:12 -0500

Seen: 253 times

Last updated: Jul 24 '12