proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options > Struct Template Reference

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

#include <proxsuite-nlp/modelling/spaces/multibody.hpp>

Inheritance diagram for proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >:
[legend]
Collaboration diagram for proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >:
[legend]

Public Types

using Scalar = _Scalar
 
using Self = MultibodyConfiguration<Scalar, Options>
 
using ModelType = pinocchio::ModelTpl<Scalar, Options>
 
using Base = ManifoldAbstractTpl<Scalar, Options>
 
- Public Types inherited from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >
using Scalar
 
using TangentSpaceType
 Typedef for the tangent space, as a manifold.
 

Public Member Functions

 MultibodyConfiguration (const ModelType &model)
 
 MultibodyConfiguration (const MultibodyConfiguration &)=default
 
MultibodyConfigurationoperator= (const MultibodyConfiguration &)=default
 
 MultibodyConfiguration (MultibodyConfiguration &&)=default
 
MultibodyConfigurationoperator= (MultibodyConfiguration &&)=default
 
const ModelTypegetModel () const
 
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.
 
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 (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
 Perform the parallel transport operation.
 
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.
 
int nx () const
 Get manifold representation dimension.
 
int ndx () const
 Get manifold tangent space dimension.
 
- Public Member Functions inherited from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >
virtual ~ManifoldAbstractTpl ()=default
 
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
 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.
 

Public Attributes

 Scalar
 
- Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >
 Scalar
 

Static Public Attributes

static constexpr int Options = _Options
 
- Static Public Attributes inherited from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >
static constexpr int Options
 Scalar type.
 

Protected Attributes

ModelType model_
 

Additional Inherited Members

Detailed Description

template<typename _Scalar, int _Options = 0>
struct proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >

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

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

Definition at line 18 of file multibody.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar , int _Options = 0>
using proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Scalar = _Scalar

Definition at line 20 of file multibody.hpp.

◆ Self

template<typename _Scalar , int _Options = 0>
using proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Self = MultibodyConfiguration<Scalar, Options>

Definition at line 23 of file multibody.hpp.

◆ ModelType

template<typename _Scalar , int _Options = 0>
using proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::ModelType = pinocchio::ModelTpl<Scalar, Options>

Definition at line 24 of file multibody.hpp.

◆ Base

template<typename _Scalar , int _Options = 0>
using proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Base = ManifoldAbstractTpl<Scalar, Options>

Definition at line 25 of file multibody.hpp.

Constructor & Destructor Documentation

◆ MultibodyConfiguration() [1/3]

template<typename _Scalar , int _Options = 0>
proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::MultibodyConfiguration ( const ModelType & model)
inline

Definition at line 27 of file multibody.hpp.

◆ MultibodyConfiguration() [2/3]

template<typename _Scalar , int _Options = 0>
proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::MultibodyConfiguration ( const MultibodyConfiguration< _Scalar, _Options > & )
default

◆ MultibodyConfiguration() [3/3]

template<typename _Scalar , int _Options = 0>
proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::MultibodyConfiguration ( MultibodyConfiguration< _Scalar, _Options > && )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename _Scalar , int _Options = 0>
MultibodyConfiguration & proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::operator= ( const MultibodyConfiguration< _Scalar, _Options > & )
default

◆ operator=() [2/2]

template<typename _Scalar , int _Options = 0>
MultibodyConfiguration & proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::operator= ( MultibodyConfiguration< _Scalar, _Options > && )
default

◆ getModel()

template<typename _Scalar , int _Options = 0>
const ModelType & proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::getModel ( ) const
inline

Definition at line 33 of file multibody.hpp.

◆ neutral()

template<typename _Scalar , int _Options = 0>
VectorXs proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::neutral ( ) const
inlinevirtual

Get the neutral element \(e \in M\) from the manifold (if this makes sense).

Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 35 of file multibody.hpp.

◆ rand()

template<typename _Scalar , int _Options = 0>
VectorXs proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::rand ( ) const
inlinevirtual

Sample a random point \(x \in M\) on the manifold.

Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 36 of file multibody.hpp.

◆ isNormalized()

template<typename _Scalar , int _Options = 0>
bool proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::isNormalized ( const ConstVectorRef & ) const
inlinevirtual

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

Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 37 of file multibody.hpp.

◆ integrate_impl()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::integrate_impl ( const ConstVectorRef & x,
const ConstVectorRef & v,
VectorRef out ) const
inlinevirtual

Perform the manifold integration operation.

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 44 of file multibody.hpp.

◆ Jintegrate_impl()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Jintegrate_impl ( const ConstVectorRef & x,
const ConstVectorRef & v,
MatrixRef Jout,
int arg ) const
inlinevirtual

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 49 of file multibody.hpp.

◆ JintegrateTransport()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::JintegrateTransport ( const ConstVectorRef & x,
const ConstVectorRef & v,
MatrixRef Jout,
int arg ) const
inlinevirtual

Perform the parallel transport operation.

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 61 of file multibody.hpp.

◆ difference_impl()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::difference_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
VectorRef out ) const
inlinevirtual

Implementation of the manifold retraction operation.

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 75 of file multibody.hpp.

◆ Jdifference_impl()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Jdifference_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
MatrixRef Jout,
int arg ) const
inlinevirtual

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 80 of file multibody.hpp.

◆ interpolate_impl()

template<typename _Scalar , int _Options = 0>
void proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::interpolate_impl ( const ConstVectorRef & x0,
const ConstVectorRef & x1,
const Scalar & u,
VectorRef out ) const
inlinevirtual

Interpolation operation.

Reimplemented from proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 92 of file multibody.hpp.

◆ nx()

template<typename _Scalar , int _Options = 0>
int proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::nx ( ) const
inlinevirtual

Get manifold representation dimension.

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 97 of file multibody.hpp.

◆ ndx()

template<typename _Scalar , int _Options = 0>
int proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::ndx ( ) const
inlinevirtual

Get manifold tangent space dimension.

Implements proxsuite::nlp::ManifoldAbstractTpl< _Scalar, 0 >.

Definition at line 98 of file multibody.hpp.

Member Data Documentation

◆ Options

template<typename _Scalar , int _Options = 0>
int proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Options = _Options
staticconstexpr

Definition at line 21 of file multibody.hpp.

◆ Scalar

template<typename _Scalar , int _Options = 0>
proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::Scalar

Definition at line 22 of file multibody.hpp.

◆ model_

template<typename _Scalar , int _Options = 0>
ModelType proxsuite::nlp::MultibodyConfiguration< _Scalar, _Options >::model_
protected

Definition at line 103 of file multibody.hpp.


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