Computation of the system inverse dynamics. It computes the required forces and torques in the actuated joints to follow a given motion.

For more information, see Robotran theoritical framework.

For running the inverse dynamics, insert the following code in your main script and adapt it to your need :

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

/* INVERSE DYNANMICS *

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

MbsInvdyn *mbs_invdyn;

mbs_data->process = 6;

mbs_invdyn = mbs_new_invdyn(mbs_data);

// mbs_invdyn options (see documentations for additional options)

mbs_run_invdyn(mbs_invdyn, mbs_data);

mbs_delete_invdyn(mbs_invdyn, mbs_data);

The invect dynamics is performed by the function mbs_run_invdyn().

The user specifies the desired options of the direct dynamics in MbsInvOptions structure. The results are provided in the MbsBuffer structure (par of the MbsInvdyn structure) and written to files at the end of computation.

The force and torques are computed on the actuated joints. A joint is (de)selected as actuatedwith the function mbs_set_qa() (resp. mbs_unset_qa()).

You should call successively :

The system either:

- contains independent joints:
- The driven joints cannot be actuated;
- The independent and dependent joint can be actuated;
- The number of actuated joint must be equal or greather (over-actuated) than the number of independent joints.

- does not contain any independent joints:
- The driven joints must be actuated;
- The dependent joints cannot be actuated

void mbs_delete_invdyn(MbsInvdyn *invdyn, MbsData *mbs_data)

Free memory of the inverse dynamic structure The options (MbsInvOptions) and MbsAux structures are al...

int motion

Determines how the evolution of q, qd qdd are provided.

MbsInvdyn * mbs_new_invdyn(MbsData *mbs_data)

Create a new inverse dynamic structure.

MbsInvOptions * options

Structure defining the options of a inverse dynamics analysis.

int process

Flag that indicate which module is currently running (1=partitioning, 2=equilibrium,...

int mbs_run_invdyn(MbsInvdyn *invd, MbsData *mbs_data)

Run the inverse kinematic analysis.

Generated on Thu Sep 16 2021 13:42:20 for Robotran C Documentation by 1.8.17