aligator
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
|
Explicit forward dynamics model \( x_{k+1} = f(x_k, u_k) \). More...
#include <aligator/core/explicit-dynamics.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Base = DynamicsModelTpl<Scalar> |
using | BaseData = DynamicsDataTpl<Scalar> |
using | Data = ExplicitDynamicsDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | ManifoldPtr = xyz::polymorphic<Manifold> |
Public Types inherited from aligator::DynamicsModelTpl< _Scalar > | |
using | Scalar |
using | Data |
using | Manifold |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
bool | isExplicit () const |
Check if this dynamics model is implicit or explicit. | |
ExplicitDynamicsModelTpl (const ManifoldPtr &space, const int nu) | |
Constructor requires providing the next state's manifold. | |
virtual | ~ExplicitDynamicsModelTpl ()=default |
virtual void | forward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
Evaluate the forward discrete dynamics. | |
virtual void | dForward (const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0 |
Compute the Jacobians of the forward dynamics. | |
void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const |
void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const |
virtual shared_ptr< BaseData > | createData () const |
Public Member Functions inherited from aligator::DynamicsModelTpl< _Scalar > | |
ALIGATOR_DYNAMIC_TYPEDEFS (_Scalar) | |
const Manifold & | space () const |
State space for the input. | |
const Manifold & | space_next () const |
State space for the output of this dynamics model. | |
int | nx1 () const |
int | nx2 () const |
DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu) | |
Constructor for dynamics. | |
DynamicsModelTpl (xyz::polymorphic< Manifold > space, const int nu, xyz::polymorphic< Manifold > space_next) | |
Constructor for dynamics. This constructor assumes same dimension for the current and next state. | |
virtual void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const=0 |
virtual void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, Data &) const=0 |
virtual void | computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xn, const ConstVectorRef &lbda, Data &data) const |
virtual | ~DynamicsModelTpl ()=default |
Additional Inherited Members | |
Public Attributes inherited from aligator::DynamicsModelTpl< _Scalar > | |
xyz::polymorphic< Manifold > | space_ |
State space for the input. | |
xyz::polymorphic< Manifold > | space_next_ |
State space for the output of this dynamics model. | |
const int | ndx1 |
State space dimension. | |
const int | nu |
Control dimension. | |
const int | ndx2 |
Next state space dimension. | |
Explicit forward dynamics model \( x_{k+1} = f(x_k, u_k) \).
Forward dynamics \( x_{k+1} = f(x_k, u_k) \). The corresponding residuals for multiple-shooting formulations are
\[ \bar{f}(x_k, u_k, x_{k+1}) = f(x_k, u_k) \ominus x_{k+1}. \]
using aligator::ExplicitDynamicsModelTpl< Scalar >::Scalar = _Scalar |
Definition at line 22 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< Scalar >::Base = DynamicsModelTpl<Scalar> |
Definition at line 24 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< Scalar >::BaseData = DynamicsDataTpl<Scalar> |
Definition at line 25 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< Scalar >::Data = ExplicitDynamicsDataTpl<Scalar> |
Definition at line 26 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 27 of file explicit-dynamics.hpp.
using aligator::ExplicitDynamicsModelTpl< Scalar >::ManifoldPtr = xyz::polymorphic<Manifold> |
Definition at line 28 of file explicit-dynamics.hpp.
aligator::ExplicitDynamicsModelTpl< Scalar >::ExplicitDynamicsModelTpl | ( | const ManifoldPtr & | space, |
const int | nu ) |
Constructor requires providing the next state's manifold.
|
virtualdefault |
aligator::ExplicitDynamicsModelTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
inlinevirtual |
Check if this dynamics model is implicit or explicit.
Reimplemented from aligator::DynamicsModelTpl< _Scalar >.
Definition at line 30 of file explicit-dynamics.hpp.
|
pure virtual |
Evaluate the forward discrete dynamics.
Implemented in aligator::dynamics::IntegratorEulerTpl< _Scalar >, and aligator::python::PyExplicitDynamics< ExplicitBase >.
|
pure virtual |
Compute the Jacobians of the forward dynamics.
Implemented in aligator::dynamics::IntegratorEulerTpl< _Scalar >, and aligator::python::PyExplicitDynamics< ExplicitBase >.
void aligator::ExplicitDynamicsModelTpl< Scalar >::evaluate | ( | const ConstVectorRef & | x, |
const ConstVectorRef & | u, | ||
const ConstVectorRef & | y, | ||
BaseData & | data ) const |
Reimplemented in aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >.
void aligator::ExplicitDynamicsModelTpl< Scalar >::computeJacobians | ( | const ConstVectorRef & | x, |
const ConstVectorRef & | u, | ||
const ConstVectorRef & | y, | ||
BaseData & | data ) const |
Reimplemented in aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >.
|
virtual |
Reimplemented from aligator::DynamicsModelTpl< _Scalar >.
Reimplemented in aligator::DirectSumExplicitDynamicsTpl< _Scalar >, aligator::dynamics::ExplicitIntegratorAbstractTpl< _Scalar >, aligator::dynamics::IntegratorRK2Tpl< _Scalar >, aligator::dynamics::IntegratorSemiImplEulerTpl< _Scalar >, aligator::dynamics::LinearDiscreteDynamicsTpl< _Scalar >, and aligator::python::PyExplicitDynamics< ExplicitBase >.