Autonomous Robot for Road Lines Markings Inspection and Maintenance
Authors: Al-Batati Abdulrahman 
Published: October 2024

According to statistics, the leading cause of death among young people is road car accidents. Moreover, one of the factors for road crashes is low-quality road infrastructure. Road signals are part of the road infrastructure, and they are required for safe driving. Furthermore, road signals are essential for an autonomous mobile machine vision to function properly. Hence, road signals should be clear and transparent in all transportation lanes. Unfortunately, road lane markings &ndash; one of the most important signals &ndash; fade and deteriorate over time because of the paint quality, weather, and exposure to any external object. Moreover, maintaining those markings manually is considered difficult and tedious by some. Literature review shows few autonomous solutions for such a problem. However, none of the solutions is robust for all kinds of markings. In particular, the literature review shows that the present autonomous solutions require human interference to guide the robot in a specified path to paint a new line where usually the robot will localize itself using GPS. This project targets road markings maintenance with a novel idea to use machine vision for inspecting the line state while moving along the line, and if needed, the robot will repaint the road line. The robot was designed following this idea, and the design can be divided into the following: Driving unit, Paint unit, Vision unit, Control unit, Power unit, UI unit. First, the driving unit is made using a three-wheeled differential drive system, where two wheels are motorized wheels, and the third is a freewheel. Moreover, the painting unit contains an air compressor, an HVLP paint sprayer, a pulley system, and a servo motor. At the same time, the robot vision unit consists of a camera, two IR sensors, and two ultrasonic sensors. Also, the control unit is made of a Raspberry Pi, Arduino, and Motor controllers. Furthermore, the power unit has a 12V lead-acid battery, 48V Li-po battery, four 1.5 batteries, and a power bank. Finally, the UI unit includes a cooling fan and a 10&rdquo; screen. The software is made of a machine vision code using the OpenCV library in Python language. This code is implemented on the RPI to image process the feed from the camera and then communicate with Arduino using the Serial library. Moreover, Arduino code uses C++ language to decode the message from the RPI and control a relay and a servo for the painting unit and motor controllers for the driving unit. After the design and parts acquisition, the whole system was assembled at home using several manufacturing techniques such as drilling, threading, filing, soldering, 3D printing, adhesion, and zipping. Then, each subsystem was calibrated individually. Finally, the testing phase started for each system individually and ended by testing the system as a whole. In the end, the project progress was hindered by several failed tests. However, it was completed within the timeframe with achieving the main performance measures of the mechanical design/assembly, localization/path planning, road line inspection accuracy, and painting performance.