|
Cheetah Software
1.0
|
Enumerations | |
| enum | CoordinateAxis { CoordinateAxis::X, CoordinateAxis::Y, CoordinateAxis::Z } |
Functions | |
| template<typename T > | |
| T | rad2deg (T rad) |
| template<typename T > | |
| T | deg2rad (T deg) |
| template<typename T > | |
| Mat3< T > | coordinateRotation (CoordinateAxis axis, T theta) |
| template<typename T > | |
| Mat3< typename T::Scalar > | rpyToRotMat (const Eigen::MatrixBase< T > &v) |
| template<typename T > | |
| Mat3< typename T::Scalar > | vectorToSkewMat (const Eigen::MatrixBase< T > &v) |
| template<typename T > | |
| Vec3< typename T::Scalar > | matToSkewVec (const Eigen::MatrixBase< T > &m) |
| template<typename T > | |
| Quat< typename T::Scalar > | rotationMatrixToQuaternion (const Eigen::MatrixBase< T > &r1) |
| template<typename T > | |
| Mat3< typename T::Scalar > | quaternionToRotationMatrix (const Eigen::MatrixBase< T > &q) |
| template<typename T > | |
| Vec3< typename T::Scalar > | quatToRPY (const Eigen::MatrixBase< T > &q) |
| template<typename T > | |
| Quat< typename T::Scalar > | rpyToQuat (const Eigen::MatrixBase< T > &rpy) |
| template<typename T > | |
| Vec3< typename T::Scalar > | quatToso3 (const Eigen::MatrixBase< T > &q) |
| template<typename T > | |
| Vec3< typename T::Scalar > | rotationMatrixToRPY (const Eigen::MatrixBase< T > &R) |
| template<typename T , typename T2 > | |
| Quat< typename T::Scalar > | quatDerivative (const Eigen::MatrixBase< T > &q, const Eigen::MatrixBase< T2 > &omega) |
| template<typename T > | |
| Quat< typename T::Scalar > | quatProduct (const Eigen::MatrixBase< T > &q1, const Eigen::MatrixBase< T > &q2) |
| template<typename T , typename T2 , typename T3 > | |
| Quat< typename T::Scalar > | integrateQuat (const Eigen::MatrixBase< T > &quat, const Eigen::MatrixBase< T2 > &omega, T3 dt) |
| template<typename T , typename T2 , typename T3 > | |
| Quat< typename T::Scalar > | integrateQuatImplicit (const Eigen::MatrixBase< T > &quat, const Eigen::MatrixBase< T2 > &omega, T3 dt) |
| template<typename T > | |
| void | quaternionToso3 (const Quat< T > quat, Vec3< T > &so3) |
| template<typename T > | |
| Quat< T > | so3ToQuat (Vec3< T > &so3) |
Variables | |
| static constexpr double | quaternionDerviativeStabilization = 0.1 |
|
strong |
| Enumerator | |
|---|---|
| X | |
| Y | |
| Z | |
Definition at line 32 of file orientation_tools.h.
| Mat3<T> ori::coordinateRotation | ( | CoordinateAxis | axis, |
| T | theta | ||
| ) |
Compute rotation matrix for coordinate transformation. Note that coordinateRotation(CoordinateAxis:X, .1) * v will rotate v by -.1 radians - this transforms into a frame rotated by .1 radians!.
Definition at line 60 of file orientation_tools.h.
Here is the caller graph for this function:| T ori::deg2rad | ( | T | deg | ) |
Convert degrees to radians
Definition at line 48 of file orientation_tools.h.
Here is the caller graph for this function:| Quat<typename T::Scalar> ori::integrateQuat | ( | const Eigen::MatrixBase< T > & | quat, |
| const Eigen::MatrixBase< T2 > & | omega, | ||
| T3 | dt | ||
| ) |
Compute new quaternion given:
| quat | The old quaternion |
| omega | The angular velocity (IN INERTIAL COORDINATES!) |
| dt | The timestep |
Definition at line 283 of file orientation_tools.h.
References quatProduct().
Here is the call graph for this function:
Here is the caller graph for this function:| Quat<typename T::Scalar> ori::integrateQuatImplicit | ( | const Eigen::MatrixBase< T > & | quat, |
| const Eigen::MatrixBase< T2 > & | omega, | ||
| T3 | dt | ||
| ) |
Compute new quaternion given:
| quat | The old quaternion |
| omega | The angular velocity (IN INERTIAL COORDINATES!) |
| dt | The timestep |
Definition at line 315 of file orientation_tools.h.
References quatProduct().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec3<typename T::Scalar> ori::matToSkewVec | ( | const Eigen::MatrixBase< T > & | m | ) |
Put the skew-symmetric component of 3x3 matrix m into a 3x1 vector
Definition at line 108 of file orientation_tools.h.
Here is the caller graph for this function:| Quat<typename T::Scalar> ori::quatDerivative | ( | const Eigen::MatrixBase< T > & | q, |
| const Eigen::MatrixBase< T2 > & | omega | ||
| ) |
Quaternion derivative calculation, like rqd(q, omega) in MATLAB. the omega is expressed in body frame
| q | |
| omega |
Definition at line 240 of file orientation_tools.h.
Here is the caller graph for this function:| Mat3<typename T::Scalar> ori::quaternionToRotationMatrix | ( | const Eigen::MatrixBase< T > & | q | ) |
Convert a quaternion to a rotation matrix. This matrix represents a coordinate transformation into the frame which has the orientation specified by the quaternion
Definition at line 160 of file orientation_tools.h.
Here is the caller graph for this function:Definition at line 340 of file orientation_tools.h.
| Quat<typename T::Scalar> ori::quatProduct | ( | const Eigen::MatrixBase< T > & | q1, |
| const Eigen::MatrixBase< T > & | q2 | ||
| ) |
Take the product of two quaternions
Definition at line 262 of file orientation_tools.h.
Here is the caller graph for this function:| Vec3<typename T::Scalar> ori::quatToRPY | ( | const Eigen::MatrixBase< T > & | q | ) |
Convert a quaternion to RPY. Uses ZYX order (yaw-pitch-roll), but returns angles in (roll, pitch, yaw).
Definition at line 185 of file orientation_tools.h.
References square().
Here is the call graph for this function:
Here is the caller graph for this function:| Vec3<typename T::Scalar> ori::quatToso3 | ( | const Eigen::MatrixBase< T > & | q | ) |
Convert a quaternion to so3.
Definition at line 213 of file orientation_tools.h.
Here is the caller graph for this function:| T ori::rad2deg | ( | T | rad | ) |
Convert radians to degrees
Definition at line 38 of file orientation_tools.h.
Here is the caller graph for this function:| Quat<typename T::Scalar> ori::rotationMatrixToQuaternion | ( | const Eigen::MatrixBase< T > & | r1 | ) |
Convert a coordinate transformation matrix to an orientation quaternion.
Definition at line 119 of file orientation_tools.h.
Here is the caller graph for this function:| Vec3<typename T::Scalar> ori::rotationMatrixToRPY | ( | const Eigen::MatrixBase< T > & | R | ) |
Definition at line 225 of file orientation_tools.h.
References quatToRPY(), and rotationMatrixToQuaternion().
Here is the call graph for this function:
Here is the caller graph for this function:| Quat<typename T::Scalar> ori::rpyToQuat | ( | const Eigen::MatrixBase< T > & | rpy | ) |
Definition at line 201 of file orientation_tools.h.
References rotationMatrixToQuaternion(), and rpyToRotMat().
Here is the call graph for this function:
Here is the caller graph for this function:| Mat3<typename T::Scalar> ori::rpyToRotMat | ( | const Eigen::MatrixBase< T > & | v | ) |
Go from rpy to rotation matrix.
Definition at line 83 of file orientation_tools.h.
References coordinateRotation(), X, Y, and Z.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 356 of file orientation_tools.h.
| Mat3<typename T::Scalar> ori::vectorToSkewMat | ( | const Eigen::MatrixBase< T > & | v | ) |
Convert a 3x1 vector to a skew-symmetric 3x3 matrix
Definition at line 96 of file orientation_tools.h.
Here is the caller graph for this function:
|
static |
Definition at line 30 of file orientation_tools.h.