Template Function pinocchio::aba(const int, ModelPoolTpl<Scalar, Options, JointCollectionTpl>&, const Eigen::MatrixBase<ConfigVectorPool>&, const Eigen::MatrixBase<TangentVectorPool1>&, const Eigen::MatrixBase<TangentVectorPool2>&, const Eigen::MatrixBase<TangentVectorPool3>&)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ConfigVectorPool, typename TangentVectorPool1, typename TangentVectorPool2, typename TangentVectorPool3>
void pinocchio::aba(const int num_threads, ModelPoolTpl<Scalar, Options, JointCollectionTpl> &pool, const Eigen::MatrixBase<ConfigVectorPool> &q, const Eigen::MatrixBase<TangentVectorPool1> &v, const Eigen::MatrixBase<TangentVectorPool2> &tau, const Eigen::MatrixBase<TangentVectorPool3> &a)

A parallel version of the Articulated Body algorithm. It computes the forward dynamics, aka the joint acceleration according to the current state of the system and the desired joint torque.

Template Parameters:
  • JointCollection – Collection of Joint types.

  • ConfigVectorPool – Matrix type of the joint configuration vector.

  • TangentVectorPool1 – Matrix type of the joint velocity vector.

  • TangentVectorPool2 – Matrix type of the joint torque vector.

  • TangentVectorPool3 – Matrix type of the joint acceleration vector.

Parameters:
  • pool[in] Pool containing model and data for parallel computations.

  • num_threads[in] Number of threads used for parallel computations.

  • q[in] The joint configuration vector (dim model.nq x batch_size).

  • v[in] The joint velocity vector (dim model.nv x batch_size).

  • tau[in] The joint acceleration vector (dim model.nv x batch_size).

  • a[out] The joint torque vector (dim model.nv x batch_size).