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 {
70 template <typename Scalar, int Options,
71  template <typename, int> class JointCollectionTpl,
72  typename ConfigVectorType, typename TangentVectorType1,
73  typename TangentVectorType2, typename Tensor1,
74  typename Tensor2, typename Tensor3, typename Tensor4>
76  const ModelTpl<Scalar, Options, JointCollectionTpl> &model,
77  DataTpl<Scalar, Options, JointCollectionTpl> &data,
78  const Eigen::MatrixBase<ConfigVectorType> &q,
79  const Eigen::MatrixBase<TangentVectorType1> &v,
80  const Eigen::MatrixBase<TangentVectorType2> &a,
81  const Tensor1 &d2tau_dqdq, const Tensor2 &d2tau_dvdv,
82  const Tensor3 &dtau_dqdv, const Tensor4 &dtau_dadq);
83 
121 
122 template <typename Scalar, int Options,
123  template <typename, int> class JointCollectionTpl,
124  typename ConfigVectorType, typename TangentVectorType1,
125  typename TangentVectorType2>
129  const Eigen::MatrixBase<ConfigVectorType> &q,
130  const Eigen::MatrixBase<TangentVectorType1> &v,
131  const Eigen::MatrixBase<TangentVectorType2> &a) {
132  (data.d2tau_dqdq).setZero();
133  (data.d2tau_dvdv).setZero();
134  (data.d2tau_dqdv).setZero();
135  (data.d2tau_dadq).setZero();
136 
137  ComputeRNEASecondOrderDerivatives(model, data, q.derived(), v.derived(), a.derived(),
138  data.d2tau_dqdq, data.d2tau_dvdv, data.d2tau_dqdv,
139  data.d2tau_dadq);
140 }
141 
142 } // namespace pinocchio
143 
144 #include "pinocchio/algorithm/rnea-second-order-derivatives.hxx"
145 
146 #endif // ifndef __pinocchio_algorithm_rnea_second_order_derivatives_hpp__
pinocchio::DataTpl
Definition: multibody/data.hpp:29
aligned-vector.hpp
pinocchio::Options
Options
Definition: joint-configuration.hpp:746
model.hpp
setup.data
data
Definition: cmake/cython/setup.in.py:48
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....
pinocchio::python::Scalar
SE3::Scalar Scalar
Definition: conversions.cpp:15
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:747
a
Vec3f a
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:748
pinocchio::ModelTpl< Scalar, Options, JointCollectionTpl >
pinocchio::model
JointCollectionTpl & model
Definition: joint-configuration.hpp:746
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:28


pinocchio
Author(s):
autogenerated on Tue Feb 13 2024 03:43:59