aligator  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
integrator-rk2.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace aligator {
7namespace dynamics {
8template <typename Scalar> struct IntegratorRK2DataTpl;
9
18template <typename _Scalar>
20 using Scalar = _Scalar;
25 using ODEType = typename Base::ODEType;
27
29
30 IntegratorRK2Tpl(const xyz::polymorphic<ODEType> &cont_dynamics,
31 const Scalar timestep);
32 void forward(const ConstVectorRef &x, const ConstVectorRef &u,
33 BaseData &data) const;
34 void dForward(const ConstVectorRef &x, const ConstVectorRef &u,
35 BaseData &data) const;
36
37 shared_ptr<DynamicsDataTpl<Scalar>> createData() const {
38 return std::make_shared<Data>(this);
39 }
40
41protected:
43};
44
45template <typename Scalar>
63
64} // namespace dynamics
65} // namespace aligator
66
67#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
68#include "aligator/modelling/dynamics/integrator-rk2.txx"
69#endif
Base definitions for explicit integrators.
Main package namespace.
xyz::polymorphic< Manifold > space_next_
Definition dynamics.hpp:23
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
Definition fwd.hpp:80
MatrixRef Jx_
Jacobian with respect to .
Definition dynamics.hpp:93
MatrixRef Ju_
Jacobian with respect to .
Definition dynamics.hpp:95
Data struct for ContinuousDynamicsAbstractTpl.
Definition fwd.hpp:15
IntegratorRK2DataTpl(const IntegratorRK2Tpl< Scalar > *integrator)
Second-order Runge-Kutta integrator.
IntegratorRK2Tpl(const xyz::polymorphic< ODEType > &cont_dynamics, const Scalar timestep)
shared_ptr< DynamicsDataTpl< Scalar > > createData() const
void dForward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const
void forward(const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const