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) {
24 return (op == setto || op == addto || op == rmfrom);
25}
26
27// action
28template <typename Scalar>
29class ActionModelAbstractTpl;
30
31template <typename Scalar>
32struct ActionDataAbstractTpl;
33
34template <typename Scalar>
35class ActionModelUnicycleTpl;
36template <typename Scalar>
37struct ActionDataUnicycleTpl;
38
39template <typename Scalar>
40class ActionModelLQRTpl;
41template <typename Scalar>
42struct ActionDataLQRTpl;
43
44// differential action
45template <typename Scalar>
46class DifferentialActionModelAbstractTpl;
47template <typename Scalar>
48struct DifferentialActionDataAbstractTpl;
49
50template <typename Scalar>
51class DifferentialActionModelLQRTpl;
52template <typename Scalar>
53struct DifferentialActionDataLQRTpl;
54
55// integrated action
56template <typename Scalar>
57class IntegratedActionModelAbstractTpl;
58template <typename Scalar>
59struct IntegratedActionDataAbstractTpl;
60
61template <typename Scalar>
62class IntegratedActionModelEulerTpl;
63template <typename Scalar>
64struct IntegratedActionDataEulerTpl;
65
66template <typename Scalar>
67class IntegratedActionModelRKTpl;
68template <typename Scalar>
69struct IntegratedActionDataRKTpl;
70
71template <typename Scalar>
72class IntegratedActionModelRK4Tpl;
73template <typename Scalar>
74struct IntegratedActionDataRK4Tpl;
75
76// residual
77template <typename Scalar>
78class ResidualModelAbstractTpl;
79template <typename Scalar>
80struct ResidualDataAbstractTpl;
81
82// activation
83template <typename Scalar>
84struct ActivationBoundsTpl;
85template <typename Scalar>
86class ActivationModelQuadraticBarrierTpl;
87template <typename Scalar>
88struct ActivationDataQuadraticBarrierTpl;
89
90template <typename Scalar>
91class ActivationModelWeightedQuadraticBarrierTpl;
92
93template <typename Scalar>
94class ActivationModelQuadTpl;
95
96template <typename Scalar>
97class ActivationModelQuadFlatExpTpl;
98template <typename Scalar>
99struct ActivationDataQuadFlatExpTpl;
100
101template <typename Scalar>
102class ActivationModelQuadFlatLogTpl;
103template <typename Scalar>
104struct ActivationDataQuadFlatLogTpl;
105
106template <typename Scalar>
107class ActivationModelWeightedQuadTpl;
108template <typename Scalar>
109struct ActivationDataWeightedQuadTpl;
110
111template <typename Scalar>
112class ActivationModelSmooth1NormTpl;
113template <typename Scalar>
114struct ActivationDataSmooth1NormTpl;
115
116template <typename Scalar>
117class ActivationModelSmooth2NormTpl;
118template <typename Scalar>
120
121template <typename Scalar>
123template <typename Scalar>
125
126template <typename Scalar>
128template <typename Scalar>
130
131// state
132template <typename Scalar>
133class StateAbstractTpl;
134
135template <typename Scalar>
136class StateVectorTpl;
137
138// control
139template <typename Scalar>
141template <typename Scalar>
143
144template <typename Scalar>
146
147template <typename Scalar>
149template <typename Scalar>
151
152template <typename Scalar>
154template <typename Scalar>
156
157// actuation
158template <typename Scalar>
160template <typename Scalar>
162
163template <typename Scalar>
165template <typename Scalar>
167
168// squashing
169template <typename Scalar>
171template <typename Scalar>
173
174template <typename Scalar>
176
177// joint
178template <typename Scalar>
180
181// data collector
182template <typename Scalar>
184
185template <typename Scalar>
187
188template <typename Scalar>
190
191template <typename Scalar>
193
194// residual
195template <typename Scalar>
197template <typename Scalar>
199
200template <typename Scalar>
202template <typename Scalar>
204
205template <typename Scalar>
207template <typename Scalar>
209
210// cost
211template <typename Scalar>
213template <typename Scalar>
215
216template <typename Scalar>
217struct CostItemTpl;
218template <typename Scalar>
219class CostModelSumTpl;
220template <typename Scalar>
221struct CostDataSumTpl;
222
223template <typename Scalar>
225template <typename Scalar>
227
228// constraint
229template <typename Scalar>
231template <typename Scalar>
233
234template <typename Scalar>
235struct ConstraintItemTpl;
236template <typename Scalar>
238template <typename Scalar>
240
241template <typename Scalar>
243template <typename Scalar>
245
246// shooting
247template <typename Scalar>
249
250// Numdiff
251template <typename Scalar>
253template <typename Scalar>
255
256template <typename Scalar>
258template <typename Scalar>
260
261template <typename Scalar>
263template <typename Scalar>
265
266template <typename Scalar>
268template <typename Scalar>
270
271template <typename Scalar>
273template <typename Scalar>
275
276template <typename Scalar>
277class StateNumDiffTpl;
278
279template <typename Scalar>
281template <typename Scalar>
283
284template <typename Scalar>
286template <typename Scalar>
288
289template <typename Scalar>
291
292template <typename Scalar>
294
295/********************Template Instantiation*************/
302
309
316DEPRECATED(
317 "Use IntegratedActionModelRK",
318 typedef IntegratedActionModelRK4Tpl<double> IntegratedActionModelRK4;)
319DEPRECATED("Use IntegratedActionModelRK",
321
331
346DEPRECATED(
347 "Use ActivationModelSmooth1Norm",
348 typedef ActivationModelSmooth1NormTpl<double> ActivationModelSmoothAbs;)
349DEPRECATED(
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.
Linear-quadratic regulator (LQR) action model.
Definition lqr.hpp:47
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.
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:43
A polynomial function of time of degree two, that is a quadratic function.
A polynomial function of time of degree zero, that is a constant.
Definition poly-zero.hpp:38
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:73
Abstract class for differential action model.
Linear-quadratic regulator (LQR) differential action model.
Definition diff-lqr.hpp:48
This class computes the numerical differentiation of a differential action model.
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.