This class represents the orientation between two arbitrary frames A and D associated with a Space-fixed (extrinsic) X-Y-Z rotation by "roll-pitch-yaw" angles [r, p, y], which is equivalent to a Body-fixed (intrinsic) Z-Y-X rotation by "yaw-pitch-roll" angles [y, p, r].
The rotation matrix R_AD associated with this roll-pitch-yaw [r, p, y] rotation sequence is equal to the matrix multiplication shown below.
⎡cos(y) -sin(y) 0⎤ ⎡ cos(p) 0 sin(p)⎤ ⎡1 0 0 ⎤
R_AD = ⎢sin(y) cos(y) 0⎥ * ⎢ 0 1 0 ⎥ * ⎢0 cos(r) -sin(r)⎥
⎣ 0 0 1⎦ ⎣-sin(p) 0 cos(p)⎦ ⎣0 sin(r) cos(r)⎦
= R_AB * R_BC * R_CD
|
| | MALIPUT_DEFAULT_COPY_AND_MOVE_AND_ASSIGN (RollPitchYaw) |
| |
| | RollPitchYaw ()=default |
| | Constructs a RollPitchYaw with zeros for each angle. More...
|
| |
| | RollPitchYaw (const Vector3 &rpy) |
| | Constructs a RollPitchYaw from a 3x1 array of angles. More...
|
| |
| | RollPitchYaw (double roll, double pitch, double yaw) |
| | Constructs a RollPitchYaw from roll, pitch, yaw angles in radians. More...
|
| |
| | RollPitchYaw (const Quaternion &quaternion) |
| | Uses a Quaternion to construct a RollPitchYaw with roll-pitch-yaw angles [r, p, y] in the range -π <= r <= π, -π/2 <= p <= π/2, -π <= y <= n. More...
|
| |
| RollPitchYaw & | set (const Vector3 &rpy) |
| | Sets this RollPitchYaw from a 3x1 array of angles. More...
|
| |
| RollPitchYaw & | set (double roll, double pitch, double yaw) |
| | Sets this RollPitchYaw from roll, pitch, yaw angles in radians. More...
|
| |
| void | SetFromQuaternion (const Quaternion &quaternion) |
| | Uses a Quaternion to set this RollPitchYaw with roll-pitch-yaw angles [r, p, y] in the range -π <= r <= π, -π/2 <= p <= π/2, -π <= y <= n. More...
|
| |
| const Vector3 & | vector () const |
| | Returns the Vector3 underlying this RollPitchYaw. More...
|
| |
| double | roll_angle () const |
| | Returns the roll-angle underlying this RollPitchYaw. More...
|
| |
| double | pitch_angle () const |
| | Returns the pitch-angle underlying this RollPitchYaw. More...
|
| |
| double | yaw_angle () const |
| | Returns the yaw-angle underlying this RollPitchYaw. More...
|
| |
| double & | roll_angle () |
| | Mutable reference to roll angle. More...
|
| |
| double & | pitch_angle () |
| | Mutable reference to pitch angle. More...
|
| |
| double & | yaw_angle () |
| | Mutable reference to yaw angle. More...
|
| |
| Matrix3 | ToMatrix () const |
| | Returns the 3x3 matrix representation of the rotation matrix that corresponds to this RollPitchYaw. More...
|
| |
| Quaternion | ToQuaternion () const |
| | Returns a quaternion representation of this RollPitchYaw. More...
|
| |
| Matrix3 | CalcRotationMatrixDt (const Vector3 &rpyDt) const |
| | Forms Ṙ, the ordinary derivative of the RotationMatrix R with respect to an independent variable t (t usually denotes time) and R is the RotationMatrix formed by this RollPitchYaw. More...
|
| |
Forms Ṙ, the ordinary derivative of the RotationMatrix R with respect to an independent variable t (t usually denotes time) and R is the RotationMatrix formed by this RollPitchYaw.
The roll-pitch-yaw angles r, p, y are regarded as functions of t [i.e., r(t), p(t), y(t)].
- Parameters
-
| [in] | rpyDt | Ordinary derivative of rpy with respect to an independent variable t (t usually denotes time, but not necessarily). |
- Returns
- Ṙ, the ordinary derivative of
R with respect to t, calculated as Ṙ = ∂R/∂r * ṙ + ∂R/∂p * ṗ + ∂R/∂y * ẏ. In other words, the returned (i, j) element is ∂Rij/∂r * ṙ + ∂Rij/∂p * ṗ + ∂Rij/∂y * ẏ.