Hardware Implementation of an automatic collision detection and avoidance system for a remote-controlled device

Nowadays sensors have become a prevalent necessity to access metrics and data required for monitoring and interaction. In situations where human access is impaired or impossible, a mobile, flexible, and scalable solution is required to provide access and monitoring.

This project aims to provide hardware that enables a remote-controlled device via Bluetooth, in this case, a toy car to gather and relay data from various onboard sensors to a locally hosted web server and the remote application itself. Ensuring the user is at a safe distance from the area in question, whilst still being able to obtain a live video feed from the camera onboard. Adding automated collision detection and avoidance to the system allows the device to independently assure its own safety using internal logic.

With the implementation of multiple processing nodes, Raspberry pi 4 for the main node and an Arduino UNO as the auxiliary node, it was possible to eliminate the need for components such as an Analog-to-Digital Converters and Logic-Level converters whilst allowing the use of libraries available and distributing the processing load accordingly. This allowed for a responsive system that can be easily expanded and modified to user-specific requirements. These processing nodes are responsible for reading humidity, temperature, air pressure, Carbon monoxide, frontal distance for collision detection, and speed.

Due to cost constraints, this project is implemented by controlling a simple Toy car that is inexpensive and widely available, but the concept is designed to be scalable on a more robust platform such as a custom/hobby-grade chassis.

Figure 1. Final project depiction
Figure 2. Top-Level Diagram

Student: Kyle Friggieri
Course: B.Sc. (Hons.) Computer Engineering
Supervisor: Prof. Edward Gatt