joint-configuration.cpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2022 INRIA
3 //
4 
6 
7 namespace pinocchio
8 {
9 
10  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void integrate<
11  LieGroupMap,
14  JointCollectionDefaultTpl,
18  const context::Model &,
19  const Eigen::MatrixBase<context::VectorXs> &,
20  const Eigen::MatrixBase<context::VectorXs> &,
21  const Eigen::MatrixBase<context::VectorXs> &);
22 
23  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void integrate<
26  JointCollectionDefaultTpl,
30  const context::Model &,
31  const Eigen::MatrixBase<context::VectorXs> &,
32  const Eigen::MatrixBase<context::VectorXs> &,
33  const Eigen::MatrixBase<context::VectorXs> &);
34 
35  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void interpolate<
36  LieGroupMap,
39  JointCollectionDefaultTpl,
43  const context::Model &,
44  const Eigen::MatrixBase<context::VectorXs> &,
45  const Eigen::MatrixBase<context::VectorXs> &,
46  const context::Scalar &,
47  const Eigen::MatrixBase<context::VectorXs> &);
48 
49  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void interpolate<
52  JointCollectionDefaultTpl,
56  const context::Model &,
57  const Eigen::MatrixBase<context::VectorXs> &,
58  const Eigen::MatrixBase<context::VectorXs> &,
59  const context::Scalar &,
60  const Eigen::MatrixBase<context::VectorXs> &);
61 
62  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void difference<
63  LieGroupMap,
66  JointCollectionDefaultTpl,
70  const context::Model &,
71  const Eigen::MatrixBase<context::VectorXs> &,
72  const Eigen::MatrixBase<context::VectorXs> &,
73  const Eigen::MatrixBase<context::VectorXs> &);
74 
75  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void difference<
78  JointCollectionDefaultTpl,
82  const context::Model &,
83  const Eigen::MatrixBase<context::VectorXs> &,
84  const Eigen::MatrixBase<context::VectorXs> &,
85  const Eigen::MatrixBase<context::VectorXs> &);
86 
87  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void squaredDistance<
88  LieGroupMap,
91  JointCollectionDefaultTpl,
95  const context::Model &,
96  const Eigen::MatrixBase<context::VectorXs> &,
97  const Eigen::MatrixBase<context::VectorXs> &,
98  const Eigen::MatrixBase<context::VectorXs> &);
99 
100  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void squaredDistance<
103  JointCollectionDefaultTpl,
107  const context::Model &,
108  const Eigen::MatrixBase<context::VectorXs> &,
109  const Eigen::MatrixBase<context::VectorXs> &,
110  const Eigen::MatrixBase<context::VectorXs> &);
111 
112  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void randomConfiguration<
113  LieGroupMap,
116  JointCollectionDefaultTpl,
120  const context::Model &,
121  const Eigen::MatrixBase<context::VectorXs> &,
122  const Eigen::MatrixBase<context::VectorXs> &,
123  const Eigen::MatrixBase<context::VectorXs> &);
124 
125  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void randomConfiguration<
128  JointCollectionDefaultTpl,
132  const context::Model &,
133  const Eigen::MatrixBase<context::VectorXs> &,
134  const Eigen::MatrixBase<context::VectorXs> &,
135  const Eigen::MatrixBase<context::VectorXs> &);
136 
137  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void neutral<
138  LieGroupMap,
141  JointCollectionDefaultTpl,
142  context::VectorXs>(const context::Model &, const Eigen::MatrixBase<context::VectorXs> &);
143 
144  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void
145  neutral<context::Scalar, context::Options, JointCollectionDefaultTpl, context::VectorXs>(
146  const context::Model &, const Eigen::MatrixBase<context::VectorXs> &);
147 
148  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrate<
149  LieGroupMap,
152  JointCollectionDefaultTpl,
156  const context::Model &,
157  const Eigen::MatrixBase<context::VectorXs> &,
158  const Eigen::MatrixBase<context::VectorXs> &,
159  const Eigen::MatrixBase<context::MatrixXs> &,
160  const ArgumentPosition,
161  const AssignmentOperatorType);
162 
163  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrate<
166  JointCollectionDefaultTpl,
170  const context::Model &,
171  const Eigen::MatrixBase<context::VectorXs> &,
172  const Eigen::MatrixBase<context::VectorXs> &,
173  const Eigen::MatrixBase<context::MatrixXs> &,
174  const ArgumentPosition);
175 
176  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrate<
179  JointCollectionDefaultTpl,
183  const context::Model &,
184  const Eigen::MatrixBase<context::VectorXs> &,
185  const Eigen::MatrixBase<context::VectorXs> &,
186  const Eigen::MatrixBase<context::MatrixXs> &,
187  const ArgumentPosition,
188  const AssignmentOperatorType);
189 
190  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrateTransport<
191  LieGroupMap,
194  JointCollectionDefaultTpl,
199  const context::Model &,
200  const Eigen::MatrixBase<context::VectorXs> &,
201  const Eigen::MatrixBase<context::VectorXs> &,
202  const Eigen::MatrixBase<context::MatrixXs> &,
203  const Eigen::MatrixBase<context::MatrixXs> &,
204  const ArgumentPosition);
205 
206  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrateTransport<
209  JointCollectionDefaultTpl,
214  const context::Model &,
215  const Eigen::MatrixBase<context::VectorXs> &,
216  const Eigen::MatrixBase<context::VectorXs> &,
217  const Eigen::MatrixBase<context::MatrixXs> &,
218  const Eigen::MatrixBase<context::MatrixXs> &,
219  const ArgumentPosition);
220 
221  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dIntegrateTransport<
222  LieGroupMap,
225  JointCollectionDefaultTpl,
229  const context::Model &,
230  const Eigen::MatrixBase<context::VectorXs> &,
231  const Eigen::MatrixBase<context::VectorXs> &,
232  const Eigen::MatrixBase<context::MatrixXs> &,
233  const ArgumentPosition);
234 
235  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dDifference<
236  LieGroupMap,
239  JointCollectionDefaultTpl,
243  const context::Model &,
244  const Eigen::MatrixBase<context::VectorXs> &,
245  const Eigen::MatrixBase<context::VectorXs> &,
246  const Eigen::MatrixBase<context::MatrixXs> &,
247  const ArgumentPosition);
248 
249  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void dDifference<
252  JointCollectionDefaultTpl,
256  const context::Model &,
257  const Eigen::MatrixBase<context::VectorXs> &,
258  const Eigen::MatrixBase<context::VectorXs> &,
259  const Eigen::MatrixBase<context::MatrixXs> &,
260  const ArgumentPosition);
261 
262  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::Scalar squaredDistanceSum<
263  LieGroupMap,
266  JointCollectionDefaultTpl,
269  const context::Model &,
270  const Eigen::MatrixBase<context::VectorXs> &,
271  const Eigen::MatrixBase<context::VectorXs> &);
272 
273  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::Scalar squaredDistanceSum<
276  JointCollectionDefaultTpl,
279  const context::Model &,
280  const Eigen::MatrixBase<context::VectorXs> &,
281  const Eigen::MatrixBase<context::VectorXs> &);
282 
283  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::Scalar distance<
284  LieGroupMap,
287  JointCollectionDefaultTpl,
290  const context::Model &,
291  const Eigen::MatrixBase<context::VectorXs> &,
292  const Eigen::MatrixBase<context::VectorXs> &);
293 
294  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::Scalar distance<
297  JointCollectionDefaultTpl,
300  const context::Model &,
301  const Eigen::MatrixBase<context::VectorXs> &,
302  const Eigen::MatrixBase<context::VectorXs> &);
303 
304  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void normalize<
305  LieGroupMap,
308  JointCollectionDefaultTpl,
309  context::VectorXs>(const context::Model &, const Eigen::MatrixBase<context::VectorXs> &);
310 
311  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void
312  normalize<context::Scalar, context::Options, JointCollectionDefaultTpl, context::VectorXs>(
313  const context::Model &, const Eigen::MatrixBase<context::VectorXs> &);
314 
315 #ifndef PINOCCHIO_SKIP_CASADI_UNSUPPORTED
316 
317  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI bool isNormalized<
318  LieGroupMap,
321  JointCollectionDefaultTpl,
323  const context::Model &, const Eigen::MatrixBase<context::VectorXs> &, const context::Scalar &);
324 
325  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI bool
326  isNormalized<context::Scalar, context::Options, JointCollectionDefaultTpl, context::VectorXs>(
327  const context::Model &, const Eigen::MatrixBase<context::VectorXs> &, const context::Scalar &);
328 
329  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI bool isSameConfiguration<
330  LieGroupMap,
333  JointCollectionDefaultTpl,
336  const context::Model &,
337  const Eigen::MatrixBase<context::VectorXs> &,
338  const Eigen::MatrixBase<context::VectorXs> &,
339  const context::Scalar &);
340 
341  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI bool isSameConfiguration<
344  JointCollectionDefaultTpl,
347  const context::Model &,
348  const Eigen::MatrixBase<context::VectorXs> &,
349  const Eigen::MatrixBase<context::VectorXs> &,
350  const context::Scalar &);
351 
352  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void integrateCoeffWiseJacobian<
353  LieGroupMap,
356  JointCollectionDefaultTpl,
359  const context::Model &,
360  const Eigen::MatrixBase<context::VectorXs> &,
361  const Eigen::MatrixBase<context::MatrixXs> &);
362 
363  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI void integrateCoeffWiseJacobian<
366  JointCollectionDefaultTpl,
369  const context::Model &,
370  const Eigen::MatrixBase<context::VectorXs> &,
371  const Eigen::MatrixBase<context::MatrixXs> &);
372 
373 #endif // PINOCCHIO_SKIP_CASADI_UNSUPPORTED
374 
375  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs integrate<
376  LieGroupMap,
379  JointCollectionDefaultTpl,
382  const context::Model &,
383  const Eigen::MatrixBase<context::VectorXs> &,
384  const Eigen::MatrixBase<context::VectorXs> &);
385 
386  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs integrate<
389  JointCollectionDefaultTpl,
392  const context::Model &,
393  const Eigen::MatrixBase<context::VectorXs> &,
394  const Eigen::MatrixBase<context::VectorXs> &);
395 
396  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs interpolate<
397  LieGroupMap,
400  JointCollectionDefaultTpl,
403  const context::Model &,
404  const Eigen::MatrixBase<context::VectorXs> &,
405  const Eigen::MatrixBase<context::VectorXs> &,
406  const context::Scalar &);
407 
408  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs interpolate<
411  JointCollectionDefaultTpl,
414  const context::Model &,
415  const Eigen::MatrixBase<context::VectorXs> &,
416  const Eigen::MatrixBase<context::VectorXs> &,
417  const context::Scalar &);
418 
419  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs difference<
420  LieGroupMap,
423  JointCollectionDefaultTpl,
426  const context::Model &,
427  const Eigen::MatrixBase<context::VectorXs> &,
428  const Eigen::MatrixBase<context::VectorXs> &);
429 
430  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs difference<
433  JointCollectionDefaultTpl,
436  const context::Model &,
437  const Eigen::MatrixBase<context::VectorXs> &,
438  const Eigen::MatrixBase<context::VectorXs> &);
439 
440  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs squaredDistance<
441  LieGroupMap,
444  JointCollectionDefaultTpl,
447  const context::Model &,
448  const Eigen::MatrixBase<context::VectorXs> &,
449  const Eigen::MatrixBase<context::VectorXs> &);
450 
451  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs squaredDistance<
454  JointCollectionDefaultTpl,
457  const context::Model &,
458  const Eigen::MatrixBase<context::VectorXs> &,
459  const Eigen::MatrixBase<context::VectorXs> &);
460 
461  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs randomConfiguration<
462  LieGroupMap,
465  JointCollectionDefaultTpl,
468  const context::Model &,
469  const Eigen::MatrixBase<context::VectorXs> &,
470  const Eigen::MatrixBase<context::VectorXs> &);
471 
472  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs randomConfiguration<
475  JointCollectionDefaultTpl,
478  const context::Model &,
479  const Eigen::MatrixBase<context::VectorXs> &,
480  const Eigen::MatrixBase<context::VectorXs> &);
481 
482  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs
483  randomConfiguration<LieGroupMap, context::Scalar, context::Options, JointCollectionDefaultTpl>(
484  const context::Model &);
485 
486  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs
487  randomConfiguration<context::Scalar, context::Options, JointCollectionDefaultTpl>(
488  const context::Model &);
489 
490  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs
491  neutral<LieGroupMap, context::Scalar, context::Options, JointCollectionDefaultTpl>(
492  const context::Model &);
493 
494  template PINOCCHIO_EXPLICIT_INSTANTIATION_DEFINITION_DLLAPI context::VectorXs
495  neutral<context::Scalar, context::Options, JointCollectionDefaultTpl>(const context::Model &);
496 } // namespace pinocchio
pinocchio::context::Model
ModelTpl< Scalar, Options > Model
Definition: context/generic.hpp:56
pinocchio::distance
Scalar distance(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1)
Distance between two configuration vectors, namely .
Definition: joint-configuration.hpp:871
pinocchio::dIntegrate
void dIntegrate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType > &J, const ArgumentPosition arg, const AssignmentOperatorType op=SETTO)
Computes the Jacobian of a small variation of the configuration vector or the tangent vector into the...
Definition: joint-configuration.hpp:502
pinocchio::ArgumentPosition
ArgumentPosition
Argument position. Used as template parameter to refer to an argument.
Definition: fwd.hpp:121
pinocchio::difference
void difference(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &dvout)
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1.
Definition: joint-configuration.hpp:199
pinocchio::dIntegrateTransport
void dIntegrateTransport(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType1 > &Jin, const Eigen::MatrixBase< JacobianMatrixType2 > &Jout, const ArgumentPosition arg)
Transport a matrix from the terminal to the initial tangent space of the integrate operation,...
Definition: joint-configuration.hpp:593
pinocchio::randomConfiguration
void randomConfiguration(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits, const Eigen::MatrixBase< ReturnType > &qout)
Generate a configuration vector uniformly sampled among provided limits.
Definition: joint-configuration.hpp:325
pinocchio::interpolate
void interpolate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Scalar &u, const Eigen::MatrixBase< ReturnType > &qout)
Interpolate two configurations for a given model.
Definition: joint-configuration.hpp:131
pinocchio::isNormalized
bool isNormalized(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision())
Check whether a configuration vector is normalized within the given precision provided by prec.
Definition: joint-configuration.hpp:962
joint-configuration.hpp
pinocchio::context::VectorXs
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
Definition: context/generic.hpp:47
pinocchio::squaredDistanceSum
Scalar squaredDistanceSum(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1)
Overall squared distance between two configuration vectors.
Definition: joint-configuration.hpp:818
pinocchio::integrate
void integrate(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< ReturnType > &qout)
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
Definition: joint-configuration.hpp:72
pinocchio::context::MatrixXs
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > MatrixXs
Definition: context/generic.hpp:49
pinocchio::AssignmentOperatorType
AssignmentOperatorType
Definition: fwd.hpp:130
pinocchio::context::Options
@ Options
Definition: context/generic.hpp:45
pinocchio::squaredDistance
void squaredDistance(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &out)
Squared distance between two configuration vectors.
Definition: joint-configuration.hpp:257
pinocchio::dDifference
void dDifference(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVector1 > &q0, const Eigen::MatrixBase< ConfigVector2 > &q1, const Eigen::MatrixBase< JacobianMatrix > &J, const ArgumentPosition arg)
Computes the Jacobian of a small variation of the configuration vector into the tangent space at iden...
Definition: joint-configuration.hpp:763
pinocchio::neutral
void neutral(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ReturnType > &qout)
Return the neutral configuration element related to the model configuration space.
Definition: joint-configuration.hpp:375
pinocchio::integrateCoeffWiseJacobian
void integrateCoeffWiseJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVector > &q, const Eigen::MatrixBase< JacobianMatrix > &jacobian)
Return the Jacobian of the integrate function for the components of the config vector.
Definition: joint-configuration.hpp:1079
pinocchio::isSameConfiguration
bool isSameConfiguration(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q1, const Eigen::MatrixBase< ConfigVectorIn2 > &q2, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision())
Return true if the given configurations are equivalents, within the given precision.
Definition: joint-configuration.hpp:1024
pinocchio::context::Scalar
PINOCCHIO_SCALAR_TYPE Scalar
Definition: context/generic.hpp:42
pinocchio::normalize
void normalize(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout)
Normalize a configuration vector.
Definition: joint-configuration.hpp:914
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27


pinocchio
Author(s):
autogenerated on Tue Jun 25 2024 02:42:38