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 * ẏ.