10 #ifndef CROCODDYL_MULTIBODY_FWD_HPP_
11 #define CROCODDYL_MULTIBODY_FWD_HPP_
13 #include "crocoddyl/core/costs/residual.hpp"
14 #include "crocoddyl/multibody/pch.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;
32 template <
typename Scala>
33 struct ForceDataAbstractTpl;
36 template <
typename Scalar>
37 class ContactModelAbstractTpl;
38 template <
typename Scalar>
39 struct ContactDataAbstractTpl;
42 template <
typename Scalar>
43 class ActionModelImpulseFwdDynamicsTpl;
44 template <
typename Scalar>
45 struct ActionDataImpulseFwdDynamicsTpl;
48 template <
typename Scalar>
49 class DifferentialActionModelFreeFwdDynamicsTpl;
50 template <
typename Scalar>
51 struct DifferentialActionDataFreeFwdDynamicsTpl;
53 template <
typename Scalar>
54 class DifferentialActionModelFreeInvDynamicsTpl;
55 template <
typename Scalar>
56 struct DifferentialActionDataFreeInvDynamicsTpl;
58 template <
typename Scalar>
59 class DifferentialActionModelContactFwdDynamicsTpl;
60 template <
typename Scalar>
61 struct DifferentialActionDataContactFwdDynamicsTpl;
63 template <
typename Scalar>
64 class DifferentialActionModelContactInvDynamicsTpl;
65 template <
typename Scalar>
66 struct DifferentialActionDataContactInvDynamicsTpl;
69 template <
typename Scalar>
70 class CostModelNumDiffTpl;
71 template <
typename Scalar>
72 struct CostDataNumDiffTpl;
74 template <
typename Scalar>
75 class ContactModelNumDiffTpl;
76 template <
typename Scalar>
77 struct ContactDataNumDiffTpl;
80 template <
typename Scalar>
81 class ResidualModelCentroidalMomentumTpl;
82 template <
typename Scalar>
83 struct ResidualDataCentroidalMomentumTpl;
85 template <
typename Scalar>
86 class ResidualModelCoMPositionTpl;
87 template <
typename Scalar>
88 struct ResidualDataCoMPositionTpl;
90 template <
typename Scalar>
91 class ResidualModelContactForceTpl;
92 template <
typename Scalar>
93 struct ResidualDataContactForceTpl;
95 template <
typename Scalar>
96 class ResidualModelContactFrictionConeTpl;
97 template <
typename Scalar>
98 struct ResidualDataContactFrictionConeTpl;
100 template <
typename Scalar>
101 class ResidualModelContactCoPPositionTpl;
102 template <
typename Scalar>
103 struct ResidualDataContactCoPPositionTpl;
105 template <
typename Scalar>
106 class ResidualModelContactWrenchConeTpl;
107 template <
typename Scalar>
108 struct ResidualDataContactWrenchConeTpl;
110 template <
typename Scalar>
111 class ResidualModelContactControlGravTpl;
112 template <
typename Scalar>
113 struct ResidualDataContactControlGravTpl;
115 template <
typename Scalar>
116 class ResidualModelControlGravTpl;
117 template <
typename Scalar>
118 struct ResidualDataControlGravTpl;
120 template <
typename Scalar>
121 class ResidualModelFramePlacementTpl;
122 template <
typename Scalar>
123 struct ResidualDataFramePlacementTpl;
125 template <
typename Scalar>
126 class ResidualModelFrameRotationTpl;
127 template <
typename Scalar>
128 struct ResidualDataFrameRotationTpl;
130 template <
typename Scalar>
131 class ResidualModelFrameTranslationTpl;
132 template <
typename Scalar>
133 struct ResidualDataFrameTranslationTpl;
135 template <
typename Scalar>
136 class ResidualModelFrameVelocityTpl;
137 template <
typename Scalar>
138 struct ResidualDataFrameVelocityTpl;
140 template <
typename Scalar>
141 class ResidualModelImpulseCoMTpl;
142 template <
typename Scalar>
143 struct ResidualDataImpulseCoMTpl;
145 template <
typename Scalar>
146 class ResidualModelStateTpl;
147 template <
typename Scalar>
150 #ifdef PINOCCHIO_WITH_HPP_FCL
151 template <
typename Scalar>
152 class ResidualModelPairCollisionTpl;
153 template <
typename Scalar>
154 struct ResidualDataPairCollisionTpl;
158 template <
typename Scalar>
160 template <
typename Scalar>
164 template <
typename Scalar>
166 template <
typename Scalar>
168 template <
typename Scalar>
171 template <
typename Scalar>
173 template <
typename Scalar>
176 template <
typename Scalar>
178 template <
typename Scalar>
181 template <
typename Scalar>
183 template <
typename Scalar>
186 template <
typename Scalar>
188 template <
typename Scalar>
192 template <
typename Scalar>
194 template <
typename Scalar>
198 template <
typename Scalar>
202 template <
typename Scalar>
206 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>
234 template <
typename Scalar>
236 template <
typename Scalar>
239 template <
typename Scalar>
241 template <
typename Scalar>
244 template <
typename Scalar>
246 template <
typename Scalar>
248 template <
typename Scalar>
331 #ifdef PINOCCHIO_WITH_HPP_FCL
332 typedef ResidualModelPairCollisionTpl<double> ResidualModelPairCollision;
333 typedef ResidualDataPairCollisionTpl<double> ResidualDataPairCollision;
346 enum ImpulseType { ImpulseUndefined, Impulse3D, Impulse6D };
348 typedef ContactItemTpl<double> ContactItem;
349 typedef ContactModelMultipleTpl<double> ContactModelMultiple;
350 typedef ContactDataMultipleTpl<double> ContactDataMultiple;
351 typedef ContactModel1DTpl<double> ContactModel1D;
352 typedef ContactData1DTpl<double> ContactData1D;
353 typedef ContactModel2DTpl<double> ContactModel2D;
354 typedef ContactData2DTpl<double> ContactData2D;
355 typedef ContactModel3DTpl<double> ContactModel3D;
356 typedef ContactData3DTpl<double> ContactData3D;
357 typedef ContactModel6DTpl<double> ContactModel6D;
358 typedef ContactData6DTpl<double> ContactData6D;
360 typedef StateMultibodyTpl<double> StateMultibody;
362 typedef DataCollectorMultibodyTpl<double> DataCollectorMultibody;
363 typedef DataCollectorActMultibodyTpl<double> DataCollectorActMultibody;
364 typedef DataCollectorJointActMultibodyTpl<double>
365 DataCollectorJointActMultibody;
366 typedef DataCollectorContactTpl<double> DataCollectorContact;
367 typedef DataCollectorMultibodyInContactTpl<double>
368 DataCollectorMultibodyInContact;
369 typedef DataCollectorActMultibodyInContactTpl<double>
370 DataCollectorActMultibodyInContact;
371 typedef DataCollectorJointActMultibodyInContactTpl<double>
372 DataCollectorJointActMultibodyInContact;
373 typedef DataCollectorImpulseTpl<double> DataCollectorImpulse;
374 typedef DataCollectorMultibodyInImpulseTpl<double>
375 DataCollectorMultibodyInImpulse;
377 typedef ImpulseModel6DTpl<double> ImpulseModel6D;
378 typedef ImpulseData6DTpl<double> ImpulseData6D;
379 typedef ImpulseModel3DTpl<double> ImpulseModel3D;
380 typedef ImpulseData3DTpl<double> ImpulseData3D;
381 typedef ImpulseItemTpl<double> ImpulseItem;
382 typedef ImpulseModelMultipleTpl<double> ImpulseModelMultiple;
383 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.
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.