aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
integrator-explicit.hpp
Go to the documentation of this file.
1#pragma once
5
8
9namespace aligator {
10namespace dynamics {
11
18template <typename _Scalar>
20 using Scalar = _Scalar;
21 using ODEType = ODEAbstractTpl<Scalar>;
22 using Base = ExplicitDynamicsModelTpl<Scalar>;
23 using Data = ExplicitIntegratorDataTpl<Scalar>;
24
26 using Base::evaluate;
27 using Base::ndx1;
28 using Base::ndx2;
29 using Base::nu;
31 using Manifold = ManifoldAbstractTpl<Scalar>;
32
33 shared_ptr<ODEType> ode_;
34
36 const shared_ptr<ODEType> &cont_dynamics);
37 virtual ~ExplicitIntegratorAbstractTpl() = default;
38
39 shared_ptr<DynamicsDataTpl<Scalar>> createData() const;
40};
41
42template <typename _Scalar>
44 using Scalar = _Scalar;
45 using Base = ExplicitDynamicsDataTpl<Scalar>;
46 using ODEData = ODEDataTpl<Scalar>;
47 shared_ptr<ODEData> continuous_data;
48
50 const ExplicitIntegratorAbstractTpl<Scalar> *integrator);
51 virtual ~ExplicitIntegratorDataTpl() = default;
52
53 using Base::dx_;
54 using Base::xnext_;
55};
56
57} // namespace dynamics
58} // namespace aligator
59
60#include "aligator/modelling/dynamics/integrator-explicit.hxx"
61
62#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
63#include "aligator/modelling/dynamics/integrator-explicit.txx"
64#endif
Main package namespace.
Defines a class representing ODEs.
ManifoldPtr space_next_
State space for the output of this dynamics model.
Definition dynamics.hpp:29
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
VectorXs dx_
Difference vector between current state x and xnext_.
Explicit forward dynamics model .
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
const int ndx2
Next state dimension.
const int nu
Control dimension.
const int ndx1
Current state dimension.
ExplicitIntegratorAbstractTpl(const shared_ptr< ODEType > &cont_dynamics)
shared_ptr< DynamicsDataTpl< Scalar > > createData() const
Instantiate a Data object.
ExplicitIntegratorDataTpl(const ExplicitIntegratorAbstractTpl< Scalar > *integrator)