aligator  0.14.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
 
Loading...
Searching...
No Matches
aligator::MultibodyPhaseSpace< Scalar > Struct Template Reference

The tangent bundle of a multibody configuration group. More...

#include <aligator/modelling/spaces/multibody.hpp>

Inheritance diagram for aligator::MultibodyPhaseSpace< Scalar >:
[legend]
Collaboration diagram for aligator::MultibodyPhaseSpace< Scalar >:
[legend]

Public Types

using ConfigSpace = MultibodyConfiguration<Scalar>
 
using ModelType = typename ConfigSpace::ModelType
 
- Public Types inherited from aligator::TangentBundleTpl< MultibodyConfiguration< Scalar > >
using Self
 
using Scalar
 
- Public Types inherited from aligator::ManifoldAbstractTpl< MultibodyConfiguration< Scalar >::Scalar >
using Scalar
 
using TangentSpaceType
 Typedef for the tangent space, as a manifold.
 

Public Member Functions

const ModelTypegetModel () const
 
 MultibodyPhaseSpace (const ModelType &model)
 
 MultibodyPhaseSpace (const MultibodyPhaseSpace &)=default
 
MultibodyPhaseSpaceoperator= (const MultibodyPhaseSpace &)=default
 
 MultibodyPhaseSpace (MultibodyPhaseSpace &&)=default
 
MultibodyPhaseSpaceoperator= (MultibodyPhaseSpace &&)=default
 
- Public Member Functions inherited from aligator::TangentBundleTpl< MultibodyConfiguration< Scalar > >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 TangentBundleTpl (MultibodyConfiguration< Scalar > 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.
 
bool isNormalized (const ConstVectorRef &x) const
 Check if the input vector x is a viable element of the manifold.
 
const MultibodyConfiguration< Scalar > & getBaseSpace () const
 
Point::ConstSegmentReturnType getBasePoint (const Eigen::MatrixBase< Point > &x) const
 
Point::SegmentReturnType getBasePointWrite (const Eigen::MatrixBase< Point > &x) const
 
Tangent::ConstSegmentReturnType getBaseTangent (const Tangent &v) const
 
Tangent::SegmentReturnType getTangentHeadWrite (const Eigen::MatrixBase< Tangent > &v) const
 
Eigen::Block< Jac, Eigen::Dynamic, Eigen::Dynamic > getBaseJacobian (const Eigen::MatrixBase< Jac > &J) const
 
- Public Member Functions inherited from aligator::ManifoldAbstractTpl< MultibodyConfiguration< Scalar >::Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 Scalar type.
 
virtual ~ManifoldAbstractTpl ()=default
 
VectorXs neutral () const
 Get the neutral element \(e \in M\) from the manifold (if this makes sense).
 
void neutral (VectorRef out) const
 
VectorXs rand () const
 Sample a random point \(x \in M\) on the manifold.
 
void rand (VectorRef out) 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 JintegrateTransport (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
 Perform the parallel transport 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

- Static Public Attributes inherited from aligator::TangentBundleTpl< MultibodyConfiguration< Scalar > >
static constexpr int Options
 
- Protected Member Functions inherited from aligator::TangentBundleTpl< MultibodyConfiguration< Scalar > >
void neutral_impl (VectorRef out) const
 
void rand_impl (VectorRef out) const
 
void integrate_impl (const ConstVectorRef &x, const ConstVectorRef &dx, VectorRef out) const
 Perform the manifold integration operation.
 
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_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
 
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.
 
- Protected Attributes inherited from aligator::TangentBundleTpl< MultibodyConfiguration< Scalar > >
MultibodyConfiguration< Scalarbase_
 

Detailed Description

template<typename Scalar>
struct aligator::MultibodyPhaseSpace< Scalar >

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 118 of file multibody.hpp.

Member Typedef Documentation

◆ ConfigSpace

template<typename Scalar>
using aligator::MultibodyPhaseSpace< Scalar >::ConfigSpace = MultibodyConfiguration<Scalar>

Definition at line 119 of file multibody.hpp.

◆ ModelType

template<typename Scalar>
using aligator::MultibodyPhaseSpace< Scalar >::ModelType = typename ConfigSpace::ModelType

Definition at line 120 of file multibody.hpp.

Constructor & Destructor Documentation

◆ MultibodyPhaseSpace() [1/3]

template<typename Scalar>
aligator::MultibodyPhaseSpace< Scalar >::MultibodyPhaseSpace ( const ModelType & model)
inline

Definition at line 124 of file multibody.hpp.

◆ MultibodyPhaseSpace() [2/3]

template<typename Scalar>
aligator::MultibodyPhaseSpace< Scalar >::MultibodyPhaseSpace ( const MultibodyPhaseSpace< Scalar > & )
default

◆ MultibodyPhaseSpace() [3/3]

template<typename Scalar>
aligator::MultibodyPhaseSpace< Scalar >::MultibodyPhaseSpace ( MultibodyPhaseSpace< Scalar > && )
default

Member Function Documentation

◆ getModel()

template<typename Scalar>
const ModelType & aligator::MultibodyPhaseSpace< Scalar >::getModel ( ) const
inline

Definition at line 122 of file multibody.hpp.

◆ operator=() [1/2]

template<typename Scalar>
MultibodyPhaseSpace & aligator::MultibodyPhaseSpace< Scalar >::operator= ( const MultibodyPhaseSpace< Scalar > & )
default

◆ operator=() [2/2]

template<typename Scalar>
MultibodyPhaseSpace & aligator::MultibodyPhaseSpace< Scalar >::operator= ( MultibodyPhaseSpace< Scalar > && )
default

The documentation for this struct was generated from the following files: