Q-Free internship and third year design project

During the third year of my masters degree I was project manager for the group design project. The project was supported by Q-Free and due to its success I was awarded an internship to continue working on the project over the summer.

The aim of the project was to design and develop a prototype of a non-intrusive intelligent transportation system using sensors to detect and classify vehicles. Traditionally, the market for vehicle classification has been dominated by in-road systems using sensors such as inductive loops to detect axles in order to classify vehicles. These solutions are capable of classifying vehicles into very specific categories with a high degree of accuracy. However, a major disadvantage is that they are intrusive; they require the road to be closed during installation and maintenance. This is costly, time-consuming and endangers workers’ lives. Therefore, there is considerable demand for non-intrusive solutions that can be deployed out-of-road.

The proposed solution was to capture 2D side-profiles of passing vehicles using a mixture of LiDAR and radar sensing technologies; these could then be classified using a machine learning algorithm. A LiDAR sensor positioned perpendicular to the road would scan vertically. For each revolution of the LiDAR scanner, a set of distance measurements would be calculated. These LiDAR “slices” could then be used to create a 2D side-profile of the passing vehicle. The radar sensor would be used to measure the speed of the vehicle. Using the known frequency of the LiDAR and the speed of the vehicle, the horizontal distance between the LiDAR slices could be calculated. Finally, the accurate side-profile could be matched to the correct vehicle classification using a machine learning algorithm.

Gif to illustrate the operation of the LiDAR
The operation of the LiDAR

This design was awarded a 1st class and our desing group was given the chance to spend a week developing an initial prototype. A scale model of a road with 2D vehicles was built and Q-Free provided the required sensors. Fellow group member Vicky Miles and I wrote a Python script to generate 2D profiles of the passing model vehicles using the LiDAR data (see GitHub). Due to the scale, the radar sensor was unable to produce reliable measurements at the slow speeds. Therefore, we fixed the speed of the vehicles. The prototype was very successful as the vehicles could easily be visually identified and classified from the generated side-profiles.

Scale model
Scale model
Physical prototype
Physical prototype; LiDAR and radar sensor, Raspberry Pi and a battery bank

We also tested the prototype on real vehicles. However, due to the low frequency of the LiDAR, it was not possible to get enough slices to produce an accurate side-profile. To resolve this issue, a higher frequency LiDAR scanner would be required to produce accurate, high-resolution side-profiles in the real world application.

Model car output
Model car output
Model lorry output
Model lorry output
Real car output
Real car output
Real van output
Real van output

Following the success of the design and prototype, Q-Free gave me the opportunity to continue the project during a summer internship in 2019. Our main task was to write a C program to improve upon the Python script by increasing performance and enabling real-time output. Unfortunately, due to logistical delays, we did not receive a faster LiDAR scanner until shortly before the end of the internship. Therefore, we had limited time to fully test the software we had created with real sensor inputs.

Q-Free was impressed with my performance during the internship and supported me with a masters project in vehicle detection using machine learning.