Top Secret Evil Plan

Top Secret Evil Plan was the nickname for our fourth year, winter 2011 robotics final project. The goal of the project was to simultaneously coordinate 3 robots operating in 3 different areas monitored by 3 different computers and get them to deliver 3 randomly placed blocks from each area to the holding area in the center, and the 3 pots from the left side of the center to the right side.

We decided to take a high level approach and take advantage of the position tracking system which gave us the position of each robot as calculated using an overhead webcam which monitored the robots through the use of algorithms to identify the position, direction and id of the tracking tag above each robot. Our software system also used a separate communication system to allow the computers to directly communicate with each other. This allowed each user to view real time updates and progress on the program's interface as well as down on the ground. We had a set of dynamically programmable tasks and objectives that were pre-defined for each individual robot. Each task is defined in such a way that it would instruct the robots to move in such a way that they would never come into collision with one another, so basic sensor-based collision avoidance was not required for this project.

All in all the software system is completely functional and more advanced than any other project our class had produced, and would work perfectly if only a single robot was functioning at any given time. However, when we tied in multiple robots, performance would rapidly degrade to the point that robots would be crashing into walls and ignoring objectives entirely. This however, was not our fault and was in fact the fault of the intermediary software which was responsible for updating our software with the robot's position on regular intervals. Once multiple robots were involved it would only occasionally send position updates over the network randomly at best, so most of the time our software had no idea where the robots actually were. Furthermore, the software was flawed in the sense that it had a bug that was never fixed that would corrupt transmission of network data related to the position of the robot, so that bits would be flipped and the data would sometimes be wrong. Coupled with countless other software and hardware issues, this project was a big pain in the ass, and we regrettably never got to see it work fully. We did test our code on each individual robot in a local testing environment and everything worked just fine, so I'm sure if the robot tracking software was properly functioning everything would have gone according to plan.

There is no way to actually make the planner code run, as it was dynamically loaded from a class loader in an external piece of software and required input from such programs in order to function. It will not function in any other environment or without this required software.

SVN Repository: https://subversion.assembla.com/svn/top-secret-evil-plan/

Download: Top Secret Evil Plan

Videos

A video of our Top Secret Evil Plan in action! Movement is a little jerky because positions were being sent inconsistently over the network and is the fault of the external position tracking software.

Screenshots

Click on any of the images below to view a larger version!

Top Secret Evil Plan
The main planner window, used for monitoring overall progress & sending commands.
Top Secret Evil Plan
The server window for monitoring debug output from each computer.
Top Secret Evil Plan
The task editor dialog for designating tasks full of groups of objectives to each robot so that they can operate simultaneously doing different things.
Top Secret Evil Plan
The GUI representation of the environment on our software.
Top Secret Evil Plan
The physical environment the robots are operating in.
Top Secret Evil Plan
A collection of battery packs for the robots.