Ask Your Question

error: ‘class btMatrix3x3’ has no member named ‘getRPY’ when building tf

asked 2012-11-14 09:09:59 -0500

updated 2012-11-14 11:38:24 -0500

Hello -- I'm trying to build tf from source on a beagle. I built the fuerte-ros-base.rosinstall and that all installed properly. I downloaded tf using:

roslocate info tf | rosws merge -
rosws update

I also installed bullet using

roslocate info bullet | rosws merge -
rosws update

after sorting out all my other dependencies I ran

rosmake geometry

and now I am getting errors:

  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h: In function ‘double tf::getYaw(const Quaternion&)’:
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h:140:21: error: ‘class btMatrix3x3’ has no member named ‘getRPY’
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h: In function ‘tf::Quaternion tf::createQuaternionFromRPY(double, double, double)’:
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h:159:5: error: ‘tf::Quaternion’ has no member named ‘setRPY’
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h: In function ‘tf::Quaternion tf::createQuaternionFromYaw(double)’:
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h:169:5: error: ‘tf::Quaternion’ has no member named ‘setRPY’
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h: In function ‘geometry_msgs::Quaternion tf::createQuaternionMsgFromYaw(double)’:
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h:179:5: error: ‘tf::Quaternion’ has no member named ‘setRPY’
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h: In function ‘tf::Quaternion tf::createIdentityQuaternion()’:
  /home/ubuntu/ros/geometry/tf/include/tf/transform_datatypes.h:203:5: error: ‘tf::Quaternion’ has no member named ‘setRPY’

I saw this old message on ros-users which seemed relevant:

but that was ages ago, and it claims that this problem was fixed. (I tried deleting bullet/build as recommended in that email just in case, but that didn't resolve anything)

I'm guessing it has something to do with a version mismatch between the geometry stack and the bullet stack that I have picked up. roslocate gave me the tf_rework branch of geometry and the default branch of bullet.

Which branches should I use for use with fuerte?

Thanks -s

UPDATE: I tried using the tf_rework branch of bullet and I received this error when building:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
   used as include directory in directory /home/ubuntu/ros/bullet/bullet/build/bullet_svn


    linked by target "OpenGLSupport" in directory /home/ubuntu/ros/bullet/bullet/build/bullet_svn/Demos/OpenGL
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2012-11-16 11:50:58 -0500

So I set the branch in geometry to fuerte_devel and the branch in bullet to default and now it compiles nicely.

edit flag offensive delete link more


@sameer - I am trying to add a bit of my code to the source code of a pre-built package so that I can get R,P,Y values for a particular bot. The issue is I tried "making" the file after I put in the same code using getRPY but it shows me the same error. Could you please help me with this?

nemesis gravatar image nemesis  ( 2013-03-14 12:24:20 -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-11-14 09:09:59 -0500

Seen: 952 times

Last updated: Nov 16 '12