This tutorial is dedicated to the International Research Training Group (IRTG) SoftTissueRobotics. The focus of this tutorial is to give an introduction in the multibody-physics simulation framework DART. But before we go ahead and create our own physical worlds, we need to install some components.
These are
- Windows Subsystem for Linux
- A Winows X Server
- DART
- Some knowledge about how to build and execute Cpp programs in the WSL
Please note, this Readme assumes you have a Windows computer. If you have a linux system you are porbably already knowing what you are doing.
We need the windows subsystem for linux to run DART. You can find install instructions here
To visualize the physics engine we need an windows X Server in order to forward the display output from the WLS to Windows. Download and install (via your Windows system) a windows X-server. You can find the VcXsrv Windows X Server wich we recommend to use here.
Find the DART install instructions here. You can try to install DART with apt
sudo apt-get install libdart6-dev
sudo apt-get install libdart6-all-dev
In case this does not work (happend to me already) make sure you have a clean sytem
sudo apt-get remove libdart*
Then follow the instructions to install DART from source. Just to be sure, install all optional dependencies.
This tutorial is derived from the DART tutorials and examples that come with the installation of DART which you can find under: dart/tutorials, dart/examples,.
Make sure you are in the tutorial's subdirectory.
$ your/workspace/directory/hello_dart
Then create a build directory and build the executable.
$ mkdir build
$ cd build
$ cmake ..
$ make
Forward your Display output from the WSL to Windows. First start the X Server on your windows system. Then in the WSL console type:
$ export DISPLAY=:0
Launch the executable from the build directory:
$ cd helloDART/build
$./hello_DART
Follow the instructions detailed in the console.
In this tutorial you will learn to
- create a simple world in DART (hello_dart)
- create a body in this world (hello_dart)
- import more complex robot structures in the physics engine (hello_panda)
- simulate collisions between bodies (hello_collisions)
For each of the tutorials you find a separat subdirectory with the instructions for the tutorial as a tutorial.md file.