Home !
Version française

Using Marilou Robotics Studio simulation engine with RTMaps (Tutorial 6)

Duration: 20 min.

Objectives:

Simulate robots behaviors using the Marilou Robotics Studio simulation engine in cooperation with RTMaps.

Keywords:

Robotics, simulation, odometry, vision processing, neural network, artificial intelligence, multithreading.

Used components:

MarilouExec,
WheelyRobot,
Wifibot,
MappingKeys,
NNAvoid,
Odometry...

Prerequisites:

Basic knowledge of RTMaps and Marilou is needed. You should find informations about both products on the RTMaps tutorial site and Marilou Robotics Studio web site.

  • Download and install RTMaps (at least Release 3.2).
  • Download and install Marilou Robotics Studio. You can find instructions here.
  • Then download and run the Marilou tutorial setup.
    Please note that this tutorial is optimised for Keyboard component v2.5. Please upgrade "standards components" package on the Intempora support website if needed.

 

Running the samples

Installing the tutorial files

The tutorial setup will install several files under the path <RTMaps install dir>/Tutorials/Marilou. Some files will be used by the Marilou Robotics Studio simulation engine (“resources” directory) and others are two RTMaps diagrams.

 

Diagram 01-simpleRoom.rtd

This world is composed of a small room and a robot named Wheely. It can be driven with the keyboard keys :


Diagram 02-fullRoom.rtd

The robot is totally driven by a very basic neural network. It moves autonomously and purposeless around the room. This diagram shows how to add image processing capabilities: this chain is able to get a click from the image viewer and detect the colour of the selected area. This colour will then be used by the BlobAnalyser component to recognize the colour in the environment.
You can find the tutorial about the BlobAnalyser by clicking here here .

Components and packages descriptions

 

Marilou Package

This package is specific to Marilou Robotics Studio. It contains three components:

MarilouExec

MarilouExec is responsible of the Marilou world loading. It works as if launched through the Marilou Robotics Studio menu.
To test it, first create a new empty diagram into RTMaps and register the rmaps_Marilou.pck. This package may be located into the standard RTMaps package directory.

<rtmaps install directory>/packages

Now drag and drop MarilouExec into the RTMaps workspace. MarilouExec has only one property file that specifies the Marilou Robotics Studio world to load. Click on “help” button on the window property to obtain help on this component. Set this property file to any .mdsp file. Therefore, you can use for example one of the two worlds provided by the tutorial (01-simpleRoom.mdsp or 02-fullRoom.mdsp):

<rtmaps install directory>/tutorials/Marilou/resources/
.

When you press the Run button of the RTMaps Studio, a window showing the simulation appears.

 


WheelyRobot

The WheelyRobot component is connected to the robot located in the Marilou world. It has three properties.

You can use the Marilou device explorer to find every the entity names known by the simulator. When the diagram containing only the MarilouExec component is running (see above), launch the program file "DevicesExplorer.exe" located into

<Marilou install diretroy>\Samples\Tools\DevicesExplorer\bin\Release

You can also open the device explorer directly from the simulation window that is running, in the tool menu, by choosing Devices Explorer.

When the device explorer is opened, you have to configure the host that is running the simulation

You will then be able to explore the structure of every loaded entity. In this example, the robot name is Wheely. This name will then be used internally to find every core devices like sonar or motor belonging to it, for instance :

/Wheely/

usFL/ray/device_sonar
hinge2/a1/motorRight

Wheely is a differential drive robot equiped with 4 SRF08 sonars sensors. The component WheelyRobot provides an access to these mecanical parts, through its inputs and outputs.


Left motor

right motor

Sonars

Image

Encoders

WifiBot

The WifiBot component has exactly the same properties as the WheelyRobot component. But this time, the name property is set to WifiBot. The component has also different inputs and outputs as the mechanical and sensors are not the same.


Left motor

right motor



InfraRed Sensors

 

Package Control

This package contains several useful components not specifically related to Marilou Robotics Studio:

 

 

 

 

The odometry component contains several properties that must be configured to compute the correct robot position at every step :

 

 

 

Contact us or leave a question in the forum.