MbsData Struct Reference

`#include <mbs_data.h>`

## Public Attributes | |

int | npt |

Number of anchor points. More... | |

double ** | dpt |

Array containing the coordinate of all anchor points (3+1 lines, npt+1 columns). More... | |

double ** | l |

Array containing the center of mass coordinates (in the body fixed frame, one column per body including fictious, 3+1 lines). More... | |

double * | m |

Array containing the mass of each body. More... | |

double ** | In |

Array containing the inertia tensor component of each body (in the body fixed frame, relative to the center of mass). More... | |

double | g [3+1] |

The 3 gravity components. More... | |

int | nbody |

Number of bodies in the system. More... | |

int | njoint |

Number of joints in the system. More... | |

int | nqu |

Number of independent articulations. More... | |

int | nqc |

Number of driven articulations, it includes qlocked and qdriven. More... | |

int | nqlocked |

Number of locked articulations. More... | |

int | nqdriven |

Number of driven articulations. More... | |

int | nqa |

Number of actuated articulations. More... | |

int | nqv |

Number of dependent articulations. More... | |

int | nhu |

Number of independent constraints. More... | |

int * | qu |

Array with the indices of the independent articulations (free) More... | |

int * | qc |

Array with the indices of driven (locked and driven) articulations. More... | |

int * | qlocked |

Array with the indices of locked articulations. More... | |

int * | qdriven |

Array with the indices of driven articulations. More... | |

int * | qa |

Array with the indices of actuated articulations (only for inverse dynamic). More... | |

int * | qv |

Array with the indices of the dependent articulations . More... | |

int * | hu |

Array with the indices of independent constraints. More... | |

double * | q |

Array with the current values of the generalized coordinates. More... | |

double * | qd |

Array with the current values of the generalized velocities. More... | |

double * | qdd |

Array with the current values of the generalized acceleration. More... | |

double * | q0 |

Array with the initial values of the generalized coordinates. More... | |

double * | qd0 |

Array with the initial values of the generalized velocities. More... | |

double * | qdd0 |

Array with the initial values of the generalized acceleration. More... | |

double ** | frc |

Matrix with the components of the resultant external forces (in the body fixed frame) applied to the center of mass of each body. More... | |

double ** | trq |

Matrix with the components of the resultant external torques (pure torque and couple produced by forces displacement in the body fixed frame) applied to each body. More... | |

double * | |

Array with the values of the joint forces. More... | |

double * | Qa |

Array of active joint forces (in case of simulink,invdyna,equil,linearization,...) More... | |

double | tsim |

The time value. More... | |

double | t0 |

