Template Function pinocchio::computeCollisions(const ModelTpl<Scalar, Options, JointCollectionTpl>&, DataTpl<Scalar, Options, JointCollectionTpl>&, BroadPhaseManagerBase<BroadPhaseManagerDerived>&, const Eigen::MatrixBase<ConfigVectorType>&, const bool)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename BroadPhaseManagerDerived, typename ConfigVectorType>
inline bool pinocchio::computeCollisions(const ModelTpl<Scalar, Options, JointCollectionTpl> &model, DataTpl<Scalar, Options, JointCollectionTpl> &data, BroadPhaseManagerBase<BroadPhaseManagerDerived> &broadphase_manager, const Eigen::MatrixBase<ConfigVectorType> &q, const bool stopAtFirstCollision = false)

Compute the forward kinematics, update the geometry placements and run the collision detection using the broadphase manager.

Note

A similar function is available without model, data and q, not recomputing the forward kinematics.

Warning

if stopAtFirstcollision = true, then the collisions vector will not be entirely fulfilled (of course).

Template Parameters:
  • JointCollection – Collection of Joint types.

  • ConfigVectorType – Type of the joint configuration vector.

Parameters:
  • model[in] robot model (const)

  • data[out] corresponding data (nonconst) where the forward kinematics results are stored

  • broadphase_manager[in] broadphase manager for collision detection.

  • q[in] robot configuration.

  • stopAtFirstCollision[in] if true, stop the loop over the collision pairs when the first collision is detected.