This page summarizes the main modification for each release of Robotran. Modifications that require any modification in existing projects are highlighted in red.

Robotran 1.9.5 and higher

MBsysC

See the CHANGE LOG on our Gitlab repository to get all updates of MBsysC.

 

Robotran 1.9.4

MBsysPad

  • Animation files with start time different than 0 second can now be animated correctly

MBsysC

A python script for helping project update from 1.9.3 to 1.9.4 is available here: https://git.immc.ucl.ac.be/robotran/mbsysc/blob/dev/ExampleProjects/Update_1.9.3_1.9.4.py

  • Add a python interface for driving the simulation via a python script (see MBsysC/readme_aux/interface_python.md and MBsysC/mbs_interface/mbs_python)
  • Add the possibility to embed a MBsysC project in a simulink S-function (see example in MBsysC/mbs_interface/mbs_simulink)
  • Enable a "separate build" mode for compiling. This enables to compile MBsysC modules only once. Then, only the project specific files (user functions, symbolic functions and main function) must be compiled for each project. The old fashion compiling (i.e. monolithic build) which compiles both MbsysC and project specific files together is still available and set as the default option in the CMakeLists.txt of a nex project. This requires to adapt existing projects. In particular, CMakeLists.txt are added to userfctR and symbolicR folder. The CmakeLists.txt file in the workR folder is modified. Include in the userfct/realtime files are also modified.
  • Use a uniform syntax for helpful functions that manage arrays and matrices. This may require to adapt the name of those function if you use it in you user functions. (see MBsysC/mbs_common/mbs_utilities/useful_functions.h )
  • Add new modules for equilibrium and modal analysis
  • Add the possiblity to animate auxiliary *.mbs file in addition to the simulated one. The motion of the auxiliary *.mbs must be computed by the user. This modification requires to update the template files user_realtime_options.c and user_realtime_visu.c
  • update the findJNI and findJava CMake file for compatibility with java 8
  • Use pre-processor flag LINUX rather than WIN32 for os specific part of code

 

Robotran 1.9.3

MBsysPad

  • A "reload" button was added to the "File" menu for reloading the project from the *.mbs file
  • Possibility to add a 3D representation for links and cuts. Activate a link/cut in the 2D diagram and go to the 3D design window. Checking the "show" box will add a line joining the two points on wich the link/cut is attached
  • Possibilty to specify additional folder for new project templates (via the tool/Edit preferences menu)
  • A popup appears at startup when using a newer version and propose to install updated version of Matlab modules (MBsysLab) and C/C++ modules (MBsysC)
  • The last version used for editing the model is stored in the *.mbs file
  • Templates for new projects in Matlab are stored in the MBsysLab subfolder of the Robotran installation folder (rather than the MBsysPad one) enabling coherent update with the development version on gitlab.robotran.be
  • Modification for MBsysC users:
    • Possibility to specify a custom type in a user model via the "structure" parameter type. This enable to store a pointer to a user defined structure in the mbs_data->user_model field. The user_model.h will be generated accordingly
    • Possibility to generate the user_model.h, user_all_id.h et user_hard_param.h directly from MBsysPad, via the tools menu (Assuming that the "User file generation" app in your MBsysC folder has been compiled already)
    • Possibility to specify a custom version of MBsysC à utilirather than the one located in the Robotran installation folder. The CMakeList.txt file of new project is genertaed accordingly. This is usefull for advanced users who want to work with the development version of MBsysC available on gitlab.robotran.be

MBsysC

  • code adapted to new conventions for symbolic file name: mbs_ added before the name (the link function was confusing for C++ project) You just need to generate again your symbolic files to this change to take effect
  • possibility to use an adaptative time step integrator (dopri5)
  • computation of Lagrange mulitpliers (lambda) for systems with constraints
  • MacOS: realtime 3D animation enabled
  • possibility to use hard-coded parameters rather than loading data from the *.mbs file
  • * .anim file generated. It may be necessary to add the following line in your main.c file: mbs_dirdyn->options->animpath = PROJECT_SOURCE_DIR"/../animationR";
  • user_dirdyn.c: Update the function signatures in your user_dirdyn.c file (userfctR folder)
    • give access to MbsDirdyn structure rather than to MbsAux (MbsAux can be accessed through MbsDirdyn) and add '#include "mbs_dirdyn.h"' instead of '#include "mbs_aux.h"'  
    • rename the functions by adding the *dirdyn* keyword in the names (so as to avoid confusion with other modules)
  • accelred: add the possibilty to run a direct dynamic simulation using the accelred symbolic files (symbolic reduction of equation of motion)
  • fix a viewpoint bug when going backward in the 3D view of a real-time simulation
  • user_realtime files: Update files in the userfctR/realtime folder
    • user_realtime_plot.c: #include "user_realtime.h" instead of #include "plot_sdl.h", #include "set_plot.h". The manual provided as a function comment was also modified.
    • user_realtime_visu.c: #include "user_realtime.h" instead of #include "java_functions.h" 
    • user_realtime_events.c: #include "user_realtime.h" instead of #include "plot_sdl.h" 
    • user_realtime_options.c: remove options->nb_viewpoints
  • workR/CMakeLists.txt: Update your CMakeLists in workR folder (copy/paste from a dummy project created with the new release and adapt the line defining the project name)
    • new organization, especially for the separate build
    • possibility to define more than one path for MBSysC
  • nbody: depict the number of physiscal bodies Update your user files if you were using the nbody field (use njoint instead)
  • user_all_id.h: joint id start at 1 instead of 0 Update your user files if you were using the indices defined by user_all_id.h

 

 

©2017 Robotran