Main pinocchio namespace. More...
Namespaces | |
buildModels | |
Build simple models. | |
cholesky | |
Cholesky decompositions. | |
container | |
Specialized containers. | |
forceSet | |
Group force actions. | |
lua | |
Lua parsing. | |
motionSet | |
Group motion actions. | |
quaternion | |
Quaternion operations. | |
regressor | |
Regressor computation. | |
srdf | |
SRDF parsing. | |
urdf | |
URDF parsing. | |
Typedefs | |
typedef SpatialAxis< 0 > | AxisVX |
typedef SpatialAxis< 1 > | AxisVY |
typedef SpatialAxis< 2 > | AxisVZ |
typedef SpatialAxis< 3 > | AxisWX |
typedef SpatialAxis< 4 > | AxisWY |
typedef SpatialAxis< 5 > | AxisWZ |
typedef CartesianAxis< 0 > | AxisX |
typedef CartesianAxis< 1 > | AxisY |
typedef CartesianAxis< 2 > | AxisZ |
typedef BiasZeroTpl< double, 0 > | BiasZero |
typedef ConstraintTpl< 1, double, 0 > | Constraint1d |
typedef ConstraintTpl< 3, double, 0 > | Constraint3d |
typedef ConstraintTpl< 6, double, 0 > | Constraint6d |
typedef ConstraintTpl< Eigen::Dynamic, double, 0 > | ConstraintXd |
typedef DataTpl< double > | Data |
typedef ForceTpl< double, 0 > | Force |
typedef ForceSetTpl< double, 0 > | ForceSet |
typedef FrameTpl< double > | Frame |
typedef Index | FrameIndex |
typedef Index | GeomIndex |
typedef std::size_t | Index |
typedef InertiaTpl< double, 0 > | Inertia |
typedef JointTpl< double > | Joint |
typedef JointCollectionDefaultTpl< double > | JointCollectionDefault |
typedef JointDataTpl< double > | JointData |
typedef JointDataCompositeTpl< double > | JointDataComposite |
typedef JointDataFreeFlyerTpl< double > | JointDataFreeFlyer |
typedef JointDataPlanarTpl< double > | JointDataPlanar |
typedef JointDataPrismaticUnalignedTpl< double > | JointDataPrismaticUnaligned |
typedef JointDataPrismaticTpl< double, 0, 0 > | JointDataPX |
typedef JointDataPrismaticTpl< double, 0, 1 > | JointDataPY |
typedef JointDataPrismaticTpl< double, 0, 2 > | JointDataPZ |
typedef JointDataRevoluteUnalignedTpl< double > | JointDataRevoluteUnaligned |
typedef JointDataRevoluteUnboundedTpl< double, 0, 0 > | JointDataRUBX |
typedef JointDataRevoluteUnboundedTpl< double, 0, 1 > | JointDataRUBY |
typedef JointDataRevoluteUnboundedTpl< double, 0, 2 > | JointDataRUBZ |
typedef JointDataRevoluteTpl< double, 0, 0 > | JointDataRX |
typedef JointDataRevoluteTpl< double, 0, 1 > | JointDataRY |
typedef JointDataRevoluteTpl< double, 0, 2 > | JointDataRZ |
typedef JointDataSphericalTpl< double > | JointDataSpherical |
typedef JointDataSphericalZYXTpl< double > | JointDataSphericalZYX |
typedef JointDataTranslationTpl< double > | JointDataTranslation |
typedef JointCollectionDefault::JointDataVariant | JointDataVariant |
typedef container::aligned_vector< JointData > | JointDataVector |
typedef Index | JointIndex |
typedef JointModelTpl< double > | JointModel |
typedef JointModelCompositeTpl< double > | JointModelComposite |
typedef JointModelFreeFlyerTpl< double > | JointModelFreeFlyer |
typedef JointModelPlanarTpl< double > | JointModelPlanar |
typedef JointModelPrismaticUnalignedTpl< double > | JointModelPrismaticUnaligned |
typedef JointModelPrismaticTpl< double, 0, 0 > | JointModelPX |
typedef JointModelPrismaticTpl< double, 0, 1 > | JointModelPY |
typedef JointModelPrismaticTpl< double, 0, 2 > | JointModelPZ |
typedef JointModelRevoluteUnalignedTpl< double > | JointModelRevoluteUnaligned |
typedef JointModelRevoluteUnboundedTpl< double, 0, 0 > | JointModelRUBX |
typedef JointModelRevoluteUnboundedTpl< double, 0, 1 > | JointModelRUBY |
typedef JointModelRevoluteUnboundedTpl< double, 0, 2 > | JointModelRUBZ |
typedef JointModelRevoluteTpl< double, 0, 0 > | JointModelRX |
typedef JointModelRevoluteTpl< double, 0, 1 > | JointModelRY |
typedef JointModelRevoluteTpl< double, 0, 2 > | JointModelRZ |
typedef JointModelSphericalTpl< double > | JointModelSpherical |
typedef JointModelSphericalZYXTpl< double > | JointModelSphericalZYX |
typedef JointModelTranslationTpl< double > | JointModelTranslation |
typedef JointCollectionDefault::JointModelVariant | JointModelVariant |
typedef container::aligned_vector< JointModel > | JointModelVector |
typedef JointPrismaticTpl< double, 0, 0 > | JointPX |
typedef JointPrismaticTpl< double, 0, 1 > | JointPY |
typedef JointPrismaticTpl< double, 0, 2 > | JointPZ |
typedef JointRevoluteUnboundedTpl< double, 0, 0 > | JointRUBX |
typedef JointRevoluteUnboundedTpl< double, 0, 1 > | JointRUBY |
typedef JointRevoluteUnboundedTpl< double, 0, 2 > | JointRUBZ |
typedef JointRevoluteTpl< double, 0, 0 > | JointRX |
typedef JointRevoluteTpl< double, 0, 1 > | JointRY |
typedef JointRevoluteTpl< double, 0, 2 > | JointRZ |
typedef LieGroupCollectionDefaultTpl< double > | LieGroupCollectionDefault |
typedef boost::variant< SpecialOrthogonalOperationTpl< 2, double, 0 >,SpecialOrthogonalOperationTpl< 3, double, 0 >,SpecialEuclideanOperationTpl< 2, double, 0 >,SpecialEuclideanOperationTpl< 3, double, 0 >,VectorSpaceOperationTpl< 1, double >,VectorSpaceOperationTpl< 2, double >,VectorSpaceOperationTpl< 3, double >,VectorSpaceOperationTpl< Eigen::Dynamic, double > > | LieGroupVariant |
typedef ModelTpl< double > | Model |
typedef MotionTpl< double, 0 > | Motion |
typedef MotionPlanarTpl< double > | MotionPlanar |
typedef MotionPrismaticUnalignedTpl< double > | MotionPrismaticUnaligned |
typedef MotionRevoluteUnalignedTpl< double > | MotionRevoluteUnaligned |
typedef MotionSphericalTpl< double > | MotionSpherical |
typedef MotionTranslationTpl< double > | MotionTranslation |
typedef Index | PairIndex |
typedef SE3Tpl< double, 0 > | SE3 |
typedef Symmetric3Tpl< double, 0 > | Symmetric3 |
Enumerations | |
enum | { MAX_JOINT_NV = 6 } |
enum | ArgumentPosition { ARG0 = 0, ARG1 = 1, ARG2 = 2, ARG3 = 3, ARG4 = 4 } |
Argument position. Used as template parameter to refer to an argument. | |
enum | AssignmentOperatorType { SETTO, ADDTO, RMTO } |
enum | FrameType { OP_FRAME = 0x1 << 0, JOINT = 0x1 << 1, FIXED_JOINT = 0x1 << 2, BODY = 0x1 << 3, SENSOR = 0x1 << 4 } |
Enum on the possible types of frame. | |
enum | GeometryType { VISUAL, COLLISION } |
enum | ModelFileExtensionType { UNKNOWN = 0, URDF, LUA } |
Supported model file extensions. | |
enum | ReferenceFrame { WORLD = 0, LOCAL = 1 } |
Functions | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | aba (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 > &tau) |
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given the current state and actuation of the model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename ForceDerived > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | aba (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 > &tau, const container::aligned_vector< ForceDerived > &fext) |
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given the current state and actuation of the model. More... | |
template<typename Vector3Like , typename Matrix3Like > | |
void | addSkew (const Eigen::MatrixBase< Vector3Like > &v, const Eigen::MatrixBase< Matrix3Like > &M) |
Add skew matrix represented by a 3d vector to a given matrix, i.e. add the antisymmetric matrix representation of the cross product operator ( \( [v]_{\times} x = v \times x \)) More... | |
template<typename Scalar , typename Vector3 , typename Matrix3 > | |
void | alphaSkew (const Scalar alpha, const Eigen::MatrixBase< Vector3 > &v, const Eigen::MatrixBase< Matrix3 > &M) |
Computes the skew representation of a given 3d vector multiplied by a given scalar. i.e. the antisymmetric matrix representation of the cross product operator ( \( [\alpha v]_{\times} x = \alpha v \times x \)) More... | |
template<typename Scalar , typename Vector3 > | |
Eigen::Matrix< typename Vector3::Scalar, 3, 3, Vector3::Options > | alphaSkew (const Scalar alpha, const Eigen::MatrixBase< Vector3 > &v) |
Computes the skew representation of a given 3d vector multiplied by a given scalar. i.e. the antisymmetric matrix representation of the cross product operator ( \( [\alpha v]_{\times} x = \alpha v \times x \)) More... | |
template<typename D1 , typename D2 > | |
D1::Scalar PINOCCHIO_DEPRECATED | angleBetweenQuaternions (const Eigen::QuaternionBase< D1 > &q1, const Eigen::QuaternionBase< D2 > &q2) |
void | appendGeometryModel (GeometryModel &geomModel1, const GeometryModel &geomModel2) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | appendModel (const ModelTpl< Scalar, Options, JointCollectionTpl > &modelA, const ModelTpl< Scalar, Options, JointCollectionTpl > &modelB, FrameIndex frameInModelA, const SE3Tpl< Scalar, Options > &aMb, ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Append a child model into a parent model, after a specific frame. the model given as reference argument. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | appendModel (const ModelTpl< Scalar, Options, JointCollectionTpl > &modelA, const ModelTpl< Scalar, Options, JointCollectionTpl > &modelB, const GeometryModel &geomModelA, const GeometryModel &geomModelB, FrameIndex frameInModelA, const SE3Tpl< Scalar, Options > &aMb, ModelTpl< Scalar, Options, JointCollectionTpl > &model, GeometryModel &geomModel) |
Append a child model into a parent model, after a specific frame. the model given as reference argument. More... | |
template<int axis> | |
char | axisLabel () |
Generate the label (X, Y or Z) of the axis relative to its index. More... | |
template<> | |
char | axisLabel< 0 > () |
template<> | |
char | axisLabel< 1 > () |
template<> | |
char | axisLabel< 2 > () |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
MotionTpl< Scalar, Options > | bias (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointBiasVisitor to get the joint bias as a dense motion. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl, typename Matrix6Type > | |
void | calc_aba (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< Matrix6Type > &I, const bool update_I) |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcAbaVisitor to. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
void | calc_first_order (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcFirstOrderVisitor to compute the joint data kinematics at order one. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl, typename ConfigVectorType > | |
void | calc_zero_order (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< ConfigVectorType > &q) |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcZeroOrderVisitor to compute the joint data kinematics at order zero. More... | |
template<typename NewScalar , typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
CastType< NewScalar, JointModelTpl< Scalar, Options, JointCollectionTpl > >::type | cast_joint (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl<Scalar,...> to cast it into JointModelTpl<NewScalar,...> More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & | ccrba (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes the Centroidal Momentum Matrix, the Composite Ridig Body Inertia as well as the centroidal momenta according to the current joint configuration and velocity. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Vector3 & | centerOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const bool computeSubtreeComs=true) |
Computes the center of mass position of a given model according to a particular joint configuration. The result is accessible through data.com[0] for the full body com and data.com[i] for the subtree supported by joint i (expressed in the joint i frame). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Vector3 & | centerOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const bool computeSubtreeComs=true) |
Computes the center of mass position and velocity of a given model according to a particular joint configuration and velocity. The result is accessible through data.com[0], data.vcom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Vector3 & | centerOfMass (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, const bool computeSubtreeComs=true) |
Computes the center of mass position, velocity and acceleration of a given model according to a particular joint configuration, velocity and acceleration. The result is accessible through data.com[0], data.vcom[0], data.acom[0] for the full body com position, velocity and acceleation. And data.com[i], data.vcom[i] and data.acom[i] for the subtree supported by joint i (expressed in the joint i frame). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | centerOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const int LEVEL, const bool computeSubtreeComs=true) |
Computes the center of mass position, velocity and acceleration of a given model according to the current kinematic values contained in data and the requested level. The result is accessible through data.com[0], data.vcom[0] and data.acom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | centerOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const bool computeSubtreeComs=true) |
Computes the center of mass position, velocity and acceleration of a given model according to the current kinematic values contained in data. The result is accessible through data.com[0], data.vcom[0] and data.acom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
bool | checkData (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data) |
ModelFileExtensionType | checkModelFileExtension (const std::string &filename) |
Extract the type of the given model file according to its extension. More... | |
bool | checkVersionAtLeast (unsigned int major_version, unsigned int minor_version, unsigned int patch_version) |
Checks if the current version of Pinocchio is at least the version provided by the input arguments. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename MatrixType1 , typename MatrixType2 , typename MatrixType3 > | |
void | computeABADerivatives (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 > &tau, const Eigen::MatrixBase< MatrixType1 > &aba_partial_dq, const Eigen::MatrixBase< MatrixType2 > &aba_partial_dv, const Eigen::MatrixBase< MatrixType3 > &aba_partial_dtau) |
The derivatives of the Articulated-Body algorithm. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename MatrixType1 , typename MatrixType2 , typename MatrixType3 > | |
void | computeABADerivatives (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 > &tau, const container::aligned_vector< ForceTpl< Scalar, Options > > fext, const Eigen::MatrixBase< MatrixType1 > &aba_partial_dq, const Eigen::MatrixBase< MatrixType2 > &aba_partial_dv, const Eigen::MatrixBase< MatrixType3 > &aba_partial_dtau) |
The derivatives of the Articulated-Body algorithm with external forces. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
void | computeABADerivatives (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 > &tau) |
The derivatives of the Articulated-Body algorithm. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
void | computeABADerivatives (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 > &tau, const container::aligned_vector< ForceTpl< Scalar, Options > > fext) |
The derivatives of the Articulated-Body algorithm with external forces. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
void | computeAllTerms (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes efficiently all the terms needed for dynamic simulation. It is equivalent to the call at the same time to: More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | computeBodyRadius (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const GeometryModel &geomModel, GeometryData &geomData) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Force & | computeCentroidalDynamics (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes the Centroidal dynamics, a.k.a. the total momenta of the system expressed around the center of mass. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Force & | computeCentroidalDynamics (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 the Centroidal dynamics and its time derivatives, a.k.a. the total momenta of the system and its time derivative expressed around the center of mass. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename Matrix6xLike0 , typename Matrix6xLike1 , typename Matrix6xLike2 , typename Matrix6xLike3 > | |
void | computeCentroidalDynamicsDerivatives (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, const Eigen::MatrixBase< Matrix6xLike0 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da) |
Computes the analytical derivatives of the centroidal dynamics with respect to the joint configuration vector, velocity and acceleration. More... | |
bool | computeCollision (const GeometryModel &geomModel, GeometryData &geomData, const PairIndex &pairId) |
Compute the collision status between a SINGLE collision pair. The result is store in the collisionResults vector. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
bool | computeCollisions (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q, const bool stopAtFirstCollision=false) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & | computeCoriolisMatrix (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes the Coriolis Matrix \( C(q,\dot{q}) \) of the Lagrangian dynamics: | |
fcl::DistanceResult & | computeDistance (const GeometryModel &geomModel, GeometryData &geomData, const PairIndex &pairId) |
Compute the minimal distance between collision objects of a SINGLE collison pair. More... | |
template<bool ComputeShortest> | |
PINOCCHIO_DEPRECATED std::size_t | computeDistances (const Model &model, Data &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::VectorXd &q) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
std::size_t | computeDistances (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
std::size_t | computeDistances (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
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 acceleration for any joint of the model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | computeGeneralizedGravity (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
Computes the generalized gravity contribution \( g(q) \) of the Lagrangian dynamics: | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename ReturnMatrixType > | |
void | computeGeneralizedGravityDerivatives (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< ReturnMatrixType > &gravity_partial_dq) |
Computes the derivative of the generalized gravity contribution with respect to the joint configuration. More... | |
PINOCCHIO_DEPRECATED const Data::Matrix6x & | computeJacobians (const Model &model, Data &data, const Eigen::VectorXd &q) |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function computes also the forwardKinematics of the model. More... | |
PINOCCHIO_DEPRECATED const Data::Matrix6x & | computeJacobians (const Model &model, Data &data) |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function assumes that pinocchio::forwardKinematics has been called before. More... | |
PINOCCHIO_DEPRECATED const Data::Matrix6x & | computeJacobiansTimeVariation (const Model &model, Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v) |
Computes the full model Jacobian variations with respect to time. It corresponds to dJ/dt which depends both on q and v. The result is accessible through data.dJ. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
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. The result is accessible through data.J. This function computes also the forwardKinematics of the model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & | computeJointJacobians (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function assumes that pinocchio::forwardKinematics has been called before. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
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 depends both on q and v. The result is accessible through data.dJ. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & | computeMinverse (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
Computes the inverse of the joint space inertia matrix using Articulated Body formulation. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename MatrixType1 , typename MatrixType2 , typename MatrixType3 > | |
void | computeRNEADerivatives (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, const Eigen::MatrixBase< MatrixType1 > &rnea_partial_dq, const Eigen::MatrixBase< MatrixType2 > &rnea_partial_dv, const Eigen::MatrixBase< MatrixType3 > &rnea_partial_da) |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename MatrixType1 , typename MatrixType2 , typename MatrixType3 > | |
void | computeRNEADerivatives (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, const container::aligned_vector< ForceTpl< Scalar, Options > > fext, const Eigen::MatrixBase< MatrixType1 > &rnea_partial_dq, const Eigen::MatrixBase< MatrixType2 > &rnea_partial_dv, const Eigen::MatrixBase< MatrixType3 > &rnea_partial_da) |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
void | computeRNEADerivatives (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 the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
void | computeRNEADerivatives (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, const container::aligned_vector< ForceTpl< Scalar, Options > > fext) |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | computeSubtreeMasses (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Compute the mass of each kinematic subtree and store it in data.mass. The element mass[0] corresponds to the total mass of the model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
Scalar | computeTotalMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Compute the total mass of the model and return it. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
Scalar | computeTotalMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Compute the total mass of the model, put it in data.mass[0] and return it. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
ConstraintTpl< Eigen::Dynamic, Scalar, Options > | constraint_xd (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataVariant through JointConstraintVisitor to get the joint constraint as a dense constraint. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | copy (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &origin, DataTpl< Scalar, Options, JointCollectionTpl > &dest, int LEVEL) |
Copy part of the data from <orig> to <dest>. Template parameter can be used to select at which differential level the copy should occur. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & | crba (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid Body Algorithm (Chapter 6, Rigid-Body Dynamics Algorithms, R. Featherstone, 2008). The result is accessible through data.M. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & | crbaMinimal (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid Body Algorithm (Chapter 6, Rigid-Body Dynamics Algorithms, R. Featherstone, 2008). The result is accessible through data.M. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
JointDataTpl< Scalar, Options, JointCollectionTpl > | createData (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through CreateData visitor to create a JointDataTpl. More... | |
template<typename Vector3 , typename Matrix3xIn , typename Matrix3xOut > | |
void | cross (const Eigen::MatrixBase< Vector3 > &v, const Eigen::MatrixBase< Matrix3xIn > &Min, const Eigen::MatrixBase< Matrix3xOut > &Mout) |
Applies the cross product onto the columns of M. More... | |
template<typename Vector3 , typename Matrix3x > | |
Matrix3x | cross (const Eigen::MatrixBase< Vector3 > &v, const Eigen::MatrixBase< Matrix3x > &M) |
Applies the cross product onto the columns of M. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix6x & | dccrba (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes the time derivative of the Centroidal Momentum Matrix according to the current configuration and velocity vectors. More... | |
template<typename D1 , typename D2 > | |
bool PINOCCHIO_DEPRECATED | defineSameRotation (const Eigen::QuaternionBase< D1 > &q1, const Eigen::QuaternionBase< D2 > &q2, const typename D1::RealScalar &prec=Eigen::NumTraits< typename D1::Scalar >::dummy_precision()) |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > | dinv_inertia (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointDInvInertiaVisitor to get the D^{-1} matrix of the inertia matrix decomposition. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | emptyForwardPass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Browse through the kinematic structure with a void step. More... | |
template<typename Vector3Like > | |
Eigen::Matrix< typename Vector3Like::Scalar, 3, 3, Vector3Like::Options > | exp3 (const Eigen::MatrixBase< Vector3Like > &v) |
Exp: so3 -> SO3. More... | |
template<typename MotionDerived > | |
SE3Tpl< typename MotionDerived::Scalar, typename MotionDerived::Vector3::Options > | exp6 (const MotionDense< MotionDerived > &nu) |
Exp: se3 -> SE3. More... | |
template<typename Vector6Like > | |
SE3Tpl< typename Vector6Like::Scalar, Vector6Like::Options > | exp6 (const Eigen::MatrixBase< Vector6Like > &v) |
Exp: se3 -> SE3. More... | |
std::vector< std::string > | extractPathFromEnvVar (const std::string &env_var_name, const std::string &delimiter=":") |
Parse an environment variable if exists and extract paths according to the delimiter. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
ModelTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType | finiteDifferenceIncrement (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Computes the finite difference increments for each degree of freedom according to the current joint configuration. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
Scalar | finiteDifferenceIncrement (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Returns the finite difference increment of the joint model. More... | |
template<typename D > | |
void PINOCCHIO_DEPRECATED | firstOrderNormalize (const Eigen::QuaternionBase< D > &q) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename ConstraintMatrixType , typename DriftVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | forwardDynamics (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 > &tau, const Eigen::MatrixBase< ConstraintMatrixType > &J, const Eigen::MatrixBase< DriftVectorType > &gamma, const Scalar inv_damping=0., const bool updateKinematics=true) |
Compute the forward dynamics with contact constraints. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
void | forwardKinematics (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
Update the joint placements according to the current joint configuration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
void | forwardKinematics (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Update the joint placements and spatial velocities according to the current joint configuration and velocity. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
void | forwardKinematics (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) |
Update the joint placements, spatial velocities and spatial accelerations according to the current joint configuration, velocity and acceleration. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename Matrix6Like > | |
void | frameJacobian (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const FrameIndex frameId, const Eigen::MatrixBase< Matrix6Like > &J) |
Computes the Jacobian of a specific Frame expressed in the LOCAL frame coordinate system. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
void | framesForwardKinematics (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q) |
First calls the forwardKinematics on the model, then computes the placement of each frame. /sa pinocchio::forwardKinematics. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix3xOut > | |
void | getCenterOfMassVelocityDerivatives (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Matrix3xOut > &vcom_partial_dq) |
Computes the partial derivatie of the center-of-mass velocity with respect to the joint configuration q. You must first call computForwardKinematicsDerivatives and computeCenterOfMass(q,vq) before calling this function. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xLike0 , typename Matrix6xLike1 , typename Matrix6xLike2 , typename Matrix6xLike3 > | |
void | getCentroidalDynamicsDerivatives (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Matrix6xLike1 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da) |
Retrive the analytical derivatives of the centroidal dynamics from the RNEA derivatives. pinocchio::computeRNEADerivatives should have been called first. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Vector3 & | getComFromCrba (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Extracts the center of mass position from the joint space inertia matrix (also called the mass matrix). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
MotionTpl< Scalar, Options > | getFrameAcceleration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id) |
Returns the spatial acceleration of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement values in data structure. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename MotionLike > | |
PINOCCHIO_DEPRECATED void | getFrameAcceleration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id, const MotionDense< MotionLike > &frame_a) |
Returns the spatial acceleration of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement values in data structure. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xLike > | |
void | getFrameJacobian (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6xLike > &J) |
Returns the jacobian of the frame expressed either expressed in the LOCAL frame coordinate system or in the WORLD coordinate system, depending on the value of rf. You must first call pinocchio::computeJointJacobians followed by pinocchio::framesForwardKinematics to update placement values in data structure. More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getFrameJacobian (const Model &model, const Data &data, const Model::FrameIndex frame_id, Data::Matrix6x &J) |
Returns the jacobian of the frame expresssed either expressed in the LOCAL frame coordinate system or in the WORLD coordinate system, depending on the value of rf. You must first call pinocchio::computeJointJacobians followed by pinocchio::updateFramePlacements to update placement values in data structure. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xLike > | |
PINOCCHIO_DEPRECATED void | getFrameJacobian (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id, const Eigen::MatrixBase< Matrix6xLike > &J) |
Returns the jacobian of the frame expresssed in the LOCAL coordinate system of the frame. You must first call pinocchio::computeJointJacobians followed by pinocchio::updateFramePlacements to update placement values in data structure. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xLike > | |
void | getFrameJacobianTimeVariation (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id, const ReferenceFrame rf, const Eigen::MatrixBase< Matrix6xLike > &dJ) |
Computes the Jacobian time variation of a specific frame (given by frame_id) expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL). More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getFrameJacobianTimeVariation (const Model &model, const Data &data, const Model::FrameIndex frameId, Data::Matrix6x &dJ) |
Computes the Jacobian time variation of a specific frame (given by frame_id) expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
MotionTpl< Scalar, Options > | getFrameVelocity (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id) |
Returns the spatial velocity of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement and velocity values in data structure. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename MotionLike > | |
PINOCCHIO_DEPRECATED void | getFrameVelocity (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id, const MotionDense< MotionLike > &frame_v) |
Returns the spatial velocity of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement and velocity values in data structure. More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getJacobian (const Model &model, const Data &data, const Model::JointIndex jointId, Data::Matrix6x &J) |
Computes the Jacobian of a specific joint frame expressed either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix3x & | getJacobianComFromCrba (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Extracts both the jacobian of the center of mass (CoM), the total mass of the system and the CoM position from the joint space inertia matrix (also called the mass matrix). The results are accessible through data.Jcom, data.mass[0] and data.com[0] and are both expressed in the world frame. More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getJacobianTimeVariation (const Model &model, const Data &data, const Model::JointIndex jointId, Data::Matrix6x &dJ) |
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL) of the joint. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xOut1 , typename Matrix6xOut2 , typename Matrix6xOut3 , typename Matrix6xOut4 > | |
void | getJointAccelerationDerivatives (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, 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 configuration, velocity and acceleration. You must first call computForwardKinematicsDerivatives before calling this function. It is important to notice that a direct outcome (for free) of this algo is v_partial_dq and v_partial_dv which is equal to a_partial_da. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6Like > | |
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 either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint. More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getJointJacobian (const Model &model, const Data &data, const Model::JointIndex jointId, Data::Matrix6x &J) |
Computes the Jacobian of a specific joint frame expressed either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6Like > | |
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 (rf = WORLD) or in the local frame (rf = LOCAL) of the joint. More... | |
template<ReferenceFrame rf> | |
PINOCCHIO_DEPRECATED void | getJointJacobianTimeVariation (const Model &model, const Data &data, const Model::JointIndex jointId, Data::Matrix6x &dJ) |
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL) of the joint. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Matrix6xOut1 , typename Matrix6xOut2 > | |
void | getJointVelocityDerivatives (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, 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 configuration and velocity. You must first call computForwardKinematicsDerivatives before calling this function. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConstraintMatrixType , typename KKTMatrixType > | |
void | getKKTContactDynamicMatrixInverse (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConstraintMatrixType > &J, const Eigen::MatrixBase< KKTMatrixType > &MJtJ_inv) |
Computes the inverse of the KKT matrix for dynamics with contact constraints, [[M JT], [J 0]]. The matrix is defined when we call forwardDynamics/impulsedynamics. This method makes use of the matrix decompositions performed during the forwardDynamics/impulasedynamics and returns the inverse. The jacobian should be the same that was provided to forwardDynamics/impulasedynamics. Thus you should call forward Dynamics/impulsedynamics first. More... | |
template<typename Derived > | |
bool | hasNaN (const Eigen::DenseBase< Derived > &m) |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
JointIndex | id (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointIdVisitor to get the index of the joint in the kinematic chain. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
int | idx_q (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointIdxQVisitor to get the index in the full model configuration space corresponding to the first degree of freedom of the Joint. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
int | idx_v (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointIdxVVisitor to get the index in the full model tangent space corresponding to the first joint tangent space degree. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType , typename ConstraintMatrixType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | impulseDynamics (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v_before, const Eigen::MatrixBase< ConstraintMatrixType > &J, const Scalar r_coeff=0, const bool updateKinematics=true) |
Compute the impulse dynamics with contact constraints. More... | |
template<typename LieGroupCollection , class ConfigIn_t , class Tangent_t , class ConfigOut_t > | |
void | integrate (const LieGroupGenericTpl< LieGroupCollection > &lg, const Eigen::MatrixBase< ConfigIn_t > &q, const Eigen::MatrixBase< Tangent_t > &v, const Eigen::MatrixBase< ConfigOut_t > &qout) |
Visit a LieGroupVariant to call its integrate method. More... | |
PINOCCHIO_DEPRECATED void | jacobian (const Model &model, Data &data, const Eigen::VectorXd &q, const Model::JointIndex jointId, Data::Matrix6x &J) |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint and store the result in the input argument J. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
PINOCCHIO_DEPRECATED const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix3x & | jacobianCenterOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const bool computeSubtreeComs, const bool updateKinematics) |
Computes both the jacobian and the the center of mass position of a given model according to a particular joint configuration. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix3x & | jacobianCenterOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const bool computeSubtreeComs=true) |
Computes both the jacobian and the the center of mass position of a given model according to a particular joint configuration. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
const DataTpl< Scalar, Options, JointCollectionTpl >::Matrix3x & | jacobianCenterOfMass (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const bool computeSubtreeComs=true) |
Computes both the jacobian and the the center of mass position of a given model according to the current value stored in data. It assumes that forwardKinematics has been called first. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (. More... | |
template<typename Vector3Like , typename Matrix3Like > | |
void | Jexp3 (const Eigen::MatrixBase< Vector3Like > &r, const Eigen::MatrixBase< Matrix3Like > &Jexp) |
Derivative of \( \exp{r} \) \[ \frac{\sin{||r||}}{||r||} I_3 - \frac{1-\cos{||r||}}{||r||^2} \left[ r \right]_x + \frac{1}{||n||^2} (1-\frac{\sin{||r||}}{||r||}) r r^T \] . | |
template<typename MotionDerived , typename Matrix6Like > | |
void | Jexp6 (const MotionDense< MotionDerived > &nu, const Eigen::MatrixBase< Matrix6Like > &Jexp) |
Derivative of exp6 Computed as the inverse of Jlog6. | |
template<typename Scalar , typename Vector3Like , typename Matrix3Like > | |
void | Jlog3 (const Scalar &theta, const Eigen::MatrixBase< Vector3Like > &log, const Eigen::MatrixBase< Matrix3Like > &Jlog) |
template<typename Matrix3Like1 , typename Matrix3Like2 > | |
void | Jlog3 (const Eigen::MatrixBase< Matrix3Like1 > &R, const Eigen::MatrixBase< Matrix3Like2 > &Jlog) |
template<typename Scalar , int Options, typename Matrix6Like > | |
void | Jlog6 (const SE3Tpl< Scalar, Options > &M, const Eigen::MatrixBase< Matrix6Like > &Jlog) |
Derivative of log6 \[ \left(\begin{array}{cc} \text{Jlog3}(R) & J * \text{Jlog3}(R) \\ 0 & \text{Jlog3}(R) \\ \end{array}\right) \] where \[ \def\rot{R} \begin{eqnarray} J &=& \left.\frac{1}{2}[\mathbf{p}]_{\times} + \dot{\beta} (||r||) \frac{\rot^T\mathbf{p}}{||r||}\rot\rot^T - (||r||\dot{\beta} (||r||) + 2 \beta(||r||)) \mathbf{p}\rot^T\right.\\ &&\left. + \rot^T\mathbf{p}\beta (||r||)I_3 + \beta (||r||)\rot\mathbf{p}^T\right. \end{eqnarray} \] and \[ \beta(x)=\left(\frac{1}{x^2} - \frac{\sin x}{2x(1-\cos x)}\right) \] . | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
SE3Tpl< Scalar, Options > | joint_transform (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointTransformVisitor to get the joint internal transform (transform between the entry frame and the exit frame of the joint). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename Matrix6Like > | |
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) |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint and store the result in the input argument J. More... | |
PINOCCHIO_DEPRECATED const Data::Matrix6x & | jointJacobian (const Model &model, Data &data, const Eigen::VectorXd &q, const Model::JointIndex jointId) |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint. The result is stored in data.J. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
Scalar | kineticEnergy (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const bool update_kinematics=true) |
Computes the kinetic energy of the system. The result is accessible through data.kinetic_energy. More... | |
template<typename Matrix3Like > | |
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, Matrix3Like::Options > | log3 (const Eigen::MatrixBase< Matrix3Like > &R, typename Matrix3Like::Scalar &theta) |
Same as log3. More... | |
template<typename Matrix3Like > | |
Eigen::Matrix< typename Matrix3Like::Scalar, 3, 1, Matrix3Like::Options > | log3 (const Eigen::MatrixBase< Matrix3Like > &R) |
Log: SO3 -> so3. More... | |
template<typename Scalar , int Options> | |
MotionTpl< Scalar, Options > | log6 (const SE3Tpl< Scalar, Options > &M) |
Log: SE3 -> se3. More... | |
template<typename Matrix4Like > | |
MotionTpl< typename Matrix4Like::Scalar, Eigen::internal::traits< Matrix4Like >::Options > | log6 (const Eigen::MatrixBase< Matrix4Like > &M) |
Log: SE3 -> se3. More... | |
AlgorithmCheckerList< ParentChecker, CRBAChecker, ABAChecker > | makeDefaultCheckerList () |
Default checker-list, used as the default argument in Model::check(). | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
MotionTpl< Scalar, Options > | motion (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointMotionVisitor to get the joint internal motion as a dense motion. More... | |
template<typename LieGroupCollection > | |
std::string | name (const LieGroupGenericTpl< LieGroupCollection > &lg) |
Visit a LieGroupVariant to get the name of it. More... | |
template<typename LieGroupCollection > | |
Eigen::Matrix< typename LieGroupCollection::Scalar, Eigen::Dynamic, 1, LieGroupCollection::Options > | neutral (const LieGroupGenericTpl< LieGroupCollection > &lg) |
Visit a LieGroupVariant to get the neutral element of it. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | nonLinearEffects (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Computes the non-linear effects (Corriolis, centrifual and gravitationnal effects), also called the bias terms \( b(q,\dot{q}) \) of the Lagrangian dynamics: | |
template<typename LieGroupCollection > | |
int | nq (const LieGroupGenericTpl< LieGroupCollection > &lg) |
Visit a LieGroupVariant to get the dimension of the Lie group configuration space. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
int | nq (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointNqVisitor to get the dimension of the joint configuration space. More... | |
template<typename LieGroupCollection > | |
int | nv (const LieGroupGenericTpl< LieGroupCollection > &lg) |
Visit a LieGroupVariant to get the dimension of the Lie group tangent space. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
int | nv (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointNvVisitor to get the dimension of the joint tangent space. More... | |
template<typename Scalar , int Options, typename Vector6Like > | |
MotionRef< const Vector6Like > | operator* (const ConstraintIdentityTpl< Scalar, Options > &, const Eigen::MatrixBase< Vector6Like > &v) |
template<typename S1 , int O1, typename S2 , int O2> | |
InertiaTpl< S1, O1 >::Matrix6 | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintIdentityTpl< S2, O2 > &) |
template<typename Matrix6Like , typename S2 , int O2> | |
const Matrix6Like & | operator* (const Eigen::MatrixBase< Matrix6Like > &Y, const ConstraintIdentityTpl< S2, O2 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 3, O1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintSphericalZYXTpl< S2, O2 > &S) |
template<typename F1 > | |
traits< F1 >::ForcePlain | operator* (const typename traits< F1 >::Scalar alpha, const ForceDense< F1 > &f) |
Basic operations specialization. | |
template<typename Matrix6Like , typename S2 , int O2> | |
const Eigen::ProductReturnType< typename Eigen::internal::remove_const< typename SizeDepType< 3 >::ColsReturn< Matrix6Like >::ConstType >::type, typename ConstraintSphericalZYXTpl< S2, O2 >::Matrix3 >::Type | operator* (const Eigen::MatrixBase< Matrix6Like > &Y, const ConstraintSphericalZYXTpl< S2, O2 > &S) |
template<typename M1 > | |
traits< M1 >::MotionPlain | operator* (const typename traits< M1 >::Scalar alpha, const MotionDense< M1 > &v) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 3, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintSphericalTpl< S2, O2 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintPrismaticUnaligned< S2, O2 > &cpu) |
template<typename M6Like , typename S2 , int O2> | |
SizeDepType< 3 >::ColsReturn< M6Like >::ConstType | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintSphericalTpl< S2, O2 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 3, O1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintPlanarTpl< S2, O2 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 1, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintRevoluteUnalignedTpl< S2, O2 > &cru) |
template<typename M6 , typename S2 , int O2> | |
const Eigen::ProductReturnType< Eigen::Block< const M6, 6, 3 >, const typename ConstraintPrismaticUnaligned< S2, O2 >::Vector3 >::Type | operator* (const Eigen::MatrixBase< M6 > &Y, const ConstraintPrismaticUnaligned< S2, O2 > &cpu) |
template<typename M6Like , typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 3, O2 > | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintPlanarTpl< S2, O2 > &) |
template<typename M6Like , typename S2 , int O2> | |
const Eigen::ProductReturnType< typename Eigen::internal::remove_const< typename SizeDepType< 3 >::ColsReturn< M6Like >::ConstType >::type, typename ConstraintRevoluteUnalignedTpl< S2, O2 >::Vector3 >::Type | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintRevoluteUnalignedTpl< S2, O2 > &cru) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 1, O1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintPrismatic< S2, O2, 0 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 1, O1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintPrismatic< S2, O2, 1 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 3, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintTranslationTpl< S2, O2 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S1, 6, 1, O1 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintPrismatic< S2, O2, 2 > &) |
template<typename M6Like , typename S2 , int O2> | |
const SizeDepType< 3 >::ColsReturn< M6Like >::ConstType | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintTranslationTpl< S2, O2 > &) |
template<typename M6Like , typename S2 , int O2, int axis> | |
const M6Like::ConstColXpr | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintPrismatic< S2, O2, axis > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 1, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintRevoluteTpl< S2, O2, 0 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 1, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintRevoluteTpl< S2, O2, 1 > &) |
template<typename S1 , int O1, typename S2 , int O2> | |
Eigen::Matrix< S2, 6, 1, O2 > | operator* (const InertiaTpl< S1, O1 > &Y, const ConstraintRevoluteTpl< S2, O2, 2 > &) |
template<typename M6Like , typename S2 , int O2, int axis> | |
const M6Like::ConstColXpr | operator* (const Eigen::MatrixBase< M6Like > &Y, const ConstraintRevoluteTpl< S2, O2, axis > &) |
template<typename M1 , typename Scalar , int Options> | |
const M1 & | operator+ (const MotionBase< M1 > &v, const BiasZeroTpl< Scalar, Options > &) |
template<typename Scalar , int Options, typename M1 > | |
const M1 & | operator+ (const BiasZeroTpl< Scalar, Options > &, const MotionBase< M1 > &v) |
template<typename Scalar , int Options, int axis, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionPrismaticTpl< Scalar, Options, axis > &m1, const MotionDense< MotionDerived > &m2) |
template<typename Scalar , int Options, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionPrismaticUnalignedTpl< Scalar, Options > &m1, const MotionDense< MotionDerived > &m2) |
template<typename S1 , int O1, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionRevoluteUnalignedTpl< S1, O1 > &m1, const MotionDense< MotionDerived > &m2) |
template<typename S1 , int O1, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionTranslationTpl< S1, O1 > &m1, const MotionDense< MotionDerived > &m2) |
template<typename S1 , int O1, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionSphericalTpl< S1, O1 > &m1, const MotionDense< MotionDerived > &m2) |
template<typename Scalar , int Options, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionPlanarTpl< Scalar, Options > &m1, const MotionDense< MotionDerived > &m2) |
template<typename S1 , int O1, int axis, typename MotionDerived > | |
MotionDerived::MotionPlain | operator+ (const MotionRevoluteTpl< S1, O1, axis > &m1, const MotionDense< MotionDerived > &m2) |
template<typename Scalar , int Options> | |
std::ostream & | operator<< (std::ostream &os, const FrameTpl< Scalar, Options > &f) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
std::ostream & | operator<< (std::ostream &os, const JointDataCompositeTpl< Scalar, Options, JointCollectionTpl > &jdata) |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
std::ostream & | operator<< (std::ostream &os, const JointModelCompositeTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
template<typename MotionDerived , typename S2 , int O2, int axis> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionPrismaticTpl< S2, O2, axis > &m2) |
template<typename M1 , typename M2 > | |
traits< M1 >::MotionPlain | operator^ (const MotionDense< M1 > &v1, const MotionDense< M2 > &v2) |
Basic operations specialization. | |
template<typename M1 , typename F1 > | |
traits< F1 >::ForcePlain | operator^ (const MotionDense< M1 > &v, const ForceBase< F1 > &f) |
template<typename MotionDerived , typename S2 , int O2> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionSphericalTpl< S2, O2 > &m2) |
template<typename MotionDerived , typename S2 , int O2, int axis> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionRevoluteTpl< S2, O2, axis > &m2) |
template<typename MotionDerived , typename S2 , int O2> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionPrismaticUnalignedTpl< S2, O2 > &m2) |
template<typename MotionDerived , typename S2 , int O2> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionPlanarTpl< S2, O2 > &m2) |
template<typename MotionDerived , typename S2 , int O2> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionRevoluteUnalignedTpl< S2, O2 > &m2) |
template<typename MotionDerived , typename S2 , int O2> | |
MotionDerived::MotionPlain | operator^ (const MotionDense< MotionDerived > &m1, const MotionTranslationTpl< S2, O2 > &m2) |
template<typename Scalar > | |
const Scalar | PI () |
Returns the value of PI according to the template parameters Scalar. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
Scalar | potentialEnergy (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const bool update_kinematics=true) |
Computes the potential energy of the system, i.e. the potential energy linked to the gravity field. The result is accessible through data.potential_energy. More... | |
std::string | printVersion (const std::string &delimiter=".") |
Returns the current version of Pinocchio as a string using the following standard: PINOCCHIO_MINOR_VERSION.PINOCCHIO_MINOR_VERSION.PINOCCHIO_PATCH_VERSION. | |
std::string | randomStringGenerator (const int len) |
Generate a random string composed of alphanumeric symbols of a given length. More... | |
std::string | retrieveResourcePath (const std::string &string, const std::vector< std::string > &package_dirs) |
Retrieve the path of the file whose path is given in an url-format. Currently convert from the folliwing patterns : package:// or file://. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | rnea (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) |
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques according to the current state of the system and the desired joint accelerations. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType1 , typename TangentVectorType2 , typename ForceDerived > | |
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & | rnea (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, const container::aligned_vector< ForceDerived > &fext) |
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques according to the current state of the system, the desired joint accelerations and the external forces. More... | |
std::vector< std::string > | rosPaths () |
Parse the environment variable ROS_PACKAGE_PATH and extract paths. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
void | setIndexes (JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointIndex id, int q, int v) |
Visit a JointModelTpl through JointSetIndexesVisitor to set the indexes of the joint in the kinematic chain. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
std::string | shortname (const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel) |
Visit a JointModelTpl through JointShortnameVisitor to get the shortname of the derived joint model. More... | |
template<typename Scalar > | |
void | SINCOS (const Scalar &a, Scalar *sa, Scalar *ca) |
Computes sin/cos values of a given input scalar. More... | |
template<typename Vector3 , typename Matrix3 > | |
void | skew (const Eigen::MatrixBase< Vector3 > &v, const Eigen::MatrixBase< Matrix3 > &M) |
Computes the skew representation of a given 3d vector, i.e. the antisymmetric matrix representation of the cross product operator ( \( [v]_{\times} x = v \times x \)) More... | |
template<typename D > | |
Eigen::Matrix< typename D::Scalar, 3, 3, D::Options > | skew (const Eigen::MatrixBase< D > &v) |
Computes the skew representation of a given 3D vector, i.e. the antisymmetric matrix representation of the cross product operator. More... | |
template<typename V1 , typename V2 , typename Matrix3 > | |
void | skewSquare (const Eigen::MatrixBase< V1 > &u, const Eigen::MatrixBase< V2 > &v, const Eigen::MatrixBase< Matrix3 > &C) |
Computes the square cross product linear operator C(u,v) such that for any vector w, \( u \times ( v \times w ) = C(u,v) w \). More... | |
template<typename V1 , typename V2 > | |
Eigen::Matrix< typename V1::Scalar, 3, 3, V1::Options > | skewSquare (const Eigen::MatrixBase< V1 > &u, const Eigen::MatrixBase< V2 > &v) |
Computes the square cross product linear operator C(u,v) such that for any vector w, \( u \times ( v \times w ) = C(u,v) w \). More... | |
hpp::fcl::Transform3f | toFclTransform3f (const SE3 &m) |
SE3 | toPinocchioSE3 (const hpp::fcl::Transform3f &tf) |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > | u_inertia (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointUInertiaVisitor to get the U matrix of the inertia matrix decomposition. More... | |
template<typename Scalar , int Options, template< typename S, int O > class JointCollectionTpl> | |
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > | udinv_inertia (const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata) |
Visit a JointDataTpl through JointUDInvInertiaVisitor to get U*D^{-1} matrix of the inertia matrix decomposition. More... | |
template<typename D > | |
void PINOCCHIO_DEPRECATED | uniformRandom (const Eigen::QuaternionBase< D > &q) |
template<typename Matrix3 , typename Vector3 > | |
void | unSkew (const Eigen::MatrixBase< Matrix3 > &M, const Eigen::MatrixBase< Vector3 > &v) |
Inverse of skew operator. From a given skew-symmetric matrix M of dimension 3x3, it extracts the supporting vector, i.e. the entries of M. Mathematically speacking, it computes \( v \) such that \( M x = v \times x \). More... | |
template<typename Matrix3 > | |
Eigen::Matrix< typename Matrix3::Scalar, 3, 1, Matrix3::Options > | unSkew (const Eigen::MatrixBase< Matrix3 > &M) |
Inverse of skew operator. From a given skew-symmetric matrix M of dimension 3x3, it extracts the supporting vector, i.e. the entries of M. Mathematically speacking, it computes \( v \) such that \( M x = v \times x \). More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
const DataTpl< Scalar, Options, JointCollectionTpl >::SE3 & | updateFramePlacement (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex frame_id) |
Updates the placement of the given frame. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | updateFramePlacements (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Updates the position of each frame contained in the model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
void | updateGeometryPlacements (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData, const Eigen::MatrixBase< ConfigVectorType > &q) |
Apply a forward kinematics and update the placement of the geometry objects. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | updateGeometryPlacements (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const GeometryModel &geomModel, GeometryData &geomData) |
Update the placement of the geometry objects according to the current joint placements contained in data. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
void | updateGlobalPlacements (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
Update the global placement of the joints oMi according to the relative placements of the joints. More... | |
API with return value as argument | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType , typename ReturnType > | |
void | integrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< ReturnType > &qout) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType , typename ReturnType > | |
void | integrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< ReturnType > &qout) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | interpolate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Scalar &u, const Eigen::MatrixBase< ReturnType > &qout) |
Interpolate two configurations for a given model. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | difference (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &dvout) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | difference (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &dvout) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | squaredDistance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &out) |
Squared distance between two configuration vectors. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | squaredDistance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Eigen::MatrixBase< ReturnType > &out) |
Squared distance between two configuration vectors. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits, const Eigen::MatrixBase< ReturnType > &qout) |
Generate a configuration vector uniformly sampled among provided limits. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 , typename ReturnType > | |
void | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits, const Eigen::MatrixBase< ReturnType > &qout) |
Generate a configuration vector uniformly sampled among provided limits. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ReturnType > | |
void | neutral (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ReturnType > &qout) |
Return the neutral configuration element related to the model configuration space. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ReturnType > | |
void | neutral (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ReturnType > &qout) |
Return the neutral configuration element related to the model configuration space. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType , typename JacobianMatrixType > | |
void | dIntegrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType > &J, const ArgumentPosition arg) |
Computes the Jacobian of a small variation of the configuration vector or the tangent vector into the tangent space at identity. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType , typename JacobianMatrixType > | |
void | dIntegrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v, const Eigen::MatrixBase< JacobianMatrixType > &J, const ArgumentPosition arg) |
Computes the Jacobian of a small variation of the configuration vector or the tangent vector into the tangent space at identity. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
Scalar | squaredDistanceSum (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Overall squared distance between two configuration vectors. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
Scalar | squaredDistanceSum (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Overall squared distance between two configuration vectors. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
Scalar | distance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Distance between two configuration vectors. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
Scalar | distance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Distance between two configuration vectors. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
void | normalize (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout) |
Normalize a configuration vector. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType > | |
void | normalize (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout) |
Normalize a configuration vector. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
bool | isSameConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q1, const Eigen::MatrixBase< ConfigVectorIn2 > &q2, const Scalar &prec) |
Return true if the given configurations are equivalents. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
bool | isSameConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q1, const Eigen::MatrixBase< ConfigVectorIn2 > &q2, const Scalar &prec=Eigen::NumTraits< Scalar >::dummy_precision()) |
Return true if the given configurations are equivalents. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVector , typename JacobianMatrix > | |
void | integrateCoeffWiseJacobian (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVector > &q, const Eigen::MatrixBase< JacobianMatrix > &jacobian) |
Return the Jacobian of the integrate function for the components of the config vector. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVector , typename JacobianMatrix > | |
void | integrateCoeffWiseJacobian (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVector > &q, const Eigen::MatrixBase< JacobianMatrix > &jacobian) |
Return the Jacobian of the integrate function for the components of the config vector. More... | |
API that allocates memory | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
ConfigVectorType | integrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , typename TangentVectorType > | |
ConfigVectorType | integrate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ConfigVectorIn1 | interpolate (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1, const Scalar &u) |
Interpolate two configurations for a given model. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ConfigVectorIn1 | difference (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ConfigVectorIn1 | difference (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ConfigVectorIn1 | squaredDistance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Squared distance between two configuration vectors. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ConfigVectorIn1 | squaredDistance (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &q0, const Eigen::MatrixBase< ConfigVectorIn2 > &q1) |
Squared distance between two configuration vectors. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ModelTpl< Scalar, Options, JointCollectionTpl >::ConfigVectorType | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits) |
Generate a configuration vector uniformly sampled among provided limits. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorIn1 , typename ConfigVectorIn2 > | |
ModelTpl< Scalar, Options, JointCollectionTpl >::ConfigVectorType | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits) |
Generate a configuration vector uniformly sampled among provided limits. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
ModelTpl< Scalar, Options, JointCollectionTpl >::ConfigVectorType | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Generate a configuration vector uniformly sampled among the joint limits of the specified Model. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
ModelTpl< Scalar, Options, JointCollectionTpl >::ConfigVectorType | randomConfiguration (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Generate a configuration vector uniformly sampled among the joint limits of the specified Model. More... | |
template<typename LieGroup_t , typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > | neutral (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Return the neutral configuration element related to the model configuration space. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > | neutral (const ModelTpl< Scalar, Options, JointCollectionTpl > &model) |
Return the neutral configuration element related to the model configuration space. More... | |
Main pinocchio namespace.
This module represents a spatial force, e.g. a spatial impulse or force associated to a body. The spatial force is the mathematical representation of \( se^{*}(3) \), the dual of \( se(3) \).
|
inline |
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given the current state and actuation of the model.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
Referenced by CodeGenABA< _Scalar >::buildMap().
|
inline |
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given the current state and actuation of the model.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
ForceDerived | Type of the external forces. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
[in] | fext | Vector of external forces expressed in the local frame of the joints (dim model.njoints) |
|
inline |
Add skew matrix represented by a 3d vector to a given matrix, i.e. add the antisymmetric matrix representation of the cross product operator ( \( [v]_{\times} x = v \times x \))
[in] | v | a vector of dimension 3. |
[out] | M | the 3x3 matrix to which the skew matrix is added. |
void pinocchio::alphaSkew | ( | const Scalar | alpha, |
const Eigen::MatrixBase< Vector3 > & | v, | ||
const Eigen::MatrixBase< Matrix3 > & | M | ||
) |
Computes the skew representation of a given 3d vector multiplied by a given scalar. i.e. the antisymmetric matrix representation of the cross product operator ( \( [\alpha v]_{\times} x = \alpha v \times x \))
[in] | alpha | a real scalar. |
[in] | v | a vector of dimension 3. |
[out] | M | the skew matrix representation of dimension 3x3. |
Definition at line 124 of file skew.hpp.
Referenced by alphaSkew(), and Jexp6().
|
inline |
Computes the skew representation of a given 3d vector multiplied by a given scalar. i.e. the antisymmetric matrix representation of the cross product operator ( \( [\alpha v]_{\times} x = \alpha v \times x \))
[in] | alpha | a real scalar. |
[in] | v | a vector of dimension 3. |
Definition at line 150 of file skew.hpp.
References alphaSkew().
D1::Scalar PINOCCHIO_DEPRECATED pinocchio::angleBetweenQuaternions | ( | const Eigen::QuaternionBase< D1 > & | q1, |
const Eigen::QuaternionBase< D2 > & | q2 | ||
) |
Definition at line 125 of file quaternion.hpp.
References pinocchio::quaternion::angleBetweenQuaternions().
|
inline |
Append geomModel2 to geomModel1
The steps for appending are:
[out] | geomModel1 | geometry model where the data is added |
[in] | geomModel2 | geometry model from which new geometries are taken |
void pinocchio::appendModel | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | modelA, |
const ModelTpl< Scalar, Options, JointCollectionTpl > & | modelB, | ||
FrameIndex | frameInModelA, | ||
const SE3Tpl< Scalar, Options > & | aMb, | ||
ModelTpl< Scalar, Options, JointCollectionTpl > & | model | ||
) |
Append a child model into a parent model, after a specific frame. the model given as reference argument.
[in] | modelA | the parent model |
[in] | modelB | the child model |
[in] | geomModelA | the parent geometry model |
[in] | geomModelB | the child geometry model |
[in] | frameInModelA | index of the frame of modelA where to append modelB. |
[in] | aMb | pose of modelB universe joint (index 0) in frameInModelA. |
[out] | model | the resulting model |
void pinocchio::appendModel | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | modelA, |
const ModelTpl< Scalar, Options, JointCollectionTpl > & | modelB, | ||
const GeometryModel & | geomModelA, | ||
const GeometryModel & | geomModelB, | ||
FrameIndex | frameInModelA, | ||
const SE3Tpl< Scalar, Options > & | aMb, | ||
ModelTpl< Scalar, Options, JointCollectionTpl > & | model, | ||
GeometryModel & | geomModel | ||
) |
Append a child model into a parent model, after a specific frame. the model given as reference argument.
[in] | modelA | the parent model |
[in] | modelB | the child model |
[in] | geomModelA | the parent geometry model |
[in] | geomModelB | the child geometry model |
[in] | frameInModelA | index of the frame of modelA where to append modelB. |
[in] | aMb | pose of modelB universe joint (index 0) in frameInModelA. |
[out] | model | the resulting model |
[in] | geomModelA | the parent geometry model |
[in] | geomModelB | the child geometry model |
[out] | geomModel |
|
inline |
Generate the label (X, Y or Z) of the axis relative to its index.
axis | Index of the axis (either 0 for X, 1 for Y and Z for 2). |
|
inline |
Visit a JointDataTpl through JointBiasVisitor to get the joint bias as a dense motion.
[in] | jdata | The joint data to visit. |
|
inline |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcAbaVisitor to.
JointCollection | Collection of Joint types. |
Matrix6Type | A matrix 6x6 like Eigen container. |
[in] | jmodel | The corresponding JointModelVariant to the JointDataVariant we want to update |
[in,out] | jdata | The JointDataVariant we want to update |
[in,out] | I | Inertia matrix of the subtree following the jmodel in the kinematic chain as dense matrix |
[in] | update_I | If I should be updated or not |
Referenced by JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::addJoint().
|
inline |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcFirstOrderVisitor to compute the joint data kinematics at order one.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | jmodel | The corresponding JointModelVariant to the JointDataVariant we want to update |
jdata | The JointDataVariant we want to update | |
[in] | q | The full model's (in which the joint belongs to) configuration vector |
|
inline |
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcZeroOrderVisitor to compute the joint data kinematics at order zero.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | jmodel | The corresponding JointModelVariant to the JointDataVariant we want to update |
jdata | The JointDataVariant we want to update | |
[in] | q | The full model's (in which the joint belongs to) configuration vector |
CastType< NewScalar,JointModelTpl<Scalar,Options,JointCollectionTpl> >::type pinocchio::cast_joint | ( | const JointModelTpl< Scalar, Options, JointCollectionTpl > & | jmodel | ) |
Visit a JointModelTpl<Scalar,...> to cast it into JointModelTpl<NewScalar,...>
NewScalar | new scalar type of of the JointModelTpl |
[in] | jmodel | The joint model to cast. |
|
inline |
Computes the Centroidal Momentum Matrix, the Composite Ridig Body Inertia as well as the centroidal momenta according to the current joint configuration and velocity.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
|
inline |
Computes the center of mass position of a given model according to a particular joint configuration. The result is accessible through data.com[0] for the full body com and data.com[i] for the subtree supported by joint i (expressed in the joint i frame).
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | computeSubtreeComs | If true, the algorithm computes also the center of mass of the subtrees. |
Referenced by centerOfMass().
|
inline |
Computes the center of mass position and velocity of a given model according to a particular joint configuration and velocity. The result is accessible through data.com[0], data.vcom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame).
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | computeSubtreeComs | If true, the algorithm computes also the center of mass of the subtrees. |
|
inline |
Computes the center of mass position, velocity and acceleration of a given model according to a particular joint configuration, velocity and acceleration. The result is accessible through data.com[0], data.vcom[0], data.acom[0] for the full body com position, velocity and acceleation. And data.com[i], data.vcom[i] and data.acom[i] for the subtree supported by joint i (expressed in the joint i frame).
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[in] | computeSubtreeComs | If true, the algorithm computes also the center of mass of the subtrees. |
|
inline |
Computes the center of mass position, velocity and acceleration of a given model according to the current kinematic values contained in data and the requested level. The result is accessible through data.com[0], data.vcom[0] and data.acom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame).
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | LEVEL | if = 0, computes CoM position, if = 1, also computes CoM velocity and if = 2, also computes CoM acceleration. |
[in] | computeSubtreeComs | If true, the algorithm computes also the center of mass of the subtrees. |
|
inline |
Computes the center of mass position, velocity and acceleration of a given model according to the current kinematic values contained in data. The result is accessible through data.com[0], data.vcom[0] and data.acom[0] for the full body com position and velocity. And data.com[i] and data.vcom[i] for the subtree supported by joint i (expressed in the joint i frame).
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | computeSubtreeComs | If true, the algorithm computes also the center of mass of the subtrees. |
Definition at line 149 of file center-of-mass.hpp.
References centerOfMass(), getComFromCrba(), getJacobianComFromCrba(), and jacobianCenterOfMass().
|
inline |
Check the validity of data wrt to model, in particular if model has been modified.
[in] | model | reference model |
[in] | data | corresponding data |
|
inline |
|
inline |
Checks if the current version of Pinocchio is at least the version provided by the input arguments.
[in] | major_version | Major version to check. |
[in] | minor_version | Minor version to check. |
[in] | patch_version | Patch version to check. |
Definition at line 42 of file version.hpp.
|
inline |
The derivatives of the Articulated-Body algorithm.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
MatrixType1 | Type of the matrix containing the partial derivative with respect to the joint configuration vector. |
MatrixType2 | Type of the matrix containing the partial derivative with respect to the joint velocity vector. |
MatrixType3 | Type of the matrix containing the partial derivative with respect to the joint torque vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
[out] | aba_partial_dq | Partial derivative of the generalized torque vector with respect to the joint configuration. |
[out] | aba_partial_dv | Partial derivative of the generalized torque vector with respect to the joint velocity. |
[out] | aba_partial_dtau | Partial derivative of the generalized torque vector with respect to the joint torque. |
Referenced by CodeGenABADerivatives< _Scalar >::buildMap(), and computeABADerivatives().
|
inline |
The derivatives of the Articulated-Body algorithm with external forces.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
MatrixType1 | Type of the matrix containing the partial derivative with respect to the joint configuration vector. |
MatrixType2 | Type of the matrix containing the partial derivative with respect to the joint velocity vector. |
MatrixType3 | Type of the matrix containing the partial derivative with respect to the joint torque vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
[in] | fext | External forces expressed in the local frame of the joints (dim model.njoints). |
[out] | aba_partial_dq | Partial derivative of the generalized torque vector with respect to the joint configuration. |
[out] | aba_partial_dv | Partial derivative of the generalized torque vector with respect to the joint velocity. |
[out] | aba_partial_dtau | Partial derivative of the generalized torque vector with respect to the joint torque. |
|
inline |
The derivatives of the Articulated-Body algorithm.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
Definition at line 105 of file aba-derivatives.hpp.
References computeABADerivatives(), DataTpl< _Scalar, _Options, JointCollectionTpl >::ddq_dq, DataTpl< _Scalar, _Options, JointCollectionTpl >::ddq_dv, and DataTpl< _Scalar, _Options, JointCollectionTpl >::Minv.
|
inline |
The derivatives of the Articulated-Body algorithm with external forces.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
[in] | fext | External forces expressed in the local frame of the joints (dim model.njoints). |
Definition at line 137 of file aba-derivatives.hpp.
References computeABADerivatives(), DataTpl< _Scalar, _Options, JointCollectionTpl >::ddq_dq, DataTpl< _Scalar, _Options, JointCollectionTpl >::ddq_dv, and DataTpl< _Scalar, _Options, JointCollectionTpl >::Minv.
|
inline |
Computes efficiently all the terms needed for dynamic simulation. It is equivalent to the call at the same time to:
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
|
inline |
Compute the radius of the geometry volumes attached to every joints.
|
inline |
Computes the Centroidal dynamics, a.k.a. the total momenta of the system expressed around the center of mass.
Scalar | The scalar type. |
Options | Eigen Alignment options. |
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
|
inline |
Computes the Centroidal dynamics and its time derivatives, a.k.a. the total momenta of the system and its time derivative expressed around the center of mass.
Scalar | The scalar type. |
Options | Eigen Alignment options. |
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
|
inline |
Computes the analytical derivatives of the centroidal dynamics with respect to the joint configuration vector, velocity and acceleration.
Computes the first order approximation of the centroidal dynamics time derivative and corresponds to the following equation \( d\dot{h_{g}} = \frac{\partial \dot{h_{g}}}{\partial \mathbf{q}} d\mathbf{q} + \frac{\partial \dot{h_{g}}}{\partial \mathbf{v}} d\mathbf{v} + \frac{\partial \dot{h_{g}}}{\partial \mathbf{a}} d\mathbf{a} \)
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[out] | dh_dq | The partial derivative of the centroidal momentum with respect to the configuration vector (dim 6 x model.nv). |
[out] | dhdot_dq | The partial derivative of the centroidal dynamics with respect to the configuration vector (dim 6 x model.nv). |
[out] | dhdot_dv | The partial derivative of the centroidal dynamics with respect to the velocity vector (dim 6 x model.nv). |
[out] | dhdot_da | The partial derivative of the centroidal dynamics with respect to the acceleration vector (dim 6 x model.nv). |
bool pinocchio::computeCollision | ( | const GeometryModel & | geomModel, |
GeometryData & | geomData, | ||
const PairIndex & | pairId | ||
) |
Compute the collision status between a SINGLE collision pair. The result is store in the collisionResults vector.
[in] | GeomModel | the geometry model (const) |
[out] | GeomData | the corresponding geometry data, where computations are done. |
[in] | pairId | The collsion pair index in the GeometryModel. |
|
inline |
Compute the forward kinematics, update the geometry placements and calls computeCollision for every active pairs of GeometryData.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | robot model (const) |
[out] | data | corresponding data (nonconst) where FK results are stored |
[in] | geomModel | geometry model (const) |
[out] | geomData | corresponding geometry data (nonconst) where distances are computed |
[in] | q | robot configuration. |
[in] | stopAtFirstCollision | if true, stop the loop on pairs after the first collision. |
|
inline |
Computes the Coriolis Matrix \( C(q,\dot{q}) \) of the Lagrangian dynamics:
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
fcl::DistanceResult& pinocchio::computeDistance | ( | const GeometryModel & | geomModel, |
GeometryData & | geomData, | ||
const PairIndex & | pairId | ||
) |
Compute the minimal distance between collision objects of a SINGLE collison pair.
[in] | GeomModel | the geometry model (const) |
[out] | GeomData | the corresponding geometry data, where computations are done. |
[in] | pairId | The index of the collision pair in geom model. |
|
inline |
Compute the forward kinematics, update the geometry placements and calls computeDistance for every active pairs of GeometryData.
[in] | ComputeShortest | default to true. |
[in] | model | robot model (const) |
[out] | data | corresponding data (nonconst) where FK results are stored |
[in] | geomModel | geometry model (const) |
[out] | geomData | corresponding geometry data (nonconst) where distances are computed |
[in] | q | robot configuration. |
|
inline |
Compute the forward kinematics, update the geometry placements and calls computeDistance for every active pairs of GeometryData.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | robot model (const) |
[in] | data | corresponding data (nonconst) where FK results are stored |
[in] | geomModel | geometry model (const) |
[out] | geomData | corresponding geometry data (nonconst) where distances are computed |
[in] | q | robot configuration. |
|
inline |
Compute the forward kinematics, update the geometry placements and calls computeDistance for every active pairs of GeometryData.
JointCollection | Collection of Joint types. |
[in] | model | robot model (const) |
[out] | data | corresponding data (const) |
[in] | geomModel | geometry model (const) |
[out] | geomData | corresponding geometry data (nonconst) where distances are computed |
|
inline |
Computes all the terms required to compute the derivatives of the placement, spatial velocity and acceleration for any joint of the model.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
[in] | v | The joint velocity (vector dim model.nv). |
|
inline |
Computes the generalized gravity contribution \( g(q) \) of the Lagrangian dynamics:
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
|
inline |
Computes the derivative of the generalized gravity contribution with respect to the joint configuration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
ReturnMatrixType | Type of the matrix containing the partial derivative of the gravity vector with respect to the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[out] | gravity_partial_dq | Partial derivative of the generalized gravity vector with respect to the joint configuration. |
|
inline |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function computes also the forwardKinematics of the model.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
Definition at line 51 of file jacobian.hpp.
References computeJointJacobians().
|
inline |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function assumes that pinocchio::forwardKinematics has been called before.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
Definition at line 89 of file jacobian.hpp.
References computeJointJacobians(), and getJointJacobian().
|
inline |
Computes the full model Jacobian variations with respect to time. It corresponds to dJ/dt which depends both on q and v. The result is accessible through data.dJ.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
Definition at line 268 of file jacobian.hpp.
References computeJointJacobiansTimeVariation(), and getJointJacobianTimeVariation().
|
inline |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function computes also the forwardKinematics of the model.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
Referenced by computeJacobians().
|
inline |
Computes the full model Jacobian, i.e. the stack of all motion subspace expressed in the world frame. The result is accessible through data.J. This function assumes that pinocchio::forwardKinematics has been called before.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
|
inline |
Computes the full model Jacobian variations with respect to time. It corresponds to dJ/dt which depends both on q and v. The result is accessible through data.dJ.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
Referenced by computeJacobiansTimeVariation(), and jointJacobian().
|
inline |
Computes the inverse of the joint space inertia matrix using Articulated Body formulation.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
Referenced by CodeGenMinv< _Scalar >::buildMap().
|
inline |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
MatrixType1 | Type of the matrix containing the partial derivative with respect to the joint configuration vector. |
MatrixType2 | Type of the matrix containing the partial derivative with respect to the joint velocity vector. |
MatrixType3 | Type of the matrix containing the partial derivative with respect to the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[out] | rnea_partial_dq | Partial derivative of the generalized torque vector with respect to the joint configuration. |
[out] | rnea_partial_dv | Partial derivative of the generalized torque vector with respect to the joint velocity. |
[out] | rnea_partial_da | Partial derivative of the generalized torque vector with respect to the joint acceleration. |
Referenced by CodeGenRNEADerivatives< _Scalar >::buildMap(), and computeRNEADerivatives().
|
inline |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
MatrixType1 | Type of the matrix containing the partial derivative with respect to the joint configuration vector. |
MatrixType2 | Type of the matrix containing the partial derivative with respect to the joint velocity vector. |
MatrixType3 | Type of the matrix containing the partial derivative with respect to the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[in] | fext | External forces expressed in the local frame of the joints (dim model.njoints). |
[out] | rnea_partial_dq | Partial derivative of the generalized torque vector with respect to the joint configuration. |
[out] | rnea_partial_dv | Partial derivative of the generalized torque vector with respect to the joint velocity. |
[out] | rnea_partial_da | Partial derivative of the generalized torque vector with respect to the joint acceleration. |
|
inline |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
Definition at line 141 of file rnea-derivatives.hpp.
References computeRNEADerivatives(), DataTpl< _Scalar, _Options, JointCollectionTpl >::dtau_dq, DataTpl< _Scalar, _Options, JointCollectionTpl >::dtau_dv, and DataTpl< _Scalar, _Options, JointCollectionTpl >::M.
|
inline |
Computes the derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[in] | fext | External forces expressed in the local frame of the joints (dim model.njoints). |
Definition at line 175 of file rnea-derivatives.hpp.
References computeRNEADerivatives(), DataTpl< _Scalar, _Options, JointCollectionTpl >::dtau_dq, DataTpl< _Scalar, _Options, JointCollectionTpl >::dtau_dv, and DataTpl< _Scalar, _Options, JointCollectionTpl >::M.
|
inline |
Compute the mass of each kinematic subtree and store it in data.mass. The element mass[0] corresponds to the total mass of the model.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
|
inline |
Compute the total mass of the model and return it.
[in] | model | The model structure of the rigid body system. |
|
inline |
Compute the total mass of the model, put it in data.mass[0] and return it.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
|
inline |
Visit a JointDataVariant through JointConstraintVisitor to get the joint constraint as a dense constraint.
[in] | jdata | The joint data to visit. |
|
inline |
Copy part of the data from <orig> to <dest>. Template parameter can be used to select at which differential level the copy should occur.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | orig | Data from which the values are copied. |
[out] | dest | Data to which the values are copied |
[in] | LEVEL | if =0, copy oMi. If =1, also copy v. If =2, also copy a, a_gf and f. |
Definition at line 42 of file copy.hpp.
References DataTpl< _Scalar, _Options, JointCollectionTpl >::a, DataTpl< _Scalar, _Options, JointCollectionTpl >::a_gf, DataTpl< _Scalar, _Options, JointCollectionTpl >::f, ModelTpl< _Scalar, _Options, JointCollectionTpl >::njoints, DataTpl< _Scalar, _Options, JointCollectionTpl >::oMi, and DataTpl< _Scalar, _Options, JointCollectionTpl >::v.
|
inline |
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid Body Algorithm (Chapter 6, Rigid-Body Dynamics Algorithms, R. Featherstone, 2008). The result is accessible through data.M.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
Referenced by CodeGenCRBA< _Scalar >::buildMap().
|
inline |
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid Body Algorithm (Chapter 6, Rigid-Body Dynamics Algorithms, R. Featherstone, 2008). The result is accessible through data.M.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
|
inline |
Visit a JointModelTpl through CreateData visitor to create a JointDataTpl.
JointCollection | Collection of Joint types. |
[in] | jmodel | The JointModelTpl we want to create a data for. |
Referenced by JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::addJoint().
|
inline |
Applies the cross product onto the columns of M.
[in] | v | a vector of dimension 3. |
[in] | Min | a 3 rows matrix. |
[out] | Mout | a 3 rows matrix. |
Definition at line 211 of file skew.hpp.
Referenced by cross(), and InertiaTpl< Scalar, Options >::se3ActionInverse_impl().
|
inline |
|
inline |
Computes the time derivative of the Centroidal Momentum Matrix according to the current configuration and velocity vectors.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint configuration vector (dim model.nv). |
bool PINOCCHIO_DEPRECATED pinocchio::defineSameRotation | ( | const Eigen::QuaternionBase< D1 > & | q1, |
const Eigen::QuaternionBase< D2 > & | q2, | ||
const typename D1::RealScalar & | prec = Eigen::NumTraits<typename D1::Scalar>::dummy_precision() |
||
) |
Definition at line 134 of file quaternion.hpp.
References pinocchio::quaternion::defineSameRotation().
void pinocchio::difference | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | q0, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | q1, | ||
const Eigen::MatrixBase< ReturnType > & | dvout | ||
) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1.
This function corresponds to the log map of the joint configuration Lie Group. Its output can be interpreted as a difference from the joint configuration space to the Lie algebra \( q_1 \ominus q_0 \).
[in] | model | Model of the system |
[in] | q0 | Initial configuration (size model.nq) |
[in] | q1 | Wished configuration (size model.nq) |
[out] | dvout | The corresponding velocity (size model.nv) |
Definition at line 124 of file joint-configuration.hpp.
References squaredDistance().
Referenced by interpolate().
void pinocchio::difference | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | q0, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | q1, | ||
const Eigen::MatrixBase< ReturnType > & | dvout | ||
) |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1.
This function corresponds to the log map of the joint configuration Lie Group. Its output can be interpreted as a difference from the joint configuration space to the Lie algebra \( q_1 \ominus q_0 \).
[in] | model | Model of the system |
[in] | q0 | Initial configuration (size model.nq) |
[in] | q1 | Wished configuration (size model.nq) |
[out] | dvout | The corresponding velocity (size model.nv) |
Definition at line 124 of file joint-configuration.hpp.
References squaredDistance().
Referenced by interpolate().
|
inline |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1.
[in] | model | Model of the system |
[in] | q0 | Initial configuration (size model.nq) |
[in] | q1 | Wished configuration (size model.nq) |
Definition at line 544 of file joint-configuration.hpp.
References squaredDistance().
|
inline |
Compute the tangent vector that must be integrated during one unit time to go from q0 to q1.
[in] | model | Model of the system |
[in] | q0 | Initial configuration (size model.nq) |
[in] | q1 | Wished configuration (size model.nq) |
Definition at line 544 of file joint-configuration.hpp.
References squaredDistance().
void pinocchio::dIntegrate | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorType > & | q, | ||
const Eigen::MatrixBase< TangentVectorType > & | v, | ||
const Eigen::MatrixBase< JacobianMatrixType > & | J, | ||
const ArgumentPosition | arg | ||
) |
Computes the Jacobian of a small variation of the configuration vector or the tangent vector into the tangent space at identity.
This jacobian has to be interpreted in terms of Lie group, not vector space: as such, it is expressed in the tangent space only, not the configuration space. Calling \( f(q, v) \) the integrate function, these jacobians satisfy the following relationships in the tangent space:
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
[out] | J | Jacobian of the Integrate operation, either with respect to q or v (size model.nv x model.nv). |
[in] | arg | Argument (either q or v) with respect to which the |
This jacobian has to be interpreted in terms of Lie group, not vector space: as such, it is expressed in the tangent space only, not the configuration space. Calling \( f(q, v) \) the integrate function, these jacobians satisfy the following relationships in the tangent space:
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
[out] | J | Jacobian of the Integrate operation, either with respect to q or v (size model.nv x model.nv). |
[in] | arg | Argument (either q or v) with respect to which the |
Definition at line 271 of file joint-configuration.hpp.
References squaredDistanceSum().
Referenced by neutral().
void pinocchio::dIntegrate | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorType > & | q, | ||
const Eigen::MatrixBase< TangentVectorType > & | v, | ||
const Eigen::MatrixBase< JacobianMatrixType > & | J, | ||
const ArgumentPosition | arg | ||
) |
Computes the Jacobian of a small variation of the configuration vector or the tangent vector into the tangent space at identity.
This jacobian has to be interpreted in terms of Lie group, not vector space: as such, it is expressed in the tangent space only, not the configuration space. Calling \( f(q, v) \) the integrate function, these jacobians satisfy the following relationships in the tangent space:
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
[out] | J | Jacobian of the Integrate operation, either with respect to q or v (size model.nv x model.nv). |
[in] | arg | Argument (either q or v) with respect to which the |
Definition at line 271 of file joint-configuration.hpp.
References squaredDistanceSum().
Referenced by neutral().
|
inline |
Visit a JointDataTpl through JointDInvInertiaVisitor to get the D^{-1} matrix of the inertia matrix decomposition.
[in] | jdata | The jdata |
|
inline |
Distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 337 of file joint-configuration.hpp.
References normalize().
Referenced by squaredDistanceSum().
|
inline |
Distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 337 of file joint-configuration.hpp.
References normalize().
Referenced by squaredDistanceSum().
|
inline |
Browse through the kinematic structure with a void step.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
Eigen::Matrix<typename Vector3Like::Scalar,3,3, Vector3Like ::Options> pinocchio::exp3 | ( | const Eigen::MatrixBase< Vector3Like > & | v | ) |
Exp: so3 -> SO3.
Return the integral of the input angular velocity during time 1.
[in] | v | The angular velocity vector. |
Definition at line 31 of file explog.hpp.
References SINCOS().
Referenced by SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv().
SE3Tpl<typename MotionDerived::Scalar, typename MotionDerived::Vector3 ::Options> pinocchio::exp6 | ( | const MotionDense< MotionDerived > & | nu | ) |
Exp: se3 -> SE3.
Return the integral of the input twist during time 1.
[in] | nu | The input twist. |
Definition at line 248 of file explog.hpp.
References SINCOS().
Referenced by exp6(), and SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv().
SE3Tpl<typename Vector6Like::Scalar, Vector6Like ::Options> pinocchio::exp6 | ( | const Eigen::MatrixBase< Vector6Like > & | v | ) |
Exp: se3 -> SE3.
Return the integral of the input spatial velocity during time 1.
[in] | v | The twist represented by a vector. |
Definition at line 315 of file explog.hpp.
References exp6().
|
inline |
Parse an environment variable if exists and extract paths according to the delimiter.
[in] | env_var_name | The name of the environment variable. |
[in] | delimiter | The delimiter between two consecutive paths. |
Definition at line 23 of file file-explorer.hpp.
Referenced by rosPaths().
|
inline |
Computes the finite difference increments for each degree of freedom according to the current joint configuration.
JointCollection | Collection of Joint types. |
[in] model The model of the kinematic tree.
Referenced by JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::addJoint().
|
inline |
Returns the finite difference increment of the joint model.
[in] | jmodel | The model of the joint. |
void PINOCCHIO_DEPRECATED pinocchio::firstOrderNormalize | ( | const Eigen::QuaternionBase< D > & | q | ) |
Definition at line 145 of file quaternion.hpp.
References pinocchio::quaternion::firstOrderNormalize().
|
inline |
Compute the forward dynamics with contact constraints.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint torque vector. |
ConstraintMatrixType | Type of the constraint matrix. |
DriftVectorType | Type of the drift vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
[in] | v | The joint velocity (vector dim model.nv). |
[in] | tau | The joint torque vector (dim model.nv). |
[in] | J | The Jacobian of the constraints (dim nb_constraints*model.nv). |
[in] | gamma | The drift of the constraints (dim nb_constraints). |
[in] | inv_damping | Damping factor for cholesky decomposition of JMinvJt. Set to zero if constraints are full rank. |
[in] | updateKinematics | If true, the algorithm calls first pinocchio::computeAllTerms. Otherwise, it uses the current dynamic values stored in data. \ |
|
inline |
Update the joint placements according to the current joint configuration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
Referenced by kineticEnergy(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), and potentialEnergy().
|
inline |
Update the joint placements and spatial velocities according to the current joint configuration and velocity.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
[in] | v | The joint velocity (vector dim model.nv). |
|
inline |
Update the joint placements, spatial velocities and spatial accelerations according to the current joint configuration, velocity and acceleration.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
[in] | v | The joint velocity (vector dim model.nv). |
[in] | a | The joint acceleration (vector dim model.nv). |
|
inline |
Computes the Jacobian of a specific Frame expressed in the LOCAL frame coordinate system.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | frameId | The id of the Frame refering to model.frames[frameId]. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.setZero(). |
Referenced by getFrameAcceleration().
|
inline |
First calls the forwardKinematics on the model, then computes the placement of each frame. /sa pinocchio::forwardKinematics.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The kinematic model. |
data | Data associated to model. | |
[in] | q | Configuration vector. |
|
inline |
Computes the partial derivatie of the center-of-mass velocity with respect to the joint configuration q. You must first call computForwardKinematicsDerivatives and computeCenterOfMass(q,vq) before calling this function.
JointCollection | Collection of Joint types. |
Matrix3xOut | Matrix3x containing the partial derivatives of the CoM velocity with respect to the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[out] | v_partial_dq | Partial derivative of the CoM velocity w.r.t. \( q \). |
|
inline |
Retrive the analytical derivatives of the centroidal dynamics from the RNEA derivatives. pinocchio::computeRNEADerivatives should have been called first.
Computes the first order approximation of the centroidal dynamics time derivative and corresponds to the following equation \( d\dot{h_{g}} = \frac{\partial \dot{h_{g}}}{\partial \mathbf{q}} d\mathbf{q} + \frac{\partial \dot{h_{g}}}{\partial \mathbf{v}} d\mathbf{v} + \frac{\partial \dot{h_{g}}}{\partial \mathbf{a}} d\mathbf{a} \)
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[out] | dhdot_dq | The partial derivative of the centroidal dynamics with respect to the configuration vector (dim 6 x model.nv). |
[out] | dhdot_dv | The partial derivative of the centroidal dynamics with respect to the velocity vector (dim 6 x model.nv). |
[out] | dhdot_da | The partial derivative of the centroidal dynamics with respect to the acceleration vector (dim 6 x model.nv). |
|
inline |
Extracts the center of mass position from the joint space inertia matrix (also called the mass matrix).
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
Referenced by centerOfMass().
|
inline |
Returns the spatial acceleration of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement values in data structure.
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
Referenced by getFrameAcceleration(), and getFrameVelocity().
|
inline |
Returns the spatial acceleration of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement values in data structure.
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
[out] | frame_a | The spatial acceleration of the Frame expressed in the coordinates Frame. |
Definition at line 137 of file frames.hpp.
References frameJacobian(), getFrameAcceleration(), and getFrameJacobian().
|
inline |
Returns the jacobian of the frame expressed either expressed in the LOCAL frame coordinate system or in the WORLD coordinate system, depending on the value of rf. You must first call pinocchio::computeJointJacobians followed by pinocchio::framesForwardKinematics to update placement values in data structure.
JointCollection | Collection of Joint types. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
[in] | rf | Reference frame in which the Jacobian is expressed. |
[out] | J | The Jacobian of the Frame expressed in the coordinates Frame. |
Referenced by getFrameAcceleration(), and getFrameJacobian().
PINOCCHIO_DEPRECATED void pinocchio::getFrameJacobian | ( | const Model & | model, |
const Data & | data, | ||
const Model::FrameIndex | frame_id, | ||
Data::Matrix6x & | J | ||
) |
Returns the jacobian of the frame expresssed either expressed in the LOCAL frame coordinate system or in the WORLD coordinate system, depending on the value of rf. You must first call pinocchio::computeJointJacobians followed by pinocchio::updateFramePlacements to update placement values in data structure.
rf | Reference frame in which the columns of the Jacobian are expressed. |
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
[in] | rf | Reference frame in which the Jacobian is expressed. |
[out] | J | The Jacobian of the Frame expressed in the coordinates Frame. |
Definition at line 219 of file frames.hpp.
References getFrameJacobian(), and getFrameJacobianTimeVariation().
|
inline |
Returns the jacobian of the frame expresssed in the LOCAL coordinate system of the frame. You must first call pinocchio::computeJointJacobians followed by pinocchio::updateFramePlacements to update placement values in data structure.
JointCollection | Collection of Joint types. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
[out] | J | The Jacobian of the Frame expressed in the coordinates Frame. |
void pinocchio::getFrameJacobianTimeVariation | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const typename ModelTpl< Scalar, Options, JointCollectionTpl >::FrameIndex | frame_id, | ||
const ReferenceFrame | rf, | ||
const Eigen::MatrixBase< Matrix6xLike > & | dJ | ||
) |
Computes the Jacobian time variation of a specific frame (given by frame_id) expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL).
JointCollection | Collection of Joint types. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | frameId | The index of the frame. |
[in] | rf | Reference frame in which the Jacobian is expressed. |
[out] | dJ | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill dJ with zero elements, e.g. dJ.fill(0.). |
Referenced by getFrameJacobian(), and getFrameJacobianTimeVariation().
PINOCCHIO_DEPRECATED void pinocchio::getFrameJacobianTimeVariation | ( | const Model & | model, |
const Data & | data, | ||
const Model::FrameIndex | frameId, | ||
Data::Matrix6x & | dJ | ||
) |
Computes the Jacobian time variation of a specific frame (given by frame_id) expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL).
rf | Reference frame in which the Jacobian is expressed. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | frameId | The index of the frame. |
[out] | dJ | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill dJ with zero elements, e.g. dJ.fill(0.). |
Definition at line 282 of file frames.hpp.
References getFrameJacobianTimeVariation().
|
inline |
Returns the spatial velocity of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement and velocity values in data structure.
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
Referenced by getFrameVelocity().
|
inline |
Returns the spatial velocity of the frame expressed in the LOCAL frame coordinate system. You must first call pinocchio::forwardKinematics to update placement and velocity values in data structure.
[in] | model | The kinematic model |
[in] | data | Data associated to model |
[in] | frame_id | Id of the operational Frame |
[out] | frame_v | The spatial velocity of the Frame expressed in the coordinates Frame. |
Definition at line 96 of file frames.hpp.
References getFrameAcceleration(), and getFrameVelocity().
PINOCCHIO_DEPRECATED void pinocchio::getJacobian | ( | const Model & | model, |
const Data & | data, | ||
const Model::JointIndex | jointId, | ||
Data::Matrix6x & | J | ||
) |
Computes the Jacobian of a specific joint frame expressed either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint.
rf | Reference frame in which the Jacobian is expressed. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.fill(0.). |
Definition at line 149 of file jacobian.hpp.
References jointJacobian().
|
inline |
Extracts both the jacobian of the center of mass (CoM), the total mass of the system and the CoM position from the joint space inertia matrix (also called the mass matrix). The results are accessible through data.Jcom, data.mass[0] and data.com[0] and are both expressed in the world frame.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
Referenced by centerOfMass().
|
inline |
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL) of the joint.
rf | Reference frame in which the Jacobian is expressed. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | dJ | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill dJ with zero elements, e.g. dJ.fill(0.). |
Definition at line 333 of file jacobian.hpp.
|
inline |
Computes the partial derivaties of the spatial acceleration of a given with respect to the joint configuration, velocity and acceleration. You must first call computForwardKinematicsDerivatives before calling this function. It is important to notice that a direct outcome (for free) of this algo is v_partial_dq and v_partial_dv which is equal to a_partial_da.
JointCollection | Collection of Joint types. |
Matrix6xOut1 | Matrix6x containing the partial derivatives of the spatial velocity with respect to the joint configuration vector. |
Matrix6xOut2 | Matrix6x containing the partial derivatives of the spatial acceleration with respect to the joint configuration vector. |
Matrix6xOut3 | Matrix6x containing the partial derivatives of the spatial acceleration with respect to the joint velocity vector. |
Matrix6xOut4 | Matrix6x containing the partial derivatives of the spatial acceleration with respect to the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | Index of the joint in model. |
[in] | rf | Reference frame in which the Jacobian is expressed. |
[out] | v_partial_dq | Partial derivative of the joint spatial velocity w.r.t. \( q \). |
[out] | a_partial_dq | Partial derivative of the joint spatial acceleration w.r.t. \( q \). |
[out] | a_partial_dq | Partial derivative of the joint spatial acceleration w.r.t. \( \dot{q} \). |
[out] | a_partial_dq | Partial derivative of the joint spatial acceleration w.r.t. \( \ddot{q} \). |
|
inline |
Computes the Jacobian of a specific joint frame expressed either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint.
JointCollection | Collection of Joint types. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.fill(0.). |
Referenced by computeJacobians(), and getJointJacobian().
PINOCCHIO_DEPRECATED void pinocchio::getJointJacobian | ( | const Model & | model, |
const Data & | data, | ||
const Model::JointIndex | jointId, | ||
Data::Matrix6x & | J | ||
) |
Computes the Jacobian of a specific joint frame expressed either in the world (rf = WORLD) frame or in the local frame (rf = LOCAL) of the joint.
rf | Reference frame in which the Jacobian is expressed. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.fill(0.). |
Definition at line 127 of file jacobian.hpp.
References getJointJacobian().
|
inline |
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL) of the joint.
JointCollection | Collection of Joint types. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | dJ | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill dJ with zero elements, e.g. dJ.fill(0.). |
Referenced by computeJacobiansTimeVariation(), and getJointJacobianTimeVariation().
|
inline |
Computes the Jacobian time variation of a specific joint frame expressed either in the world frame (rf = WORLD) or in the local frame (rf = LOCAL) of the joint.
rf | Reference frame in which the Jacobian is expressed. |
[in] | localFrame | Expressed the Jacobian in the local frame or world frame coordinates system. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | jointId | The id of the joint. |
[out] | dJ | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill dJ with zero elements, e.g. dJ.fill(0.). |
Definition at line 310 of file jacobian.hpp.
References getJointJacobianTimeVariation().
|
inline |
Computes the partial derivaties of the spatial velocity of a given with respect to the joint configuration and velocity. You must first call computForwardKinematicsDerivatives before calling this function.
JointCollection | Collection of Joint types. |
Matrix6xOut1 | Matrix6x containing the partial derivatives with respect to the joint configuration vector. |
Matrix6xOut2 | Matrix6x containing the partial derivatives with respect to the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | rf | Reference frame in which the Jacobian is expressed. |
[out] | partial_dq | Partial derivative of the joint velociy w.r.t. \( q \). |
[out] | partial_dq | Partial derivative of the joint velociy w.r.t. \( \dot{q} \). |
|
inline |
Computes the inverse of the KKT matrix for dynamics with contact constraints, [[M JT], [J 0]]. The matrix is defined when we call forwardDynamics/impulsedynamics. This method makes use of the matrix decompositions performed during the forwardDynamics/impulasedynamics and returns the inverse. The jacobian should be the same that was provided to forwardDynamics/impulasedynamics. Thus you should call forward Dynamics/impulsedynamics first.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[out] | MJtJ_inv | inverse of the MJtJ matrix. |
|
inline |
Visit a JointModelTpl through JointIdVisitor to get the index of the joint in the kinematic chain.
[in] | jmodel | The JointModelVariant |
Referenced by JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement().
|
inline |
Visit a JointModelTpl through JointIdxQVisitor to get the index in the full model configuration space corresponding to the first degree of freedom of the Joint.
[in] | jmodel | The JointModelVariant |
Referenced by JointModelRevoluteUnboundedTpl< _Scalar, _Options, axis >::cast(), JointModelFreeFlyerTpl< _Scalar, _Options >::cast(), JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::cast(), JointModelSphericalZYXTpl< _Scalar, _Options >::cast(), JointModelSphericalTpl< _Scalar, _Options >::cast(), JointModelPrismaticUnalignedTpl< _Scalar, _Options >::cast(), JointModelPlanarTpl< _Scalar, _Options >::cast(), JointModelRevoluteUnalignedTpl< _Scalar, _Options >::cast(), JointModelTranslationTpl< _Scalar, _Options >::cast(), JointModelPrismaticTpl< _Scalar, _Options, axis >::cast(), JointModelRevoluteTpl< _Scalar, _Options, axis >::cast(), JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement(), and JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::updateJointIndexes().
|
inline |
Visit a JointModelTpl through JointIdxVVisitor to get the index in the full model tangent space corresponding to the first joint tangent space degree.
[in] | jmodel | The JointModelVariant |
Referenced by JointModelRevoluteUnboundedTpl< _Scalar, _Options, axis >::cast(), JointModelFreeFlyerTpl< _Scalar, _Options >::cast(), JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::cast(), JointModelSphericalZYXTpl< _Scalar, _Options >::cast(), JointModelSphericalTpl< _Scalar, _Options >::cast(), JointModelPrismaticUnalignedTpl< _Scalar, _Options >::cast(), JointModelPlanarTpl< _Scalar, _Options >::cast(), JointModelRevoluteUnalignedTpl< _Scalar, _Options >::cast(), JointModelTranslationTpl< _Scalar, _Options >::cast(), JointModelPrismaticTpl< _Scalar, _Options, axis >::cast(), JointModelRevoluteTpl< _Scalar, _Options, axis >::cast(), JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement(), and JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::updateJointIndexes().
|
inline |
Compute the impulse dynamics with contact constraints.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
ConstraintMatrixType | Type of the constraint matrix. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration (vector dim model.nq). |
[in] | v_before | The joint velocity before impact (vector dim model.nv). |
[in] | J | The Jacobian of the constraints (dim nb_constraints*model.nv). |
[in] | r_coeff | The coefficient of restitution. Must be in [0;1]. |
[in] | updateKinematics | If true, the algorithm calls first pinocchio::crba. Otherwise, it uses the current mass matrix value stored in data. |
void pinocchio::integrate | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorType > & | q, | ||
const Eigen::MatrixBase< TangentVectorType > & | v, | ||
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
This function corresponds to the exponential map of the joint configuration Lie Group. Its output can be interpreted as the "sum" from the Lie algebra to the joint configuration space \( q \oplus v \).
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
[out] | qout | The integrated configuration (size model.nq) |
Definition at line 48 of file joint-configuration.hpp.
References interpolate().
Referenced by integrateCoeffWiseJacobian().
void pinocchio::integrate | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorType > & | q, | ||
const Eigen::MatrixBase< TangentVectorType > & | v, | ||
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
This function corresponds to the exponential map of the joint configuration Lie Group. Its output can be interpreted as the "sum" from the Lie algebra to the joint configuration space \( q \oplus v \).
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
[out] | qout | The integrated configuration (size model.nq) |
Definition at line 48 of file joint-configuration.hpp.
References interpolate().
Referenced by integrateCoeffWiseJacobian().
|
inline |
Visit a LieGroupVariant to call its integrate method.
[in] | lg | the LieGroupVariant. |
[in] | q | the starting configuration. |
[in] | v | the tangent velocity. |
|
inline |
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
Definition at line 474 of file joint-configuration.hpp.
References interpolate().
|
inline |
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
[in] | model | Model that must be integrated |
[in] | q | Initial configuration (size model.nq) |
[in] | v | Joint velocity (size model.nv) |
Definition at line 474 of file joint-configuration.hpp.
References interpolate().
|
inline |
Return the Jacobian of the integrate function for the components of the config vector.
[in] | model | Model of rigid body system. |
[out] | jacobian | The Jacobian of the integrate operation. |
This function is often required for the numerical solvers that are working on the tangent of the configuration space, instead of the configuration space itself.
Definition at line 436 of file joint-configuration.hpp.
References integrate(), and jacobian().
Referenced by isSameConfiguration().
|
inline |
Return the Jacobian of the integrate function for the components of the config vector.
[in] | model | Model of rigid body system. |
[out] | jacobian | The Jacobian of the integrate operation. |
This function is often required for the numerical solvers that are working on the tangent of the configuration space, instead of the configuration space itself.
Definition at line 436 of file joint-configuration.hpp.
References integrate(), and jacobian().
Referenced by isSameConfiguration().
void interpolate | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | q0, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | q1, | ||
const Scalar & | u, | ||
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Interpolate two configurations for a given model.
[in] | model | Model to be interpolated |
[in] | q0 | Initial configuration vector (size model.nq) |
[in] | q1 | Final configuration vector (size model.nq) |
[in] | u | u in [0;1] position along the interpolation. |
[out] | qout | The interpolated configuration (q0 if u = 0, q1 if u = 1) |
Definition at line 84 of file joint-configuration.hpp.
References difference().
Referenced by integrate().
|
inline |
Interpolate two configurations for a given model.
[in] | model | Model to be interpolated |
[in] | q0 | Initial configuration vector (size model.nq) |
[in] | q1 | Final configuration vector (size model.nq) |
[in] | u | u in [0;1] position along the interpolation. |
Definition at line 510 of file joint-configuration.hpp.
References difference().
|
inline |
Return true if the given configurations are equivalents.
[in] | model | Model |
[in] | q1 | The first configuraiton to compare |
[in] | q2 | The second configuration to compare |
[in] | prec | precision of the comparison |
Definition at line 400 of file joint-configuration.hpp.
References integrateCoeffWiseJacobian(), and jacobian().
Referenced by normalize().
|
inline |
Return true if the given configurations are equivalents.
[in] | model | Model |
[in] | q1 | The first configuraiton to compare |
[in] | q2 | The second configuration to compare |
[in] | prec | precision of the comparison |
Definition at line 400 of file joint-configuration.hpp.
References integrateCoeffWiseJacobian(), and jacobian().
Referenced by normalize().
|
inline |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint and store the result in the input argument J.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | jointId | The id of the joint refering to model.joints[jointId]. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.setZero(). |
Definition at line 201 of file jacobian.hpp.
References jointJacobian().
Referenced by integrateCoeffWiseJacobian(), and isSameConfiguration().
|
inline |
Computes both the jacobian and the the center of mass position of a given model according to a particular joint configuration. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | computeSubtreeComs | If true, the algorithm also computes the center of mass of the subtrees. |
[in] | updateKinematics | If true, the algorithm updates first the geometry of the tree. Otherwise, it uses the current kinematics stored in data. |
Referenced by centerOfMass().
|
inline |
Computes both the jacobian and the the center of mass position of a given model according to a particular joint configuration. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | computeSubtreeComs | If true, the algorithm also computes the center of mass of the subtrees. |
|
inline |
Computes both the jacobian and the the center of mass position of a given model according to the current value stored in data. It assumes that forwardKinematics has been called first. The results are accessible through data.Jcom and data.com[0] and are both expressed in the world frame. In addition, the algorithm also computes the Jacobian of all the joints (.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | computeSubtreeComs | If true, the algorithm also computes the center of mass of the subtrees. |
|
inline |
Visit a JointDataTpl through JointTransformVisitor to get the joint internal transform (transform between the entry frame and the exit frame of the joint).
[in] | jdata | The joint data to visit. |
|
inline |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint and store the result in the input argument J.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
Matrix6xLike | Type of the matrix containing the joint Jacobian. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | jointId | The id of the joint refering to model.joints[jointId]. |
[out] | J | A reference on the Jacobian matrix where the results will be stored in (dim 6 x model.nv). You must fill J with zero elements, e.g. J.setZero(). |
Referenced by getJacobian(), jacobian(), and jointJacobian().
|
inline |
Computes the Jacobian of a specific joint frame expressed in the local frame of the joint. The result is stored in data.J.
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | jointId | The id of the joint refering to model.joints[jointId]. |
Definition at line 220 of file jacobian.hpp.
References computeJointJacobiansTimeVariation(), DataTpl< _Scalar, _Options, JointCollectionTpl >::J, and jointJacobian().
|
inline |
Computes the kinetic energy of the system. The result is accessible through data.kinetic_energy.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
Definition at line 67 of file energy.hpp.
References ModelTpl< _Scalar, _Options, JointCollectionTpl >::check(), forwardKinematics(), ModelTpl< _Scalar, _Options, JointCollectionTpl >::inertias, DataTpl< _Scalar, _Options, JointCollectionTpl >::kinetic_energy, ModelTpl< _Scalar, _Options, JointCollectionTpl >::njoints, ModelTpl< _Scalar, _Options, JointCollectionTpl >::nq, ModelTpl< _Scalar, _Options, JointCollectionTpl >::nv, and DataTpl< _Scalar, _Options, JointCollectionTpl >::v.
Eigen::Matrix<typename Matrix3Like::Scalar,3,1, Matrix3Like ::Options> pinocchio::log3 | ( | const Eigen::MatrixBase< Matrix3Like > & | R, |
typename Matrix3Like::Scalar & | theta | ||
) |
Same as log3.
[in] | R | the rotation matrix. |
[out] | theta | the angle value. |
Definition at line 78 of file explog.hpp.
Referenced by Jexp3(), Jlog6(), log3(), log6(), and SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv().
Eigen::Matrix<typename Matrix3Like::Scalar,3,1, Matrix3Like ::Options> pinocchio::log3 | ( | const Eigen::MatrixBase< Matrix3Like > & | R | ) |
Log: SO3 -> so3.
Pseudo-inverse of log from \( SO3 -> { v \in so3, ||v|| \le pi } \).
[in] | R | The rotation matrix. |
Definition at line 132 of file explog.hpp.
References log3().
Log: SE3 -> se3.
Pseudo-inverse of exp from SE3 -> { v,w se3, ||w|| < 2pi }.
[in] | M | The rigid transformation. |
Definition at line 333 of file explog.hpp.
References log3(), and SINCOS().
Referenced by log6(), and SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv().
MotionTpl<typename Matrix4Like::Scalar,Eigen::internal::traits<Matrix4Like>::Options> pinocchio::log6 | ( | const Eigen::MatrixBase< Matrix4Like > & | M | ) |
Log: SE3 -> se3.
Pseudo-inverse of exp from SE3 -> { v,w se3, ||w|| < 2pi }.
[in] | R | The rigid transformation represented as an homogenous matrix. |
Definition at line 372 of file explog.hpp.
References log6().
|
inline |
Visit a JointDataTpl through JointMotionVisitor to get the joint internal motion as a dense motion.
[in] | jdata | The joint data to visit. |
|
inline |
Visit a LieGroupVariant to get the name of it.
[in] | lg | the LieGroupVariant. |
Referenced by GeometryModel::addGeometryObject(), CartesianProductOperationVariant::append(), CartesianProductOperation< LieGroup1, LieGroup2 >::nv(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), and VectorSpaceOperationTpl< Dim, _Scalar, _Options >::VectorSpaceOperationTpl().
|
inline |
Visit a LieGroupVariant to get the neutral element of it.
[in] | lg | the LieGroupVariant. |
void pinocchio::neutral | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Return the neutral configuration element related to the model configuration space.
[in] | model | Model |
[out] | qout | The neutral configuration element. |
Definition at line 224 of file joint-configuration.hpp.
References dIntegrate().
Referenced by CartesianProductOperationVariant::append(), CartesianProductOperation< LieGroup1, LieGroup2 >::nv(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), randomConfiguration(), and VectorSpaceOperationTpl< Dim, _Scalar, _Options >::VectorSpaceOperationTpl().
void pinocchio::neutral | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Return the neutral configuration element related to the model configuration space.
[in] | model | Model |
[out] | qout | The neutral configuration element. |
Definition at line 224 of file joint-configuration.hpp.
References dIntegrate().
Referenced by CartesianProductOperationVariant::append(), CartesianProductOperation< LieGroup1, LieGroup2 >::nv(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), randomConfiguration(), and VectorSpaceOperationTpl< Dim, _Scalar, _Options >::VectorSpaceOperationTpl().
|
inline |
Return the neutral configuration element related to the model configuration space.
[in] | model | Model |
Definition at line 680 of file joint-configuration.hpp.
|
inline |
Return the neutral configuration element related to the model configuration space.
[in] | model | Model |
Definition at line 680 of file joint-configuration.hpp.
|
inline |
Computes the non-linear effects (Corriolis, centrifual and gravitationnal effects), also called the bias terms \( b(q,\dot{q}) \) of the Lagrangian dynamics:
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType | Type of the joint velocity vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
|
inline |
Normalize a configuration vector.
[in] | model | Model |
[in,out] | q | Configuration to normalize |
Definition at line 363 of file joint-configuration.hpp.
References isSameConfiguration().
Referenced by distance(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), and SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv().
|
inline |
Normalize a configuration vector.
[in] | model | Model |
[in,out] | q | Configuration to normalize |
Definition at line 363 of file joint-configuration.hpp.
References isSameConfiguration().
Referenced by distance(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), and SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv().
|
inline |
Visit a LieGroupVariant to get the dimension of the Lie group configuration space.
[in] | lg | the LieGroupVariant. |
|
inline |
Visit a JointModelTpl through JointNqVisitor to get the dimension of the joint configuration space.
[in] | jmodel | The JointModelVariant |
Referenced by JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::addJoint(), CartesianProductOperationVariant::append(), JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement(), CartesianProductOperation< LieGroup1, LieGroup2 >::nv(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::setIndexes_impl(), and VectorSpaceOperationTpl< Dim, _Scalar, _Options >::VectorSpaceOperationTpl().
|
inline |
Visit a LieGroupVariant to get the dimension of the Lie group tangent space.
[in] | lg | the LieGroupVariant. |
|
inline |
Visit a JointModelTpl through JointNvVisitor to get the dimension of the joint tangent space.
[in] | jmodel | The JointModelVariant |
Referenced by JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::addJoint(), CartesianProductOperationVariant::append(), JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement(), JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::jointBlock(), CartesianProductOperation< LieGroup1, LieGroup2 >::nv(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 2, _Scalar, _Options >::nv(), SpecialOrthogonalOperationTpl< 3, _Scalar, _Options >::nv(), SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::setIndexes_impl(), and VectorSpaceOperationTpl< Dim, _Scalar, _Options >::VectorSpaceOperationTpl().
const Scalar pinocchio::PI | ( | ) |
Returns the value of PI according to the template parameters Scalar.
Scalar | The scalar type of the return pi value |
Definition at line 43 of file math/fwd.hpp.
References PI().
Referenced by PI().
|
inline |
Computes the potential energy of the system, i.e. the potential energy linked to the gravity field. The result is accessible through data.potential_energy.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
Definition at line 95 of file energy.hpp.
References ModelTpl< _Scalar, _Options, JointCollectionTpl >::check(), forwardKinematics(), ModelTpl< _Scalar, _Options, JointCollectionTpl >::gravity, ModelTpl< _Scalar, _Options, JointCollectionTpl >::inertias, ModelTpl< _Scalar, _Options, JointCollectionTpl >::njoints, ModelTpl< _Scalar, _Options, JointCollectionTpl >::nq, DataTpl< _Scalar, _Options, JointCollectionTpl >::oMi, and DataTpl< _Scalar, _Options, JointCollectionTpl >::potential_energy.
void pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | lowerLimits, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | upperLimits, | ||
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Generate a configuration vector uniformly sampled among provided limits.
[in] | model | Model for which we want to generate a configuration vector. |
[in] | lowerLimits | Joints lower limits |
[in] | upperLimits | Joints upper limits |
[out] | qout | The resulted configuration vector (size model.nq) |
Definition at line 198 of file joint-configuration.hpp.
References neutral().
Referenced by randomConfiguration(), and squaredDistance().
void pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | lowerLimits, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | upperLimits, | ||
const Eigen::MatrixBase< ReturnType > & | qout | ||
) |
Generate a configuration vector uniformly sampled among provided limits.
[in] | model | Model for which we want to generate a configuration vector. |
[in] | lowerLimits | Joints lower limits |
[in] | upperLimits | Joints upper limits |
[out] | qout | The resulted configuration vector (size model.nq) |
Definition at line 198 of file joint-configuration.hpp.
References neutral().
Referenced by randomConfiguration(), and squaredDistance().
ModelTpl<Scalar,Options,JointCollectionTpl>::ConfigVectorType pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | lowerLimits, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | upperLimits | ||
) |
Generate a configuration vector uniformly sampled among provided limits.
[in] | model | Model for which we want to generate a configuration vector. |
[in] | lowerLimits | Joints lower limits |
[in] | upperLimits | Joints upper limits |
Definition at line 618 of file joint-configuration.hpp.
References randomConfiguration().
ModelTpl<Scalar,Options,JointCollectionTpl>::ConfigVectorType pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | lowerLimits, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | upperLimits | ||
) |
Generate a configuration vector uniformly sampled among provided limits.
[in] | model | Model for which we want to generate a configuration vector. |
[in] | lowerLimits | Joints lower limits |
[in] | upperLimits | Joints upper limits |
Definition at line 618 of file joint-configuration.hpp.
References randomConfiguration().
ModelTpl<Scalar,Options,JointCollectionTpl>::ConfigVectorType pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model | ) |
Generate a configuration vector uniformly sampled among the joint limits of the specified Model.
[in] | model | Model for which we want to generate a configuration vector. |
Definition at line 655 of file joint-configuration.hpp.
References neutral().
ModelTpl<Scalar,Options,JointCollectionTpl>::ConfigVectorType pinocchio::randomConfiguration | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model | ) |
Generate a configuration vector uniformly sampled among the joint limits of the specified Model.
[in] | model | Model for which we want to generate a configuration vector. |
Definition at line 655 of file joint-configuration.hpp.
References neutral().
|
inline |
Generate a random string composed of alphanumeric symbols of a given length.
len The length of the output string.
Definition at line 21 of file string-generator.hpp.
|
inline |
Retrieve the path of the file whose path is given in an url-format. Currently convert from the folliwing patterns : package:// or file://.
[in] | string | The path given in the url-format |
[in] | package_dirs | A list of packages directories where to search for files if its pattern starts with package:// |
|
inline |
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques according to the current state of the system and the desired joint accelerations.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
Referenced by CodeGenRNEA< _Scalar >::buildMap().
|
inline |
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques according to the current state of the system, the desired joint accelerations and the external forces.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
TangentVectorType1 | Type of the joint velocity vector. |
TangentVectorType2 | Type of the joint acceleration vector. |
ForceDerived | Type of the external forces. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | q | The joint configuration vector (dim model.nq). |
[in] | v | The joint velocity vector (dim model.nv). |
[in] | a | The joint acceleration vector (dim model.nv). |
[in] | fext | Vector of external forces expressed in the local frame of the joints (dim model.njoints) |
|
inline |
Parse the environment variable ROS_PACKAGE_PATH and extract paths.
Definition at line 56 of file file-explorer.hpp.
References extractPathFromEnvVar().
|
inline |
Visit a JointModelTpl through JointSetIndexesVisitor to set the indexes of the joint in the kinematic chain.
[in] | jmodel | The JointModelVariant |
[in] | id | The index of joint in the kinematic chain |
[in] | q | The index in the full model configuration space corresponding to the first degree of freedom |
[in] | v | The index in the full model tangent space corresponding to the first joint tangent space degree |
Referenced by JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement().
|
inline |
Visit a JointModelTpl through JointShortnameVisitor to get the shortname of the derived joint model.
jmodel | The JointModelVariant we want the shortname of the type held in |
Referenced by JointModelBase< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::finiteDifferenceIncrement(), JointDataTpl< _Scalar, _Options, JointCollectionTpl >::S_accessor(), and JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl >::setIndexes_impl().
void pinocchio::SINCOS | ( | const Scalar & | a, |
Scalar * | sa, | ||
Scalar * | ca | ||
) |
Computes sin/cos values of a given input scalar.
Scalar | Type of the input/output variables |
[in] | a | The input scalar from which we evalute the sin and cos. |
[in,out] | sa | Variable containing the sin of a. |
[in,out] | ca | Variable containing the cos of a. |
Definition at line 28 of file sincos.hpp.
Referenced by exp3(), exp6(), Jexp3(), pinocchio::quaternion::Jexp3CoeffWise(), Jexp6(), Jlog6(), log6(), SpecialOrthogonalOperationTpl< 2, _Scalar, _Options >::nv(), and pinocchio::quaternion::uniformRandom().
|
inline |
Computes the skew representation of a given 3d vector, i.e. the antisymmetric matrix representation of the cross product operator ( \( [v]_{\times} x = v \times x \))
[in] | v | a vector of dimension 3. |
[out] | M | the skew matrix representation of dimension 3x3. |
Definition at line 21 of file skew.hpp.
Referenced by SpecialEuclideanOperationTpl< 3, _Scalar, _Options >::nv(), ForceSetTpl< _Scalar, _Options >::se3Action(), ForceSetTpl< _Scalar, _Options >::Block::se3Action(), ForceSetTpl< _Scalar, _Options >::se3ActionInverse(), ForceSetTpl< _Scalar, _Options >::Block::se3ActionInverse(), and skew().
|
inline |
|
inline |
Computes the square cross product linear operator C(u,v) such that for any vector w, \( u \times ( v \times w ) = C(u,v) w \).
[in] | u | a 3 dimensional vector. |
[in] | v | a 3 dimensional vector. |
[out] | C | the skew square matrix representation of dimension 3x3. |
Definition at line 166 of file skew.hpp.
Referenced by skewSquare().
|
inline |
Computes the square cross product linear operator C(u,v) such that for any vector w, \( u \times ( v \times w ) = C(u,v) w \).
[in] | u | A 3 dimensional vector. |
[in] | v | A 3 dimensional vector. |
Definition at line 192 of file skew.hpp.
References skewSquare().
void pinocchio::squaredDistance | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | q0, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | q1, | ||
const Eigen::MatrixBase< ReturnType > & | out | ||
) |
Squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
[out] | out | The corresponding squared distances for each joint (size model.njoints-1 = number of joints) |
Definition at line 157 of file joint-configuration.hpp.
References randomConfiguration().
Referenced by difference().
void pinocchio::squaredDistance | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const Eigen::MatrixBase< ConfigVectorIn1 > & | q0, | ||
const Eigen::MatrixBase< ConfigVectorIn2 > & | q1, | ||
const Eigen::MatrixBase< ReturnType > & | out | ||
) |
Squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
[out] | out | The corresponding squared distances for each joint (size model.njoints-1 = number of joints) |
Definition at line 157 of file joint-configuration.hpp.
References randomConfiguration().
Referenced by difference().
|
inline |
Squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 577 of file joint-configuration.hpp.
References randomConfiguration().
|
inline |
Squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 577 of file joint-configuration.hpp.
References randomConfiguration().
|
inline |
Overall squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 305 of file joint-configuration.hpp.
References distance().
Referenced by dIntegrate().
|
inline |
Overall squared distance between two configuration vectors.
[in] | model | Model we want to compute the distance |
[in] | q0 | Configuration 0 (size model.nq) |
[in] | q1 | Configuration 1 (size model.nq) |
Definition at line 305 of file joint-configuration.hpp.
References distance().
Referenced by dIntegrate().
|
inline |
Visit a JointDataTpl through JointUInertiaVisitor to get the U matrix of the inertia matrix decomposition.
[in] | jdata | The joint data to visit. |
|
inline |
Visit a JointDataTpl through JointUDInvInertiaVisitor to get U*D^{-1} matrix of the inertia matrix decomposition.
[in] | jdata | The joint data to visit. |
void PINOCCHIO_DEPRECATED pinocchio::uniformRandom | ( | const Eigen::QuaternionBase< D > & | q | ) |
Definition at line 153 of file quaternion.hpp.
References pinocchio::quaternion::uniformRandom().
|
inline |
Inverse of skew operator. From a given skew-symmetric matrix M of dimension 3x3, it extracts the supporting vector, i.e. the entries of M. Mathematically speacking, it computes \( v \) such that \( M x = v \times x \).
[in] | M | a 3x3 skew symmetric matrix. |
[out] | v | the 3d vector representation of M. |
Definition at line 82 of file skew.hpp.
Referenced by unSkew().
|
inline |
Inverse of skew operator. From a given skew-symmetric matrix M of dimension 3x3, it extracts the supporting vector, i.e. the entries of M. Mathematically speacking, it computes \( v \) such that \( M x = v \times x \).
[in] | M | a 3x3 matrix. |
Definition at line 108 of file skew.hpp.
References unSkew().
|
inline |
Updates the placement of the given frame.
[in] | model | The kinematic model. |
data | Data associated to model. | |
[in] | frame_id | Id of the operational Frame. |
|
inline |
Updates the position of each frame contained in the model.
JointCollection | Collection of Joint types. |
[in] | model | The kinematic model. |
data | Data associated to model. |
|
inline |
Apply a forward kinematics and update the placement of the geometry objects.
JointCollection | Collection of Joint types. |
ConfigVectorType | Type of the joint configuration vector. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | geomModel | The geometry model containing the collision objects. |
[out] | geomData | The geometry data containing the placements of the collision objects. See oMg field in GeometryData. |
[in] | q | The joint configuration vector (dim model.nq). |
|
inline |
Update the placement of the geometry objects according to the current joint placements contained in data.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | geomModel | The geometry model containing the collision objects. |
[out] | geomData | The geometry data containing the placements of the collision objects. See oMg field in GeometryData. |
|
inline |
Update the global placement of the joints oMi according to the relative placements of the joints.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |