Skip to content

Dynamics APIs

Farid edited this page Aug 5, 2020 · 9 revisions

Methods related to the Dynamics calculations are provided in this section. Note that some methods are for use in the serial systems (unconstrained), while others are specifically for use in the parallel (closed-loop) systems.

calc_M(const VectorNd &Q); //Computes the joint space inertia matrix by using the Composite Rigid Body Algorithm. calc_G(const VectorNd &Q); //Computes the N by 1 gravity matrix of the dynamics model by equating the velocity and acceleration to zero. Note: This method is only for serial manipulators, for parallel systems use InverseDynamicsConstrained calc_InverseDynamics(const VectorNd &Q, const VectorNd &QDot, const VectorNd &QDDot, VectorNd &Tau); //Computes inverse dynamics with the Newton-Euler Algorithm. calc_ForwardDynamics(const VectorNd &Q, const VectorNd &QDot, const VectorNd &Tau, VectorNd &QDDot); //Computes forward dynamics with the Articulated Body Algorithm. calc_InverseDynamicsConstrained(const VectorNd &Q, const VectorNd &QDot, const VectorNd &QDDotDesired, ConstraintSet &CS, VectorNd &QDDotOutput, VectorNd &TauOutput); //An inverse-dynamics operator that can be applied to fully-actuated constrained systems. calc_ForwardDynamicsConstrained(const VectorNd &Q, const VectorNd &QDot, const VectorNd &Tau, ConstraintSet &CS, VectorNd &QDDotOutput); //Computes forward dynamics with contact by constructing and solving the full lagrangian equation. calc_MInvTimesTau(const VectorNd &Q, const VectorNd &Tau, VectorNd &QDDot);

Clone this wiki locally