Software

The Brains of the operation

Max

Strategy

Leo

Connection

Larissa

Navigation

Fabrice

Navigation

Ahmed

Strategy

Sofiene

Strategy

Silvan

Strategy

Overview

The Software is build with the help of ROS. The Robot Operating System provides software libraries and tools that help with the development. It allows for easy synchronization and communication between our different programs. The programs are called Nodes as the whole system is more like a network and our programs the connection points. There are three inputs and two outputs to our network. The first input is the position data of all robots on the field and the ball which is provided by the tournament organizer. The second input are the information received from our own robots and the third input is the referee. The referee is also our first output as we have to send timeouts and robot-swaps to the referee. Commands we send to our own robots are the second output.

Our Network can be divided into three main parts : Connection, Navigation and Strategy. The following diagram shows a brief overview of our network of Nodes.

Software Modules

Strategy

The strategy is the 'intelligent' part of the network it decides what to do next. For the strategy to decide what is best it need a lot of data which has to be filtered or calculated from all the data we get. We use the concept of a threat level which indicates how likely it is for the enemy to score a goal and to win the game. If the enemy is leading the threat level is always a bit higher and if we are in the lead it is always lower. Dependent on this threat level we decide whether to be more aggressive or defensive.

Navigation

The navigation includes the localization of the robots and the ball on the field. We do this by displaying them as coordinate systems in a global coordinate systems. This way it is really easy to calculate rotation an positioning of two robots to each other. This data is used by the strategy and the navigation it self. As the main part of the navigation is the planning of the best route for the robot to reach the desired destination.

Connection

The connection module handles the Communication with everything outside our own Network. It receives data and formats it to our network internal messaging format for further use. It also converts data from the internal messaging format to the format used by the external device. Establishing and maintaining connection to the external devices is the last responsibility of the connection module.