Start up a console, type sudo apt-get install morse-simulator (or click here: install morse-simulator), then:
$ morse create my_first_sim $ morse run my_first_sim
Here you are!
Installing this package also gives you full support for ros, yarp, moos, and in fact, all of the middlewares supported by MORSE (with a few corner cases for the pocolibs middleware that may require manual compilation. Read on).
Automatic installation of middlewares’ support requires MORSE >=1.3! Ubuntu =< 15.04 and Debian Wheezy/Jessie only ship MORSE 1.2.2: in that case, you still need to install MORSE manually if you want to use MORSE with ROS/YARP/MOOS/pocolibs. Read on.
You can now head to the Quickstart tutorial!
Only Linux (x86 and x86_64) is currently officially supported. MORSE is mainly developed on Fedora and Ubuntu, but we don’t expect problems on other distributions.
Other UNIX-based systems probably work as well, like FreeBSD or Apple’s macOS. Limited testing has been performed on OSX 10.8 with success (see below for the Homebrew recipe).
MORSE does not currently officially support Microsoft Windows, although some users have reported success. Testers/maintainers for Windows are welcome!
A decent machine is required (typically, with an Intel i5 and 4GB RAM should be sufficient).
To display textures correctly in the simulator, as well as to generate images using the simulated cameras, you will need to have a graphics card that supports GLSL shading. The Blender website lists these graphic cards as compatible with GLSL:
If you do not need cameras and OpenGL textures/shaders, you are advised to run your simulation in fastmode (refer to the simulation’s Builder API) for vastly improved loading time and performance.
MORSE is available on Debian >= Wheezy and Ubuntu >= 13.04. You can install the package morse-simulator with your favorite software package manager:
$ sudo apt-get install morse-simulator
You can also install the Python bindings with:
$ sudo apt-get install python3-morse-simulator
Automatic installation of middlewares’ support requires MORSE >=1.3! Ubuntu =< 15.04 and Debian Wheezy/Jessie only ship MORSE 1.2.2: in that case, you need to install MORSE manually if you want to use MORSE with ROS/YARP/MOOS/pocolibs. Continue to the next section.
You can also easily install MORSE with:
See their associated documentation for details.
The directory where MORSE is installed will be referred to as $MORSE_ROOT in this document.
If you plan to build packages for MORSE, please read the notes on packaging below.
If you use a Blender binary, numpy is already shipped within it.
Clone with git or download the latest version of the source code:
$ git clone https://github.com/morse-simulator/morse.git
(the latest revision is always reasonably stable, and we recommend that you use it. However, if you prefer to use the stable branch, you can checkout the 1.4_STABLE branch or download it from here.
MORSE relies on a standard CMake workflow: go to the directory where you downloaded the MORSE source and type:
$ mkdir build && cd build $ cmake .. $ sudo make install
While the default set of options should cover the needs of most users, you can use ccmake .. to inspect (and modify) all the available options.
The optional $MORSE_BLENDER environment variable can be set to let the simulator know where to look for Blender if it is not accessible from the path.
You can check your configuration is ok with:
$ morse check
When updating MORSE to a more recent version, you’ll simply have to do:
$ git pull --rebase https://github.com/morse-simulator/morse.git master $ cd build $ sudo make install
Time to jump to MORSE’s Quickstart tutorial!
While not officially supported, MORSE is also known to work with OpenRTM.
If you want to distribute your simulation in a multinode infrastructure, MORSE provides by default a socket service for multinode synchronization. If you want to use HLA, you have to first install the CERTI and PyHLA packages:
By default, MORSE automatically installs support for every supported middleware as well as the Python bindings pymorse.
To package MORSE, you may want to separate the support for the various middlewares from the core of the simulator. This can easily be achieved by passing options to CMake like -DBUILD_ROS_SUPPORT=OFF or PYMORSE_SUPPORT=OFF.
-DBUILD_CORE_SUPPORT=OFF disables the installation of the core of the simulator. This way, you can easily package separately the support for the various middlewares/bindings.