GCOP
1.0
|
#include <mbscspace.h>
Public Member Functions | |
MbsCspace (int nb) | |
void | Lift (Vectornd &v, const MbsState &xa, const MbsState &xb) |
void | Retract (MbsState &xb, const MbsState &xa, const VectorXd &v) |
MbsCspace::MbsCspace | ( | int | nb | ) |
void MbsCspace::Lift | ( | Vectornd & | v, |
const MbsState & | xa, | ||
const MbsState & | xb | ||
) | [virtual] |
Compute a lie algebra element corresponding to a group action between two given states on a manifold. This operation geometrically means that the curve from xa to xb is "lifted" to the tangent space of the manifold to a vector represented by the lie algebra element.
The element can also be regarded as a difference between the two states xa and xb. On a vector space this is v = xb - xa. On homogeneous manifolds v is a Lie algebra element corresponding to an action taking xa to xb.
v | Lie algebra element (regarded as difference between xb and xa) |
xa | starting state |
xb | ending state |
Implements gcop::Manifold< MbsState >.
References gcop::Group< n, m >::cayinv(), gcop::MbsState::gs, gcop::SE3::Instance(), gcop::SE3::inv(), and gcop::MbsState::r.
void MbsCspace::Retract | ( | MbsState & | xb, |
const MbsState & | xa, | ||
const VectorXd & | v | ||
) |
References gcop::SE3::cay(), gcop::MbsState::gs, gcop::SE3::Instance(), and gcop::MbsState::r.