aligator 0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
ode-abstract.hpp
Go to the documentation of this file.
1#pragma once
5
7
8namespace aligator {
9namespace dynamics {
13template <typename _Scalar>
15 using Scalar = _Scalar;
17
20 using Base::Base;
21 using Base::nu_;
22 using Base::space_;
23
24 virtual ~ODEAbstractTpl() = default;
25
27 virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u,
28 Data &data) const = 0;
29
31 virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u,
32 Data &data) const = 0;
33
35
36 void evaluate(const ConstVectorRef &x, const ConstVectorRef &u,
37 const ConstVectorRef &xdot, Data &data) const override;
38
39 void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u,
40 const ConstVectorRef &xdot, Data &data) const override;
41};
42
43#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
44extern template struct ODEAbstractTpl<context::Scalar>;
45#endif
46
47} // namespace dynamics
48} // namespace aligator
Base definitions for continuous dynamics.
Namespace for modelling system dynamics.
Main package namespace.
ContinuousDynamicsAbstractTpl(ManifoldPtr space, const int nu)
Data struct for ContinuousDynamicsAbstractTpl.
Base class for ODE dynamics .
virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the ODE vector field: this returns the value of .
virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the vector field Jacobians.
ContinuousDynamicsDataTpl< Scalar > Data
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
Differentiate the vector field.
ContinuousDynamicsAbstractTpl< Scalar > Base