6 #include "pinocchio/algorithm/aba-derivatives.hpp" 35 const ForceAlignedVector & fext)
46 using namespace Eigen;
48 bp::def(
"computeABADerivatives",
50 bp::args(
"model",
"data",
"q",
"v",
"tau"),
51 "Computes the ABA derivatives, store the result in data.ddq_dq, data.ddq_dv and data.Minv (aka ddq_dtau)\n" 52 "which correspond to the partial derivatives of the joint acceleration vector output with respect to the joint configuration,\n" 53 "velocity and torque vectors.\n\n" 55 "\tmodel: model of the kinematic tree\n" 56 "\tdata: data related to the model\n" 57 "\tq: the joint configuration vector (size model.nq)\n" 58 "\tv: the joint velocity vector (size model.nv)\n" 59 "\ttau: the joint torque vector (size model.nv)\n\n" 60 "Returns: (ddq_dq, ddq_dv, ddq_da)");
62 bp::def(
"computeABADerivatives",
64 bp::args(
"model",
"data",
"q",
"v",
"tau",
"fext"),
65 "Computes the ABA derivatives with external contact foces,\n" 66 "store the result in data.ddq_dq, data.ddq_dv and data.Minv (aka ddq_dtau)\n" 67 "which correspond to the partial derivatives of the acceleration output with respect to the joint configuration,\n" 68 "velocity and torque vectors.\n\n" 70 "\tmodel: model of the kinematic tree\n" 71 "\tdata: data related to the model\n" 72 "\tq: the joint configuration vector (size model.nq)\n" 73 "\tv: the joint velocity vector (size model.nv)\n" 74 "\ttau: the joint torque vector (size model.nv)\n" 75 "\tfext: list of external forces expressed in the local frame of the joints (size model.njoints)\n\n" 76 "Returns: (ddq_dq, ddq_dv, ddq_da)");
bp::tuple computeABADerivatives_fext(const Model &model, Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, const ForceAlignedVector &fext)
void make_symmetric(Eigen::MatrixBase< Matrix > &mat)
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
bp::tuple computeABADerivativesDefault(const Model &model, Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau)
RowMatrixXs Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).
MatrixXs ddq_dq
Partial derivative of the joint acceleration vector with respect to the joint configuration.
void exposeABADerivatives()
typedef PINOCCHIO_ALIGNED_STD_VECTOR(Force) ForceAlignedVector
MatrixXs ddq_dv
Partial derivative of the joint acceleration vector with respect to the joint velocity.
Main pinocchio namespace.
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.
Eigen::Ref< Matrix > make_ref(Eigen::PlainObjectBase< Matrix > &mat)
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > VectorXd
JointCollectionTpl & model