WatchGaurd – FPGA Controlled Robot with IoT Connectivity

The project I built is a remotely controlled security robot equipped with the ability to transmit images, serving as an efficient and innovative tool for security systems. The ability to control the robot remotely allows for quick and efficient action, with security personnel able to establish an immediate response to events in real-time. The robot serves as the “eyes” of a security system and provides a detailed real-time image from the field, which can lead to the identification of risks and threats, neutralization of certain situations, and effective and safe management of emergency situations. The ability to transmit real-time images allows security personnel to have a real-time view of the reality in the field and enables a higher capability for response and efficient monitoring of various areas and events while ensuring the safety of the operator.

Our project allows performing various actions by connecting to a user/operator interface, such as remote viewing through the camera located on the robot, moving the robot in 10 different directions, and changing the camera angle in space.

To implement the idea, I used four different components – an FPGA (Field-Programmable Gate Array) controller, model 10DE Altera, a 32ESP microcontroller, a user interface on the site, and a robot platform with 4 wheels. The FPGA controller’s main programming language is VHDL (Very High-Speed Integrated Circuit Hardware Description Language), which communicates with the 32ESP microcontroller that transfers the data to the server in real-time – Firebase, and to the user interface and the main controller where the signal processing and transmission to the desired component take place.

 

Architecture

The system will include a 4-wheel mechanical drive platform that will allow for multiple driving directions, distance sensors for alerting and guiding on obstacles, microcontrollers enabling connection, image transmission, and connection to a real-time database, an LDR light sensor for measuring light intensity in the area and maintaining the desired illumination intensity in a closed loop, a servo motor for controlling the camera angle, and a user interface for controlling the robot.

  • FPGA and Micro-controllers

    Altera FPGA DE10 Lite main controller: The main controller of the system. Communicates with all hardware components (microcontrollers, sensors, actuators, and additional circuits) with the user interface and provides feedback for operating the system. The component’s operation is based on an electrical schematic and programs designed in VHDL.
    ESP32 microcontroller: Connected to the Altera for TX and RX connections accordingly and to the database, with data displayed on the user interface (PC).
    ESP32-CAM microcontroller: Connected to the database and the user interface.

Circuit

Top and bottom

Wire-Wrap

User interface
The user interface that was developed allows viewing the image received in real-time from the robot, enables control over the driving directions and speed, control over the camera angle, and receiving alerts about obstacles and their proximity on the way.

 

Real-time Database
Real-time database located in the cloud and provided by Google as part of the Firebase platform, designed to store and synchronize data in real-time between different applications.

In our project, we used the Firebase server to send data through the ESP32 microcontroller to the Altera using the user interface and to receive data from the Altera and the camera through the ESP32 microcontroller to the user interface.

 

Conclusion
The purpose of the project was to deepen the knowledge acquired during the degree program and gain practical experience in building a multidisciplinary system that contains a large number of components that affect each other. To perform the project, we needed to learn hardware description language and various software languages, read and create electrical schematics, conduct independent research, acquire many skills, and more. Throughout the project, we learned and discovered how complex it is to implement a seemingly simple idea when we encountered soft failures when connecting different components and integrating hardware with software. The project gave us a broad systemic view, understanding, and handling of a variety of challenges.