Friday evening is a great time for robotics.

publication date: December 28, 2019

On December 6, four teams in our office contended for victory in Singularis ROBO CONTEST 2019. 

The contestants had a challenge of building and programming a robot, which could travel the established path better and faster than anyone. Each team was given an assembly kit and paper elements of a path, which needed to be assembled as well.


Robots were controlled by Arduino Uno microcontroller supplementary to which Motor Shield, a motor drive expansion board, was purchased. In our case, it is two direct current (DC) series motors. 

Two gear-motor drives with wheels, a battery, a microcontroller and 5 sensors were attached to a base printed on a 3D printer. Two ball bearing supports responsible for the robot stability were arranged on the underside of the base. 


TCRT5000 IR sensor modules, emitting IR and then detecting if they receive the echo, were used as sensors. The echo strength varies depending on the colour and type of surface. Based on those data the contestants could conclude whether a dark path line was underneath the sensor or not.


ArduinoIDE was used for programming. Adafruit Motor Shield library became an alternative library.

No special skills are needed to build a robot. This requires ordinary attention and more or less competence to connect wires to relevant connectors.

The need to implement a robot control program is the hard part. It entirely depends on imagination, skills and availability of time. 

The simplest solution (showing some great results, by the way) is to implement the following behaviour:

- rotate both wheel at the same speed if the line is underneath the central sensor

- stop one wheel and continue rotating the other one if the line is underneath the right sensor or the left sensor

- rotate the wheels in opposite directions if the line is underneath the leftmost sensor or the rightmost sensor

- turn on the reverse to return the robot if the line is not detected under any of the sensors.

In that manner, the robot will start turning around one of its wheels if there is a steady turn, and it will make a standing turn if there is a sharp turn.


A timing system was developed specially for the contest, which used 3 pairs of IR diodes and photodiodes oriented against each other. When a robot travels between the sensors, communication between them is interrupted, which is captured by the microcontroller that sends a message to a computer connected.

The system also includes a program which is capable of reading those messages and time-taking between them, which corresponds to passing one more check point by a robot. The idea is to select the best time that counts for a team after three laps are completed. 

Two of four teams have fully coped with the difficult task of the contest, therefore, it was decided to keep the developed timing system until the next contest. 

Following the results of the contest, the robot made by the team 66% has shown the best result. We congratulate Gleb Agafonov, Yuliya Agafonova and Roman Gushchin on their well-earned victory!


Batteries of other robots disagreeing with the results of the contest had gone flat, and Singularis ROBOFIGHT was called off. But there is still so much ahead. So, for now, the rise of the machines is postponed.

Many thanks to Anatoly Kryzhanovsky, who had organized the contest!