The RoboCup Small-Size robot soccer League (SSL) is a research domain to study multi-robot planning and execution under the uncertainty of real-time perception and motion in an adversarial environment. The RoboCup SSL is set as a soccer game between two teams of six robots each, playing with an orange golf ball in a field of predefined size with line markings. The top of each robot is a unique colored-coded pattern to enable a set of overhead cameras, running the shared SSL-Vision algorithm, to determine the position and orientation of each robot. The perceived pose of the robots and the position of the ball are passed to each team's offboard computers that then plan for the team strategy and communicate by radio the computed position of each robot. The complete cycle of perception, planning, and actuation is hence fully autonomous. The rules of the game are dictated by a referee, as of now a human, but research pursues on automated refereeing. The centralized perception, offboard computation, and the team-built robots with pre-specified size and shape constraints, set the RoboCup SSL apart from the other RoboCup soccer leagues. The research focus is on teamwork, including positioning and ball passing, rather than on single robot issues, such as localization, as present and challenging in the other leagues. Soccer Robot Open and Closed The RoboCup SSL games are very fast and dynamic, as can be seen in videos of our games (see Multi-Media).

Our Carnegie Mellon University RoboCup SSL teams are led by Professor Manuela Veloso, and have participated in the competition since the first RoboCup in 1997. Our teams, with different groups of students along the years, have won the competition four times (1997, 1998, 2006, 2007), and achieved second place four times (2008, 2010, 2013, 2014), making us the current leader of the RoboCup Robot Soccer Small Size League Hall of Fame.


Manuela Veloso
Prof. Manuela Veloso (Joined 1997)
Herbert A. Simon University Professor, Computer Science Department
Joydeep Biswas
Joydeep Biswas (Joined 2009)
PostDoc in Computer Science Department
Juan Pablo Mendoza
Juan Pablo Mendoza (Joined 2013)
PhD in Robotics
Danny Zhu
Danny Zhu (Joined 2013)
PhD in Computer Science Department
Philip Cooksey
Philip Cooksey (Joined 2015)
PhD in Robotics
Richard Wang
Richard Wang (Joined 2014)
PhD in Computer Science
Steven Klee
Steven Klee (Joined 2013)
M.S. in Computer Science
Steven Klee
Michael Licitra
Designed and built the robots hardware
Soccer Robots

Robot Hardware

Soccer Robots Our team consists of twelve homogeneous robots, with six being used in a game at any point in time. Each robot is omnidirectional, with four custom-built wheels driven by 30 watt brushless motors. Each motor has a reflective quadrature encoder for accurate wheel travel and speed estimation. The kicker is a large diameter custom wound solenoid attached directly to a kicking plate, which offers improved durability compared to designs using a standard D-frame solenoid. The kicker is capable of propelling the ball at speeds up to 15m/s, and is fully variable so that controlled passes can also be carried out. The CMDragons robot also has a chip-kicking device. It is a custom-made flat solenoid located under the main kicker, which strikes an angled wedge visible at the front bottom of the robot. The wedge is hinged and travels a short distance at a 45% angle from the ground plane, driving the ball at a similar angle. It is capable of propelling the ball up to 4.5m before it hits the ground. Both kickers are driven by a bank of three capacitors charged to 200V. The capacitors are located directly above the kicker and below the electronics, leading to our unusual mechanical design which lacks a single connected "midplate". By using a slightly thicker baseplate, and several partial midplates with multiple standoffs for support, we were still able to design a highly robust robot.

Robot open Ball catching and handling is performed by a motorized rubber-coated dribbling bar which is mounted on an hinged damper for improved pass reception. The dribbling bar is driven by a brushless motor so that it can achieve a high speed without sacrificing torque. The hinged damper can also be retracted using a small servo. This is used during certain kicking maneuvers, so that the dribbling bar does not interfere with speed or accuracy. Our robot is designed for full rules compliance at all times. The robot fits within the maximum dimensions specified in the official rules, with a maximum diameter of 178mm and a height of 143mm. The dribbler holds up to 19% of the ball when receiving a pass, and somewhat less when the ball is at rest or during normal dribbling. The chip kicking device has a very short travel distance, and at no point in its travel can it overlap more than 20% of the ball due to the location of the dribbling bar. While technically able to perform kicks of up to 15m/s, the main kicker has been hard-coded to never exceed kick-speeds of 8m/s for full rule compliance.

The robot electronics consists of an ARM7 core running at 58MHz linked to a Xilinx Spartan2 FPGA. The ARM7 core handles communication, runs the PD drive control calculations, and monitors onboard systems. The FPGA implements the quadrature decoders, PWM generation, serial communication with other onboard devices, and operates a beeper for audible debugging output. This high level of integration helps to keep the electronics compact and robust, and helps to maintain a low center of gravity compared to multi-board designs. Despite the limited area, a reasonable amount of onboard computation is possible. Specifically, by offloading the many resource intensive operations onto the FPGA, the ARM CPU is freed to perform relatively complex calculations.

The above text is adapted from CMDragons 2009 Team Description


Team Descriptions

Our Small Size publications can be found here: