crocoddyl 1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
 
Loading...
Searching...
No Matches
fwd.hpp
1
2// BSD 3-Clause License
3//
4// Copyright (C) 2019-2022, LAAS-CNRS, University of Edinburgh
5// Copyright note valid unless otherwise stated in individual files.
6// All rights reserved.
8
9#ifndef CROCODDYL_CORE_FWD_HPP_
10#define CROCODDYL_CORE_FWD_HPP_
11
12#include "crocoddyl/core/utils/deprecate.hpp"
13
14namespace crocoddyl {
15
16inline bool& enableMultithreading() {
17 static bool enable = true;
18 return enable;
19}
20
21enum AssignmentOp { setto, addto, rmfrom };
22
23inline bool is_a_AssignmentOp(AssignmentOp op) { return (op == setto || op == addto || op == rmfrom); }
24
25// action
26template <typename Scalar>
27class ActionModelAbstractTpl;
28
29template <typename Scalar>
30struct ActionDataAbstractTpl;
31
32template <typename Scalar>
33class ActionModelUnicycleTpl;
34template <typename Scalar>
35struct ActionDataUnicycleTpl;
36
37template <typename Scalar>
38class ActionModelLQRTpl;
39template <typename Scalar>
40struct ActionDataLQRTpl;
41
42// differential action
43template <typename Scalar>
44class DifferentialActionModelAbstractTpl;
45template <typename Scalar>
46struct DifferentialActionDataAbstractTpl;
47
48template <typename Scalar>
49class DifferentialActionModelLQRTpl;
50template <typename Scalar>
51struct DifferentialActionDataLQRTpl;
52
53// integrated action
54template <typename Scalar>
55class IntegratedActionModelAbstractTpl;
56template <typename Scalar>
57struct IntegratedActionDataAbstractTpl;
58
59template <typename Scalar>
60class IntegratedActionModelEulerTpl;
61template <typename Scalar>
62struct IntegratedActionDataEulerTpl;
63
64template <typename Scalar>
65class IntegratedActionModelRKTpl;
66template <typename Scalar>
67struct IntegratedActionDataRKTpl;
68
69template <typename Scalar>
70class IntegratedActionModelRK4Tpl;
71template <typename Scalar>
72struct IntegratedActionDataRK4Tpl;
73
74// residual
75template <typename Scalar>
76class ResidualModelAbstractTpl;
77template <typename Scalar>
78struct ResidualDataAbstractTpl;
79
80// activation
81template <typename Scalar>
82struct ActivationBoundsTpl;
83template <typename Scalar>
84class ActivationModelQuadraticBarrierTpl;
85template <typename Scalar>
86struct ActivationDataQuadraticBarrierTpl;
87
88template <typename Scalar>
89class ActivationModelWeightedQuadraticBarrierTpl;
90
91template <typename Scalar>
92class ActivationModelQuadTpl;
93
94template <typename Scalar>
95class ActivationModelQuadFlatExpTpl;
96template <typename Scalar>
97struct ActivationDataQuadFlatExpTpl;
98
99template <typename Scalar>
100class ActivationModelQuadFlatLogTpl;
101template <typename Scalar>
102struct ActivationDataQuadFlatLogTpl;
103
104template <typename Scalar>
105class ActivationModelWeightedQuadTpl;
106template <typename Scalar>
107struct ActivationDataWeightedQuadTpl;
108
109template <typename Scalar>
110class ActivationModelSmooth1NormTpl;
111template <typename Scalar>
112struct ActivationDataSmooth1NormTpl;
113
114template <typename Scalar>
115class ActivationModelSmooth2NormTpl;
116template <typename Scalar>
118
119template <typename Scalar>
121template <typename Scalar>
123
124template <typename Scalar>
126template <typename Scalar>
128
129// state
130template <typename Scalar>
131class StateAbstractTpl;
132
133template <typename Scalar>
134class StateVectorTpl;
135
136// control
137template <typename Scalar>
139template <typename Scalar>
141
142template <typename Scalar>
144
145template <typename Scalar>
147template <typename Scalar>
149
150template <typename Scalar>
152template <typename Scalar>
154
155// actuation
156template <typename Scalar>
158template <typename Scalar>
160
161template <typename Scalar>
163template <typename Scalar>
165
166// squashing
167template <typename Scalar>
169template <typename Scalar>
171
172template <typename Scalar>
174
175// data collector
176template <typename Scalar>
178
179template <typename Scalar>
181
182// residual
183template <typename Scalar>
185template <typename Scalar>
187
188// cost
189template <typename Scalar>
191template <typename Scalar>
193
194template <typename Scalar>
195struct CostItemTpl;
196template <typename Scalar>
197class CostModelSumTpl;
198template <typename Scalar>
199struct CostDataSumTpl;
200
201template <typename Scalar>
203template <typename Scalar>
205
206template <typename Scalar>
208
209// shooting
210template <typename Scalar>
212
213// Numdiff
214template <typename Scalar>
216template <typename Scalar>
218
219template <typename Scalar>
221template <typename Scalar>
223
224template <typename Scalar>
226template <typename Scalar>
228
229template <typename Scalar>
231template <typename Scalar>
233
234template <typename Scalar>
235class StateNumDiffTpl;
236
237template <typename Scalar>
239template <typename Scalar>
241
242template <typename Scalar>
244template <typename Scalar>
246
247template <typename Scalar>
249
250template <typename Scalar>
252
253/********************Template Instantiation*************/
260
265
272DEPRECATED("Use IntegratedActionModelRK", typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;)
273DEPRECATED("Use IntegratedActionModelRK", typedef IntegratedActionDataRK4Tpl<double> IntegratedActionDataRK4;)
274
279
291DEPRECATED("Use ActivationModelSmooth1Norm", typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;)
292DEPRECATED("Use ActivationDataSmooth1Norm", typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmoothAbs;)
301
304
312
317
321
324
332DEPRECATED("Use ResidualModelControl with CostModelResidual", typedef CostModelControlTpl<double> CostModelControl;)
333
335
349
352
353} // namespace crocoddyl
354
355#endif // CROCODDYL_CORE_FWD_HPP_
Abstract class for action model.
Definition: action-base.hpp:59
This class computes the numerical differentiation of an action model.
Definition: action.hpp:42
Abstract class for the actuation-mapping model.
This class computes the numerical differentiation of an actuation model.
Definition: actuation.hpp:31
Abstract class for the control trajectory parametrization.
A polynomial function of time of degree one, that is a linear function.
Definition: poly-one.hpp:37
A polynomial function of time of degree two, that is a quadratic function.
Definition: poly-two-rk.hpp:44
A polynomial function of time of degree zero, that is a constant.
Definition: poly-zero.hpp:32
Abstract class for cost models.
Definition: cost-base.hpp:49
Residual-based cost.
Definition: residual.hpp:36
Summation of individual cost models.
Definition: cost-sum.hpp:65
Abstract class for differential action model.
This class computes the numerical differentiation of a differential action model.
Definition: diff-action.hpp:42
Abstract class for an integrated action model.
Symplectic Euler integrator.
Definition: euler.hpp:32
Standard RK4 integrator.
Definition: rk4.hpp:32
Standard RK integrator.
Definition: rk.hpp:35
Abstract class for residual models.
Define a control residual.
Definition: control.hpp:32
This class computes the numerical differentiation of a residual model.
Definition: residual.hpp:28
This class encapsulates a shooting problem.
Definition: shooting.hpp:31
Abstract class for the state representation.
Definition: state-base.hpp:42