This repo contains the software for our self-driving model car implemented for the course E7012E at LTU.
This repo is split into 3 crates, hosted embedded_rtic shared where shared and embedded_rtic are no_std which allows them to run on both a hosted and an embedded system. The hosted defines the main binary that will run on the SBC, this code will likely be responsible for path planning using computer vision.
There is also a distinct computer_vision_draft directory that contians all computer vision related software.
This is covered by the race
binary which uses the encoder and the servo/esc.
The controllers are implemented in the shared
library. There are a few, fixed sampling rate, dynamic and a gain scheduling one. The parameters for the PIDs can be found in the car bsp
. The SPI communication is done in the race
binary and the hosted
software. The protocol for SPI communication is defined in the shared
library.
This is just the race
binary.
The start/stop detection is done in the computer_vision_draft
project in cpp.