GCOP
1.0
|
#include <so3.h>
Public Member Functions | |
SO3 () | |
void | inv (Matrix3d &mi, const Matrix3d &m) const |
void | hat (Matrix3d &vh, const Vector3d &v) const |
void | hatinv (Vector3d &v, const Matrix3d &vh) const |
void | Tg (Matrix3d &m, const Matrix3d &g) const |
void | Ad (Matrix3d &m, const Matrix3d &g) const |
void | ad (Matrix3d &m, const Vector3d &v) const |
void | adinv (Vector3d &v, const Matrix3d &m) const |
void | exp (Matrix3d &m, const Vector3d &v) const |
void | log (Vector3d &v, const Matrix3d &m) const |
void | cay (Matrix3d &g, const Vector3d &v) const |
void | cayinv (Vector3d &v, const Matrix3d &m) const |
void | dcay (Matrix3d &m, const Vector3d &v) const |
void | dcayinv (Matrix3d &m, const Vector3d &v) const |
void | dexp (Matrix3d &m, const Vector3d &v) const |
void | dexpinv (Matrix3d &m, const Vector3d &v) const |
void | skew (Vector3d &v, const Matrix3d &m) const |
double | roll (const Matrix3d &m) const |
double | pitch (const Matrix3d &m) const |
double | yaw (const Matrix3d &m) const |
void | q2g (Matrix3d &m, const Vector3d &rpy) |
void | quat2g (Matrix3d &m, const Vector4d &wxyz) |
void | g2quat (Vector4d &wxyz, const Matrix3d &m) |
void | g2q (Vector3d &rpy, const Matrix3d &m) |
Static Public Member Functions | |
static SO3 & | Instance () |
Public Attributes | |
double | tol |
numerical tolerance |
SO3::SO3 | ( | ) |
void SO3::Ad | ( | Matrix3d & | m, |
const Matrix3d & | g | ||
) | const |
Referenced by gcop::Body3d< c >::EulerStep(), and gcop::Body3d< c >::SympStep().
void SO3::ad | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
References hat().
Referenced by gcop::SE3::Ad(), gcop::SE3::ad(), gcop::SE3::adt(), gcop::SE3::dcayinv(), and gcop::SE3::hat().
void SO3::adinv | ( | Vector3d & | v, |
const Matrix3d & | m | ||
) | const |
References hatinv().
void SO3::cay | ( | Matrix3d & | g, |
const Vector3d & | v | ||
) | const |
References hat(), and gcop::Group< 3, 3 >::Id.
Referenced by gcop::Body3d< c >::EulerStep(), gcop::AirmManifold::Retract(), and gcop::Body3d< c >::SympStep().
void SO3::cayinv | ( | Vector3d & | v, |
const Matrix3d & | m | ||
) | const |
References hatinv(), and gcop::Group< 3, 3 >::Id.
Referenced by gcop::AirmManifold::Lift().
void SO3::dcay | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
Referenced by gcop::Body3d< c >::EulerStep(), and gcop::Body3d< c >::SympStep().
void SO3::dcayinv | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
Referenced by gcop::SE3::dcayinv(), and gcop::Body3d< c >::SympStep().
void SO3::dexp | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
References hat(), gcop::Group< 3, 3 >::Id, and tol.
Referenced by gcop::SE3::exp(), gcop::Ins::Step(), and gcop::Imu::Step().
void SO3::dexpinv | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
References hat(), gcop::Group< 3, 3 >::Id, and tol.
Referenced by gcop::SE3::log().
void SO3::exp | ( | Matrix3d & | m, |
const Vector3d & | v | ||
) | const |
References hat(), gcop::Group< 3, 3 >::Id, and tol.
Referenced by gcop::SE3::exp(), gcop::Ins::Step(), and gcop::Imu::Step().
void SO3::g2q | ( | Vector3d & | rpy, |
const Matrix3d & | m | ||
) |
References pitch(), roll(), and yaw().
Referenced by gcop::SE3::g2q(), and gcop::SE3::g2rpyxyz().
void SO3::g2quat | ( | Vector4d & | wxyz, |
const Matrix3d & | m | ||
) |
Referenced by gcop::SE3::g2quatxyz().
void SO3::hat | ( | Matrix3d & | vh, |
const Vector3d & | v | ||
) | const |
void SO3::hatinv | ( | Vector3d & | v, |
const Matrix3d & | vh | ||
) | const |
Referenced by adinv(), gcop::SE3::adinv(), cayinv(), gcop::SE3::hatinv(), log(), and skew().
SO3 & SO3::Instance | ( | ) | [static] |
Referenced by gcop::Body3d< c >::EulerStep(), gcop::Body3d< c >::FlatToStateAndControls(), gcop::Gcay(), gcop::AirmManifold::Lift(), gcop::ImuSensor< _nz, _nu, _np >::operator()(), gcop::InsImu< _nz, _nu, _np >::operator()(), r3hat(), gcop::r3hat(), gcop::AirmManifold::Retract(), gcop::Hrotor::StateAndControlsToFlat(), gcop::Body3d< c >::StateAndControlsToFlat(), gcop::Ins::Step(), gcop::Imu::Step(), gcop::Body3d< c >::SympStep(), gcop::Geom3dView::Transform(), gcop::UuvView< c >::Transform(), gcop::Body3dView< c >::Transform(), and gcop::Kinbody3dView< _nu >::Transform().
void SO3::inv | ( | Matrix3d & | mi, |
const Matrix3d & | m | ||
) | const |
void SO3::log | ( | Vector3d & | v, |
const Matrix3d & | m | ||
) | const |
double SO3::pitch | ( | const Matrix3d & | m | ) | const |
Referenced by g2q(), and gcop::Body3d< c >::StateAndControlsToFlat().
void SO3::q2g | ( | Matrix3d & | m, |
const Vector3d & | rpy | ||
) |
Referenced by gcop::SE3::q2g(), and gcop::SE3::rpyxyz2g().
void SO3::quat2g | ( | Matrix3d & | m, |
const Vector4d & | wxyz | ||
) |
References gcop::Group< 3, 3 >::e.
Referenced by gcop::SE3::quatxyz2g().
double SO3::roll | ( | const Matrix3d & | m | ) | const |
Referenced by g2q(), and gcop::Body3d< c >::StateAndControlsToFlat().
void SO3::Tg | ( | Matrix3d & | m, |
const Matrix3d & | g | ||
) | const |
double SO3::yaw | ( | const Matrix3d & | m | ) | const |
Referenced by g2q(), gcop::Hrotor::StateAndControlsToFlat(), and gcop::Body3d< c >::StateAndControlsToFlat().
double gcop::SO3::tol |
numerical tolerance
Referenced by dexp(), dexpinv(), exp(), log(), gcop::UuvView< c >::Transform(), gcop::Body3dView< c >::Transform(), and gcop::Kinbody3dView< _nu >::Transform().