pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
impulse-dynamics-derivatives.hpp
1//
2// Copyright (c) 2020 CNRS INRIA
3//
4
5#ifndef __pinocchio_algorithm_impulse_dynamics_derivatives_hpp__
6#define __pinocchio_algorithm_impulse_dynamics_derivatives_hpp__
7
8#include "pinocchio/algorithm/contact-info.hpp"
9
10namespace pinocchio
11{
12
13 template<
14 typename Scalar,
15 int Options,
16 template<typename, int> class JointCollectionTpl,
17 class ConstraintModelAllocator,
18 class ConstraintDataAllocator,
19 typename MatrixType1,
20 typename MatrixType2,
21 typename MatrixType3,
22 typename MatrixType4>
23 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
24 inline void computeImpulseDynamicsDerivatives(
25 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
26 DataTpl<Scalar, Options, JointCollectionTpl> & data,
27 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
28 contact_models,
29 std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
30 const Scalar r_coeff,
31 const ProximalSettingsTpl<Scalar> & settings,
32 const Eigen::MatrixBase<MatrixType1> & dvimpulse_partial_dq,
33 const Eigen::MatrixBase<MatrixType2> & dvimpulse_partial_dv,
34 const Eigen::MatrixBase<MatrixType3> & impulse_partial_dq,
35 const Eigen::MatrixBase<MatrixType4> & impulse_partial_dv);
36
37 template<
38 typename Scalar,
39 int Options,
40 template<typename, int> class JointCollectionTpl,
41 class ConstraintModelAllocator,
42 class ConstraintDataAllocator>
43 PINOCCHIO_UNSUPPORTED_MESSAGE("The API will change towards more flexibility")
44 inline void computeImpulseDynamicsDerivatives(
45 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
46 DataTpl<Scalar, Options, JointCollectionTpl> & data,
47 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
48 contact_models,
49 std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
50 const Scalar r_coeff,
51 const ProximalSettingsTpl<Scalar> & settings)
52 {
53 computeImpulseDynamicsDerivatives(
54 model, data, contact_models, contact_data, r_coeff, settings, data.ddq_dq, data.ddq_dv,
55 data.dlambda_dq, data.dlambda_dv);
56 };
57
58} // namespace pinocchio
59
60#include "pinocchio/algorithm/impulse-dynamics-derivatives.hxx"
61
62#endif // ifndef __pinocchio_algorithm_impulse_dynamics_derivatives_hpp__
Main pinocchio namespace.
Definition treeview.dox:11