Welcome in the MORSE tutorials section!

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

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

If you did not check it, we recommend you to first go over 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 describes simulation scenes. More about that in a second.

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 mechanism provided by most robotic middlewares:

  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 it is not already done.

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

Basic MORSE user interface

The next tutorial describes precisely how to launch the MORSE simulation, and how to basically interact with him.

Multi-node tutorials

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

Blender specific instructions

Since MORSE is completely built over Blender, it is important to know some of its functionality.