# 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).

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 -0500
)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

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

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

Seen: **1,335 times**

Last updated: **Mar 23 '11**

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.