SICK Robot Day 2014 - PARMA (Personal Autonomous Robot for Mobile Applications) Team

International competition for mobile robot. The challenge is organized by SICK AG and RIMLab took part in 2010 and 2012, and won the latter. This year robotic race is a kind of mailman race. The arena is a convex bullpen of about 13 x 13 meters, which contains an "island" in the middle with the filling stations. At each round four robots receive a wooden cube with a bar code from a filling station. The bar code gives the number of the goal stations to reach. The more goal stations are correctly visited in the given time (10 minutes), the higher is the team score. Of course, the robots must avoid collision with other robots and the border of the arena. For more information see Robot Day general rule. The event took place on Saturday October 11th 2014 in the Stadthalle in Waldkirch (Germany). The 14 teams that participated to the event were from Germany (Darmstadt, Tuebingen, Osnabrueck, Karlsruhe, Freiburg, Muenchen), Czech Republic (6 teams from Prag), United Kingdom (Birmingham) and Italy (of course, Parma). PARMA (Personal Autonomous Robot for Mobile Applications) from the University of Parma won the competition delivering 5 cubes in the first run and 6 cubes in the second one.

First Run

Second Run

Robot Hardware: Actuators and Sensors

The robot is a MobileRobots Pioneer 3DX provided with a basket to carry the wooden cubes as required by the competition. The basket has the shape of a funnel to bring the cubes to its center.

The basket contains two kinds of sensors to read the barcodes placed on the faces of the cubes: a Sick ICR803-B and two Logitech C270 USB cameras. Sensor ICR803 is positioned to keep the proper distance from the center of the cube (about 10 cm). The USB cameras provide a redundant cube detection system based on a computer vision library to read barcodes (zbar library). A LED is placed inside the basket to light up the cube and a green one to signal that the robot is ready to receive or deliver. The LEDs and the interface with Sick ICR803-B are controlled by an Arduino Mega board.

The robot is also equipped with a Sick LMS100 laser scanner and a Point Grey Bumblebee XB3 part of Vislab 3DV Stereo Vision. The LMS100 laser scanner is the reliable and robust sensor that allows obstacle detection and navigation. The 3DV stereo vision system provides the left and right images, the disparity map and the 3D point cloud obtained by stereo processing. Unfortunately, there was not enough time to develop algorithms for 3D processing (e.g. to estimate the 3D poses of numbered plates).

Computer Vision Perception

The computer vision is used to detect numbered plates and targets. Number plates are the labels of goal stations. The targets are placed in front of each filling and goal station. Like for many computer vision methods, the developed algorithm initially search the regions of interest (ROI) and, then, performs classification and tracking. First, the ROIs are found by extracting lines (using EDLines algorithm) and rectangles from each frame. Second, in the case of plates, the content of the ROI is classified by a trained Artificial Neural Network (ANN) according to the OCR histogram of the rectified ROI. In the case of targets, the detector searches circles, lines and their intersection points.

The pose of plates and targets is estimated using the projective geometry and the information on their size. Furthermore, the estimated poses (i.e. the projection in the scan plane) are validated by the laser scanner. A pose is valid only if its projection corresponds to an obstacle.


The navigation module manages the mission state, the path planning and the robot motion. It consists of several subtasks.
  • Local Planner. The local planner builds a local occupancy grid map using the measurements from the laser scanner and inflates the obstacles. Given the goal pose (e.g. a pose in front of a numbered plate or of a filling station), the planner computes a trajectory on the occupancy grid map according to a graph search algorithm (tested algorithms: Generalized Voronoi Diagram, A*, D*).
  • SLAM Module. The SLAM module builds a map of the environment consisting of the robot poses and of the numbered plates used as landmarks, and iteratively updates the estimation of robot pose w.r.t. the initial reference frame. The odometry and vision measurements are integrated into the Graph SLAM framework g2o. This modules provides the goals (the filling and goal stations) to the planner.
  • Approach Task. The approach module allows the robot to reach its goal (a filling or goal station) aligned with the arena fence. It exploits the observation of the targets in the image.
The following video illustrates how the modules work together with a simulation (the simulator is Gazebo, integrated in ROS).


PARMA team, winner of Sick Robot Day 2014!

PARMA team, winner of Sick Robot Day 2014. Front from left to right: Fabrizio Castelli (Sick Italia), Fracesco Valenti, Marco Pedretti, Marco Paini. Back from left ro right: Cecilia Bollati (Sick Italia), Marco Allodi, Fabjan Kallasi, Domenico Giaquinto, Dario Lodi Rizzini.

Thanks to Sick Italia for the logistic support and the sensors (several laser scanners, 3D cameras and -last but not least- ICR803), CUS Parma for the use of gym for trials, and Vislab for borrowing the 3DV


Trials in the CUS Parma Gym