(logo by Janette Forte)
This is the official site of the UT Austin Villa 3D Simulation team from the Department of Computer Science at the University of Texas at Austin.

This web page provides supplementary material to the following paper:

# SCRAM: Scalable Collision-avoiding Role Assignment with Minimal-makespan for Formational Positioning

Patrick MacAlpine, Eric Price, and Peter Stone

To appear in the Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence (AAAI-15) in Austin, Texas, USA, January 2015.

The full paper can be found here.

SCRAM role assignment has also been extended to support prioritized role assignment.

## Supplemental Materials

Online Supplemental Appendix
C++ Role Assignment Functions Source Code

## Role Assignment Functions

Different role assignment functions mapping robots (yellow/red circles) to target locations (green squares). Target locations and initial robot positions are sampled from a uniform random distribution. Static role assignment refers to robots being assigned to random target locations with the mapping of robots to targets held constant after the initial assignment (dynamically consistent).

Note that the SCRAM role assignment functions (MMDR and MMD+MSD^2) always complete the makespan in the shortest amount of time. The SCRAM role assignment functions, as well as MSD^2, avoid collisions while all the other role assignment functions experience robots colliding with each other. Only MMDR and static role assignment are dynamically consistent as the other role assignment functions display some inconsistency.

Role Assignment Functions
Yellow circle robots moving to green square targets. When robots collide they turn red. When all robots have reached their target locations (the makespan is completed) the background is changed to green. Paths traveled by robots are shown in purple, however if the target a robot is assigned to changes (dynamic inconsistency) the path of that robot is changed to light blue.

## SCRAM for RoboCup 3D

For the RoboCup 3D simulation competition UTAustinVilla uses a SCRAM dynamic role assignment and formation positioning system in order to coordinate movement of the team. Each robot is assigned to a role (position) so as to minimize the longest distance any robot has to travel (MMDR). Positions within a set formation are determined based on predefined offsets from the ball. The robots synchronize their choice of the mapping to follow through the use of a simple voting system and the simulator's provided communication channel. Below is a video of the system in action.

RoboCup 3D SCRAM Formation Positioning System
Each position is shown as a color-coded number corresponding to the robot's uniform number assigned to that position. Robots update their role assignments and move to new positions as the ball or a robot is beamed (moved) to a new location.

## SCRAM for RoboCup 2D

Demo of RoboCup 2D robot soccer agents transitioning between 'U' and 'T' formations. On the left the yellow team is using a SCRAM MMD+MSD^2 role assignment function while on the right the red team is using static fixed roles. The yellow team using the SCRAM role assignment function minimizes the makespan for robots to complete formations and also avoids collisions. The red team's robots, on the other hand, take longer to complete formations and periodically collide with one another. Also, as robots in the RoboCup 2D soccer domain have a finite amount of stamina (energy), the longer distances traveled by the red team's robots begin to wear them out. After a couple of minutes (around cycle 3200) the red team's robots start to run out of energy and lose mobility, while the yellow team's robots using the SCRAM role assignment function are able to keep going.

RoboCup 2D SCRAM Formation Positioning System
Robots transitioning between 'U' and 'T' formations every ten seconds (100 cycles). When robots collide they flash light blue. As a robot runs out of energy its center turns white and eventually the robot stops being able to move.

## SCRAM for RoboCup 2D Drop-In Player Challenge

RoboCup 2D Drop-In Player Challenge Rules

Video from a 2D drop-in player game can be seen below where each team is made up of different randomly selected robot agents from participants in the competition. Note Yellow players 4 and 11 from UTAustinVilla use SCRAM dynamic role assignment to switch positions throughout the game.

RoboCup 2D Drop-In Player Game