Template Function pinocchio::aba(const ModelTpl<Scalar, Options, JointCollectionTpl>&, DataTpl<Scalar, Options, JointCollectionTpl>&, const Eigen::MatrixBase<ConfigVectorType>&, const Eigen::MatrixBase<TangentVectorType1>&, const Eigen::MatrixBase<TangentVectorType2>&, const Convention)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ConfigVectorType, typename TangentVectorType1, typename TangentVectorType2>
const DataTpl<Scalar, Options, JointCollectionTpl>::TangentVectorType &pinocchio::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 Convention convention = Convention::LOCAL)

The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given the current state and actuation of the model.

Note

When running in LOCAL convention data.f can be leaved in an inconsistent state.

Template Parameters:
  • JointCollection – Collection of Joint types.

  • ConfigVectorTypeType of the joint configuration vector.

  • TangentVectorType1Type of the joint velocity vector.

  • TangentVectorType2Type of the joint torque vector.

Parameters:
  • model[in] The model structure of the rigid body system.

  • data[in] The data structure of the rigid body system.

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

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

  • tau[in] The joint torque vector (dim model.nv).

  • convention[in] Convention to use.

Returns:

The current joint acceleration stored in data.ddq.