Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • M mbsysc
  • Project information
    • Project information
    • Activity
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Analytics
    • Analytics
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Commits
Collapse sidebar
  • robotranrobotran
  • mbsysc
  • Wiki
  • Home

Home · Changes

Page history
ndocquier created page: home authored Dec 08, 2016 by Nicolas Docquier's avatar Nicolas Docquier
Hide whitespace changes
Inline Side-by-side
home.md
View page @ 618314f7
# Journée utilisateur et ateliers LMGC90: MBS-DEM workshop
Nantes, 12/2006
This page describes the workshop related to the numerical coupling
of granular media models based on a discrete element method (DEM)
and articulated systems modelled as multibody systems (MBS).
It is implemented by coupling two programs:
* LMGC90 for the DEM,
* Robotran for the MBS.
## Outline
* Brief introduction to Robotran
* Installing Robotran:
* MBsysPad: The graphical editor
* MBsysC: The numerical environment, development version
* Compiling MBsysC
* Compiling LMGC90 liking to Robotran/MBsysC
* Compiling a Robotran project
* Simulating MBS-DEM models:
* The multiple pendulum
* The TTT picker robot
## Introduction to Robotran
* The Robotran framework
* [MBS modelling cycle](http://www.robotran.be/documentation/Slides/HTML_RobotranSuite/RobotranSuite.html):
* MBsysPad: Editing the project
* MBsysTran: Generating the symbolic equation
* User brain: Writing the constitutive equation of the model
* MBsysC: Simulating the motion
* MBsysPad: Animating the results
* User brain: Analysing the results
* Structure of a project
* [Structure of the MBsysC numerical modules](http://www.robotran.be/documentation/Slides/HTML_MBsysC/MBsysLibDiag.html)
* How it interacts with LMGC90:
* interaction diagram
* MBS3D and MBS2D, similar to RBDY3 and RBDY2
## Installing
All information is available on www.robotran.eu. Here are some details
and specific instruction for the workshop.
### Installing MBsysPad
Follow instructions here:
* [Linux](http://www.robotran.eu/tutorial/install/Linux/MBsysPad.html)
* [MacOS](http://www.robotran.eu/tutorial/install/MacOS/MBsysPad.html)
* [Windows](http://www.robotran.eu/tutorial/install/Win64/MBsysPad.html), but the MBS-DEM coupling is not working with Windows :-(
### Installing MBsysC
For the workshop, install the development version:
* Go to the directory where you want to put MBsysC modules
* Clone MBsysC modules from git.immc.ucl.ac.be: `git clone git@git.immc.ucl.ac.be:robotran/mbsysc.git`
* Tell MBsysPad that you want to use the development version:
* Open MBsysPad
* Go to menu *Tools/Edit preferences*
* Check the box *Specify a custome MBsysC path*
* Fill the field *MBsysC path* with the path to the development version of MBsysC modules
## Compiling MBsysC modules
First you must install the dependencies:
* Ubuntu 16.04: `sudo apt-get install libxml2-dev libgsl2 libgsl-dev`
* Ubuntu 14.04 and previous: `sudo apt-get install libxml2-dev libgsl0ldbl libgsl0-dev`
* MacOS: look [here](http://www.robotran.be/tutorial/install/MacOS/MBsysC.html) to install GSL and LibXML2
Then you can compile.
* Go to the path: `....../mbsysC/MBsysC`
* Make a build directory: `mkdir build`
* Go to the build directory: `cd build`
* Configure the project: `cmake ..`
* Adapt the options so as to compile the MBS-DEM and the python interfaces
* Open cmake-gui
* Check the following options:
* FLAG_ADDON_MBSLMGC (to compile the MBS-DEM coupling)
* FLAG_INTERFACE_PYTHON (to compile the python interface to MBsysC modules)
* FLAG_IPY_WITH_MBS_LMGC (to compile the python interface to the MBS-DEM coupling)
* **Warning for MacOS user**, you have to force to use the same compiler
as LMGC90, i.e. gcc:
* With cmake-gui: check *avdanced* and set the option CMAKE_C_COMPILER to gcc
* Alternatively, in the command line: `cmake . -DCMAKE_C_COMPILER=gcc`
* Compile MBsysC: `make`
## Compiling LMGC90 by linking to Robotran/MBsysC
* Go to the build folder of LMGC90
* Open cmake-gui and set the following options:
* set EXT_MBS_VERSION to *Robotran*
* set EXT_MBS_FILE with the path `....../mbsysC/MBsysC/build/mbs_add_on/mbs_lmgc/Robotran_Lmgc90.cfg`
* Alternatively, in the command line: `cmake . -DEXT_MBS_VERSION=Robotran -DEXT_MBS_FILE=....../mbsysC/MBsysC/build/mbs_add_on/mbs_lmgc/Robotran_Lmgc90.cfg`
* re-Compile LMGC90: `make`
## Compiling a Robotran project: the MultiplePendulum example
The MultiplePendulum example comes with the MBsysC distribution and is
stroed in the ExampleProjects folder
* Go to the *workR* folder of the MultiplePendulum project
`cd ...../mbsysc/ExampleProjects/MultiplePendulum/workR`
* Create a build directory: `mkdir build`
* Go to the build directory: `cd build`
* Configure the project: `cmake ..`
* Configure the project to build in *separate* mode
* open cmake-gui and check FLAG_SEPARATE_BUILD
* Alternatively, in the shell: `cmake -DFLAG_SEPARATE_BUILD=ON ..`
* Compile the project: `make`
## Running the MultiplePendulum example
The simulation is controlled by a python script. This script is very
similar to the command script of a LMGC90 project with some specific
commands to initialize and call the MBS computations.
Remark: there is no preprocessor for the MBS-DEM coupling: contactors
and mbs elements are added directly in the command script
* Add the MBS-DEM coupling anf the python interface of MBsysC to the
python path:
* `export PYTHONPATH=...../mbsysc/MBsysC/build/mbs_add_on/mbs_lmgc/lib:${PYTHONPATH}`
* `export PYTHONPATH=...../mbsysc/MBsysC/build/mbs_interface/mbs_python/lib:${PYTHONPATH}`
* Go to the work/lmgc90 folder: `cd ...../mbsysc/ExampleProjects/MultiplePendulum/workR/lmgc90`
* Run the script: `python command_MBS_LMGC.py`
You can then look at the simulation results in paraview as for a
LMGC90 project.
## Simulating the TTT picker robot
* Go to the folder in which you want to put the project: `cd my/mbs/folder`
* Get the project from git.immc.ucl.ac.be: `git clone git@git.immc.ucl.ac.be:mbs_lmgc90/Robot-TTT.git`
* Go to the workR directory: `cd Robot-TTT/workR`
* Create the build directory: `mkdir build`
* Go to the build directory: `cd build`
* Configure the project: `cmake ..`
* Adapt options:
* Open cmake-gui
* check FLAG_SEPARATE_BUILD and click configure
* In the field LibRobotranC_DIR, set the path to MBsysC: `....../mbsysC/MBsysC/build`
* Alternatively, in the command line: `cmake .. -DFLAG_SEPARATE_BUILD=ON -DROBOTRAN_SOURCE_DIR=....../mbsysC/MBsysC`
* Compile: `make`
* Go to the work/lmgc90 folder: `cd my/mbs/folder/Robot-TTT/workR/lmgc90`
* Add the MBS-DEM coupling anf the python interface of MBsysC to the
python path:
* `export PYTHONPATH=...../mbsysc/MBsysC/build/mbs_add_on/mbs_lmgc/lib:${PYTHONPATH}`
* `export PYTHONPATH=...../mbsysc/MBsysC/build/mbs_interface/mbs_python/lib:${PYTHONPATH}`
* Run the script: `python command_MBS_interface.py`
* Look at the motion in paraview
* Setting the correct position of the target:
* Open MBsysPad
* OPen the project by selecting the dataR/Rob_TTT.mbs file
* Click on the *User Model* button
* Select the *Target* suer model and set the X and Y values:
* X: -0.1
* Y: -0.3
* Save the project
* Run again
[LMGC90 user days](TP_MBS_DEM)
\ No newline at end of file
Clone repository
  • Automatic generation of user_model IO of mbsysc projects
  • Camembert Robotran
  • Compilation troubleshooting
  • Joint forces: Qq, Qa, Qc
  • Json layout
  • Optim Sin
    • cos in symbolic
  • Optim computational time
  • TP_MBS_DEM
  • Using Visual Studio Code for a MBsysC project
  • Windows MBsysPy and librairies
  • Windows dll dependency
  • error code
  • Home
  • open gl notes
  • profiling on linux jonathan lambrechts
View All Pages