aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
dynamics.hpp
Go to the documentation of this file.
1
3#pragma once
4
6
7namespace aligator {
17template <typename _Scalar>
19 using Scalar = _Scalar;
21 using Base = StageFunctionTpl<Scalar>;
22 using Data = DynamicsDataTpl<Scalar>;
23 using Manifold = ManifoldAbstractTpl<Scalar>;
24 using ManifoldPtr = shared_ptr<Manifold>;
25
30
32 const Manifold &space() const { return *space_; }
34 const Manifold &space_next() const { return *space_next_; }
36 virtual bool is_explicit() const { return false; }
37
38 inline int nx1() const { return space_->nx(); }
39 inline int nx2() const { return space_next_->nx(); }
40
49
58};
59
60} // namespace aligator
61
62#include "aligator/core/dynamics.hxx"
63
64#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
65#include "aligator/core/dynamics.txx"
66#endif
Base definitions for ternary functions.
Main package namespace.
Dynamics model: describes system dynamics through an implicit relation .
Definition dynamics.hpp:18
shared_ptr< Manifold > ManifoldPtr
Definition dynamics.hpp:24
const Manifold & space() const
State space for the input.
Definition dynamics.hpp:32
ManifoldAbstractTpl< Scalar > Manifold
Definition dynamics.hpp:23
ManifoldPtr space_next_
State space for the output of this dynamics model.
Definition dynamics.hpp:29
ManifoldPtr space_
State space for the input.
Definition dynamics.hpp:27
DynamicsModelTpl(ManifoldPtr space, const int nu)
Constructor for dynamics.
const Manifold & space_next() const
State space for the output of this dynamics model.
Definition dynamics.hpp:34
DynamicsModelTpl(ManifoldPtr space, const int nu, ManifoldPtr space2)
Constructor for dynamics. This constructor assumes same dimension for the current and next state.
virtual bool is_explicit() const
Check if this dynamics model is implicit or explicit.
Definition dynamics.hpp:36
Class representing ternary functions .
const int nu
Control dimension.