Skip to content

RoboJackets/robocup-software

ros2
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* create scorer request

* add scorer response.

* write logic to find best shooting robot

* out of offensive robots, robot closest to the ball is assigned to scorer

* remove spdlog info

* add in shoot logic

* fix bug where multiple robots swarmed the ball even if they were not the scorer

* add docstrings

* run make-pretty-lines

* fix code suggestions

* create request to reset the scorer

* make scorer rotate based on who was the last scorer

* make build suggestions 1.0

* Improve kick consistency (#2069)

* change line kick param, make settle part of Offense capture

* pivot before kicking

* make collect respect our robots as obstacles

* remove print statements

* goalie now does the pivot kick like offense!

* Fix Code Style On shoot_only (#2075)

automated style fixes

Co-authored-by: N8BWert <N8BWert@users.noreply.github.com>

---------

Co-authored-by: Kevin Fu <30275369+kfu02@users.noreply.github.com>
Co-authored-by: Kevin Fu <kevin.fu842@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: N8BWert <N8BWert@users.noreply.github.com>
2082a1d

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ci
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GT RoboJackets RoboCup SSL

NEW DOCUMENTATION: https://rj-rc-software.rtfd.io

Everything below this line is extremely out of date.


16.04 Build Status Coverage Status

Riot Join the chat at https://gitter.im/RoboJackets/robocup-software

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: Screenshot of the 'soccer' program

TODO: fix above^

The Competition

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.

Project Layout

robocup-software is split into 3 parts, software, firmware, and a common part, used by both software and firmware. This repository contains the software portion of our codebase, the part that runs on our laptops, running high level plays.

soccer/

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

common/

Code that's shared between the software and firmware sections of our codebase is stored here, as a git submodule. See RoboJackets/robocup-common.

external/

External dependencies that our code relies on, stored as git submodules. To initialize these, please run git submodule update --init --recursive.

run/

Compiled programs and some configuration files are stored here.

Setup

OUTDATED (since ROS2 rewrite)

Read the docs in docs/src/getting_started/index.rst instead.

Here's a quick guide to getting this RoboCup project setup on your computer. We recommend and only provide directions for installing on 20.04 Ubuntu Linux due to the limitations of ROS2.

  1. Clone the repository
git clone git://github.com/RoboJackets/robocup-software
  1. 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
  1. Build the project

TODO(1521): Fix makefile scripts.

mkdir build && cd build
source /opt/ros/foxy/setup.sh
export CMAKE_PREFIX_PATH=/opt/ros/foxy
cmake -GNinja -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
ninja install

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.

To run simulation:

source /opt/ros/foxy/setup.sh
source install/setup.sh
ros2 launch rj_robocup sim.launch.py

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 for software 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.

Testing

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.

License

This project is licensed under the Apache License v2.0. See the LICENSE file for more information.