Line Follower with a Camera (LFC)


Line follower robots competitions are pretty popular in Poland. The goal is to complete one lap of the track in the shortest time. Most of the robots that currently take part in competitions are based on simple principle of operation: line of reflecive sensors in front of the robot and PID control. Those robots are small and fast, but their performance is far from optimal. I believe that by using vision data and sophisticated predictive algorithms one can achieve much better results.

This project is a part of my master's thesis titled 'Model predictive control of a mobile robot using vision in path following task', which was finished in Feburary 2019.

Abstract from master's thesis

The goal of this thesis is to design, implement and test control system for a path following mobile robot. Predictive control algorithms that utilise vision data are used. Path following is one of the generic motion control problems in mobile robotics. Predictive control algorithms utilise a model of the plant to predict object behaviour and calculate control variables, which result in better control quality compared to classic control algorithms, e.g. PID.

The proposed control system consists of two layers. The upper layer calculates control variables sequence for lower layer as the result of solving nonlinear optimization problem. Combined PID controller with static feed-forward controller or DMC (Dynamic Matrix Control) are used in the lower layer.

Vision data may be acquired alternatively from robot on-board camera or stationary camera placed above the path. Differential drive mobile robot was designed and built to perform experimental tests. A series of simulations and experimental tests with the real system were carried out to test control system accuracy. The influence of control algorithm parameters on path tracking accuracy was investigated as well. Obtained results are moderately satisfactory - path following can be performed with linear velocity up to 0.35m/s, but obtaining good tracking quality (i.e. without oscillations) requires better process modelling.


The platform is equipped with STM32F1 microcontroller (low level control) and Raspberry Pi 3 SBC (Single Board Computer) running Ubuntu. Software will be developed in ROS (Robot Operating System). Off-line preliminary simulations are performed using MATLAB.