aligator  0.15.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
aligator::compat::croc::StateWrapperTpl< _Scalar > Struct Template Reference

Wraps a crocoddyl::StateAbstractTpl to a manifold (aligator::ManifoldAbstractTpl). More...

#include <aligator/compat/crocoddyl/state-wrap.hpp>

Inheritance diagram for aligator::compat::croc::StateWrapperTpl< _Scalar >:
[legend]
Collaboration diagram for aligator::compat::croc::StateWrapperTpl< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using TangentVectorType = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>
 
using Base = ManifoldAbstractTpl<Scalar>
 
using StateAbstract = crocoddyl::StateAbstractTpl<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)
 
 StateWrapperTpl (const shared_ptr< StateAbstract > &state)
 
int ndx () const
 Get manifold tangent space dimension.
 
int nx () const
 Get manifold representation dimension.
 
- Public Member Functions inherited from aligator::ManifoldAbstractTpl< _Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 Scalar type.
 
 ManifoldAbstractTpl (int nx, int ndx)
 
virtual ~ManifoldAbstractTpl ()=default
 
int nx () const
 Get manifold representation dimension.
 
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).
 
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.
 
virtual bool isNormalized (const ConstVectorRef &) const
 Check if the input vector x is a viable element of 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.
 

Static Public Member Functions

static crocoddyl::Jcomponent convert_to_firstsecond (int arg)
 

Public Attributes

shared_ptr< StateAbstractcroc_state
 

Protected Member Functions

void neutral_impl (VectorRef out) const
 
void rand_impl (VectorRef out) const
 
void integrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, VectorRef out) const
 Perform the manifold integration operation.
 
void Jintegrate_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
 
void difference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, VectorRef out) const
 Implementation of the manifold retraction operation.
 
void Jdifference_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, MatrixRef Jout, int arg) const
 
void JintegrateTransport_impl (const ConstVectorRef &x, const ConstVectorRef &v, MatrixRef Jout, int arg) const
 
- Protected Member Functions inherited from aligator::ManifoldAbstractTpl< _Scalar >
virtual void interpolate_impl (const ConstVectorRef &x0, const ConstVectorRef &x1, const Scalar &u, VectorRef out) const
 Interpolation operation.
 

Additional Inherited Members

- Protected Attributes inherited from aligator::ManifoldAbstractTpl< _Scalar >
int nx_
 
int ndx_
 

Detailed Description

template<typename _Scalar>
struct aligator::compat::croc::StateWrapperTpl< _Scalar >

Wraps a crocoddyl::StateAbstractTpl to a manifold (aligator::ManifoldAbstractTpl).

Definition at line 14 of file state-wrap.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar>
using aligator::compat::croc::StateWrapperTpl< _Scalar >::Scalar = _Scalar

Definition at line 16 of file state-wrap.hpp.

◆ TangentVectorType

template<typename _Scalar>
using aligator::compat::croc::StateWrapperTpl< _Scalar >::TangentVectorType = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>

Definition at line 18 of file state-wrap.hpp.

◆ Base

template<typename _Scalar>
using aligator::compat::croc::StateWrapperTpl< _Scalar >::Base = ManifoldAbstractTpl<Scalar>

Definition at line 19 of file state-wrap.hpp.

◆ StateAbstract

template<typename _Scalar>
using aligator::compat::croc::StateWrapperTpl< _Scalar >::StateAbstract = crocoddyl::StateAbstractTpl<Scalar>

Definition at line 23 of file state-wrap.hpp.

Constructor & Destructor Documentation

◆ StateWrapperTpl()

template<typename _Scalar>
aligator::compat::croc::StateWrapperTpl< _Scalar >::StateWrapperTpl ( const shared_ptr< StateAbstract > & state)
inlineexplicit

Definition at line 27 of file state-wrap.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename _Scalar>
aligator::compat::croc::StateWrapperTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ convert_to_firstsecond()

template<typename _Scalar>
static crocoddyl::Jcomponent aligator::compat::croc::StateWrapperTpl< _Scalar >::convert_to_firstsecond ( int arg)
inlinestatic

Definition at line 31 of file state-wrap.hpp.

◆ neutral_impl()

template<typename _Scalar>
void aligator::compat::croc::StateWrapperTpl< _Scalar >::neutral_impl ( VectorRef out) const
inlineprotectedvirtual

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 42 of file state-wrap.hpp.

◆ rand_impl()

template<typename _Scalar>
void aligator::compat::croc::StateWrapperTpl< _Scalar >::rand_impl ( VectorRef out) const
inlineprotectedvirtual

Reimplemented from aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 44 of file state-wrap.hpp.

◆ integrate_impl()

template<typename _Scalar>
void aligator::compat::croc::StateWrapperTpl< _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 46 of file state-wrap.hpp.

◆ Jintegrate_impl()

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

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 51 of file state-wrap.hpp.

◆ difference_impl()

template<typename _Scalar>
void aligator::compat::croc::StateWrapperTpl< _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 56 of file state-wrap.hpp.

◆ Jdifference_impl()

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

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 61 of file state-wrap.hpp.

◆ JintegrateTransport_impl()

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

Implements aligator::ManifoldAbstractTpl< _Scalar >.

Definition at line 66 of file state-wrap.hpp.

◆ ndx()

template<typename _Scalar>
int aligator::ManifoldAbstractTpl< Scalar >::ndx ( ) const
inline

Get manifold tangent space dimension.

Definition at line 27 of file manifold-base.hpp.

◆ nx()

template<typename _Scalar>
int aligator::ManifoldAbstractTpl< Scalar >::nx ( ) const
inline

Get manifold representation dimension.

Definition at line 25 of file manifold-base.hpp.

Member Data Documentation

◆ croc_state

template<typename _Scalar>
shared_ptr<StateAbstract> aligator::compat::croc::StateWrapperTpl< _Scalar >::croc_state

Definition at line 25 of file state-wrap.hpp.


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