5#ifndef __pinocchio_algorithm_kinematics_derivatives_hpp__
6#define __pinocchio_algorithm_kinematics_derivatives_hpp__
8#include "pinocchio/multibody/model.hpp"
9#include "pinocchio/multibody/data.hpp"
11#include "pinocchio/algorithm/jacobian.hpp"
39 template<
typename,
int>
class JointCollectionTpl,
40 typename ConfigVectorType,
41 typename TangentVectorType1,
42 typename TangentVectorType2>
46 const Eigen::MatrixBase<ConfigVectorType> & q,
47 const Eigen::MatrixBase<TangentVectorType1> & v,
48 const Eigen::MatrixBase<TangentVectorType2> &
a);
69 template<
typename,
int>
class JointCollectionTpl,
75 const Model::JointIndex
jointId,
109 template<
typename,
int>
class JointCollectionTpl,
117 const Model::JointIndex
jointId,
155 template<
typename,
int>
class JointCollectionTpl,
164 const Model::JointIndex
jointId,
194 template<
typename,
int>
class JointCollectionTpl,
200 const Model::JointIndex joint_id,
237 template<
typename,
int>
class JointCollectionTpl,
245 const Model::JointIndex joint_id,
285 template<
typename,
int>
class JointCollectionTpl,
294 const Model::JointIndex joint_id,
318 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
342 template<
typename,
int>
class JointCollectionTpl,
343 typename ConfigVectorType>
347 const Eigen::MatrixBase<ConfigVectorType> & q)
379 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
383 const Model::JointIndex joint_id,
415 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
419 const Model::JointIndex joint_id,
423 ReturnType res(6, model.nv, model.nv);
431#include "pinocchio/algorithm/kinematics-derivatives.hxx"
433#if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
434 #include "pinocchio/algorithm/kinematics-derivatives.txx"
ReferenceFrame
Various conventions to express the velocity of a moving frame.
Main pinocchio namespace.
void getJointVelocityDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Model::JointIndex jointId, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6xOut1 > &v_partial_dq, const Eigen::MatrixBase< Matrix6xOut2 > &v_partial_dv)
Computes the partial derivaties of the spatial velocity of a given with respect to the joint configur...
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 computeJointKinematicHessians(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Computes all the terms required to compute the second order derivatives of the placement information,...
void getJointKinematicHessian(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Model::JointIndex joint_id, const ReferenceFrame rf, Tensor< Scalar, 3, Options > &kinematic_hessian)
Retrieves the kinematic Hessian of a given joint according to the values aleardy computed by computeJ...
void computeForwardKinematicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &a)
Computes all the terms required to compute the derivatives of the placement, spatial velocity and acc...
void getPointClassicAccelerationDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Model::JointIndex joint_id, const SE3Tpl< Scalar, Options > &placement, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix3xOut1 > &v_point_partial_dq, const Eigen::MatrixBase< Matrix3xOut2 > &a_point_partial_dq, const Eigen::MatrixBase< Matrix3xOut3 > &a_point_partial_dv, const Eigen::MatrixBase< Matrix3xOut4 > &a_point_partial_da)
Computes the partial derivatives of the classic acceleration of a point given by its placement inform...
void getPointVelocityDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Model::JointIndex joint_id, const SE3Tpl< Scalar, Options > &placement, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix3xOut1 > &v_point_partial_dq, const Eigen::MatrixBase< Matrix3xOut2 > &v_point_partial_dv)
Computes the partial derivatives of the velocity of a point given by its placement information w....
void getJointAccelerationDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Model::JointIndex jointId, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6xOut1 > &v_partial_dq, const Eigen::MatrixBase< Matrix6xOut2 > &a_partial_dq, const Eigen::MatrixBase< Matrix6xOut3 > &a_partial_dv, const Eigen::MatrixBase< Matrix6xOut4 > &a_partial_da)
Computes the partial derivaties of the spatial acceleration of a given with respect to the joint conf...