aligator
0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
|
#include <aligator/modelling/explicit-dynamics-direct-sum.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Base = ExplicitDynamicsModelTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | CartesianProduct = proxsuite::nlp::CartesianProductTpl<Scalar> |
using | BaseData = ExplicitDynamicsDataTpl<Scalar> |
Public Types inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
using | Scalar = _Scalar |
using | Base = DynamicsModelTpl<Scalar> |
using | BaseData = DynamicsDataTpl<Scalar> |
using | Data = ExplicitDynamicsDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | ManifoldPtr = shared_ptr<Manifold> |
Public Types inherited from aligator::DynamicsModelTpl< _Scalar > | |
using | Scalar = _Scalar |
using | Base = StageFunctionTpl<Scalar> |
using | Data = DynamicsDataTpl<Scalar> |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | ManifoldPtr = shared_ptr<Manifold> |
Public Types inherited from aligator::StageFunctionTpl< _Scalar > | |
using | Scalar = _Scalar |
using | Data = StageFunctionDataTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
DirectSumExplicitDynamicsTpl (shared_ptr< Base > f, shared_ptr< Base > g) | |
void | forward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override |
Evaluate the forward discrete dynamics. | |
void | dForward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const override |
Compute the Jacobians of the forward dynamics. | |
shared_ptr< DynamicsDataTpl< Scalar > > | createData () const override |
Instantiate a Data object. | |
Public Member Functions inherited from aligator::ExplicitDynamicsModelTpl< _Scalar > | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
bool | is_explicit () const |
Check if this dynamics model is implicit or explicit. | |
ExplicitDynamicsModelTpl (ManifoldPtr next_state, const int nu) | |
Constructor requires providing the next state's manifold. | |
virtual | ~ExplicitDynamicsModelTpl ()=default |
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 |
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 (ManifoldPtr space, const int nu) | |
Constructor for dynamics. | |
DynamicsModelTpl (ManifoldPtr space, const int nu, ManifoldPtr space2) | |
Constructor for dynamics. This constructor assumes same dimension for the current and next state. | |
Public Member Functions inherited from aligator::StageFunctionTpl< _Scalar > | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
StageFunctionTpl (const int ndx1, const int nu, const int ndx2, const int nr) | |
StageFunctionTpl (const int ndx, const int nu, const int nr) | |
Constructor where ndx2 = ndx1. | |
virtual void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const =0 |
Evaluate the function. | |
virtual void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, Data &data) const =0 |
Compute Jacobians of this function. | |
virtual void | computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, const ConstVectorRef &lbda, Data &data) const |
Compute the vector-hessian products of this function. | |
virtual | ~StageFunctionTpl ()=default |
Public Attributes | |
shared_ptr< Base > | f_ |
shared_ptr< Base > | g_ |
Public Attributes inherited from aligator::DynamicsModelTpl< _Scalar > | |
ManifoldPtr | space_ |
State space for the input. | |
ManifoldPtr | space_next_ |
State space for the output of this dynamics model. | |
Public Attributes inherited from aligator::StageFunctionTpl< _Scalar > | |
const int | ndx1 |
Current state dimension. | |
const int | nu |
Control dimension. | |
const int | ndx2 |
Next state dimension. | |
const int | nr |
Function codimension. | |
Direct sum of two explicit-dynamics models. This operates on the product space of the two supplied functions. The expression is
\[ (x_{k+1}, z_{k+1}) = (f(x_k, u_k), g(z_k, w_k)) \]
where \(f,g\) are the two components.
Definition at line 16 of file explicit-dynamics-direct-sum.hpp.
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::Scalar = _Scalar |
Definition at line 17 of file explicit-dynamics-direct-sum.hpp.
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::Base = ExplicitDynamicsModelTpl<Scalar> |
Definition at line 19 of file explicit-dynamics-direct-sum.hpp.
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 20 of file explicit-dynamics-direct-sum.hpp.
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::CartesianProduct = proxsuite::nlp::CartesianProductTpl<Scalar> |
Definition at line 21 of file explicit-dynamics-direct-sum.hpp.
using aligator::DirectSumExplicitDynamicsTpl< _Scalar >::BaseData = ExplicitDynamicsDataTpl<Scalar> |
Definition at line 22 of file explicit-dynamics-direct-sum.hpp.
|
inline |
Definition at line 26 of file explicit-dynamics-direct-sum.hpp.
aligator::DirectSumExplicitDynamicsTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
overridevirtual |
Evaluate the forward discrete dynamics.
Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.
|
overridevirtual |
Compute the Jacobians of the forward dynamics.
Implements aligator::ExplicitDynamicsModelTpl< _Scalar >.
|
inlineoverridevirtual |
Instantiate a Data object.
Reimplemented from aligator::ExplicitDynamicsModelTpl< _Scalar >.
Definition at line 37 of file explicit-dynamics-direct-sum.hpp.
shared_ptr<Base> aligator::DirectSumExplicitDynamicsTpl< _Scalar >::f_ |
Definition at line 41 of file explicit-dynamics-direct-sum.hpp.
shared_ptr<Base> aligator::DirectSumExplicitDynamicsTpl< _Scalar >::g_ |
Definition at line 41 of file explicit-dynamics-direct-sum.hpp.