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

Multibody configuration group \(\mathcal{Q}\), defined using the Pinocchio library. More...

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

Inheritance diagram for aligator::MultibodyConfiguration< _Scalar >:
[legend]
Collaboration diagram for aligator::MultibodyConfiguration< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Self = MultibodyConfiguration<Scalar>
 
using ModelType = pinocchio::ModelTpl<Scalar>
 
using Base = ManifoldAbstractTpl<Scalar>
 
- Public Types inherited from aligator::ManifoldAbstractTpl< _Scalar >
using Scalar = _Scalar
 
using TangentSpaceType = VectorSpaceTpl<Scalar, Eigen::Dynamic>
 Typedef for the tangent space, as a manifold.
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 MultibodyConfiguration (const ModelType &model)
 
 MultibodyConfiguration (const MultibodyConfiguration &)=default
 
MultibodyConfigurationoperator= (const MultibodyConfiguration &)=default
 
 MultibodyConfiguration (MultibodyConfiguration &&)=default
 
MultibodyConfigurationoperator= (MultibodyConfiguration &&)=default
 
const ModelTypegetModel () const
 
bool isNormalized (const ConstVectorRef &x) const
 Check if the input vector x is a viable element of the manifold.
 
int nx () const
 Get manifold representation dimension.
 
int ndx () const
 Get manifold tangent space dimension.
 
- Public Member Functions inherited from aligator::ManifoldAbstractTpl< _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
 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.
 
void rand (VectorRef out) const
 Sample a random point \(x \in M\) on the manifold.
 
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
 Manifold integration operation \(x \oplus v\).
 
VectorXs difference (const ConstVectorRef &x0, const ConstVectorRef &x1) const
 Manifold difference/retraction operation \(x_1 \ominus x_0\).
 
VectorXs interpolate (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u) const
 Interpolation operation.
 

Protected Member Functions

implementations
void integrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef xout) const
 Perform the manifold integration 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 difference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef vout) const
 Implementation of the manifold retraction 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.
 
void neutral_impl (VectorRef out) const
 
void rand_impl (VectorRef out) const
 

Protected Attributes

ModelType model_
 

Detailed Description

template<typename _Scalar>
struct aligator::MultibodyConfiguration< _Scalar >

Multibody configuration group \(\mathcal{Q}\), defined using the Pinocchio library.

This uses a pinocchio::ModelTpl object to define the manifold.

Definition at line 17 of file multibody.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar>
using aligator::MultibodyConfiguration< _Scalar >::Scalar = _Scalar

Definition at line 19 of file multibody.hpp.

◆ Self

template<typename _Scalar>
using aligator::MultibodyConfiguration< _Scalar >::Self = MultibodyConfiguration<Scalar>

Definition at line 21 of file multibody.hpp.

◆ ModelType

template<typename _Scalar>
using aligator::MultibodyConfiguration< _Scalar >::ModelType = pinocchio::ModelTpl<Scalar>

Definition at line 22 of file multibody.hpp.

◆ Base

template<typename _Scalar>
using aligator::MultibodyConfiguration< _Scalar >::Base = ManifoldAbstractTpl<Scalar>

Definition at line 23 of file multibody.hpp.

Constructor & Destructor Documentation

◆ MultibodyConfiguration() [1/3]

template<typename _Scalar>
aligator::MultibodyConfiguration< _Scalar >::MultibodyConfiguration ( const ModelType & model)
inline

Definition at line 25 of file multibody.hpp.

◆ MultibodyConfiguration() [2/3]

template<typename _Scalar>
aligator::MultibodyConfiguration< _Scalar >::MultibodyConfiguration ( const MultibodyConfiguration< _Scalar > & )
default

◆ MultibodyConfiguration() [3/3]

template<typename _Scalar>
aligator::MultibodyConfiguration< _Scalar >::MultibodyConfiguration ( MultibodyConfiguration< _Scalar > && )
default

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename _Scalar>
aligator::MultibodyConfiguration< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ operator=() [1/2]

template<typename _Scalar>
MultibodyConfiguration & aligator::MultibodyConfiguration< _Scalar >::operator= ( const MultibodyConfiguration< _Scalar > & )
default

◆ operator=() [2/2]

template<typename _Scalar>
MultibodyConfiguration & aligator::MultibodyConfiguration< _Scalar >::operator= ( MultibodyConfiguration< _Scalar > && )
default

◆ getModel()

template<typename _Scalar>
const ModelType & aligator::MultibodyConfiguration< _Scalar >::getModel ( ) const
inline

Definition at line 32 of file multibody.hpp.

◆ isNormalized()

template<typename _Scalar>
bool aligator::MultibodyConfiguration< _Scalar >::isNormalized ( const ConstVectorRef & ) const
inlinevirtual

Check if the input vector x is a viable element of the manifold.

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 34 of file multibody.hpp.

◆ nx()

template<typename _Scalar>
int aligator::MultibodyConfiguration< _Scalar >::nx ( ) const
inlinevirtual

Get manifold representation dimension.

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 38 of file multibody.hpp.

◆ ndx()

template<typename _Scalar>
int aligator::MultibodyConfiguration< _Scalar >::ndx ( ) const
inlinevirtual

Get manifold tangent space dimension.

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 39 of file multibody.hpp.

◆ integrate_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::integrate_impl ( const ConstVectorRef & x,
const ConstVectorRef & v,
VectorRef out ) const
inlineprotectedvirtual

Perform the manifold integration operation.

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 47 of file multibody.hpp.

◆ Jintegrate_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::Jintegrate_impl ( const ConstVectorRef & x,
const ConstVectorRef & v,
MatrixRef Jout,
int arg ) const
inlineprotectedvirtual

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 52 of file multibody.hpp.

◆ JintegrateTransport_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::JintegrateTransport_impl ( const ConstVectorRef & x,
const ConstVectorRef & v,
MatrixRef Jout,
int arg ) const
inlineprotectedvirtual

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 64 of file multibody.hpp.

◆ difference_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::difference_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
VectorRef out ) const
inlineprotectedvirtual

Implementation of the manifold retraction operation.

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 79 of file multibody.hpp.

◆ Jdifference_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::Jdifference_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
MatrixRef Jout,
int arg ) const
inlineprotectedvirtual

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 84 of file multibody.hpp.

◆ interpolate_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::interpolate_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
const Scalar & u,
VectorRef out ) const
inlineprotectedvirtual

Interpolation operation.

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 96 of file multibody.hpp.

◆ neutral_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::neutral_impl ( VectorRef out) const
inlineprotectedvirtual

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 101 of file multibody.hpp.

◆ rand_impl()

template<typename _Scalar>
void aligator::MultibodyConfiguration< _Scalar >::rand_impl ( VectorRef out) const
inlineprotectedvirtual

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 103 of file multibody.hpp.

Member Data Documentation

◆ model_

template<typename _Scalar>
ModelType aligator::MultibodyConfiguration< _Scalar >::model_
protected

Definition at line 42 of file multibody.hpp.


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