pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
jacobian.hpp
1//
2// Copyright (c) 2015-2020 CNRS INRIA
3//
4
5#ifndef __pinocchio_algorithm_jacobian_hpp__
6#define __pinocchio_algorithm_jacobian_hpp__
7
8#include "pinocchio/multibody/model.hpp"
9#include "pinocchio/multibody/data.hpp"
10
11namespace pinocchio
12{
32 template<
33 typename Scalar,
34 int Options,
35 template<typename, int> class JointCollectionTpl,
36 typename ConfigVectorType>
40 const Eigen::MatrixBase<ConfigVectorType> & q);
41
59 template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
63
102 template<
103 typename Scalar,
104 int Options,
105 template<typename, int> class JointCollectionTpl,
106 typename Matrix6Like>
110 const JointIndex joint_id,
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,
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>
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>
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>
233 const JointIndex joint_id,
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__
ReferenceFrame
Various conventions to express the velocity of a moving frame.
Definition fwd.hpp:47
Main pinocchio namespace.
Definition treeview.dox:11
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....
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...
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...
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...
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...
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition data.hpp:92