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

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

Seen: **1,441 times**

Last updated: **Mar 23 '11**

Can gazebo_ros actually use bullet?

Stage: Orientation of the robot.

Twist message coordinate system convention

what are quaternions and how can I use them?

Does clockwise rotation correspond to a positive or to a negative yaw angle?

plot/print rpy from quaternion

Gazebo object pose and getAsEuler

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.