The tangent bundle of a multibody configuration group. More...
#include <proxsuite-nlp/modelling/spaces/multibody.hpp>
Public Types | |
using | ConfigSpace = MultibodyConfiguration<Scalar, Options> |
using | ModelType = typename ConfigSpace::ModelType |
![]() | |
using | Self |
using | Scalar |
![]() | |
using | Scalar |
using | TangentSpaceType |
Typedef for the tangent space, as a manifold. | |
Public Member Functions | |
const ModelType & | getModel () const |
MultibodyPhaseSpace (const ModelType &model) | |
MultibodyPhaseSpace (const MultibodyPhaseSpace &)=default | |
MultibodyPhaseSpace & | operator= (const MultibodyPhaseSpace &)=default |
MultibodyPhaseSpace (MultibodyPhaseSpace &&)=default | |
MultibodyPhaseSpace & | operator= (MultibodyPhaseSpace &&)=default |
![]() | |
TangentBundleTpl (MultibodyConfiguration< Scalar, 0 > base) | |
Constructor using base space instance. | |
TangentBundleTpl (BaseCtorArgs... args) | |
Constructor using base space constructor. | |
int | nx () const |
Declare implementations. | |
int | ndx () const |
Get manifold tangent space dimension. | |
VectorXs | neutral () const |
Get the neutral element \(e \in M\) from the manifold (if this makes sense). | |
VectorXs | rand () const |
Sample a random point \(x \in M\) on the manifold. | |
bool | isNormalized (const ConstVectorRef &x) const |
Check if the input vector x is a viable element of the manifold. | |
const MultibodyConfiguration< Scalar, 0 > & | getBaseSpace () const |
void | integrate_impl (const ConstVectorRef &x, const ConstVectorRef &dx, VectorRef out) const |
Operators. | |
void | difference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const |
Implementation of the manifold retraction operation. | |
void | Jintegrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
void | JintegrateTransport (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
Perform the parallel transport operation. | |
void | Jdifference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
void | interpolate_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
Interpolation operation. | |
Point::ConstSegmentReturnType | getBasePoint (const Point &x) const |
Point::SegmentReturnType | getBasePointWrite (const Point &x) const |
Tangent::ConstSegmentReturnType | getBaseTangent (const Tangent &v) const |
Tangent::SegmentReturnType | getTangentHeadWrite (const Tangent &v) const |
Eigen::Block< Jac, Eigen::Dynamic, Eigen::Dynamic > | getBaseJacobian (const Jac &J) const |
![]() | |
const TangentSpaceType | tangentSpace () const |
Return an object representing the tangent space as a manifold. | |
void | integrate (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const |
Manifold integration operation \(x \oplus v\). | |
void | Jintegrate (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const |
Jacobian of the integation operation. | |
void | difference (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const |
Manifold difference/retraction operation \(x_1 \ominus x_0\). | |
void | Jdifference (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const |
Jacobian of the retraction operation. | |
void | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const |
VectorXs | integrate (const ConstVectorRef &x, const ConstVectorRef &v) const |
VectorXs | difference (const ConstVectorRef &x0, const ConstVectorRef &x1) const |
VectorXs | interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u) const |
Additional Inherited Members | |
![]() | |
Scalar | |
![]() | |
Scalar | |
![]() | |
static constexpr int | Options |
![]() | |
static constexpr int | Options |
Scalar type. | |
![]() | |
MultibodyConfiguration< Scalar, 0 > | base_ |
The tangent bundle of a multibody configuration group.
This is not a typedef, since we provide a constructor for the class. Any point on the manifold is of the form \(x = (q,v) \), where \(q \in \mathcal{Q} \) is a configuration and \(v\) is a joint velocity vector.
Definition at line 113 of file multibody.hpp.
using proxsuite::nlp::MultibodyPhaseSpace< Scalar, Options >::ConfigSpace = MultibodyConfiguration<Scalar, Options> |
Definition at line 115 of file multibody.hpp.
using proxsuite::nlp::MultibodyPhaseSpace< Scalar, Options >::ModelType = typename ConfigSpace::ModelType |
Definition at line 116 of file multibody.hpp.
|
inline |
Definition at line 120 of file multibody.hpp.
|
inline |
Definition at line 118 of file multibody.hpp.