Un aspetto chiave del modello industria 4.0 riguarda l'impiego di sistemi ciberfisici nella produzione e gestione di beni e servizi. Un sistema ciberfisico è un sistema informatico in grado di interagire con il mondo fisico in cui esso opera e di collaborare con altri sistemi ciberfisici.
Gli argomenti trattati nel corso riguardano la programmazione di moduli di visione per sistemi ciberfisici complessi quali i sistemi robotici e includono tematiche legate alla percezione di agenti intelligenti.
Obiettivi:
Il corso intende fornire agli studenti conoscenze relative alla programmazione in Python per lo sviluppo di moduli di visione basati principalmente sul sistema operativo ROS e sulla libreria OpenCV.
Periodo:
II semestre (marzo 2023 – giugno 2023)
Orario di Lezione:
martedì dalle 15:00 alle 17:00
mercoledì dalle 8:30 alle 10:30
(presso AULA COPERNICO)
Esame:
Il voto finale viene conseguito svolgendo individualmente
o in gruppo un progetto finale che comprenda le tematiche di studio
affrontate durante il corso.
Le tematiche del progetto dovranno essere concordate con il docente.
La descrizione del lavoro progettuale dovrà rispettare il template disponibile qui
Esempi di progetti qui
Ricevimento:
Per il programma completo fare riferimento al diario delle lezioni
Tutorial di ROS:
Libro di testo:
Il corso non prevede un unico libro di testo. Gli studenti che vogliano approfondire i concetti trattati a lezione possono utilizzare i seguenti testi:Slide:
Data | Argomenti trattati | Download |
07/03/2023 Lezione 1 |
Lezione di presentazione • Robot mobili • See-think-act cycle |
|
08/03/2023 Lezione 2 |
Uber's accident |
|
14/03/2023 Lezione 3 |
Python intro • variabili • input() • print() • espressioni booleane • istruzioni condizionali |
|
15/03/2023 Lezione 4 |
Python intro • funzioni • while • variabili locali • variabili globali |
|
21/03/2023 Lezione 5 |
Python intro • liste • sequenze • ciclo for |
|
22/03/2023 Lezione 6 |
Python intro • dizionari • insiemi • file |
|
28/03/2023 Lezione 7 |
Percezione e visione • immagini • classificazione • detection |
|
29/03/2023 Lezione 8 |
Processamento delle immagini • NumPy • Matplotlib • Pillow |
|
04/04/2023 Lezione 9 |
Filtri • Linear filtering • Convoluzione • Gradiente |
|
05/04/2023 Lezione 10 |
Trasformazioni • Colori • Scipy • Cropping • Resize • Testo su immagini |
|
11/04/2023 Lezione 11 |
Local Image Descriptors • Panoramas • Harris corner detector • Scale invariant detection |
|
12/04/2023 Lezione 12 |
Libreria OpenCV |
|
09/05/2023 Lezione 13 |
Feature Descriptors • Multiscale Oriented PatcheS • SIFT • ORB |
|
09/05/2023 Lezione 14 |
Feature Matching • brute force matching • ROC curve |
montagna-1.jpg (extracted from here) montagna-2.jpg (extracted from here) |
10/05/2023 Lezione 15 |
Traformazioni e omografie • warping • interpolazione |
|
16/05/2023 Lezione 16 |
Introduzione al Deep Learning • Perceptron • Hidden Layers • DNN • CNN |
4-introduzione-al-deep-learning
TensorFlow and deep learning, without a PhD by Martin Gorner |
16/05/2023 Lezione 17 |
Dimostrazione in laboratorio • Robot NAO • Detection di oggetti con CNN |
|
17/05/2023 Lezione 18 |
ROS intro • nodi • topic e messaggi • installazione di ROS • turtlesim |
ROS - un sistema operativo per i robot
|
24/05/2023 Lezione 19 |
Git+ROS • git commit • git push • git merge • package hello_ros |
GIT two words introduction |
24/05/2023 Lezione 20 |
ROS+OpenCV • cv_bridge • rosbag |
people.bag (4 GB!) unibas_face_distance_calculator.git face.bag (3 GB!) |
25/05/2023 Lezione 21 |
Robot mobili su ruote • manipolatori vs robot mobili • modello del robot mobile • Turtlebot 3 • ROS Launch files • unibas_turtle • unibas_teleop |
|
30/05/2023 Lezione 22 |
Simulatori in ROS • Gazebo • Turtlebot3 simulation • Cyber lab |
|
30/05/2023 Lezione 23 |
Navigazione in ROS • Mappe • introduzione a SLAM • virtual SLAM and navigation |
libro ROS Robot Programming di YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim |
31/05/2023 Lezione 24 |
Gestione dati 3D • Point Cloud Library • Visualizzazione point cloud |
6.2-pointcloud
|
Materiale per i progetti |
esempi detection • face detection • ball detection • detection con YOLO |
face.bag (3 GB) people.bag (4 GB) |
Soccer player detection
RGBD SLAM
Road Sign Detection
TurtleBot3 Autorace Simulation Circuit