Crocoddyl
fwd.hpp
1 // 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 
14 namespace crocoddyl {
15 
16 inline bool& enableMultithreading() {
17  static bool enable = true;
18  return enable;
19 }
20 
21 enum AssignmentOp { setto, addto, rmfrom };
22 
23 inline bool is_a_AssignmentOp(AssignmentOp op) {
24  return (op == setto || op == addto || op == rmfrom);
25 }
26 
27 // action
28 template <typename Scalar>
29 class ActionModelAbstractTpl;
30 
31 template <typename Scalar>
32 struct ActionDataAbstractTpl;
33 
34 template <typename Scalar>
35 class ActionModelUnicycleTpl;
36 template <typename Scalar>
37 struct ActionDataUnicycleTpl;
38 
39 template <typename Scalar>
40 class ActionModelLQRTpl;
41 template <typename Scalar>
42 struct ActionDataLQRTpl;
43 
44 // differential action
45 template <typename Scalar>
46 class DifferentialActionModelAbstractTpl;
47 template <typename Scalar>
48 struct DifferentialActionDataAbstractTpl;
49 
50 template <typename Scalar>
51 class DifferentialActionModelLQRTpl;
52 template <typename Scalar>
53 struct DifferentialActionDataLQRTpl;
54 
55 // integrated action
56 template <typename Scalar>
57 class IntegratedActionModelAbstractTpl;
58 template <typename Scalar>
59 struct IntegratedActionDataAbstractTpl;
60 
61 template <typename Scalar>
62 class IntegratedActionModelEulerTpl;
63 template <typename Scalar>
64 struct IntegratedActionDataEulerTpl;
65 
66 template <typename Scalar>
67 class IntegratedActionModelRKTpl;
68 template <typename Scalar>
69 struct IntegratedActionDataRKTpl;
70 
71 template <typename Scalar>
72 class IntegratedActionModelRK4Tpl;
73 template <typename Scalar>
74 struct IntegratedActionDataRK4Tpl;
75 
76 // residual
77 template <typename Scalar>
78 class ResidualModelAbstractTpl;
79 template <typename Scalar>
80 struct ResidualDataAbstractTpl;
81 
82 // activation
83 template <typename Scalar>
84 struct ActivationBoundsTpl;
85 template <typename Scalar>
86 class ActivationModelQuadraticBarrierTpl;
87 template <typename Scalar>
88 struct ActivationDataQuadraticBarrierTpl;
89 
90 template <typename Scalar>
91 class ActivationModelWeightedQuadraticBarrierTpl;
92 
93 template <typename Scalar>
94 class ActivationModelQuadTpl;
95 
96 template <typename Scalar>
97 class ActivationModelQuadFlatExpTpl;
98 template <typename Scalar>
99 struct ActivationDataQuadFlatExpTpl;
100 
101 template <typename Scalar>
102 class ActivationModelQuadFlatLogTpl;
103 template <typename Scalar>
104 struct ActivationDataQuadFlatLogTpl;
105 
106 template <typename Scalar>
107 class ActivationModelWeightedQuadTpl;
108 template <typename Scalar>
109 struct ActivationDataWeightedQuadTpl;
110 
111 template <typename Scalar>
112 class ActivationModelSmooth1NormTpl;
113 template <typename Scalar>
114 struct ActivationDataSmooth1NormTpl;
115 
116 template <typename Scalar>
117 class ActivationModelSmooth2NormTpl;
118 template <typename Scalar>
120 
121 template <typename Scalar>
123 template <typename Scalar>
125 
126 template <typename Scalar>
128 template <typename Scalar>
130 
131 // state
132 template <typename Scalar>
133 class StateAbstractTpl;
134 
135 template <typename Scalar>
136 class StateVectorTpl;
137 
138 // control
139 template <typename Scalar>
141 template <typename Scalar>
143 
144 template <typename Scalar>
146 
147 template <typename Scalar>
149 template <typename Scalar>
151 
152 template <typename Scalar>
154 template <typename Scalar>
156 
157 // actuation
158 template <typename Scalar>
160 template <typename Scalar>
162 
163 template <typename Scalar>
165 template <typename Scalar>
167 
168 // squashing
169 template <typename Scalar>
171 template <typename Scalar>
173 
174 template <typename Scalar>
176 
177 // joint
178 template <typename Scalar>
179 struct JointDataAbstractTpl;
180 
181 // data collector
182 template <typename Scalar>
184 
185 template <typename Scalar>
187 
188 template <typename Scalar>
189 struct DataCollectorJointTpl;
190 
191 template <typename Scalar>
193 
194 // residual
195 template <typename Scalar>
197 template <typename Scalar>
199 
200 template <typename Scalar>
202 template <typename Scalar>
204 
205 template <typename Scalar>
207 template <typename Scalar>
209 
210 // cost
211 template <typename Scalar>
213 template <typename Scalar>
214 struct CostDataAbstractTpl;
215 
216 template <typename Scalar>
217 struct CostItemTpl;
218 template <typename Scalar>
219 class CostModelSumTpl;
220 template <typename Scalar>
221 struct CostDataSumTpl;
222 
223 template <typename Scalar>
225 template <typename Scalar>
226 struct CostDataResidualTpl;
227 
228 // constraint
229 template <typename Scalar>
231 template <typename Scalar>
233 
234 template <typename Scalar>
235 struct ConstraintItemTpl;
236 template <typename Scalar>
238 template <typename Scalar>
240 
241 template <typename Scalar>
243 template <typename Scalar>
245 
246 // shooting
247 template <typename Scalar>
248 class ShootingProblemTpl;
249 
250 // Numdiff
251 template <typename Scalar>
253 template <typename Scalar>
254 struct ActionDataNumDiffTpl;
255 
256 template <typename Scalar>
258 template <typename Scalar>
260 
261 template <typename Scalar>
263 template <typename Scalar>
265 
266 template <typename Scalar>
268 template <typename Scalar>
270 
271 template <typename Scalar>
273 template <typename Scalar>
275 
276 template <typename Scalar>
277 class StateNumDiffTpl;
278 
279 template <typename Scalar>
281 template <typename Scalar>
283 
284 template <typename Scalar>
286 template <typename Scalar>
288 
289 template <typename Scalar>
291 
292 template <typename Scalar>
293 struct ActionDataCodeGenTpl;
294 
295 /********************Template Instantiation*************/
302 
309 
316 DEPRECATED(
317  "Use IntegratedActionModelRK",
318  typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;)
319 DEPRECATED("Use IntegratedActionModelRK",
321 
331 
346 DEPRECATED(
347  "Use ActivationModelSmooth1Norm",
348  typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;)
349 DEPRECATED(
350  "Use ActivationDataSmooth1Norm",
360 
363 
378 
383 
387 
389 
394 
402 
410 
412 
431 
434 
435 } // namespace crocoddyl
436 
437 #endif // CROCODDYL_CORE_FWD_HPP_
Abstract class for action model.
Definition: action-base.hpp:95
This class computes the numerical differentiation of an action model.
Definition: action.hpp:46
Abstract class for the actuation-mapping model.
This class computes the numerical differentiation of an actuation model.
Definition: actuation.hpp:34
Abstract class for constraint models.
Manage the individual constraint models.
This class computes the numerical differentiation of a constraint model.
Definition: constraint.hpp:30
Residual-based constraint.
Definition: residual.hpp:47
Abstract class for the control trajectory parametrization.
A polynomial function of time of degree one, that is a linear function.
Definition: poly-one.hpp:42
A polynomial function of time of degree two, that is a quadratic function.
Definition: poly-two-rk.hpp:51
A polynomial function of time of degree zero, that is a constant.
Definition: poly-zero.hpp:37
Abstract class for cost models.
Definition: cost-base.hpp:59
Residual-based cost.
Definition: residual.hpp:39
Summation of individual cost models.
Definition: cost-sum.hpp:74
Abstract class for differential action model.
This class computes the numerical differentiation of a differential action model.
Definition: diff-action.hpp:48
Abstract class for an integrated action model.
Symplectic Euler integrator.
Definition: euler.hpp:38
Standard RK4 integrator.
Definition: rk4.hpp:38
Standard RK integrator.
Definition: rk.hpp:40
Abstract class for residual models.
Define a control residual.
Definition: control.hpp:35
Define a joint-acceleration residual.
Define a joint-effort residual.
This class computes the numerical differentiation of a residual model.
Definition: residual.hpp:29
This class encapsulates a shooting problem.
Definition: shooting.hpp:35
Abstract class for the state representation.
Definition: state-base.hpp:46