pinocchio  UNKNOWN
aba-derivatives.hpp
1 //
2 // Copyright (c) 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_aba_derivatives_hpp__
19 #define __se3_aba_derivatives_hpp__
20 
21 #include "pinocchio/multibody/model.hpp"
22 #include "pinocchio/multibody/data.hpp"
23 
24 namespace se3
25 {
40  inline void computeABADerivatives(const Model & model,
41  Data & data,
42  const Eigen::VectorXd & q,
43  const Eigen::VectorXd & v,
44  const Eigen::VectorXd & tau,
45  Eigen::MatrixXd & aba_partial_dq,
46  Eigen::MatrixXd & aba_partial_dv,
47  Data::RowMatrixXd & aba_partial_dtau);
48 
64  inline void computeABADerivatives(const Model & model,
65  Data & data,
66  const Eigen::VectorXd & q,
67  const Eigen::VectorXd & v,
68  const Eigen::VectorXd & tau)
69  {
70  computeABADerivatives(model,data,q,v,tau,
71  data.ddq_dq,data.ddq_dv,data.Minv);
72  }
73 
74 } // namespace se3
75 
76 /* --- Details -------------------------------------------------------------------- */
77 #include "pinocchio/algorithm/aba-derivatives.hxx"
78 
79 #endif // ifndef __se3_aba_derivatives_hpp__
void computeABADerivatives(const Model &model, Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, Eigen::MatrixXd &aba_partial_dq, Eigen::MatrixXd &aba_partial_dv, Data::RowMatrixXd &aba_partial_dtau)
The derivatives of the Articulated-Body algorithm.
Eigen::MatrixXd ddq_dv
Partial derivative of the joint acceleration vector with respect to the joint velocity.
Definition: data.hpp:241
Eigen::MatrixXd ddq_dq
Partial derivative of the joint acceleration vector with respect to the joint configuration.
Definition: data.hpp:238
RowMatrixXd Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).
Definition: data.hpp:119