This project involve multiple aspects and is very rich:
-
There is an Artificial Intelligence (AI) part to capture the road with a webcam (and potentially other sensors), analyze it, and take decisions. You will find more details in this page. Language used for this part is Python 3.6.8
-
There is an Hardware part to be able to control the car. It does include batteries, power management, cooling, but as well choice of hardware to pilot the various elements like motors, servo motors. More details here.
The old hardware:
- The board used for intelligence is a RockPro64 from pine64 running a Debian 9 (Stretch) arm64 v8 (aarch64) and as there are a lot of things to install on it, you'll find the list of the main elements (openCV, Tensorflow, Numpy) and how to compile or install them here.
New hardware:
-
The board I use now is a Raspberry Pi 3b+, running raspbian, you will find some tutorials on how to install Tensorflow and OpenCV on internet.
-
Micro controler code, in our case an Arduino mini, to take orders from a board and actually pilot the low level electronic to make the motor move forward/backward as well as the car turning. Documentation, protocole and code available. All the code for the Arduino is written in C.
-
Classes and code to take the order from the AI and actually send it to the various electronic elements. More details can be found in this section. As for the rest of the high level code, it is written in Python, does involve Serial Port communications.
-
Classes and apps including test tools to remotely pilot the car in wifi for example and previous versions involving controling the electronic directly from a Raspberry Pi. All written in Python.
-
Classes and apps to test image capture. All written in Python.