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 | 
  Public Types inherited from proxsuite::nlp::TangentBundleTpl< MultibodyConfiguration< Scalar, 0 > > | |
| using | Self | 
| using | Scalar | 
  Public Types inherited from proxsuite::nlp::ManifoldAbstractTpl< MultibodyConfiguration< Scalar, 0 >::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 | 
  Public Member Functions inherited from proxsuite::nlp::TangentBundleTpl< MultibodyConfiguration< Scalar, 0 > > | |
| 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 | 
  Public Member Functions inherited from proxsuite::nlp::ManifoldAbstractTpl< MultibodyConfiguration< Scalar, 0 >::Scalar > | |
| 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 | |
  Public Attributes inherited from proxsuite::nlp::TangentBundleTpl< MultibodyConfiguration< Scalar, 0 > > | |
| Scalar | |
  Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< MultibodyConfiguration< Scalar, 0 >::Scalar > | |
| Scalar | |
  Static Public Attributes inherited from proxsuite::nlp::TangentBundleTpl< MultibodyConfiguration< Scalar, 0 > > | |
| static constexpr int | Options | 
  Static Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< MultibodyConfiguration< Scalar, 0 >::Scalar > | |
| static constexpr int | Options | 
| Scalar type.   | |
  Protected Attributes inherited from proxsuite::nlp::TangentBundleTpl< MultibodyConfiguration< Scalar, 0 > > | |
| 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.