pinocchio  3.3.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
pinocchio::internal Namespace Reference

Classes

struct  CallCorrectMatrixInverseAccordingToScalar
 
struct  CallCorrectMatrixInverseAccordingToScalar<::casadi::Matrix< Scalar > >
 
struct  cast_call_normalize_method
 
struct  cast_call_normalize_method< SE3Tpl< CppAD::AD< Scalar >, Options >, NewScalar, CppAD::AD< Scalar > >
 
struct  cast_call_normalize_method< SE3Tpl< Scalar, Options >, ::casadi::Matrix< NewScalar >, Scalar >
 
struct  cast_call_normalize_method< SE3Tpl< Scalar, Options >, CppAD::AD< NewScalar >, Scalar >
 
struct  cast_call_normalize_method< SE3Tpl< Scalar, Options >, NewScalar, Scalar >
 
struct  cast_call_normalize_method< SE3Tpl< Scalar, Options >, Scalar, Scalar >
 
struct  cast_call_normalize_method< SE3Tpl<::casadi::Matrix< Scalar >, Options >, NewScalar, ::casadi::Matrix< Scalar > >
 
struct  comparison_eq_impl
 
struct  comparison_eq_impl< condition_type, condition_type >
 
struct  comparison_eq_impl<::casadi::Matrix< Scalar >, ::casadi::Matrix< Scalar > >
 
struct  getSparseCholeskySolverBase
 
struct  if_then_else_impl
 
struct  if_then_else_impl< condition_type, condition_type, ThenType, ElseType >
 
struct  if_then_else_impl< CppAD::AD< Scalar >, CppAD::AD< Scalar >, ThenType, ElseType >
 
struct  if_then_else_impl<::casadi::Matrix< Scalar >, ::casadi::Matrix< Scalar >, ThenType, ElseType >
 
struct  is_same_type
 
struct  is_same_type< T, T >
 
struct  isNormalizedAlgo
 
struct  isNormalizedAlgo< VectorLike, false >
 
struct  isUnitaryAlgo
 
struct  isUnitaryAlgo< MatrixLike, false >
 
struct  isZeroAlgo
 
struct  isZeroAlgo< MatrixLike, false >
 
struct  LHSScalarMultiplication
  
 
struct  LHSScalarMultiplication< MotionRef< Vector6ArgType >, Scalar >
 
struct  normalizeAlgo
 
struct  normalizeAlgo< VectorLike, false >
 
struct  PerformStYSInversion
 Operation called in JointModelBase<JointModel>::calc_aba.
 
struct  PerformStYSInversion< Scalar, false >
 
struct  RHSScalarMultiplication
  
 
struct  RHSScalarMultiplication< MotionRef< Vector6ArgType >, Scalar >
 
struct  SE3actOn
 
struct  SE3actOn< CppAD::AD< _Scalar > >
 Partial specialization for CppAD::AGtypes.
 
struct  SimplicialCholeskyWrapper
 
struct  SparseSolveInPlaceMethod
 
struct  traits
 
struct  traits< if_then_else_impl< LhsType, RhsType, return_type, return_type > >
 Template specialization for similar return types;.
 
struct  TriangularMatrixMatrixProduct
 
struct  TriangularMatrixMatrixProduct< info, RhsMatrix, ::casadi::Matrix< Scalar >, false >
 
struct  TriangularMatrixMatrixProduct< info, RhsMatrix, ::casadi::Matrix< Scalar >, true >
 
struct  TriangularMatrixMatrixProduct< info, RhsMatrix, Scalar, false >
 

Enumerations

enum  ComparisonOperators {
  LT , LE , EQ , GE ,
  GT
}
 

Functions

PINOCCHIO_EXTRA_DLLAPI void buildConvexHull (ReachableSetResults &res)
 Computes the convex hull using qhull associated with the vertex stored in res. More...
 
template<typename LhsType , typename RhsType >
bool comparison_eq (const LhsType &lhs_value, const RhsType &rhs_value)
 
template<typename Scalar , typename ConstraintAllocator , typename VectorLikeIn , typename VectorLikeOut >
void computeComplementarityShift (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeIn > &velocities, const Eigen::DenseBase< VectorLikeOut > &shift_)
 
template<typename Scalar , typename ConstraintAllocator , typename VectorLikeIn , typename VectorLikeOut >
void computeConeProjection (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeIn > &x, const Eigen::DenseBase< VectorLikeOut > &x_proj_)
 Project a vector x on the vector of cones.
 
template<typename Scalar , typename ConstraintAllocator , typename VectorLikeVelocity , typename VectorLikeForce >
Scalar computeConicComplementarity (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeVelocity > &velocities, const Eigen::DenseBase< VectorLikeForce > &forces)
 
template<typename Scalar , typename ConstraintAllocator , typename VectorLikeIn , typename VectorLikeOut >
void computeDualConeProjection (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeIn > &x, const Eigen::DenseBase< VectorLikeOut > &x_proj_)
 Project a vector x on the dual of the cones contained in the vector of cones.
 
