The aim of this project is to design and build an autonomous rover system that could be used in a remote location without direct supervision. The rover has a processing unit that is capable to receive movement commands and send status data. In doing this it needs to detect and avoid obstacles in its working area. Over time the rover should be able to build a map of its local working area (including those obstacles) on an offsite data store. A charging station will be also designed and implemented to charge the batteries used to power up the rover.
- Run a full compilation on Quartus.
- Programme the .sof file in output_files folder on Programmer.
- On nios2-terminal, run
nios2-download [directory path]/D8M_Camera_Test.elf -c 1 -g
to download the firmware. - Check the camera output video feed through a VGA converter from DE10-Lite FPGA and D8M-GPIO Camera.
- Open eclipse on Quartus to edit the main.c code to make changes to camera settings (exposure time, focus, gain).
- Import the projects in software folder (both non-bsp and bsp).
- Generate bsp by right-clicking on the bsp folder.
- Right-click non-bsp folder to build project and run on NIOS II hardware once it's compiled.
- Download the ESP32 Board package onto the Arduino IDE.
- Enter WiFi SSID and password into lines 30-31.
- (Optional) Set line 53 to true to enable pathfinding.
- Upload the code onto the ESP32 and connect mount the device on the FPGA, then connect wires to the Arduino. (Lines 11-19 detail how they are meant to be connected)
- Use the webpage http://esp32-mars-rover.000webhostapp.com/ to access the dashboard.
- Upload the .ino file to the arduino.