# bullet euler angle methods

What exactly are the differences between:

- getEulerZYX/setEulerZYX
- getEulerYPR/setEulerYPR
- getRPY/setRPY

EDIT: I'm looking at bullet (and the ROS patches).

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

The site is read-only. Please transition to use Robotics Stack Exchange

bullet euler angle methods

What exactly are the differences between:

- getEulerZYX/setEulerZYX
- getEulerYPR/setEulerYPR
- getRPY/setRPY

EDIT: I'm looking at bullet (and the ROS patches).

Which library/set of code are you using? Is this for bullet?

Chad Rockey
(
2011-03-23 06:22:13 -0600
)edit

add a comment

1

These were discussed in this meeting

The methods are documented in the headers. However, I see the doxygen docs are not generating correctly at the moment so I'll copy them here:

**get/setRPY is recommended**

```
/**@brief Set the quaternion using fixed axis RPY
* @param roll Angle around X
* @param pitch Angle around Y
* @param yaw Angle around Z*/
void setRPY(const btScalar& roll, const btScalar& pitch, const btScalar& yaw)
```

get/setEuler is defined as follows:

```
/**@brief Set the quaternion using Euler angles
* @param yaw Angle around Y
* @param pitch Angle around X
* @param roll Angle around Z */
void setEuler(const btScalar& yaw, const btScalar& pitch, const btScalar& roll)
```

**get/setEulerZYX is deprecated due to being ambiguous in different implementations:**

```
/**@brief Set the quaternion using euler angles
* @param yaw Angle around Z
* @param pitch Angle around Y
* @param roll Angle around X */
void setEulerZYX(const btScalar& yaw, const btScalar& pitch, const btScalar& roll) __attribute__((deprecated))
```

Bullet natively uses a different convention for yaw pitch and roll. The difference between fixed axis and euler angles are defined here http://en.wikipedia.org/wiki/Euler_angles#Euler_angles_as_composition_of_extrinsic_rotations

Asked: ** 2011-03-23 05:24:50 -0600 **

Seen: **1,419 times**

Last updated: **Mar 23 '11**

Using ROS to read joint angles of gazebo model in MATLAB

Twist message coordinate system convention

ROS2 Python quaternion to euler [closed]

ros::moveit adding rotation to xyz-coordinates

quaternion_from_euler, pan/tilt, which order?

something about sendtransform, quaternion and euler

What should we replace setEulerZYX with in the btQuaternion class (this method is now deprecated)?

ROS Answers is licensed under Creative Commons Attribution 3.0 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.