Autonomous robots for the "Eurobot 2018" competition

Document created by Corrado Santoro on Apr 28, 2018Last modified by Corrado Santoro on Apr 30, 2018
Version 7Show Document
  • View in full screen mode

This project aims at building two wheeled robots that will participate to the robotic contest "Eurobot 2018". The robots are built by the student team UNICT-TEAM of the University of Catania, Italy.

About this project

The objective is to build two robots able to do some tasks in a complete autonomy, thus playing a game and scoring more points than the opponents. The robot has to find and pick some coloured cubes, that are placed in the playing arena, and stack them according to a color scheme that is randomly chosen before the match; in addition, some ping-pong balls, placed in proper dispensers, must be gathered and "launched" inside specific baskets. The more objects the robots pick the more points they score. Robots must be fast and effective: the duration of each match is 100 seconds.

Each robot is controlled by a NUCLEO-64 board, equipped with a STM32-F446RE, which is mounted in a daughter board that includes connections for sensors and actuators, and H-bridges for motor driving. The software is written in C++ and runs on the top of the NuttX real-time executive.


Nessun testo alternativo automatico disponibile.



Project info

The robots have been designed by scratch on the basis of the specific goals they must accomplish, goals that are specified in the rules of the competition.


Basically the are wheeled robots, with two independent wheels, connected to proper DC motors, and also equipped with passive odometry wheels, connected to optical encoders.


Nessun testo alternativo automatico disponibile.


The robots have some servo motors to drive the various arms and other actuations. We used both classical RC servos from Hitec and Dynamixel servos; RC servos are driven by a slave board with a PCA9685 PWM generator while Dynamixel servos are connected to the main board and drived by a UART interface.


Object picking is instead made of a vacuum system driven by two vacuum pumps, some valves and two silicon suckers.




As for the software, all the main routines run on the STM32F446 upon the NuttX real-time executive. The software is composed of four main applications

  • Motion Control. It has the responsibility of driving the robot in the playing arena; it implements speed control of the wheels, odometry and all the controls for simple motion commands like, go to a certain point, rotate of a certain angle, etc. It can also handle paths composed of a sequence of points.
  • Axis Control. It implements a simple position control for one-axis motor + encoder.
  • GPIO Manager. It is a layer abstracting GPIO interfacing; it is able to detect edges and generate events accordingly.
  • Servo Manager. It is the software driver for the PCA9685.
  • AX12 Manager. It implements the protocol
  • Telemetry. It sends telemetry data (speeds, position, status, etc.) to a companion computer via a IEEE 802.15.4 interface.
  • Strategy. It implements the main robot strategy and is based on a goal-based planning system.


The project is started in September 2017 and is completed in May 2018 since the competition is held from 9th to 12th of May.




The Team :


Corrado Santoro


Project Coordinator

Fabio D'Urso

PhD student

Project co-coordinator


Edoardo Nicoletti

Student in Mechanical Engineering

Mechanical Design, assembly


Davide Nicolosi

Student in Industrial Engineering

Mechanical parts, assembly


Matteo Jacopo Schembri

Student in Industrial Engineering

Mechanical Design, assembly


Giorgio Pometti

Student in Electronic Engineering

Electronic Design, assembly

Marco Pometti

Student in Electronic Engineering

Electronic Design, assembly

Alberto Contaldo

Student in Electronic Engineering

Electronic Design, assembly

Lorenzo Abbate

Student in Computer Science

Software developer

Stefano Maugeri

Student in Computer Engineering

Software developer

Fabio Polisano

Student in Computer Engineering

Software developer

Bruno Ursino

Student in Computer Engineering

Software developer

Fabrizio Tata

Student in Computer Engineering

Software developer

Things used in this project

Hardware components :

  • Main Board: NUCLEO64-F446
  • Motion control:
    • Faulhaber DC motors 2364 with 43:1 gearbox
    • RS optical encoders with 100 CPR
  • DC Motor drivers: LMD18200T
  • Servo motors:
    • Hitec HS-81, HS-985, HS-311
    • Dynamixel AX12+
  • Servo driver: PCA9685 PWM generator
  • Picking systems:
    • Vacuum pumps
    • SMC valves
    • SMC slicon suckers
  • Sensors: Omron optical series, E3Z-LR81, E3Z-LS61 

Hand tools and fabrication machines :

  • CNC to cut aluminium and plastic mechanical parts
  • 3D printer to create particular robot parts

Software Tools :

The software is written in C/C++ and runs on the top of the real-time kernel NuttX.



The UNICT-TEAM has a long tradition in participation to robotic contests. Since 1998 the team participates to the Eurobot competition and it is ranked second in the 2009 and 2011 editions (in all other editions it is ranked in the first 10 teams among about 40 participants). In 2017, the team participated to the Mohamed Bin Zayed Internationa Robotic Challenge and it is ranked fourth.

You can find more infos here:


3 people found this helpful