rnea-second-order-derivatives.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2017-2019 CNRS INRIA
3 
4 #ifndef __pinocchio_algorithm_rnea_second_order_derivatives_hpp__
5 #define __pinocchio_algorithm_rnea_second_order_derivatives_hpp__
6 
10 
11 namespace pinocchio
12 {
71  template<
72  typename Scalar,
73  int Options,
74  template<typename, int>
75  class JointCollectionTpl,
76  typename ConfigVectorType,
77  typename TangentVectorType1,
78  typename TangentVectorType2,
79  typename Tensor1,
80  typename Tensor2,
81  typename Tensor3,
82  typename Tensor4>
84  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
85  DataTpl<Scalar, Options, JointCollectionTpl> & data,
86  const Eigen::MatrixBase<ConfigVectorType> & q,
87  const Eigen::MatrixBase<TangentVectorType1> & v,
88  const Eigen::MatrixBase<TangentVectorType2> & a,
89  const Tensor1 & d2tau_dqdq,
90  const Tensor2 & d2tau_dvdv,
91  const Tensor3 & dtau_dqdv,
92  const Tensor4 & dtau_dadq);
93 
131 
132  template<
133  typename Scalar,
134  int Options,
135  template<typename, int>
136  class JointCollectionTpl,
137  typename ConfigVectorType,
138  typename TangentVectorType1,
139  typename TangentVectorType2>
143  const Eigen::MatrixBase<ConfigVectorType> & q,
144  const Eigen::MatrixBase<TangentVectorType1> & v,
145  const Eigen::MatrixBase<TangentVectorType2> & a)
146  {
147  (data.d2tau_dqdq).setZero();
148  (data.d2tau_dvdv).setZero();
149  (data.d2tau_dqdv).setZero();
150  (data.d2tau_dadq).setZero();
151 
153  model, data, q.derived(), v.derived(), a.derived(), data.d2tau_dqdq, data.d2tau_dvdv,
154  data.d2tau_dqdv, data.d2tau_dadq);
155  }
156 
157 } // namespace pinocchio
158 
159 #include "pinocchio/algorithm/rnea-second-order-derivatives.hxx"
160 
161 #endif // ifndef __pinocchio_algorithm_rnea_second_order_derivatives_hpp__
pinocchio::DataTpl
Definition: context/generic.hpp:25
aligned-vector.hpp
pinocchio::Options
Options
Definition: joint-configuration.hpp:1116
model.hpp
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::ComputeRNEASecondOrderDerivatives
void ComputeRNEASecondOrderDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &a, const Tensor1 &d2tau_dqdq, const Tensor2 &d2tau_dvdv, const Tensor3 &dtau_dqdv, const Tensor4 &dtau_dadq)
Computes the Second-Order partial derivatives of the Recursive Newton Euler Algorithm w....
data.hpp
setZero
void setZero(std::vector< MatType, Eigen::aligned_allocator< MatType > > &Ms)
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1117
a
Vec3f a
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1118
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1116
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:49