void computeJointVel (const Eigen::VectorXd &res1, const Eigen::VectorXd &res2, const Eigen::VectorXi &comb, Eigen::VectorXd &qv)
 Computes the joint configuration associated with the permutation results stored in res1 and res2. More...
 
template<typename Scalar , typename ConstraintAllocator , typename VectorLikeIn >
Scalar computePrimalFeasibility (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< VectorLikeIn > &forces)
 
template<typename Scalar , typename ConstraintAllocator , typename ForceVector , typename VelocityVector >
Scalar computeReprojectionError (const std::vector< CoulombFrictionConeTpl< Scalar >, ConstraintAllocator > &cones, const Eigen::DenseBase< ForceVector > &forces, const Eigen::DenseBase< VelocityVector > &velocities)
 
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename ConfigVectorType , class FilterFunction >
void computeVertex (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &q0, const double time_horizon, const int frame_id, FilterFunction config_filter, Eigen::MatrixXd &vertex, const ReachableSetParams &params=ReachableSetParams())
 Samples points to create the reachable workspace that will respect mechanical limits of the model as well as the time horizon. More...
 
void generateCombination (const int n, const int k, Eigen::VectorXi &indices)
 Return a subsequence of length k of elements from range 0 to n. Inspired by https://docs.python.org/3/library/itertools.html#itertools.combinations. Indices table will hold the results. More...
 
template<typename LhsType , typename RhsType , typename ThenType , typename ElseType >
if_then_else_impl< LhsType, RhsType, ThenType, ElseType >::ReturnType if_then_else (const ComparisonOperators op, const LhsType &lhs_value, const RhsType &rhs_value, const ThenType &then_value, const ElseType &else_value)
 
void productCombination (const Eigen::VectorXd &element, const int repeat, Eigen::VectorXi &indices, Eigen::VectorXd &combination)
 Cartesian product of input element with itself. Number of repetition is specified with repeat argument. Inspired by https://docs.python.org/3/library/itertools.html#itertools.product. More...
 

Detailed Description

Function Documentation

◆ buildConvexHull()

PINOCCHIO_EXTRA_DLLAPI void pinocchio::internal::buildConvexHull ( ReachableSetResults res)

Computes the convex hull using qhull associated with the vertex stored in res.

Parameters
[out]resContain both the points and the faces of the convex hull

◆ computeJointVel()

void pinocchio::internal::computeJointVel ( const Eigen::VectorXd &  res1,
const Eigen::VectorXd &  res2,
const Eigen::VectorXi &  comb,
Eigen::VectorXd &  qv 
)

Computes the joint configuration associated with the permutation results stored in res1 and res2.

Parameters
[in]res1First permutation result
[in]res2Second permutation result
[in]combVector of active joints in this configuration
[out]qvJoint Velocity result

◆ computeVertex()

void pinocchio::internal::computeVertex ( const ModelTpl< Scalar, Options, JointCollectionTpl > &  model,
const Eigen::MatrixBase< ConfigVectorType > &  q0,
const double  time_horizon,
const int  frame_id,
FilterFunction  config_filter,
Eigen::MatrixXd &  vertex,
const ReachableSetParams params = ReachableSetParams() 
)

Samples points to create the reachable workspace that will respect mechanical limits of the model as well as the time horizon.

Template Parameters
JointCollectionCollection of Joint types.
ConfigVectorTypeType of the joint configuration vector.
FilterFunctionFunction template use to filter points in the workspace. Prototype : f(model, data) -> bool
Parameters
[in]modelThe model structure of the rigid body system.
[in]geom_modelGeometry model associated with the model
[in]qThe initial joint configuration vector (dim model.nq).
[in]time_horizontime horizon for which the polytope will be computed (in seconds)
[in]frame_idIndex of the frame for which the workspace should be computed.
[in]paramsparameters of the algorithm
[out]vertexResults of algorithm

◆ generateCombination()

void pinocchio::internal::generateCombination ( const int  n,
const int  k,
Eigen::VectorXi &  indices 
)

Return a subsequence of length k of elements from range 0 to n. Inspired by https://docs.python.org/3/library/itertools.html#itertools.combinations. Indices table will hold the results.

Parameters
[in]nMax range of element
[in]klength of subsequences
[out]indicesresults of the combination

◆ productCombination()

void pinocchio::internal::productCombination ( const Eigen::VectorXd &  element,
const int  repeat,
Eigen::VectorXi &  indices,
Eigen::VectorXd &  combination 
)

Cartesian product of input element with itself. Number of repetition is specified with repeat argument. Inspired by https://docs.python.org/3/library/itertools.html#itertools.product.

Parameters
[in]elementVector for which the cartesian product is needed.
[in]repeatNumber of repetition
[in]indicesVector of indexes of which element will be repeated (will be changed during function call)
[out]combinationCartesian Product associated with the indices