pinocchio  UNKNOWN
All Classes Namespaces Functions Variables Typedefs Enumerations Modules Pages
rnea-derivatives.hpp
1 //
2 // Copyright (c) 2017-2018 CNRS
3 //
4 // This file is part of Pinocchio
5 // Pinocchio is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 //
10 // Pinocchio is distributed in the hope that it will be
11 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // General Lesser Public License for more details. You should have
14 // received a copy of the GNU Lesser General Public License along with
15 // Pinocchio If not, see
16 // <http://www.gnu.org/licenses/>.
17 
18 #ifndef __se3_rnea_derivatives_hpp__
19 #define __se3_rnea_derivatives_hpp__
20 
21 #include "pinocchio/multibody/model.hpp"
22 #include "pinocchio/multibody/data.hpp"
23 
24 namespace se3
25 {
26 
40  inline void
41  computeGeneralizedGravityDerivatives(const Model & model, Data & data,
42  const Eigen::VectorXd & q,
43  Eigen::MatrixXd & gravity_partial_dq);
44 
63  inline void
64  computeRNEADerivatives(const Model & model, Data & data,
65  const Eigen::VectorXd & q,
66  const Eigen::VectorXd & v,
67  const Eigen::VectorXd & a,
68  Eigen::MatrixXd & rnea_partial_dq,
69  Eigen::MatrixXd & rnea_partial_dv,
70  Eigen::MatrixXd & rnea_partial_da);
71 
88  inline void
89  computeRNEADerivatives(const Model & model, Data & data,
90  const Eigen::VectorXd & q,
91  const Eigen::VectorXd & v,
92  const Eigen::VectorXd & a)
93  {
94  computeRNEADerivatives(model,data,q,v,a,
95  data.dtau_dq, data.dtau_dv, data.M);
96  }
97 
98 
99 } // namespace se3
100 
101 #include "pinocchio/algorithm/rnea-derivatives.hxx"
102 
103 #endif // ifndef __se3_rnea_derivatives_hpp__
Eigen::MatrixXd dtau_dv
Partial derivative of the joint torque vector with respect to the joint velocity. ...
Definition: data.hpp:235
void computeGeneralizedGravityDerivatives(const Model &model, Data &data, const Eigen::VectorXd &q, Eigen::MatrixXd &gravity_partial_dq)
Computes the derivative of the generalized gravity contribution with respect to the joint configurati...
Eigen::MatrixXd M
The joint space inertia matrix (a square matrix of dim model.nv).
Definition: data.hpp:116
Eigen::MatrixXd dtau_dq
Partial derivative of the joint torque vector with respect to the joint configuration.
Definition: data.hpp:232
void computeRNEADerivatives(const Model &model, Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a, Eigen::MatrixXd &rnea_partial_dq, Eigen::MatrixXd &rnea_partial_dv, Eigen::MatrixXd &rnea_partial_da)
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configura...