RoboCup Software
Overview
RoboCup Software encompasses all parts of the system that run on a host machine (not the robots). The entire software system is composed both of the components we play soccer and compete with as well as a sort of SDK that allows new components to be written quickly for idea and system testing.
Tasks
The RoboCup software team is using a program called Redmine for task management. It serves as a centralized todo-list to keep track of what needs to be done and who's in charge of doing it. For information about Redmine, check out their Tutorials Page.
The RoboCup Redmine site can be found at: https://redmine.robojackets.org.
Main Programs
- soccer
- Everything after vision and before radio happens here.
- simulator
- Simulates a game environment, including vision and radio
- sslrefbox
- The standard SSL referee box for issuing referee commands to all teams
- radio
- Radio communication with on-field robots
Logging Utilities
- log_viewer
- Playback of logged data
- simple_logger
- Records vision and referee data just like soccer does, but with no processing.
- convert_tcpdump
- Reads vision and referee packets from a tcpdump file and generates a log file. Use with util/log_vision.
Development
- RoboCup Setup
- A step by step guide to setting up your new Linux system with our code base.
- RoboCup Boost Unit Tests
- Explains how Boost Unit Testing Framework is integrated into and run from SCons.
- RoboCup Coding Standard
- Coding standard
- RoboCup Tips&Tricks
- Some pointers on how to begin writing and debugging code.
- RoboCup GIT HOWTO
- We currently use Git as our code management system, and this will explain how to acquire and update the code base.
- RoboCup Eclipse HOWTO
- You can use any editor you want, but one useful one is Eclipse. This HOWTO explains how to get an set up eclipse.
- RoboCup Compile HOWTO
- System requirements, dependencies, and using the build tools to compile all of the software.
- RoboCup Simulator Execution
- How to start and configure the simulator and connect to one or two soccer playing modules, as well as the Referee Module
- RoboCup Live Robot Execution
- How to start and run the soccer with actual robots, connect to shared vision, and receive commands from the Referee Module
- RoboCup Vision System
- How to setup the vision system (camera calibration, blob detection, etc.)
- Robocup Play Development HOWTO
- How to create a simple play to get started
Conventions
There are a variety of conventions used throughout the code, both to represent soccer-playing, and to maintain consistency in code development.
- RoboCup Robot Identification
- The means by which specific robots and field entities can be identified
- RoboCup Field Structure
- The coordinate systems and their relationship to the field
- Field and Camera Information
- Specifications on our cameras