10#ifndef CROCODDYL_CORE_FWD_HPP_ 11#define CROCODDYL_CORE_FWD_HPP_ 13#include "crocoddyl/core/pch.hpp" 17inline bool& enableMultithreading() {
18 static bool enable =
true;
22enum AssignmentOp { setto, addto, rmfrom };
24inline bool is_a_AssignmentOp(AssignmentOp op) {
25 return (op == setto || op == addto || op == rmfrom);
29template <
typename Scalar>
32template <
typename Scalar>
35template <
typename Scalar>
38template <
typename Scalar>
41#ifdef CROCODDYL_WITH_ODYN 42template <
typename Scalar>
46template <
typename Scalar>
49template <
typename Scalar>
52template <
typename Scalar>
55template <
typename Scalar>
58#ifdef CROCODDYL_WITH_IPOPT 61template <
typename Scalar>
64template <
typename Scalar>
68template <
typename Scalar>
71template <
typename Scalar>
75template <
typename Scalar>
78template <
typename Scalar>
81template <
typename Scalar>
83template <
typename Scalar>
86template <
typename Scalar>
88template <
typename Scalar>
92template <
typename Scalar>
94template <
typename Scalar>
97template <
typename Scalar>
99template <
typename Scalar>
103template <
typename Scalar>
105template <
typename Scalar>
108template <
typename Scalar>
110template <
typename Scalar>
113template <
typename Scalar>
115template <
typename Scalar>
119template <
typename Scalar>
121template <
typename Scalar>
125template <
typename Scalar>
127template <
typename Scalar>
130template <
typename Scalar>
132template <
typename Scalar>
134template <
typename Scalar>
136template <
typename Scalar>
138template <
typename Scalar>
140template <
typename Scalar>
142template <
typename Scalar>
146template <
typename Scalar>
148template <
typename Scalar>
150template <
typename Scalar>
153template <
typename Scalar>
156template <
typename Scalar>
159template <
typename Scalar>
161template <
typename Scalar>
164template <
typename Scalar>
166template <
typename Scalar>
169template <
typename Scalar>
171template <
typename Scalar>
174template <
typename Scalar>
176template <
typename Scalar>
179template <
typename Scalar>
181template <
typename Scalar>
184template <
typename Scalar>
186template <
typename Scalar>
189template <
typename Scalar>
191template <
typename Scalar>
194template <
typename Scalar>
196template <
typename Scalar>
200template <
typename Scalar>
203template <
typename Scalar>
207template <
typename Scalar>
209template <
typename Scalar>
212template <
typename Scalar>
215template <
typename Scalar>
217template <
typename Scalar>
220template <
typename Scalar>
222template <
typename Scalar>
226template <
typename Scalar>
228template <
typename Scalar>
231template <
typename Scalar>
233template <
typename Scalar>
237template <
typename Scalar>
239template <
typename Scalar>
242template <
typename Scalar>
246template <
typename Scalar>
250template <
typename Scalar>
253template <
typename Scalar>
256template <
typename Scalar>
259template <
typename Scalar>
263template <
typename Scalar>
265template <
typename Scalar>
268template <
typename Scalar>
270template <
typename Scalar>
273template <
typename Scalar>
275template <
typename Scalar>
278template <
typename Scalar>
280template <
typename Scalar>
283template <
typename Scalar>
285template <
typename Scalar>
289template <
typename Scalar>
291template <
typename Scalar>
294template <
typename Scalar>
296template <
typename Scalar>
298template <
typename Scalar>
301template <
typename Scalar>
303template <
typename Scalar>
307template <
typename Scalar>
309template <
typename Scalar>
312template <
typename Scalar>
314template <
typename Scalar>
316template <
typename Scalar>
319template <
typename Scalar>
321template <
typename Scalar>
325template <
typename Scalar>
327template <
typename Scalar>
330template <
typename Scalar>
332template <
typename Scalar>
335template <
typename Scalar>
337template <
typename Scalar>
340template <
typename Scalar>
342template <
typename Scalar>
345template <
typename Scalar>
347template <
typename Scalar>
350template <
typename Scalar>
352template <
typename Scalar>
355template <
typename Scalar>
358template <
typename Scalar>
360template <
typename Scalar>
363template <
typename Scalar>
365template <
typename Scalar>
368template <
typename Scalar>
371template <
typename Scalar>
379#ifdef CROCODDYL_WITH_ODYN 389#ifdef CROCODDYL_WITH_IPOPT 402 DifferentialActionModelAbstract;
404 DifferentialActionDataAbstract;
422 ResidualModelJointAcceleration;
438 GuidanceModelComponentwiseSaturation;
440 GuidanceDataComponentwiseSaturation;
443 ActivationDataQuadraticBarrier;
445 ActivationModelQuadraticBarrier;
448 ActivationModelWeightedQuadraticBarrier;
457 "Use ActivationModelSmooth1Norm",
460 "Use ActivationDataSmooth1Norm",
465 ActivationModelWeightedSmooth1Norm;
467 ActivationDataWeightedSmooth1Norm;
479 ControlParametrizationModelAbstract;
481 ControlParametrizationDataAbstract;
483 ControlParametrizationModelPolyZero;
485 ControlParametrizationModelPolyOne;
487 ControlParametrizationDataPolyOne;
489 ControlParametrizationModelPolyTwoRK;
491 ControlParametrizationDataPolyTwoRK;
528 ControlParametrizationModelNumDiff;
530 ControlParametrizationDataNumDiff;
532 DifferentialActionModelNumDiff;
Abstract class for action model.
Linear-quadratic regulator (LQR) action model.
This class computes the numerical differentiation of an action model.
2-norm barrier activation
Quadratic-flat-log activation.
Weighted smooth-1norm activation.
Abstract class for the actuation-mapping model.
This class computes the numerical differentiation of an actuation model.
This class implements a Box QP solver based on a Projected Newton method.
Abstract class for solver callbacks.
Abstract class for constraint models.
Manage the individual constraint models.
This class computes the numerical differentiation of a constraint model.
Residual-based constraint.
Abstract class for the control trajectory parametrization.
A polynomial function of time of degree one, that is a linear function.
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.
Abstract class for cost models.
Summation of individual cost models.
Abstract class for differential action model.
Linear-quadratic regulator (LQR) differential action model.
This class computes the numerical differentiation of a differential action model.
Differentiable mapping from a task error to a desired task rate.
Independently bounded guidance model for heterogeneous task channels.
Linear converging guidance model.
Direction-preserving, smoothly bounded guidance model.
Abstract class for an integrated action model.
Symplectic Euler integrator.
Class for interfacing a crocoddyl::ShootingProblem with IPOPT.
Abstract class for residual models.
Define a control residual.
Define a joint-acceleration residual.
Define a joint-effort residual.
This class computes the numerical differentiation of a residual model.
First-order task residual for a generic task and guidance model.
Second-order task residual for a generic task and guidance model.
This class encapsulates a shooting problem.
Abstract class for optimal control solvers.
Feasibility-driven Differential Dynamic Programming (FDDP) solver.
Odyn-based Sequential Quadratic Programming (SQP) solver.
Abstract class for the state representation.
Abstract task model for convergence residuals.
Preallocated values and derivatives produced by a guidance model.
Cached values for the componentwise saturation guidance model.
Cached values for the smooth saturation guidance model.
Data for the first-order task residual.
Data for the second-order task residual.
Preallocated values and derivatives produced by a task model.