- Source: 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