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> class JointCollectionTpl,
75  typename ConfigVectorType,
76  typename TangentVectorType1,
77  typename TangentVectorType2,
78  typename Tensor1,
79  typename Tensor2,
80  typename Tensor3,
81  typename Tensor4>
83  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
84  DataTpl<Scalar, Options, JointCollectionTpl> & data,
85  const Eigen::MatrixBase<ConfigVectorType> & q,
86  const Eigen::MatrixBase<TangentVectorType1> & v,
87  const Eigen::MatrixBase<TangentVectorType2> & a,
88  const Tensor1 & d2tau_dqdq,
89  const Tensor2 & d2tau_dvdv,
90  const Tensor3 & dtau_dqdv,
91  const Tensor4 & dtau_dadq);
92 
130 
131  template<
132  typename Scalar,
133  int Options,
134  template<typename, int> class JointCollectionTpl,
135  typename ConfigVectorType,
136  typename TangentVectorType1,
137  typename TangentVectorType2>
141  const Eigen::MatrixBase<ConfigVectorType> & q,
142  const Eigen::MatrixBase<TangentVectorType1> & v,
143  const Eigen::MatrixBase<TangentVectorType2> & a)
144  {
145  (data.d2tau_dqdq).setZero();
146  (data.d2tau_dvdv).setZero();
147  (data.d2tau_dqdv).setZero();
148  (data.d2tau_dadq).setZero();
149 
151  model, data, q.derived(), v.derived(), a.derived(), data.d2tau_dqdq, data.d2tau_dvdv,
152  data.d2tau_dqdv, data.d2tau_dadq);
153  }
154 
155 } // namespace pinocchio
156 
157 #include "pinocchio/algorithm/rnea-second-order-derivatives.hxx"
158 
159 #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:1082
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:1083
a
Vec3f a
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1084
pinocchio::ModelTpl
Definition: context/generic.hpp:20
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:1082
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27


pinocchio
Author(s):
autogenerated on Mon Dec 16 2024 03:41:04