Scroll to navigation



morse - A robotics simulator based upon the Blender Game Engine


morse [-h] [-c] [--reverse-color] [-v] {create,rm,add,check,run,edit} ...


MORSE, the Modular OpenRobots Simulation Engine, is a general-purpose robotics simulator, primarily intended for an academic audience.

It relies on the Blender Game Engine to provide a semi-realistic 3D environment with physics simulation.

A robot and its environment are created in MORSE by building a model in Blender. Actuator and sensor objects are attached to robot models, and may be interacted with via a variety of middleware protocols. Simulations can be programmed via Python scripts or inside of Blender itself. Currently supported middleware includes YARP, MOOS, ROS, Pocolibs, Mavlink, HLA as well as a plain socket interface.


These options apply to any MORSE command.

Uses colors for MORSE output. The default color scheme is well adapted to terminals with a dark background.
Uses an alternate color theme for MORSE output, well adapted to terminals with a bright background.
Displays information regarding the program use.
Displays the version number.


See "man morse-<command>" for a documentation of each commands.

Adds templates for a new component (sensor, actuator, robot) to an existing simulation environment.
Checks the environment is correctly setup to run morse.
Creates a new simulation environment in the current directory. A template simulation scene is also created. The environment is added to 'sites' in ~/.morse/config
Open the given Blender scene or Python script in the Blender interface for edition. The simulation can be started by pressing P.
Imports a pre-existing simulation as a new simulation environment.
Deletes an existing simulation environment.
Runs a simulation (must be a Python script) without loading the Blender interface.


Configuration files are stored in each user $HOME/.morse

General MORSE configuration. Section 'sites' contains the list of simulation environments MORSE will look for at startup.


Use this variable to determine where are localised data. This variable is mandatory
Determine which blender binary is started. If it does not exist, rely on the first blender in the PATH
Determine where morse will search for blender components. It is a colon-separated list of directories, similar to PATH.
In multi-node mode, if no name has been given, look for this variable to determine the name of the node. If it does not exist, rely on the name of the host.
Do not restrict matching system vs. Blender Python version. Use at your own risk.

Morse relying on Python to execute itself, the run of Morse is influenced by all Python variables, in particular PYTHONPATH. See python(1) for details.


morseexec(1) blender(1) python(1)


Copyright (c) 2009-2010 ONERA Copyright (c) 2009-2016 LAAS-CNRS Copyright (c) 2015-2016 ISAE-SUPAERO Copyright held by the MORSE authors or the institutions employing them, refer to the AUTHORS file for the list. The list of the contributors to each file can be obtained from the commit history ('git log <file>').

February 6, 2023 1.4