anyKode Marilou

Welcome into anyKodeŽ Marilou 2010

Marilou provides roboticists who wish to work with simulation tools a complete modeling environment and scene simulator, complete with robots subject to the laws of physics. Marilou offers a wide range of possibilities designed to allow you to quickly create models for the physical entities within scenes and to simulate their reactions in various configurations. 


Please do not hesitate to contact the Marilou support team ( for more information. You may also ask questions and participate directly on the Marilou forum: 



Why use a simulator?

Robots are expensive and complex machines that are sometimes extremely difficult to program. Given the infinite number of different situations a robot may encounter (situations that developers weren't always able to plan ahead for, or that artificial intelligence is unable to handle), as well as the risk of actually damaging a robot during the development phase (irreversible errors such as a fall from a great height), it is often best to use of a virtual robot operating in a virtual world. Mistakes made in a virtual environment during the development phase, by definition, are of no great consequence. Robotics simulators therefore offer significant advantages in a clearly defined framework. 


Marilou is a simulator that specifically addresses roboticists' needs. This includes being able to represent real-world phenomena (for which a model is created) in order to subsequently carry out virtual experiments that make it possible to study movement and reaction over time. In Marilou, the simulator enables developers to create both environments (in which robots move around) and robots, enabling behavioral tests to be carried out in various situations. 


For example, let's consider the case of a robot platform in charge of assembling palettes. In order to keep operating costs down, the production team asks the roboticist in charge of the robotic platform to optimize the speed of each task. The engineer must therefore find a trajectory that satisfies the request, while at the same time, the robot is actually subject to mechanical and structural constraints and other environmental factors, such as collisions.


In this case, it is best for the roboticist to use a simulator that will make it possible to test trajectory paths, with the possibility of making mistakes without actually damaging any real equipment. After problems are eliminated, the trajectory can then be validated by running it on the real robot. 


However, it is important to remember that, for the simulator to be efficient, the model you use must be functionally and structurally correct. That is, it must be built so that the results and predictions obtained from the simulator are relevant to the task you intend to carry out. 


Marilou helps roboticists every step of the way in this complex process. Marilou offers the latest in robotic simulation technologies, and uses the renowned Open Dynamics Engine (ODE) in order to give users all the tools they need to simulate robotics projects. Marilou's intuitive graphical interface helps you get your work done fast. 


Marilou will guide you through the various tasks necessary for proper robotics simulation. The following paragraphs provide a quick overview of the main parts involved in using the application. 



Visual editor: Modeling


Marilou's physical entity editor is entirely graphical, allowing users to create even the most complex robots in relatively easily. Robots are then easy to place in one or more worlds in order to test embedded algorithms.

In order to provide the most real environment possible, Marilou offers a complete range of preset materials that you can apply directly to a robot's surfaces and any other entity subject to the laws of physics, such as tables, chairs, landscapes, and more.

Physical entities can be dressed by one or more 3-D rendering models.

The physical entity editor also lets you connect devices, including embedded equipment, sensors, and actuators, to a robot's geometries, rigid bodies, and articulations.

Physical shapes (collision models) are built of simple geometries that are assembled (or not assembled) into rigid bodies. Rigid bodies are connected using n-axis joints.

The shapes used by physical entities are:

  • "Native" geometries (boxes, spheres, cylinders, capsules, spokes, etc.)
  • Triangle geometries: generated by integrated libraries or imported from 3-D files
  • Convex geometries
  • Landscapes (elevation maps): generated from elevation textures.


Running simulation

Marilou's execution module loads your models and simulates their behavior within a physical simulator in real-time. Algorithms, controls, and applications developed by roboticists all interact with embedded devices such as motors, distance sensors, accelerometers, compasses, cameras, and more. With all these tools, robots can navigate through virtual worlds in real conditions.



Programming: Marilou Open Device Access (MODA)

Marilou includes a Software Development Kit (SDK) that lets you program simulated robots in several languages, such as C, C++, C++ CLI, C#, VB# et J#, etc. The generic SDK accesses the various simulation components, in particular embedded devices (sensors and actuators). A single program can use calls to embedded devices to control several robots, whether or not they are present in the same world.


Constructor/Marilou compatibility: compatibility plugins

Compatibility plug-ins make it possible to transform a Marilou robot so that it can be accessed by an external SDK. Roboticists can therefore choose to not use Marilou's MODA tools and to use the "real" robot's constructor SDK.

Documentation v4.7 (18/01/2015), Copyright (c) 2015 anyKode. All rights reserved.
What do you think about this topic? Send feedback!