aligator  0.10.0
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;
24
26 using Base::evaluate;
27 using Base::ndx1;
28 using Base::ndx2;
29 using Base::nu;
31 using Manifold = ManifoldAbstractTpl<Scalar>;
32
33 xyz::polymorphic<ODEType> ode_;
34
35 template <typename U> U *getDynamics() { return dynamic_cast<U *>(&*ode_); }
36 template <typename U> const U *getDynamics() const {
37 return dynamic_cast<const U *>(&*ode_);
38 }
39
41 const xyz::polymorphic<ODEType> &cont_dynamics);
42 virtual ~ExplicitIntegratorAbstractTpl() = default;
43
44 shared_ptr<DynamicsDataTpl<Scalar>> createData() const;
45};
46
47template <typename _Scalar>
61
62} // namespace dynamics
63} // namespace aligator
64
65#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
66#include "aligator/modelling/dynamics/integrator-explicit.txx"
67#endif
Main package namespace.
Defines a class representing ODEs.
xyz::polymorphic< Manifold > space_next_
Definition dynamics.hpp:23
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
Definition fwd.hpp:80
VectorXs dx_
Difference vector between current state x and xnext_.
Explicit forward dynamics model .
Definition fwd.hpp:77
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &y, BaseData &data) const
Data struct for ContinuousDynamicsAbstractTpl.
Definition fwd.hpp:15
ExplicitIntegratorAbstractTpl(const xyz::polymorphic< ODEType > &cont_dynamics)
shared_ptr< DynamicsDataTpl< Scalar > > createData() const
ExplicitIntegratorDataTpl(const ExplicitIntegratorAbstractTpl< Scalar > *integrator)
Base class for ODE dynamics .