Robotran C Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Attributes | List of all members
MbsInvOptions Struct Reference

Structure defining the option of both inverse kinematics and inverse dynamic analysis. More...

#include <mbs_solvekin_struct.h>

Public Attributes

int motion
 Determines how the evolution of q, qd qdd are provided. More...
 
char * trajectoryqname
 Give the path and filename (with extention) to the file containing the input trajectory in position of the joints. More...
 
char * trajectoryqdname
 Give the path and filename (with extention) to the file containing the input trajectory in velocity of the joints. More...
 
char * trajectoryqddname
 Give the path and filename (with extention) to the file containing the input trajectory in acceleration of the joints. More...
 
double t0
 Initial time of the simulation, default = 0.0. More...
 
double tf
 Final time of the simulation, default = 5.0. More...
 
double dt
 Time step, default = 0.001. More...
 
int save2file
 Determine whether results are written to files on disk (in MbsSolvekinOptions::respath folder): More...
 
char * resfilename
 

Basename of the results files, suffixes and extension added automatically.

More...
 
char * respath
 

Path in which results file are saved.

More...
 
char * animpath
 

Path in which animation file is saved.

More...
 
int save_anim
 Determine whether animation file is generated (only valid if MbsSolvekinOptions::save2file is set to 1) More...
 
int framerate
 Number of frame per second for the .anim file, default = 1000. More...
 
int saveperiod
 The number of time steps between two buffer records. More...
 
int max_save_user
 The maximal number of user variables saved. More...
 
int buffersize
 The number of time step that can be recorded in the buffer. More...
 
char * buffer_format
 The format of the results in the res file. More...
 
int verbose
 Gives informations during the process. More...
 

Detailed Description

Structure defining the option of both inverse kinematics and inverse dynamic analysis.

Member Data Documentation

◆ animpath

char* animpath

Path in which animation file is saved.

The provided memory must be static or freed by the provider. The adress in this variable cannot be used to free dyamically allocated memory as It will be redirected by the module.

Default: the animationR folder of the project

◆ buffer_format

char* buffer_format

The format of the results in the res file.

If NULL, uses "%e"

default: NULL if NULL, "%e" is used

◆ buffersize

int buffersize

The number of time step that can be recorded in the buffer.

Results are written to disk when the buffer is full.

default: -1, compute the buffer size for saving results only once at the end according to dt0, t0 and tf.

◆ dt

double dt

Time step, default = 0.001.

For motion == 'trajectory' (for inverse kinematic analysis, there must be at least one independent joint):

  • Set to 0.0 to use the time vector of the coordinate input file (MbsSolvekinOptions::t0 and MbsSolvekinOptions::tf are ignored).
  • Specify a value to use specific time vecor.

◆ framerate

int framerate

Number of frame per second for the .anim file, default = 1000.

◆ max_save_user

int max_save_user

The maximal number of user variables saved.

default: 12

◆ motion

int motion

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

  • oneshot (default) : Uses q, qd and qdd at the current time and configuration of the MBS.
  • closeloop : Only for inverse kinematics analysis. Same as oneshot but save the iteration of the close loop process (NR).
  • trajectory : Compute the evolution of between t0 and tf. Trajectory files can be provided for q, qd, qdd (only if some joints are independent, i.e. nqu>0).

◆ resfilename

char* resfilename

Basename of the results files, suffixes and extension added automatically.

The provided memory must be static or freed by the provider. The adress in this variable cannot be used to free dyamically allocated memory as It will be redirected by the module.

The filename can contains relative path from MbsDirdynOptions::respath.

Default: 'invdyn'

◆ respath

char* respath

Path in which results file are saved.

The provided memory must be static or freed by the provider. The adress in this variable cannot be used to free dyamically allocated memory as It will be redirected by the module.

Default: the resultsR folder of the project

◆ save2file

int save2file

Determine whether results are written to files on disk (in MbsSolvekinOptions::respath folder):

  • 1: results are saved (default)
  • 0: results are not saved

◆ save_anim

int save_anim

Determine whether animation file is generated (only valid if MbsSolvekinOptions::save2file is set to 1)

  • 1: file is generated (default)
  • 0: file is not generated

◆ saveperiod

int saveperiod

The number of time steps between two buffer records.

default: 1 (every time step are recorded)

◆ t0

double t0

Initial time of the simulation, default = 0.0.

◆ tf

double tf

Final time of the simulation, default = 5.0.

◆ trajectoryqddname

char* trajectoryqddname

Give the path and filename (with extention) to the file containing the input trajectory in acceleration of the joints.

Only required for motion == 'trajectory' if some joints are independent. By default, pointer to NULL.

Requirement on the file:

  • First column is the time, other are the joints accelerations.
  • Either provide only the independant joint (by increasing index), user_drivenjoint will be called.
  • Either provide all the joint, user_drivenjoint will be neglected.

◆ trajectoryqdname

char* trajectoryqdname

Give the path and filename (with extention) to the file containing the input trajectory in velocity of the joints.

Only required for motion == 'trajectory' if some joints are independent. By default, pointer to NULL.

Requirement on the file:

  • First column is the time, other are the joints velocities.
  • Either provide only the independant joint (by increasing index), user_drivenjoint will be called.
  • Either provide all the joint, user_drivenjoint will be neglected.

◆ trajectoryqname

char* trajectoryqname

Give the path and filename (with extention) to the file containing the input trajectory in position of the joints.

Only required for motion == 'trajectory' if some joints are independent. By default, pointer to NULL.

Requirement on the file:

  • First column is the time, other are the joints coordinates.
  • Either provide only the independant joint (by increasing index), user_drivenjoint will be called.
  • Either provide all the joint, user_drivenjoint will be neglected.

◆ verbose

int verbose

Gives informations during the process.

//!< Verbosity level propagated to other compatible module:

  • MBS_VERBOSE_ERROR: Only print error related messages;
  • MBS_VERBOSE_WARNING: Print error and warning related messages;
  • MBS_VERBOSE_ALL: Print all normal release messages (default);
  • MBS_VERBOSE_DEBUG: Maximal verbosity level;

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