#include <math.h>#include "mbs_1D_array.h"#include "mbs_define.h"#include "mbs_errors_names.h"#include "MBSfun.h"#include "nrfct.h"#include "mbs_project_interface.h"#include "mbs_trigo.h"#include "mbs_message.h"Functions | |
| int | mbs_Rred (MbsAux *mbs_aux, MbsData *s) |
| Compute the reduced equations of motions on a residual form [nqu x 1]. More... | |
| int | mbs_Rred_core (MbsAux *mbs_aux, MbsData *s) |
| Compute the residual force on independant joints and required force in driven joints. More... | |
| int mbs_Rred | ( | MbsAux * | mbs_aux, |
| MbsData * | s | ||
| ) |
Compute the reduced equations of motions on a residual form [nqu x 1].
This form is oobtained after the 2 consecutive reductions (see theory; for example µ in Robotran Basics). The reduced form of the equations is necessary for:
This function solves the constraints then call the mbs_Rred_core() function.
| [in,out] | mbs_aux | the local computation structure, where the result Rred is stored. |
| [in,out] | s | the MbsData of the system, where q(iqv),qd(iqv) and qdd(iqv) are updated. |
MBS_INFO_SUCCESS in case of success. | int mbs_Rred_core | ( | MbsAux * | mbs_aux, |
| MbsData * | s | ||
| ) |
Compute the residual force on independant joints and required force in driven joints.
This function is the computationnal core of Rred and Invdynared computations.
It requires the invdyna symbolic function.
It requires that all independent joints and all driven joints are up-to-date (coordinates, velocities and accelerations).
It will update the forces applied on the system (internals and externals).
| [in,out] | mbs_aux | The local computation structure, where the result Rred and Qc are stored. |
| [in,out] | s | The MbsData of the system. |
1.8.17