AnyKode Marilou. anyKode Marilou is a modeling and simulation environment for mobile robots, humanoids, articulated arms and parallel robots operating in real-world conditions that respect the laws of physics. This robotics suite is used in research centers and industry for various projects like humanoid architectures, wheeled and multi legged vehicles, and multi-robot systems (Multi-agents).

It also has a real-time engine that uses the ODE (Open Dynamics Engine) for collisions detecting and dynamics management. Various 'real world' variables like forces, torques, masses, damping, friction and others can be adjusted directly to the objects surfaces.

Scenes modeling
The entities' editor can design the robot's collision model by using any of the static or dynamic objects in the given simulated world. CAD-style editing tools are entirely graphical.

Scenes, dynamics, and robots properties can be changed from a view/document/properties IHM style. Also, the editor takes in charge re-usable physicals entities as well as pure 3D models.

Marilou uses a hierarchical system to present entire objects at the highest level (the current world). This approach makes it possible to reuse members of a complex object as sub-parts of another object.

Key features
 Graphical handling of robots and environments models (physics parts and 3D models)
 Modeling helpers, Refactoring tools, several documents and viewpoints
 Rigid bodies, n-axis constraints and springs
 Mechanical constraints
 Surface properties (reflection, shock, friction, incidence, rebound, behavior with infra-red or ultrasound …)
 Hierarchy and complex assemblies
 Real-time or accelerated simulations (RT-Multiplier)
 Multi-robots, multiple embedded applications, centralized or distributed
 Acquisition/measurement cycles as low as 1 ms
 Interactions with running simulation
 3D rendering using pixel and vertex shaders
 Spot, Point, Ambient and Directional lights
 Dynamic shadowing
 Physics Editor for Windows, Exec (the simulator) for Windows, Ubuntu, and Mint (BETA)

Devices

Marilou includes a complete set of user-modifiable virtual devices. The behavior of these devices may be overridden by the properties of real devices available in robotics. This feature allows the programmer to use a known device's parameters directly.

This is a list of supported devices types:
 Embedded robotic components
 Absolute Compass
 Actuating cylinders / jack
 Accelerometers/Gyro-meters/Gyroscope
 Air pressure forces
 Bumpers
 Distance sensors (Ultrasonic, Infra Red and Laser)
 Motors and servo motors
 Emitters and receivers
 Force and Torque sensors
 GPS
 Laser range finders
 LED 
 LCD display
 Light Sources
 Lidar (3D-Scanner)
 Odometers
 Standard and panoramic spherical Cameras (Panoramic camera)
 Touch area

Robots programming
MODA (Marilou Open Devices Access) is the Marilou generic SDK for handling simulated robots and their embedded devices, such as sensors and actuators. Depending on chosen language, MODA provides libraries (.lib /.a) or .Net assembly (.dll) for accessing simulation over the network. Synchronized to a simulated clock, algorithms can run on any computer in the network. Individual robots may run several programs. In addition, one MODA program can control numerous robots, whether they be in the same world. MODA TCP server can be embedded in real robot.
 Languages: C / C++, C++ CLI, C#, J#, VB#
 Compilers: Microsoft Visual Studio suites, DevC++, Borland C++ RAD Studio, G++ for Linux, CodeBlocks
 MODA is open-source and compatible with Linux (Mac coming soon)

See also

 Robot
 Robotics simulator
 Robotics suite

References
 Biomedical / Simulation
 COREBOT team website, the winners of the CAROTTE challenge (DGA & ANR)
 Brain Computer Interface (French)
 Command of a simulated wheelchair on a virtual environment 
 Programming a virtual robot with RT-Maps

Robotics simulation software