Close

Autonomous driving attempt #2

A project log for FPGA based robot vacuum cleaner

3D-printed cleaning robot based on an fpga.

larsLars 06/21/2020 at 08:550 Comments

I have now managed to conduct an official second test. Of course, I have tested the robot many times before, but I didn't have enough time for a complete test with camera and setup. The current test was performed with an optimized navigation algorithm. The control unit was described in VHDL as mentioned before. The whole system is running on a TEI0003 development board equipped with a small but powerful Cyclone 10 FPGA.

The entire board computer of the robot is based on this small FPGA board. There is no microcontroller built into the vehicle. Except for the JavaScript-based web application, which was explained in the last article, this project does not include any software application. This is not because I don't like software programming, but because I am an absolute FPGA fan.

The attached video shows the new test. The test was performed in three runs. In the first test the robot was placed in a small room without objects. In the second room there were one and in the third room 2 obstacles.

By close observation you can see that the robot reacts to various situations with different behavior. When it detects an obstacle, the vehicle compares the distance between the two ultrasonic sensors and moves in the direction with the greater distance.

The following changes were implemented in the navigation algorithm:

signal 	rom_addr:	integer range 0 to 4 := 0;
constant rotation_rom: rotation_rom_array :=(2,3,4,5,6); 

Discussions