Football Table Simulation Visualization Tool: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
== Information ==
== Information ==
<p>A simulator is developed to easily test new algorithms without depending on the actual robot. Also, tests can be performed at a faster pase. This makes it easier to study problems such as higher level gameplay strategies. This simulation is created with use of [http://www.openrobots.org/wiki/morse MORSE], which is a Multiple Open Robot Simulation Engine.</p>
<p>A simulator is developed to easily test new algorithms without depending on the actual robot. Also, tests can be performed at a faster pase. This makes it easier to study problems such as higher level gameplay strategies. This simulation is created with use of [http://www.openrobots.org/wiki/morse MORSE], which is a Multiple Open Robot Simulation Engine.</p>
[[Image:gui.png|400px|thumb|center|Figure 1: Tool Overview]]
<p>
<p>
Together with this simulator, a visualization tool (GUI) is developed to visualize the sensor data of the football table. This tool is connected with the simulator or the table and provides the interface to the user.  
Together with this simulator, a visualization tool (GUI) is developed to visualize the sensor data of the football table. This tool is connected with the simulator or the table and provides the interface to the user.  
Line 19: Line 18:


== Structure ==
== Structure ==
[[File:Structure.PNG|center|thumb|400px|Figure 2: Structure]]
=== Data flow ===
=== Data flow ===
<p>The current network-structure of the project is shown in Figure 2. In order to create a link between these subsystems, three connections are needed:</p>
<p>The current network-structure of the project is shown in Figure 2. In order to create a link between these subsystems, three connections are needed:</p>
Line 27: Line 25:
   • Control  &nbsp;&nbsp;&nbsp;&nbsp;&larr;&rarr;&nbsp;&nbsp; GUI (Visualization)
   • Control  &nbsp;&nbsp;&nbsp;&nbsp;&larr;&rarr;&nbsp;&nbsp; GUI (Visualization)
</p>
</p>
 
[[File:Structure.PNG|center|thumb|400px|Figure 1: Structure]]
=== Middleware ===
=== Middleware ===
<p>This data-communication is established with use of the [http://eris.liralab.it/yarpdoc/what_is_yarp.html Yarp] Server (which is integrated in the GUI). It creates the link between the multiple subsystems. Further information about this communication can be found in the [http://cstwiki.wtb.tue.nl/images/Report_Rein_Appeldoorn_Visualization_Simulation_Tool_Football_Table.pdf report].</p>
<p>This data-communication is established with use of the [http://eris.liralab.it/yarpdoc/what_is_yarp.html Yarp] Server (which is integrated in the GUI). It creates the link between the multiple subsystems. Further information about this communication can be found in the [http://cstwiki.wtb.tue.nl/images/Report_Rein_Appeldoorn_Visualization_Simulation_Tool_Football_Table.pdf report].</p>
Line 35: Line 33:


== Graphical User Interface ==
== Graphical User Interface ==
[[Image:gui.png|400px|thumb|center|Figure 2: Tool Overview]]
The GUI is created with use of two main elements: [http://qt.nokia.com/products/ QT] (UI Framework) and [http://www.ogre3d.org/ OGRE] (3D Graphics Engine). With use of the visualization, the user can see what information the robot obtains during a work-out. This part of the GUI visualizes the sensor data that comes from the real table or simulator. Updating this visualization and receiving data is done at a frequency of 50 hertz. This provides a smooth playback of the sensor data of the (simulated) robot to the user.
The GUI is created with use of two main elements: [http://qt.nokia.com/products/ QT] (UI Framework) and [http://www.ogre3d.org/ OGRE] (3D Graphics Engine). With use of the visualization, the user can see what information the robot obtains during a work-out. This part of the GUI visualizes the sensor data that comes from the real table or simulator. Updating this visualization and receiving data is done at a frequency of 50 hertz. This provides a smooth playback of the sensor data of the (simulated) robot to the user.



Revision as of 11:14, 16 September 2011

Author: Rein Appeldoorn

Information

A simulator is developed to easily test new algorithms without depending on the actual robot. Also, tests can be performed at a faster pase. This makes it easier to study problems such as higher level gameplay strategies. This simulation is created with use of MORSE, which is a Multiple Open Robot Simulation Engine.

Together with this simulator, a visualization tool (GUI) is developed to visualize the sensor data of the football table. This tool is connected with the simulator or the table and provides the interface to the user.

These different systems: Simulator, Football Table and the GUI are connected with use of the Yarp Middleware.

External Documentation

Structure

Data flow

The current network-structure of the project is shown in Figure 2. In order to create a link between these subsystems, three connections are needed:

• Control     ←→   Simulator (Actuators/Sensors)
• Simulator  ←→   GUI (Visualization)
• Control     ←→   GUI (Visualization)

Figure 1: Structure

Middleware

This data-communication is established with use of the Yarp Server (which is integrated in the GUI). It creates the link between the multiple subsystems. Further information about this communication can be found in the report.

Tool

The tool contains two elements: Visualization and Simulation. It communicates with the real football table or simulator to visualize the sensor data during a work-out. Starting simulations with use of this tool is not yet possible but can be implemented in the future. For now, the simulations has to be started with use of the MORSE simulator and after that, a connection can be established to visualize the sensor-data of the simulator.

Graphical User Interface

Figure 2: Tool Overview

The GUI is created with use of two main elements: QT (UI Framework) and OGRE (3D Graphics Engine). With use of the visualization, the user can see what information the robot obtains during a work-out. This part of the GUI visualizes the sensor data that comes from the real table or simulator. Updating this visualization and receiving data is done at a frequency of 50 hertz. This provides a smooth playback of the sensor data of the (simulated) robot to the user.

Simulation

Figure 3: MORSE model

The simulation is build with use of MORSE. This robot simulator is based on Blender's Gamelogic module (Module for game-creation). This module is entirely scriptable with use of Python. These python-scripts can interact with the simulated environment.

The MORSE addition to this module makes it possible to communicate with these python scripts with use of middlewares or simple sockets. Local variables of these scripts can be modified or read; which results in a control of the simulated environment with use of an external client.

The report contains detailed information of the creation of this simulation-model and its interactions with the external client. It also gives an overview of the MORSE workflow which gives more insight in the working principle of the MORSE simulator.