Initial time of the simulation [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation. More... | |

double | tf |

Final time of the simulation [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation. More... | |

double | dt0 |

Initial value of the integration step size [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation. More... | |

double * | lrod |

Array with the length of each rod. More... | |

int | Nloopc |

Number of loop constraints. More... | |

int | Ncons |

Number of algebraic constraints. More... | |

int | Nuserc |

Number of user constraints. More... | |

double | NRerr |

Maximal error on constraint allowed in Newton-Raphson algorithm, default 1.0e-9. More... | |

double * | lambda |

Array with the values of the Lagrange Multipliers related to the constraints. More... | |

double * | Qc |

Array with the value of joint force introduced in driven joint to respect the user function. More... | |

int | Nlink |

Number of forces acting between two points of the system (force law implemented in user_LinkForces()). More... | |

int | Nlink3D |

Number of 3D links. More... | |

double * | Z |

Array with the current values of the distances between of the points of a link (see: user_LinkForces()). More... | |

double * | Zd |

Array with the current values of the speed (spreading) between of the points of a link (see: user_LinkForces()). More... | |

double * | Fl |

Array with the current values of the forces on each link (see: user_LinkForces()). More... | |

double ** | l3DWr |

int | Nsensor |

Number of kinematic sensors. More... | |

int | Nxfrc |

Number of points where an external force is applied into a body. More... | |

int * | xfidpt |

Array of the points defined as force application points. More... | |

double ** | SWr |

Array of Swr vector for each external forces. More... | |

int | Nuser_model |

Number of declared user models in MBsysPad. More... | |

UserModel * | user_model |

Structure containing all user model, this structure is specific for each project. More... | |

int | n_user_IO |

UserIO * | user_IO |

UserIoInfo * | __user_IO_info |

double * | ux |

Array with the values of the user variables. More... | |

double * | uxd |

Array with the values of the time derivatives of the user variables. More... | |

double * | ux0 |

Array with the initial values of the user variables. More... | |

int | Nux |

Number of user variable. More... | |

double * | udd |

For axelle red: array with the values of the acceleration of independent coordinate. More... | |

int | DonePart |

Flag that indicates if the coordinate partitioning module has been executed (default: 0=not done; 1=done). More... | |

int | DoneEquil |

Flag that indicates if the equilibrium module has been executed (default: 0=not done; 1=done). More... | |

int | DoneModal |

Flag that indicates if the modal module has been executed (default: 0=not done; 1=done). More... | |

int | process |

Flag that indicate which module is currently running (1=partitioning, 2=equilibrium, 3=direct dynamic, 4=modal, 5=inverse kinematic, 6=inverse dynamic), default =1. More... | |

int | flag_stop |

stop the simulation. For dirdyn, equil, invdyn and solvekin only. More... | |

char * | mbs_filename |

Path to mbs file including the file with the extension (.mbs) More... | |

char * | build_path |

Path to the build folder. More... | |

char * | project_path |

Path to the mbs project folder. More... | |

char * | mbs_name |

Name of the mbs project as it is stored in the xml file. More... | |

Functions | fct |

Structure to store the pointer to the project-specific functions. More... | |

void * | realtime |

Pointer to Simu_realtime structure. More... | |

UserIoInfo* __user_IO_info |

char* build_path |

Path to the build folder.

int DoneEquil |

Flag that indicates if the equilibrium module has been executed (default: 0=not done; 1=done).

int DoneModal |

Flag that indicates if the modal module has been executed (default: 0=not done; 1=done).

int DonePart |

Flag that indicates if the coordinate partitioning module has been executed (default: 0=not done; 1=done).

double** dpt |

Array containing the coordinate of all anchor points (3+1 lines, npt+1 columns).

double dt0 |

Initial value of the integration step size [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation.

Functions fct |

Structure to store the pointer to the project-specific functions.

double* Fl |

Array with the current values of the forces on each link (see: user_LinkForces()).

int flag_stop |

stop the simulation. For dirdyn, equil, invdyn and solvekin only.

double** frc |

Matrix with the components of the resultant external forces (in the body fixed frame) applied to the center of mass of each body.

double g[3+1] |

The 3 gravity components.

int* hu |

Array with the indices of independent constraints.

double** In |

Array containing the inertia tensor component of each body (in the body fixed frame, relative to the center of mass).

1 column containing 9 rows for each body as follow: [I11;I12;I13;I21;I22;I23;I31;I32;I33]

double** l |

Array containing the center of mass coordinates (in the body fixed frame, one column per body including fictious, 3+1 lines).

double** l3DWr |

double* lambda |

Array with the values of the Lagrange Multipliers related to the constraints.

The sequence of the constraints is the one defined in the system without analyzing it. The id of each kinematic loop is defined in your `user_all_id.h`

file (if generated). The number of constraints of each kinematic loop is defined in the theory. Then comes the user-defined constraints.

double* lrod |

Array with the length of each rod.

double* m |

Array containing the mass of each body.

char* mbs_filename |

Path to mbs file including the file with the extension (.mbs)

char* mbs_name |

Name of the mbs project as it is stored in the xml file.

int n_user_IO |

int nbody |

Number of bodies in the system.

The 'fictitious' bodies are not taken into account.

int Ncons |

Number of algebraic constraints.

int nhu |

Number of independent constraints.

int njoint |

Number of joints in the system.

int Nlink |

Number of forces acting between two points of the system (force law implemented in user_LinkForces()).

int Nlink3D |

Number of 3D links.

int Nloopc |

Number of loop constraints.

int npt |

Number of anchor points.

int nqa |

Number of actuated articulations.

int nqc |

Number of driven articulations, it includes qlocked and qdriven.

int nqdriven |

Number of driven articulations.

int nqlocked |

Number of locked articulations.

int nqu |

Number of independent articulations.

int nqv |

Number of dependent articulations.

double NRerr |

Maximal error on constraint allowed in Newton-Raphson algorithm, default 1.0e-9.

int Nsensor |

Number of kinematic sensors.

int Nuser_model |

Number of declared user models in MBsysPad.

int Nuserc |

Number of user constraints.

int Nux |

Number of user variable.

int Nxfrc |

Number of points where an external force is applied into a body.

int process |

Flag that indicate which module is currently running (1=partitioning, 2=equilibrium, 3=direct dynamic, 4=modal, 5=inverse kinematic, 6=inverse dynamic), default =1.

char* project_path |

Path to the mbs project folder.

double* q |

Array with the current values of the generalized coordinates.

double* q0 |

Array with the initial values of the generalized coordinates.

int* qa |

Array with the indices of actuated articulations (only for inverse dynamic).

Those articulations are controlled by an actuator.

double* Qa |

Array of active joint forces (in case of simulink,invdyna,equil,linearization,...)

int* qc |

Array with the indices of driven (locked and driven) articulations.

double* Qc |

Array with the value of joint force introduced in driven joint to respect the user function.

The driven forces/torques are saved in the entries given by index vector, MbsData::qc

double* qd |

Array with the current values of the generalized velocities.

double* qd0 |

Array with the initial values of the generalized velocities.

double* qdd |

Array with the current values of the generalized acceleration.

double* qdd0 |

Array with the initial values of the generalized acceleration.

int* qdriven |

Array with the indices of driven articulations.

Those articulations are controlled by a user function .

int* qlocked |

Array with the indices of locked articulations.

Those articulations have a constant position defined by the user .

double* Qq |

Array with the values of the joint forces.

int* qu |

Array with the indices of the independent articulations (free)

int* qv |

Array with the indices of the dependent articulations .

void* realtime |

Pointer to Simu_realtime structure.

double** SWr |

Array of Swr vector for each external forces.

Swr(9,1) = [Fx; Fy; Fz; Mx; My; Mz; dxF]:

- Force components (expressed in the inertial frame) : Fx, Fy, Fz
- Pure torque components (expressed in the inertial frame) : Mx, My, Mz
- Application point local coordinates vector (expressed in the body-fixed frame): dxF(1:3,1)

WARNING: Indexes convention is the opposite of what is usually done in MBsysC.

double t0 |

Initial time of the simulation [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation.

double tf |

Final time of the simulation [s]. For dirdyn and invdyn only. This parameter is set from dirdyn/invyn option at start of time simulation.

double** trq |

Matrix with the components of the resultant external torques (pure torque and couple produced by forces displacement in the body fixed frame) applied to each body.

double tsim |

The time value.

double* udd |

For axelle red: array with the values of the acceleration of independent coordinate.

UserIO* user_IO |

UserModel* user_model |

Structure containing all user model, this structure is specific for each project.

double* ux |

Array with the values of the user variables.

double* ux0 |

Array with the initial values of the user variables.

double* uxd |

Array with the values of the time derivatives of the user variables.

int* xfidpt |

Array of the points defined as force application points.

double* Z |

Array with the current values of the distances between of the points of a link (see: user_LinkForces()).

double* Zd |

Array with the current values of the speed (spreading) between of the points of a link (see: user_LinkForces()).

The documentation for this struct was generated from the following file:

- mbs_common/mbs_struct/mbs_data.h

Generated on Fri Feb 4 2022 13:30:42 for Robotran C Documentation by 1.8.17