-
Gazebo 7.1
You can use the
gazebo_markers
branch for visual markers. -
ROS (Indigo, Jade, Kinetic), or ROS2
-
gazebo-ros-pkgs
for Gazebo 7 (sudo apt-get install ros-<distro>-gazebo7-ros-pkgs
) -
Ignition Transport, Math, Msgs (
sudo apt-get install libignition-msgs-dev libignition-math-dev libignition-transport-dev
)
- Create a catkin workspace
source /opt/ros/jade/setup.bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
- Download this repository
cd ~/catkin_ws/src
hg clone https://bitbucket.org/osrf/frc2016_competition
- Compile
cd ~/catkin_ws
catkin_make install
- Setup
source install/setup.sh
source install/share/frc2016_competition/setup.sh
- Run
roslaunch frc2016_competition frc2016.launch
-
Each team may build up to 3 robots
3 different robots, or use 3 identical robots
-
There are 4 possible starting locations
- Three positions along the center line
- One position on the opposing team's side (spy bot).
-
The goal is to earn points by achieving the following:
- Drive over a centerfield barricade
- First time: 5 pts
- Second time: 10 pts
- Drive over four barricades, two times each: 20pts
- Throw a ball into opponent’s tower
- Bottom tower: 5 pts
- Top tower: 15 pts
- Drive over a centerfield barricade
-
6 balls are lined up at centerfield when match begins, three balls are located in each castle
-
Additional balls are added to the field from alternating sides at 1-minute intervals, only if balls are in the castle
-
Teams may tele-operate their robots, or opt for autonomy
-
The team with the most points at the end of the 10-minute game wins
-
Cameras
- Each team may have a total of two cameras.
- A camera may be attached to a robot.
- The camera can be attached to a pan-tilt unit, but must remain fixed to the model.
- A camera may be placed behind their team's castle
- The camera's Z position must be between 0.5 and 2.0 meters above the ground plane.
- The camera's X position must be between -4.0 and 4.0 meteres in the world coordinate frame
- Red: Camera's Y position must be less than -8.3 meters in the world coordinate frame
- Blue: Camera's Y position must be greater than 8.3 meters in the world coordinate frame.
- A camera behind a team's castle can be floating and movable
- It is not possible to add or remove cameras during competition.
- It is not possible to swap castle and robot cameras.
The final competition will be run on a single computer in the cafe. This repository will be used to run the competition by launching:
roslaunch frc2016_competition frc2016_compete.launch
Each team will be allowed one directory on the cafe machine in which to
upload any models, plugins, and code. The two directories will be
~/red_team
and ~/blue_team
.
The frc2016_compete.launch
script will run two launch files:
- frc2016_competition/launch/red_spawn[1-6].launch
- frc2016_competition/launch/blue_spawn[1-6].launch
Six trials will be run. The first trial will run spawn1.launch
, the second
spawn2.launch
and so on.
Each spawn launch script should spawn your team's robots into Gazebo. The possible starting locations for each team are:
1. Red
1. x:-2 y:-1
1. x:-1 y:-1
1. x:0 y:-1
1. x:1 y:-1
1. x:2 y:-1
1. x:-3 y:7
1. Blue
1. x:-2 y:1
1. x:-1 y:1
1. x:0 y:1
1. x:1 y:1
1. x:2 y:1
1. x:3 y:-7
An Ignition message will be sent that signals the start of the competion.
Topic: /frc2016/game_control
Message Type: ignition::msgs:StringMsg
Data: 'start'
At this point your robots may move and score points. You may use any number of laptops or other devices. Only the game directory may physically interact with the PC running the competition.
We will assume everyone is playing nicely, which means:
- Don't try to sabatoge the other team.
- Don't listen to topics like Gazebo's ground truth.
Competition will end when another Ignition message is sent:
Topic: /frc2016/game_control
Message Type: ignition::msgs:StringMsg
Data: 'stop'
Score will be sent on another Ignition transport topic:
Topic: /frc2016/score
Message Type: ignition::msgs:Int32_V
Data: [0] = Blue Score, [1] = Red score
The field is not symmetric. The competition will be run six times. A team will start on each side three times. The team with the largest average score will be the winner.