Git Product home page Git Product logo

robocup-software's Introduction

GT RoboJackets RoboCup SSL Build Status

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!

Screenshot of the 'soccer' program

The Competition

The official RoboCup site has more information on the competition.

The Basics

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.

Project Layout

soccer/

The soccer folder contains the code to build the 'soccer' program, which is the main program in control when running our robots.

simulator/

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.

firmware/

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.

common/

Code that's shared between the different programs in our project is stored here.

run/

Compiled programs and some configuration files are stored here.

Setup

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, although it shouldn't be too difficult to port to other operating systems.

  1. Clone the repository
# note: if you're not a RoboJackets member, use this address instead:
# git://github.com/RoboJackets/robocup-software
$ git clone [email protected]:RoboJackets/robocup-software
  1. Install the necessary software

The ubuntu-setup script uses apt-get to install several packages that are required to build and use the project.

$ cd robocup-software
$ util/ubuntu-setup
  1. Build the project
$ scons

Scons is a python-based build system that we use to compile the executables that make up our project. After running scons, several programs will be placed in the run folder. See the soccer docs for instructions on running the soccer program.

Documentation

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 currently updated manually (pushing new code to master doesn't update our documentation site). Checkout the gh-pages branch and take a look at the README to see how this is handled.

Testing

We use gtest for unit-testing our software, which can be run by running scons test. To add a test to be run with the rest of the bunch, add it to the test sources variable in test/SConscript.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.