aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
fwd.hpp
Go to the documentation of this file.
1
4
#pragma once
5
6
#ifdef EIGEN_DEFAULT_IO_FORMAT
7
#undef EIGEN_DEFAULT_IO_FORMAT
8
#endif
9
#define EIGEN_DEFAULT_IO_FORMAT \
10
Eigen::IOFormat(Eigen::StreamPrecision, 0, ",", "\n", "[", "]")
11
12
#include "
aligator/math.hpp
"
13
#include "
aligator/utils/exceptions.hpp
"
14
#include "aligator/config.hpp"
15
#include "aligator/deprecated.hpp"
16
17
#include <memory>
18
19
#define ALIGATOR_RAISE_IF_NAN(value) \
20
if (::aligator::math::check_value(value)) \
21
ALIGATOR_RUNTIME_ERROR("Encountered NaN.\n")
22
23
#define ALIGATOR_RAISE_IF_NAN_NAME(value, name) \
24
if (::aligator::math::check_value(value)) \
25
ALIGATOR_RUNTIME_ERROR("Encountered NaN for variable {:s}\n", name)
26
27
#define ALIGATOR_INLINE inline __attribute__((always_inline))
28
30
#if defined(__GNUC__) || defined(__clang__)
31
#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH ALIGATOR_PRAGMA(GCC diagnostic push)
32
#define ALIGATOR_COMPILER_DIAGNOSTIC_POP ALIGATOR_PRAGMA(GCC diagnostic pop)
33
#if defined(__clang__)
34
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
35
ALIGATOR_PRAGMA(GCC diagnostic ignored
"-Wdelete-non-abstract-non-virtual-dtor"
)
36
#else
37
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
38
#endif
39
#elif defined(WIN32)
40
#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH _Pragma("warning(push)")
41
#define ALIGATOR_COMPILER_DIAGNOSTIC_POP _Pragma("warning(pop)")
42
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DELETE_NON_ABSTRACT_NON_VIRTUAL_DTOR
43
#else
44
#define ALIGATOR_COMPILER_DIAGNOSTIC_PUSH
45
#define ALIGATOR_COMPILER_DIAGNOSTIC_POP
46
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
47
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_VARIADIC_MACROS
48
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_SELF_ASSIGN_OVERLOADED
49
#define ALIGATOR_COMPILER_DIAGNOSTIC_IGNORED_MAYBE_UNINITIALIZED
50
#endif
// __GNUC__ || __clang__
51
52
namespace
xyz {
53
// fwd-decl for boost override later
54
template
<
class
T,
class
A>
class
polymorphic;
55
}
// namespace xyz
56
60
62
namespace
aligator
{
63
64
template
<
typename
Base,
typename
U,
typename
A = std::allocator<U>>
65
using
is_polymorphic_of
= std::is_same<std::decay_t<U>, xyz::polymorphic<U, A>>;
66
67
template
<
typename
Base,
typename
U,
typename
A = std::allocator<U>>
68
constexpr
bool
is_polymorphic_of_v
=
is_polymorphic_of<Base, U, A>::value
;
69
70
// NOLINTBEGIN(misc-unused-using-decls)
71
72
// fwd ManifoldAbstractTpl
73
template
<
typename
Scalar>
struct
ManifoldAbstractTpl
;
74
75
// fwd VectorSpaceTpl
76
template
<
typename
Scalar,
int
Dim = Eigen::Dynamic>
struct
VectorSpaceTpl
;
77
78
// fwd ConstraintSetTpl
79
template
<
typename
Scalar>
struct
ConstraintSetTpl
;
80
82
enum
VerboseLevel
{
QUIET
= 0,
VERBOSE
= 1,
VERYVERBOSE
= 2 };
83
84
using
VerboseLevel::QUIET
;
85
using
VerboseLevel::VERBOSE
;
86
using
VerboseLevel::VERYVERBOSE
;
87
88
using
std::shared_ptr;
89
90
// NOLINTEND(misc-unused-using-decls)
91
92
// fwd StageFunctionTpl
93
template
<
typename
Scalar>
struct
StageFunctionTpl;
94
95
// fwd UnaryFunctionTpl
96
template
<
typename
Scalar>
struct
UnaryFunctionTpl;
97
98
// fwd StageFunctionDataTpl
99
template
<
typename
Scalar>
struct
StageFunctionDataTpl;
100
101
// fwd CostAbstractTpl
102
template
<
typename
Scalar>
struct
CostAbstractTpl;
103
104
// fwd CostDataAbstractTpl
105
template
<
typename
Scalar>
struct
CostDataAbstractTpl;
106
107
// fwd DynamicsModelTpl
108
template
<
typename
Scalar>
struct
DynamicsModelTpl;
109
110
// fwd DynamicsDataTpl
111
template
<
typename
Scalar>
struct
DynamicsDataTpl;
112
113
// fwd ExplicitDynamicsModelTpl
114
template
<
typename
Scalar>
struct
ExplicitDynamicsModelTpl;
115
116
// fwd declaration of ExplicitDynamicsDataTpl
117
template
<
typename
Scalar>
struct
ExplicitDynamicsDataTpl;
118
119
/* FUNCTION EXPRESSIONS */
120
121
// fwd declaration of FunctionSliceXprTpl
122
template
<
typename
Scalar,
typename
Base>
struct
FunctionSliceXprTpl
;
123
124
/* STAGE MODEL */
125
126
// fwd StageModelTpl
127
template
<
typename
Scalar>
struct
StageModelTpl
;
128
129
// fwd StageDataTpl
130
template
<
typename
Scalar>
struct
StageDataTpl
;
131
132
// fwd CallbackBaseTpl
133
template
<
typename
Scalar>
struct
CallbackBaseTpl
;
134
135
/* SHOOTING PROBLEM */
136
137
// fwd ConstraintStackTpl
138
template
<
typename
Scalar>
struct
ConstraintStackTpl
;
139
140
// fwd TrajOptProblemTpl
141
template
<
typename
Scalar>
struct
TrajOptProblemTpl
;
142
143
// fwd TrajOptDataTpl
144
template
<
typename
Scalar>
struct
TrajOptDataTpl
;
145
146
// fwd SolverProxDDP
147
template
<
typename
Scalar>
struct
SolverProxDDPTpl
;
148
149
// fwd SolverFDDP
150
template
<
typename
Scalar>
struct
SolverFDDPTpl
;
151
152
// fwd WorkspaceBaseTpl
153
template
<
typename
Scalar>
struct
WorkspaceBaseTpl
;
154
155
// fwd ResultsBaseTpl
156
template
<
typename
Scalar>
struct
ResultsBaseTpl
;
157
158
// fwd WorkspaceTpl
159
template
<
typename
Scalar>
struct
WorkspaceTpl
;
160
161
// fwd ResultsTpl
162
template
<
typename
Scalar>
struct
ResultsTpl
;
163
164
// fwd FilterTpl
165
template
<
typename
Scalar>
struct
FilterTpl
;
166
167
}
// namespace aligator
exceptions.hpp
math.hpp
Math utilities.
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::VerboseLevel
VerboseLevel
Verbosity level.
Definition
fwd.hpp:82
aligator::QUIET
@ QUIET
Definition
fwd.hpp:82
aligator::VERYVERBOSE
@ VERYVERBOSE
Definition
fwd.hpp:82
aligator::VERBOSE
@ VERBOSE
Definition
fwd.hpp:82
aligator::is_polymorphic_of_v
constexpr bool is_polymorphic_of_v
Definition
fwd.hpp:68
aligator::is_polymorphic_of
std::is_same< std::decay_t< U >, xyz::polymorphic< U, A > > is_polymorphic_of
Definition
fwd.hpp:65
aligator::CallbackBaseTpl
Base callback class.
Definition
callback-base.hpp:8
aligator::ConstraintSetTpl
Base constraint set type.
Definition
constraint-set.hpp:16
aligator::ConstraintStackTpl
Convenience class to manage a stack of constraints.
Definition
constraint.hpp:14
aligator::FilterTpl
A basic filter line-search strategy.
Definition
filter.hpp:12
aligator::FunctionSliceXprTpl
Represents a function of which the output is a subset of another function, for instance where is gi...
Definition
fwd.hpp:122
aligator::ManifoldAbstractTpl
Base class for manifolds, to use in cost funcs, solvers...
Definition
manifold-base.hpp:11
aligator::ResultsBaseTpl
Definition
results-base.hpp:10
aligator::ResultsTpl
Results holder struct.
Definition
results.hpp:12
aligator::SolverFDDPTpl
The feasible DDP (FDDP) algorithm, from Mastalli et al. (2020).
Definition
solver-fddp.hpp:29
aligator::SolverProxDDPTpl
A proximal, augmented Lagrangian-type solver for trajectory optimization.
Definition
solver-proxddp.hpp:36
aligator::StageDataTpl
Data struct for stage models StageModelTpl.
Definition
stage-data.hpp:10
aligator::StageModelTpl
A stage in the control problem.
Definition
stage-model.hpp:23
aligator::TrajOptDataTpl
Problem data struct.
Definition
traj-opt-data.hpp:10
aligator::TrajOptProblemTpl
Trajectory optimization problem.
Definition
traj-opt-problem.hpp:102
aligator::VectorSpaceTpl
Standard Euclidean vector space.
Definition
vector-space.hpp:13
aligator::WorkspaceBaseTpl
Base workspace struct for the algorithms.
Definition
workspace-base.hpp:13
aligator::WorkspaceTpl
Workspace for solver SolverProxDDP.
Definition
workspace.hpp:29
include
aligator
fwd.hpp
Generated by
1.17.0