Go to the source code of this file.
Classes | |
struct | MbsDirdynOptions |
Structure defining the option of a direct dynamic. More... | |
struct | MbsDirdyn |
General structure of the direct dynamic module. More... | |
Macros | |
#define | DOPRI5_NB_ALLOC_VEC 8 |
number of vectors to allocate for dopri5 More... | |
#define | DIRDYN_INTEGRATOR_OPTION_DEFAULT_nmax (int) 1e9 |
Define of default options for integrator in DirdynStruc. More... | |
#define | DIRDYN_INTEGRATOR_OPTION_DEFAULT_toler 1.0e-3 |
#define | DIRDYN_INTEGRATOR_OPTION_DEFAULT_rtoler 1.0e-3 |
#define | DIRDYN_INTEGRATOR_OPTION_DEFAULT_atoler 1.0e-6 |
#define | DIRDYN_INTEGRATOR_OPTION_DEFAULT_dt_max 1.0e-3 |
#define | DIRDYN_INTEGRATOR_WAYPOINT_TIME_ERROR_max 1.0e-10 |
Typedefs | |
typedef void(* | initialize_integrator_ptr) (MbsData *mbs_data, MbsDirdyn *mbs_dd, int(*derivs) (double, double[], double[], MbsData *, MbsDirdyn *), void(*loop_fct) (MbsData *, MbsDirdyn *), int(*save_realtime_update) (MbsDirdyn *dd, MbsData *mbs_data)) |
These three pointers of functions should be defined for each integrator separately, in the corresponding files They are called in dirdyn, according to the integrator chosen. More... | |
typedef int(* | loop_integrator_ptr) (double t0, double tf, MbsData *mbs_data, MbsDirdyn *mbs_dd) |
main loop of integration, in which the integrator is called More... | |
typedef void(* | finish_integrator_ptr) (MbsData *mbs_data, MbsDirdyn *mbs_dd) |
end of the integration, free the memory More... | |
Functions | |
int | mbs_fct_dirdyn (double t, double y[], double dydt[], MbsData *s, MbsDirdyn *dd) |
direct dynamics derivative computation More... | |
int | save_realtime_update (MbsDirdyn *dd, MbsData *mbs_data) |
update the real-time and saving modules if requested More... | |
This header defines structure of the dirdyn module in C.
Creation date: 10/09/2015
(c) Universite catholique de Louvain
#define DIRDYN_INTEGRATOR_OPTION_DEFAULT_atoler 1.0e-6 |
#define DIRDYN_INTEGRATOR_OPTION_DEFAULT_dt_max 1.0e-3 |
#define DIRDYN_INTEGRATOR_OPTION_DEFAULT_nmax (int) 1e9 |
Define of default options for integrator in DirdynStruc.
#define DIRDYN_INTEGRATOR_OPTION_DEFAULT_rtoler 1.0e-3 |
#define DIRDYN_INTEGRATOR_OPTION_DEFAULT_toler 1.0e-3 |
#define DIRDYN_INTEGRATOR_WAYPOINT_TIME_ERROR_max 1.0e-10 |
#define DOPRI5_NB_ALLOC_VEC 8 |
number of vectors to allocate for dopri5
end of the integration, free the memory
typedef void(* initialize_integrator_ptr) (MbsData *mbs_data, MbsDirdyn *mbs_dd, int(*derivs)(double, double[], double[], MbsData *, MbsDirdyn *), void(*loop_fct)(MbsData *, MbsDirdyn *), int(*save_realtime_update)(MbsDirdyn *dd, MbsData *mbs_data)) |
These three pointers of functions should be defined for each integrator separately, in the corresponding files They are called in dirdyn, according to the integrator chosen.
initialization of the integrator structure(s)
main loop of integration, in which the integrator is called
direct dynamics derivative computation
[in] | t | current simulation time [s] |
[in] | y | state vector of size n |
[out] | dydt | derivative |
[in,out] | s | Robotran main structure |
[in,out] | dd | direct dynamic main module structure |