The Georgia Tech RoboJackets team competes in the annual RoboCup Small Size League (SSL) competition. This repository contains all of the software that we run on the main field laptop and on our robots. More information on how our software works can be found on our documentation page, our wiki or on our website. Also, check out our 2014 qualification video to see our robots in action!
Here is a screenshot of our 'soccer' program:
The soccer game is played between two teams of six robots each on a field with overhead cameras. The field vision computer processes images from the cameras and sends out (x,y) coordinates of the ball and the robots. Each team has a laptop that accepts the data from the vision computer and uses it to strategize, then send commands to robots on the field.
The official RoboCup site has more information on the competition.
The soccer folder contains the code to build the 'soccer' program, which is the main program in control when running our robots.
Code for the RoboCup simulator is located here. This allows us to quickly test our soccer strategy on the computer. Keep in mind though that just because something works well in the simulator doesn't mean it'll be the same in real life.
The firmware folder contains the code that runs on the robot (soccer/robot) and on the radio base station. See the firmware/robot README for more info.
Code that's shared between the different programs in our project is stored here.
Compiled programs and some configuration files are stored here.
Here's a quick guide to getting this RoboCup project setup on your computer. We recommend and only provide directions for installing on Ubuntu Linux, Arch Linux, and Mac OS X, although it shouldn't be too difficult to port to other operating systems.
- Clone the repository
git clone git://github.com/RoboJackets/robocup-software
- Install the necessary software
There are a few setup scripts in the util directory for installing required packages, setting up udev rules, etc. See ubuntu-setup
, arch-setup
, and osx-setup
for more info.
$ cd robocup-software
$ util/<SYSTEM>-setup
- Build the project
$ make
We use CMake as our build system and have a simple makefile
setup that invokes CMake.
After running make
, several programs will be placed in the run folder. See the soccer docs for instructions on running the soccer program.
We use Doxygen for documentation. This allows us to convert specially-formatted comments within code files into a nifty website that lets us easily see how things are laid out. Our compiled doxygen documentation can be found here:
http://robojackets.github.io/robocup-software/
Note: The doxygen documentation site above is updated automacally using circle-ci. See our autoupdate-docs.sh file for more info.
We use gtest for unit-testing our software, which can be run by running make tests
. To add a test to be run with the rest of the bunch, add a new file in soccer/tests.
The soccer tests can be run using make test-soccer
or firmware tests with make test-firmware
.
The TESTS name filter to run only certain tests. For example make test-soccer TESTS=Point*
runs only the tests for the Point class.
This project is licensed under the Apache License v2.0. See the LICENSE file for more information.