Welcome in the MORSE tutorials section!

As an academic simulator for robotics, MORSE is a large piece of software which may take some time to master.

However, you should hopefully be able to get your first simulation running very quickly.

If you haven’t yet read it, we recommend you to first read the Quickstart page and come back here afterwards.

What is the general workflow?

MORSE relies on the Blender 3D package to run your simulation. To create a simulation scene, you need to describe it using the Builder python API, which allows you to simply describe simulation scenes. More about that in a moment.

Once you have a description of your simulation, you can run it:

$ morse run <your file>

Now, instruct your middleware (ROS, YARP,...) to address the simulator instead of the real robot, and start your control softwares as you would do on a real robot. If you are not relying on an explicit middleware, you can also use the socket interface socket or the Python API pymorse. MORSE supports the two classic interaction mechanisms provided by most robotic middleware:

  1. Using RPC-oriented calls service
  2. Using stream-oriented interfaces. datastream


In various places in the documentation, you will see labels like builder, ros or service. They denote the main subjects that the section or the tutorial deal with.

The first simulation

First of all, install MORSE if you haven’t already done so.

Next step, Create your first simulation builder socket. builder socket

Basic MORSE user interface

The next tutorial describes how to launch the MORSE simulation, and how to do basic interaction with it.

Multi-node tutorials

These tutorials help setting up a multi-node simulation environment.

Blender specific instructions

Since MORSE is completely dependent on Blender, it is important to know some of Blender’s functionality.