crocoddyl  1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (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) { return (op == setto || op == addto || op == rmfrom); }
24 
25 // action
26 template <typename Scalar>
27 class ActionModelAbstractTpl;
28 
29 template <typename Scalar>
30 struct ActionDataAbstractTpl;
31 
32 template <typename Scalar>
33 class ActionModelUnicycleTpl;
34 template <typename Scalar>
35 struct ActionDataUnicycleTpl;
36 
37 template <typename Scalar>
38 class ActionModelLQRTpl;
39 template <typename Scalar>
40 struct ActionDataLQRTpl;
41 
42 // differential action
43 template <typename Scalar>
44 class DifferentialActionModelAbstractTpl;
45 template <typename Scalar>
46 struct DifferentialActionDataAbstractTpl;
47 
48 template <typename Scalar>
49 class DifferentialActionModelLQRTpl;
50 template <typename Scalar>
51 struct DifferentialActionDataLQRTpl;
52 
53 // integrated action
54 template <typename Scalar>
56 template <typename Scalar>
58 
59 template <typename Scalar>
61 template <typename Scalar>
63 
64 template <typename Scalar>
66 template <typename Scalar>
68 
69 template <typename Scalar>
71 template <typename Scalar>
73 
74 // residual
75 template <typename Scalar>
77 template <typename Scalar>
79 
80 // activation
81 template <typename Scalar>
82 struct ActivationBoundsTpl;
83 template <typename Scalar>
85 template <typename Scalar>
87 
88 template <typename Scalar>
90 
91 template <typename Scalar>
93 
94 template <typename Scalar>
96 template <typename Scalar>
98 
99 template <typename Scalar>
101 template <typename Scalar>
103 
104 template <typename Scalar>
106 template <typename Scalar>
108 
109 template <typename Scalar>
111 template <typename Scalar>
113 
114 template <typename Scalar>
116 template <typename Scalar>
118 
119 template <typename Scalar>
121 template <typename Scalar>
123 
124 template <typename Scalar>
126 template <typename Scalar>
128 
129 // state
130 template <typename Scalar>
132 
133 template <typename Scalar>
135 
136 // control
137 template <typename Scalar>
139 template <typename Scalar>
141 
142 template <typename Scalar>
144 
145 template <typename Scalar>
147 template <typename Scalar>
149 
150 template <typename Scalar>
152 template <typename Scalar>
154 
155 // actuation
156 template <typename Scalar>
158 template <typename Scalar>
160 
161 template <typename Scalar>
163 template <typename Scalar>
165 
166 // squashing
167 template <typename Scalar>
169 template <typename Scalar>
171 
172 template <typename Scalar>
174 
175 // data collector
176 template <typename Scalar>
178 
179 template <typename Scalar>
181 
182 // residual
183 template <typename Scalar>
185 template <typename Scalar>
187 
188 // cost
189 template <typename Scalar>
191 template <typename Scalar>
192 struct CostDataAbstractTpl;
193 
194 template <typename Scalar>
195 struct CostItemTpl;
196 template <typename Scalar>
197 class CostModelSumTpl;
198 template <typename Scalar>
199 struct CostDataSumTpl;
200 
201 template <typename Scalar>
203 template <typename Scalar>
204 struct CostDataResidualTpl;
205 
206 template <typename Scalar>
207 class CostModelControlTpl;
208 
209 // shooting
210 template <typename Scalar>
212 
213 // Numdiff
214 template <typename Scalar>
216 template <typename Scalar>
218 
219 template <typename Scalar>
221 template <typename Scalar>
223 
224 template <typename Scalar>
226 template <typename Scalar>
228 
229 template <typename Scalar>
231 template <typename Scalar>
233 
234 template <typename Scalar>
236 
237 template <typename Scalar>
239 template <typename Scalar>
241 
242 template <typename Scalar>
244 template <typename Scalar>
246 
247 template <typename Scalar>
249 
250 template <typename Scalar>
251 struct ActionDataCodeGenTpl;
252 
253 /********************Template Instantiation*************/
260 
265 
272 DEPRECATED("Use IntegratedActionModelRK", typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;)
273 DEPRECATED("Use IntegratedActionModelRK", typedef IntegratedActionDataRK4Tpl<double> IntegratedActionDataRK4;)
274 
279 
291 DEPRECATED("Use ActivationModelSmooth1Norm", typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;)
292 DEPRECATED("Use ActivationDataSmooth1Norm", typedef ActivationDataSmooth1NormTpl<double> ActivationDataSmoothAbs;)
301 
304 
312 
317 
321 
324 
332 DEPRECATED("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
Abstract class for cost models.
Definition: cost-base.hpp:49
This class computes the numerical differentiation of a differential action model. ...
Definition: fwd.hpp:220
Standard RK4 integrator.
Definition: fwd.hpp:70
Residual-based cost.
Definition: residual.hpp:36
Define a control residual.
Definition: fwd.hpp:184
Abstract class for differential action model.
Abstract class for the state representation.
Definition: fwd.hpp:131
A polynomial function of time of degree zero, that is a constant.
Definition: poly-zero.hpp:32
This class computes the numerical differentiation of a residual model.
Definition: fwd.hpp:230
This class encapsulates a shooting problem.
Definition: fwd.hpp:211
Symplectic Euler integrator.
Definition: fwd.hpp:60
Abstract class for the control trajectory parametrization.
Abstract class for residual models.
Definition: fwd.hpp:76
Abstract class for an integrated action model.
Definition: fwd.hpp:55
This class computes the numerical differentiation of an actuation model.
Definition: fwd.hpp:243
Summation of individual cost models.
Definition: cost-sum.hpp:65
Standard RK integrator.
Definition: fwd.hpp:65
A polynomial function of time of degree one, that is a linear function.
Definition: poly-one.hpp:37
This class computes the numerical differentiation of an action model.
Definition: fwd.hpp:215
Abstract class for the actuation-mapping model.
A polynomial function of time of degree two, that is a quadratic function.
Definition: poly-two-rk.hpp:44