Struttura del corso
Settimana 01
Introduzione
- Che cosa rende un robot intelligente?
Robot Fisici vs Virtuali
- Robot intelligenti, macchine智能机器人,智能机器,有意识的机器和机器人流程自动化(RPA)等。
Intelligenza Artificiale (AI) nella Robotica
- Al di là del "if-then-else" e la macchina imparante
- Gli algoritmi dietro l'IA
- Apprendimento automatico, visione artificiale, elaborazione del linguaggio naturale (NLP), ecc.
- Robotica cognitiva
Il Ruolo dei Big Data nella Robotica
- Prendere decisioni basate sui dati e sulle pattern
Cloud Computing e Robotica
- Collegare la robotica con l'IT
- Costruire robot più funzionali che accedono a più informazioni e collaborano
Studio di Caso: Robot Industriali
- Robot Meccanici
- Baxter
- Robot nelle Installazioni Nucleari
- Rilevazione e protezione dalla radiazione
- Robot nei Reactor Nucleari
- Rilevazione e protezione dalla radiazione
Componenti Hardware di un Robot
- Motori, sensori, microcontrollori, telecamere, ecc.
Elementi Comuni dei Robot
- Visione artificiale, riconoscimento vocale, sintesi vocale,传感,压力感应等。
Framework di Sviluppo per la Programmazione di un Robot
- Framework open source e commerciali
- Robot Operating System (ROS)
- Architettura: workspace, topics, messaggi, servizi, nodi, actionlibs, strumenti, ecc.
Lingue per la Programmazione di un Robot
- C++ per il controllo a basso livello
- Python per l'orchestrazione
- Programmazione dei nodi ROS in Python e C++
- Altre lingue
Strumenti per la Simulazione di un Robot Fisico
- Software 3D di simulazione e visualizzazione open source e commerciali
Settimana 02
Preparare l'Ambiente di Sviluppo
- Installazione e configurazione del software
- Pacchetti utili ed utility
Studio di Caso: Robot Meccanici
- Robot nel campo della tecnologia nucleare
- Robot nei sistemi ambientali
Programmazione del Robot
- Programmazione di un nodo in Python e C++
- Comprendere il nodo ROS
- Messaggi e topic in ROS
- Paradigma di pubblicazione/abbonamento
- Progetto: Bump & Go con robot reale
- Risoluzione dei problemi
- Simulazione di robot con Gazebo / ROS
- Frame in ROS e cambiamenti di riferimento
- Elaborazione delle informazioni 2D dalle telecamere con OpenCV
- Elaborazione delle informazioni dal laser
- Progetto: Tracciamento sicuro di oggetti per colore
- Risoluzione dei problemi
Settimana 03
Programmazione del Robot (Continuato...)
- Servizi in ROS
- Elaborazione delle informazioni 3D dei sensori RGB-D con PCL
- Mappatura e Navigazione con ROS
- Progetto: Ricerca di oggetti nell'ambiente
- Risoluzione dei problemi
Programmazione del Robot (Continuato...)
- ActionLib
- Riconoscimento vocale e generazione vocale
- Controllo di bracci robotici con MoveIt!
- Controllo del collo robotico per visione attiva
- Progetto: Ricerca e raccolta di oggetti
- Risoluzione dei problemi
Testa il tuo Robot
- Testing unitario
Settimana 04
Estendere le Capacità di un Robot con l'Apprendimento Profondo
- Percezione - visione, audio e tattilità
- Rappresentazione del sapere
- Riconoscimento vocale attraverso NLP (elaborazione del linguaggio naturale)
- Visione artificiale
Corso di Base sull'Apprendimento Profondo
- Reti Neurali Artificiali (ANNs)
- Reti neurali artificiali vs reti neurali biologiche
- Reti Neurali Feedforward
- Funzioni di Attivazione
- Addestramento delle Reti Neurali Artificiali
Corso di Base sull'Apprendimento Profondo (Continuato...)
- Modelli di Apprendimento Profondo
- Rete convoluzionale e reti ricorrenti
- Reti Neurali Convolutive (CNNs o ConvNets)
- Livello di Convoluzione
- Livello di Pooling
- Architettura delle Reti Neurali Convolutive
Settimana 05
Corso di Base sull'Apprendimento Profondo (Continuato...)
- Reti Neurali Ricorrenti (RNN)
- Addestramento di una RNN
- Stabilizzazione dei gradienti durante l'addestramento
- Reti a memoria a lungo termine
- Piattaforme e librerie di software per l'apprendimento profondo
- Apprendimento profondo in ROS
Usare Big Data nel tuo Robot
- Concetti di Big Data
- Approcci all'analisi dei dati
- Strumenti per Big Data
- Riconoscimento di pattern nei dati
- Esercizio: NLP e visione artificiale su grandi set di dati
Usare Big Data nel tuo Robot (Continuato...)
- Processamento distribuito di grandi set di dati
- Coesistenza e interazione tra Big Data e Robotica
- Il robot come generatore di dati
- Sensori per la misurazione della distanza, posizione, visivi, tattili e altre modalità
- Interpretare i dati sensoriali (ciclo senso-piano-azione)
- Esercizio: Raccolta di dati in streaming
Programmazione di un Robot Autonomo con Apprendimento Profondo
- Componenti del robot con apprendimento profondo
- Configurazione della simulazione del robot
- Esecuzione di una rete neurale accelerata da CUDA con Caffe
- Risoluzione dei problemi
Settimana 06
Programmazione di un Robot Autonomo con Apprendimento Profondo (Continuato...)
- Riconoscimento di oggetti in fotografie o flussi video
- Abilitare la visione artificiale con OpenCV
- Risoluzione dei problemi
Analisi dei Dati
- Utilizzare il robot per raccogliere e organizzare nuovi dati
- Strumenti e processi per interpretare i dati
Deployment del Robot
- Trasferimento di un robot simulato al hardware fisico
- Deployment del robot nel mondo fisico
- Monitoraggio e manutenzione dei robot in campo
Sicurezza del tuo Robot
- Prevenire manipolazioni non autorizzate
- Prevenire hacker dal visualizzare e rubare dati sensibili
Costruire un Robot Collaborativamente
- Costruire un robot nel cloud
- Unirsi alla comunità dei robotici
Prospettive Future per i Robot nei Campi della Scienza e dell'Energia
Riepilogo e Conclusione
Requisiti
- Esperienza di programmazione in C o C++
- Esperienza di programmazione in Python (utile ma non necessaria; può essere insegnata come parte del corso)
- Esperienza con la riga di comando Linux
Pubblico
- Sviluppatori
- Ingegneri
- Scienziati
- Tecnici
Recensioni (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.