pinocchio  2.7.1
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
jacobian.hpp
1 //
2 // Copyright (c) 2015-2019 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_jacobian_hpp__
6 #define __pinocchio_jacobian_hpp__
7 
8 #include "pinocchio/multibody/fwd.hpp"
9 #include "pinocchio/multibody/model.hpp"
10 #include "pinocchio/multibody/data.hpp"
11 
12 namespace pinocchio
13 {
29  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename ConfigVectorType>
31  computeJointJacobians(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
32  DataTpl<Scalar,Options,JointCollectionTpl> & data,
33  const Eigen::MatrixBase<ConfigVectorType> & q);
34 
48  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl>
50  computeJointJacobians(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
51  DataTpl<Scalar,Options,JointCollectionTpl> & data);
52 
77  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename Matrix6Like>
78  inline void getJointJacobian(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
79  const DataTpl<Scalar,Options,JointCollectionTpl> & data,
80  const typename ModelTpl<Scalar,Options,JointCollectionTpl>::JointIndex jointId,
81  const ReferenceFrame rf,
82  const Eigen::MatrixBase<Matrix6Like> & J);
83 
104  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename ConfigVectorType, typename Matrix6Like>
105  inline void computeJointJacobian(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
106  DataTpl<Scalar,Options,JointCollectionTpl> & data,
107  const Eigen::MatrixBase<ConfigVectorType> & q,
108  const JointIndex jointId,
109  const Eigen::MatrixBase<Matrix6Like> & J);
110 
116  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename ConfigVectorType, typename Matrix6Like>
117  PINOCCHIO_DEPRECATED
120  const Eigen::MatrixBase<ConfigVectorType> & q,
121  const JointIndex jointId,
122  const Eigen::MatrixBase<Matrix6Like> & J)
123  {
124  computeJointJacobian(model,data,q,jointId,PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like,J));
125  }
126 
142  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename ConfigVectorType, typename TangentVectorType>
144  computeJointJacobiansTimeVariation(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
145  DataTpl<Scalar,Options,JointCollectionTpl> & data,
146  const Eigen::MatrixBase<ConfigVectorType> & q,
147  const Eigen::MatrixBase<TangentVectorType> & v);
148 
162  template<typename Scalar, int Options, template<typename,int> class JointCollectionTpl, typename Matrix6Like>
163  inline void getJointJacobianTimeVariation(const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
164  const DataTpl<Scalar,Options,JointCollectionTpl> & data,
165  const JointIndex jointId,
166  const ReferenceFrame rf,
167  const Eigen::MatrixBase<Matrix6Like> & dJ);
168 
169 } // namespace pinocchio
170 
171 /* --- Details -------------------------------------------------------------------- */
172 /* --- Details -------------------------------------------------------------------- */
173 /* --- Details -------------------------------------------------------------------- */
174 
175 #include "pinocchio/algorithm/jacobian.hxx"
176 
177 #endif // ifndef __pinocchio_jacobian_hpp__
pinocchio::DataTpl
Definition: data.hpp:29
pinocchio::ReferenceFrame
ReferenceFrame
Various conventions to express the velocity of a moving frame.
Definition: fwd.hpp:48
pinocchio::DataTpl::Matrix6x
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: data.hpp:73
pinocchio::getJointJacobian
void getJointJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::JointIndex jointId, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6Like > &J)
Computes the Jacobian of a specific joint frame expressed in one of the pinocchio::ReferenceFrame opt...
pinocchio::getJointJacobianTimeVariation
void getJointJacobianTimeVariation(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const JointIndex jointId, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6Like > &dJ)
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (r...
pinocchio::computeJointJacobians
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & computeJointJacobians(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame....
pinocchio::jointJacobian
PINOCCHIO_DEPRECATED void jointJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const JointIndex jointId, const Eigen::MatrixBase< Matrix6Like > &J)
This function is now deprecated and has been renamed into computeJointJacobian. It will be removed in...
Definition: jacobian.hpp:118
pinocchio::computeJointJacobian
void computeJointJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const JointIndex jointId, const Eigen::MatrixBase< Matrix6Like > &J)
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint and store t...
pinocchio::computeJointJacobiansTimeVariation
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & computeJointJacobiansTimeVariation(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Computes the full model Jacobian variations with respect to time. It corresponds to dJ/dt which depen...
pinocchio::ModelTpl< Scalar, Options, JointCollectionTpl >
pinocchio
Main pinocchio namespace.
Definition: treeview.dox:11