/Autonomous-Navigation-Robot

An autonomous robot made for my A-Level Computer Science Project - Uses LIDAR and the A* algorithm

Primary LanguagePython

Autonomous-Navigation-Robot - An A-Level Computer science project

September 2020 - May 2021

The robot was designed as a test platform for an autonomous navigation system for factory / warehouse floors. It uses a single point LIDAR sensor on a servo to detect it's surroundings and 4 NEMA-17 stepper motors as drive, all controlled by the Raspberry Pi. It is powered by a large powerbank (for 5V power) and a 4s (14.4V-16.8V) lithium ion cell from an old drill to power the steppers.

It was mostly 3D printed (the base was sign-board (aluminuim-polycarbonate composite), and had rubber (from an old inner tube) added to the wheels for grip. It could be controlled by a third party playstation controller as well, and was really fun to drive around (small drift whoop):

The wheels were extremely over engineered for the task at hand...

A GUI was displayed on the 7" touchscreen to allow the user to add coordinates to a queue, either directly, or from a list of pre-saved positions.

It used a modifed version of the A* search algorithm to find the quickest path to the goal coordinates, all of which was shown on the screen:

The final result was quite slow on account of the single point LIDAR having to scan with a servo (a 360 degree LIDAR would be better) but it worked as a proof of concept, and I am happy with the results: (Timelapse)

For a more detailed dive into the design, development and testing process, see Autonomous-Navigation-Robot/Navigation robot project (11000 words).pdf