Questo corso comprende tutto il necessario per costruire da zero la componente software CV di un robot a guida autonoma. Partendo dalla calibrazione della camera fino a riconoscere i Cheems (abitanti della nostra città immaginaria) ed i cartelli stradali. Per qualsiasi contibuto (ben accetto!!) effettuate un fork e fate pure una pull request. Sentitevi liberi di usare questo tutorial per ogni scopo educativo.
Saranno necessari come materiali, un Raspberry Pi 4.0 (3.0 può andare bene ma è parecchio lento) ed una PiCamera. Volendo si può effettuare il tutto anche da PC utilizzando una camera USB, ma per tutorial più avanzati, l'utilizzo del raspberry sarà fondamentale, in quanto parte principale del robot.
Il tutorial può essere visionato grazie a nbviewer, ma per poter runnare il codice in modo ottimale è necessario scaricare la cartella sul proprio PC/raspberry:
- Parte 0: Introduzione al corso
- Parte 1: Calibrazione della Camera
- Parte 2: Riconoscimento delle linee
- Parte 3: Riconoscimento Aruco Markers
- Parte 4: Identificazione Colori e Semafori
Alla fine di questi tutorial avrai tutte le competenze per creare una possibile pipeline per l'analisi di immagini per la guida autonoma!
Saranno necessarie un paio di librerie: jupyter, opencv, numpy, pyYAML e matplotlib.
Sarà anche necessario avere Python installato.
Creiamo un virtual env, ovvero uno spazio di lavoro python. Questo ci permetterà di installare tutte le librerie che vogliamo senza creare conflitto con altri programmi. Il metodo varierà in base al dispositivo che state usando.
pip3 install virtualenv virtualenvwrapper
nano ~/.bashrcaggiungi queste righe alla fine del file che si sarà aperto:
#Virtualenvwrapper settings:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_ENV_BIN_DIR=binricarica il file
source ~/.bashrcCreiamo ora il virtual env (i comandi prima erano necessari per l'installazione del gestore dei virtual env):
mkvirtualenv cv
workon cvogni volta che vorrai attivare il virtual env creato utilizza il comando workon nome_env.
pip install virtualenv
virtualenv cv
> cv\Scripts\activatel'ultimo comando sarà necessario attivarlo ogni volta che si vorrà andare a lavorare in questo env! è importante trovarsi nella stessa cartella in cui lo si è creato per poterlo attivare.
Per l'installazione di OpenCV su Raspberry linko un tutorial, necessario, in quanto Raspberry sarà il cervello pensante della nostra macchina Guida installazione su Raspberry
Per installare gli altri pacchetti e il contenuto di questo corso potete scrivere questo a terminale
pip install numpy jupyter PyYAML matplotlib
#la prossima riga solo se sei su PC
pip install opencv-contrib-python
#con il comand git clone andiamo a scaricare questa cartella
git clone https://github.com/CheemsCity/CheemsVision.git
cd CheemsVision
jupyter notebookIn caso volessi supportarci nella creazione di altri corsi e robot, puoi offrirci un caffe!
Se avessi bisogno di aiuto scrivici pure su Github o instagram

