12 #include <type_traits>
15 #include <boost/fusion/container/vector.hpp>
17 #include "pinocchio/macros.hpp"
18 #include "pinocchio/eigen-common.hpp"
19 #include "pinocchio/fwd.hpp"
21 #include "pinocchio/math.hpp"
23 #include "pinocchio/spatial.hpp"
25 #include "pinocchio/multibody.hpp"
26 #include "pinocchio/multibody/joint.hpp"
27 #include "pinocchio/multibody/visitor.hpp"
29 #include "pinocchio/algorithm/check.hpp"
56 template<
typename,
int>
class JointCollectionTpl,
57 typename ConfigVectorType>
59 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
60 DataTpl<Scalar, Options, JointCollectionTpl> & data,
61 const Eigen::MatrixBase<ConfigVectorType> & q);
80 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
82 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
83 DataTpl<Scalar, Options, JointCollectionTpl> & data);
126 template<
typename,
int>
class JointCollectionTpl,
127 typename Matrix6Like>
129 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
130 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
131 const JointIndex joint_id,
132 const ReferenceFrame reference_frame,
133 const Eigen::MatrixBase<Matrix6Like> & J);
147 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
149 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
150 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
151 const JointIndex joint_id,
152 const ReferenceFrame reference_frame)
154 typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> ReturnType;
155 ReturnType res(ReturnType::Zero(6, model.nv));
188 template<
typename,
int>
class JointCollectionTpl,
189 typename ConfigVectorType,
190 typename Matrix6Like>
192 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
193 DataTpl<Scalar, Options, JointCollectionTpl> & data,
194 const Eigen::MatrixBase<ConfigVectorType> & q,
195 const JointIndex joint_id,
196 const Eigen::MatrixBase<Matrix6Like> & J);
217 template<
typename,
int>
class JointCollectionTpl,
218 typename ConfigVectorType,
219 typename TangentVectorType>
220 const typename DataTpl<Scalar, Options, JointCollectionTpl>::Matrix6x &
222 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
223 DataTpl<Scalar, Options, JointCollectionTpl> & data,
224 const Eigen::MatrixBase<ConfigVectorType> & q,
225 const Eigen::MatrixBase<TangentVectorType> & v);
246 template<
typename,
int>
class JointCollectionTpl,
247 typename Matrix6Like>
249 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
250 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
251 const JointIndex joint_id,
252 const ReferenceFrame reference_frame,
253 const Eigen::MatrixBase<Matrix6Like> & dJ);
258 #include "pinocchio/src/algorithm/jacobian.hxx"
Main pinocchio namespace.
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....
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...
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 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...