|Short Description:||Robogame where a human player should prevent a robot to ruin down the home tower.|
|Students:||DavideTateo (email@example.com), MarcelloPogliani (firstname.lastname@example.org)|
Aim of this project is to develop a strategic realtime Robogame, based on the idea of a "Tower defense" (a game in which the player has to defend an object, that is the "tower", from an attack pursued by the enemy).
A mobile robot should try to ruin down the enemy tower in a given amount of time. The human player has to prevent this by acquiring obstacles and putting them on the game field, either at the beginning of the game, or during the game, by buying obstacles from a computer dispenser.
This is a project for the Computer Engineering Project Course ("Progetto di Ingegneria Informatica", ord. 270 - 5cfu) for the Academic Year 2011-2012, and is developed on the Spykee robot using the ROS middleware. Also an STM32F4-Discovery Board and ChibiOS were used in this project.
To have an idea of how the game looks like, take a look to these posters (in italian)
Code and documentation for this project can be found in the Discussion area.
- Full porting of the existing code from DCTD middleware to ROS, including new ros-like CMakeLists for MrBrian and his tools (gmbte, checker).
- Eliminated extra battery power supply, now the robot uses internal battery. (by Davide Rizzi and Martino Migliavacca)
- Added an Rfid card reader and a 4 channel radio frequency receiver.
- Added a microcontroller to control the extra hardware, read data from sonar belt, improve led control (blinking and fixed status), send and receive data with zigbee protocol.
- Improved transmission protocol for spykee extra hardware, with an expandable tag based protocol.
- Graphic user interface for the game, with sounds.
- All extra hardware packed in PVC box.
- The rfid card reader has been packed in a plexiglass and alluminium container. (by Martino Migliavacca)
- Improved comunication with the robot firmare. Now battery messages are recognized and correctly interpreted. Also white led command was found, but seems that not always works.