jacobian.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2015-2020 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_algorithm_jacobian_hpp__
6 #define __pinocchio_algorithm_jacobian_hpp__
7 
10 
11 namespace pinocchio
12 {
32  template<
33  typename Scalar,
34  int Options,
35  template<typename, int> class JointCollectionTpl,
36  typename ConfigVectorType>
38  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
39  DataTpl<Scalar, Options, JointCollectionTpl> & data,
40  const Eigen::MatrixBase<ConfigVectorType> & q);
41 
59  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
61  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
62  DataTpl<Scalar, Options, JointCollectionTpl> & data);
63 
102  template<
103  typename Scalar,
104  int Options,
105  template<typename, int> class JointCollectionTpl,
106  typename Matrix6Like>
107  void getJointJacobian(
108  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
109  const DataTpl<Scalar, Options, JointCollectionTpl> & data,
110  const JointIndex joint_id,
111  const ReferenceFrame reference_frame,
112  const Eigen::MatrixBase<Matrix6Like> & J);
126  template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
127  Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> getJointJacobian(
130  const JointIndex joint_id,
131  const ReferenceFrame reference_frame)
132  {
133  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> ReturnType;
134  ReturnType res(ReturnType::Zero(6, model.nv));
135 
136  getJointJacobian(model, data, joint_id, reference_frame, res);
137  return res;
138  }
139 
167  template<
168  typename Scalar,
169  int Options,
170  template<typename, int> class JointCollectionTpl,
171  typename ConfigVectorType,
172  typename Matrix6Like>
174  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
175  DataTpl<Scalar, Options, JointCollectionTpl> & data,
176  const Eigen::MatrixBase<ConfigVectorType> & q,
177  const JointIndex joint_id,
178  const Eigen::MatrixBase<Matrix6Like> & J);
179 
196  template<
197  typename Scalar,
198  int Options,
199  template<typename, int> class JointCollectionTpl,
200  typename ConfigVectorType,
201  typename TangentVectorType>
204  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
205  DataTpl<Scalar, Options, JointCollectionTpl> & data,
206  const Eigen::MatrixBase<ConfigVectorType> & q,
207  const Eigen::MatrixBase<TangentVectorType> & v);
208 
225  template<
226  typename Scalar,
227  int Options,
228  template<typename, int> class JointCollectionTpl,
229  typename Matrix6Like>
231  const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
232  const DataTpl<Scalar, Options, JointCollectionTpl> & data,
233  const JointIndex joint_id,
234  const ReferenceFrame reference_frame,
235  const Eigen::MatrixBase<Matrix6Like> & dJ);
236 
237 } // namespace pinocchio
238 
239 /* --- Details -------------------------------------------------------------------- */
240 /* --- Details -------------------------------------------------------------------- */
241 /* --- Details -------------------------------------------------------------------- */
242 
243 #include "pinocchio/algorithm/jacobian.hxx"
244 
245 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
246  #include "pinocchio/algorithm/jacobian.txx"
247 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
248 
249 #endif // ifndef __pinocchio_algorithm_jacobian_hpp__
pinocchio::getJointJacobianTimeVariation
void getJointJacobianTimeVariation(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const JointIndex joint_id, const ReferenceFrame reference_frame, const Eigen::MatrixBase< Matrix6Like > &dJ)
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (r...
pinocchio::DataTpl
Definition: context/generic.hpp:25
pinocchio::Options
Options
Definition: joint-configuration.hpp:1082
pinocchio::ReferenceFrame
ReferenceFrame
Various conventions to express the velocity of a moving frame.
Definition: multibody/fwd.hpp:46
model.hpp
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
inverse-kinematics-3d.J
J
Definition: inverse-kinematics-3d.py:28
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::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
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::getJointJacobian
void getJointJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const JointIndex joint_id, const ReferenceFrame reference_frame, const Eigen::MatrixBase< Matrix6Like > &J)
Computes the Jacobian of a specific joint frame expressed in one of the pinocchio::ReferenceFrame opt...
data.hpp
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1083
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1084
pinocchio::computeJointJacobian
void computeJointJacobian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const JointIndex joint_id, 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::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:26
pinocchio::DataTpl::Matrix6x
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: multibody/data.hpp:92
append-urdf-model-with-another-model.joint_id
joint_id
Definition: append-urdf-model-with-another-model.py:34
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 Thu Dec 19 2024 03:41:29