10 #ifndef CROCODDYL_MULTIBODY_FWD_HPP_
11 #define CROCODDYL_MULTIBODY_FWD_HPP_
13 #include "crocoddyl/core/costs/residual.hpp"
14 #include "crocoddyl/core/utils/deprecate.hpp"
19 template <
typename Scalar>
20 class ActuationModelFloatingBaseTpl;
22 template <
typename Scalar>
23 class ActuationModelFullTpl;
25 template <
typename Scalar>
28 template <
typename Scalar>
29 class ActuationModelFloatingBaseThrustersTpl;
31 template <
typename Scalar>
32 class ActuationModelMultiCopterBaseTpl;
35 template <
typename Scala>
36 struct ForceDataAbstractTpl;
39 template <
typename Scalar>
40 class ContactModelAbstractTpl;
41 template <
typename Scalar>
42 struct ContactDataAbstractTpl;
45 template <
typename Scalar>
46 class ActionModelImpulseFwdDynamicsTpl;
47 template <
typename Scalar>
48 struct ActionDataImpulseFwdDynamicsTpl;
51 template <
typename Scalar>
52 class DifferentialActionModelFreeFwdDynamicsTpl;
53 template <
typename Scalar>
54 struct DifferentialActionDataFreeFwdDynamicsTpl;
56 template <
typename Scalar>
57 class DifferentialActionModelFreeInvDynamicsTpl;
58 template <
typename Scalar>
59 struct DifferentialActionDataFreeInvDynamicsTpl;
61 template <
typename Scalar>
62 class DifferentialActionModelContactFwdDynamicsTpl;
63 template <
typename Scalar>
64 struct DifferentialActionDataContactFwdDynamicsTpl;
66 template <
typename Scalar>
67 class DifferentialActionModelContactInvDynamicsTpl;
68 template <
typename Scalar>
69 struct DifferentialActionDataContactInvDynamicsTpl;
72 template <
typename Scalar>
73 class CostModelNumDiffTpl;
74 template <
typename Scalar>
75 struct CostDataNumDiffTpl;
77 template <
typename Scalar>
78 class ContactModelNumDiffTpl;
79 template <
typename Scalar>
80 struct ContactDataNumDiffTpl;
83 template <
typename Scalar>
84 class ResidualModelCentroidalMomentumTpl;
85 template <
typename Scalar>
86 struct ResidualDataCentroidalMomentumTpl;
88 template <
typename Scalar>
89 class ResidualModelCoMPositionTpl;
90 template <
typename Scalar>
91 struct ResidualDataCoMPositionTpl;
93 template <
typename Scalar>
94 class ResidualModelContactForceTpl;
95 template <
typename Scalar>
96 struct ResidualDataContactForceTpl;
98 template <
typename Scalar>
99 class ResidualModelContactFrictionConeTpl;
100 template <
typename Scalar>
101 struct ResidualDataContactFrictionConeTpl;
103 template <
typename Scalar>
104 class ResidualModelContactCoPPositionTpl;
105 template <
typename Scalar>
106 struct ResidualDataContactCoPPositionTpl;
108 template <
typename Scalar>
109 class ResidualModelContactWrenchConeTpl;
110 template <
typename Scalar>
111 struct ResidualDataContactWrenchConeTpl;
113 template <
typename Scalar>
114 class ResidualModelContactControlGravTpl;
115 template <
typename Scalar>
116 struct ResidualDataContactControlGravTpl;
118 template <
typename Scalar>
119 class ResidualModelControlGravTpl;
120 template <
typename Scalar>
121 struct ResidualDataControlGravTpl;
123 template <
typename Scalar>
124 class ResidualModelFramePlacementTpl;
125 template <
typename Scalar>
126 struct ResidualDataFramePlacementTpl;
128 template <
typename Scalar>
129 class ResidualModelFrameRotationTpl;
130 template <
typename Scalar>
131 struct ResidualDataFrameRotationTpl;
133 template <
typename Scalar>
134 class ResidualModelFrameTranslationTpl;
135 template <
typename Scalar>
136 struct ResidualDataFrameTranslationTpl;
138 template <
typename Scalar>
139 class ResidualModelFrameVelocityTpl;
140 template <
typename Scalar>
141 struct ResidualDataFrameVelocityTpl;
143 template <
typename Scalar>
144 class ResidualModelImpulseCoMTpl;
145 template <
typename Scalar>
146 struct ResidualDataImpulseCoMTpl;
148 template <
typename Scalar>
149 class ResidualModelStateTpl;
150 template <
typename Scalar>
153 #ifdef PINOCCHIO_WITH_HPP_FCL
154 template <
typename Scalar>
155 class ResidualModelPairCollisionTpl;
156 template <
typename Scalar>
157 struct ResidualDataPairCollisionTpl;
161 template <
typename Scalar>
163 template <
typename Scalar>
167 template <
typename Scalar>
169 template <
typename Scalar>
171 template <
typename Scalar>
174 template <
typename Scalar>
176 template <
typename Scalar>
179 template <
typename Scalar>
181 template <
typename Scalar>
184 template <
typename Scalar>
186 template <
typename Scalar>
189 template <
typename Scalar>
191 template <
typename Scalar>
195 template <
typename Scalar>
197 template <
typename Scalar>
201 template <
typename Scalar>
205 template <
typename Scalar>
209 template <
typename Scalar>
212 template <
typename Scalar>
215 template <
typename Scalar>
218 template <
typename Scalar>
221 template <
typename Scalar>
224 template <
typename Scalar>
227 template <
typename Scalar>
230 template <
typename Scalar>
233 template <
typename Scalar>
237 template <
typename Scalar>
239 template <
typename Scalar>
242 template <
typename Scalar>
244 template <
typename Scalar>
247 template <
typename Scalar>
249 template <
typename Scalar>
251 template <
typename Scalar>
261 DEPRECATED(
"Use ActuationModelFloatingBaseThrustersTpl",
263 ActuationModelMultiCopterBase;)
337 #ifdef PINOCCHIO_WITH_HPP_FCL
338 typedef ResidualModelPairCollisionTpl<double> ResidualModelPairCollision;
339 typedef ResidualDataPairCollisionTpl<double> ResidualDataPairCollision;
352 enum ImpulseType { ImpulseUndefined, Impulse3D, Impulse6D };
354 typedef ContactItemTpl<double> ContactItem;
355 typedef ContactModelMultipleTpl<double> ContactModelMultiple;
356 typedef ContactDataMultipleTpl<double> ContactDataMultiple;
357 typedef ContactModel1DTpl<double> ContactModel1D;
358 typedef ContactData1DTpl<double> ContactData1D;
359 typedef ContactModel2DTpl<double> ContactModel2D;
360 typedef ContactData2DTpl<double> ContactData2D;
361 typedef ContactModel3DTpl<double> ContactModel3D;
362 typedef ContactData3DTpl<double> ContactData3D;
363 typedef ContactModel6DTpl<double> ContactModel6D;
364 typedef ContactData6DTpl<double> ContactData6D;
366 typedef StateMultibodyTpl<double> StateMultibody;
368 typedef DataCollectorMultibodyTpl<double> DataCollectorMultibody;
369 typedef DataCollectorActMultibodyTpl<double> DataCollectorActMultibody;
370 typedef DataCollectorJointActMultibodyTpl<double>
371 DataCollectorJointActMultibody;
372 typedef DataCollectorContactTpl<double> DataCollectorContact;
373 typedef DataCollectorMultibodyInContactTpl<double>
374 DataCollectorMultibodyInContact;
375 typedef DataCollectorActMultibodyInContactTpl<double>
376 DataCollectorActMultibodyInContact;
377 typedef DataCollectorJointActMultibodyInContactTpl<double>
378 DataCollectorJointActMultibodyInContact;
379 typedef DataCollectorImpulseTpl<double> DataCollectorImpulse;
380 typedef DataCollectorMultibodyInImpulseTpl<double>
381 DataCollectorMultibodyInImpulse;
383 typedef ImpulseModel6DTpl<double> ImpulseModel6D;
384 typedef ImpulseData6DTpl<double> ImpulseData6D;
385 typedef ImpulseModel3DTpl<double> ImpulseModel3D;
386 typedef ImpulseData3DTpl<double> ImpulseData3D;
387 typedef ImpulseItemTpl<double> ImpulseItem;
388 typedef ImpulseModelMultipleTpl<double> ImpulseModelMultiple;
389 typedef ImpulseDataMultipleTpl<double> ImpulseDataMultiple;
Action model for impulse forward dynamics in multibody systems.
Actuation models for floating base systems actuated with thrusters.
Floating-base actuation model.
Multicopter actuation model.
This class encapsulates a center of pressure support of a 6d contact.
This class computes the numerical differentiation of a cost model.
Differential action model for free forward dynamics in multibody systems.
Differential action model for free inverse dynamics in multibody systems.
This class encapsulates a friction cone.
Define a stack of impulse models.
Centroidal momentum residual.
Control gravity residual.
Frame placement residual.
Frame translation residual.
State multibody representation.
This class encapsulates a wrench cone.
Define the multi-impulse data.