Struttura del corso
Settimana 01
Introduzione
- Cosa rende un robot intelligente?
Robot fisici vs virtuali
- Smart Robots, Macchine intelligenti, Macchine senzienti e Robotic Process Automation (RPA), ecc.
Il ruolo di Artificial Intelligence (AI) in Robotics
- Oltre il "se-allora-altrimenti" e la macchina dell'apprendimento
- Gli algoritmi alla base dell'intelligenza artificiale
- Apprendimento automatico, visione artificiale, elaborazione del linguaggio naturale (NLP), ecc.
- Robotica cognitiva
Il ruolo di Big Data in Robotics
- Processo decisionale basato su dati e modelli
La nuvola e Robotics
- Collegare la robotica con l'IT
- Costruire robot più funzionali che accedono a più informazioni e collaborano
Caso di studio: Robot industriali
- Robot meccanici
- Baxter
- Robot negli impianti nucleari
- Rilevamento e protezione dalle radiazioni
- Robot nel nucleare Reactors
- Rilevamento e protezione dalle radiazioni
Componenti hardware di un robot
- Motori, sensori, microcontrollori, telecamere, ecc.
Comuni Elements di robot
- Visione industriale, riconoscimento vocale, sintesi vocale, rilevamento di prossimità, rilevamento della pressione, ecc.
Quadri di sviluppo per Programming un robot
- Framework open source e commerciali
- Sistema operativo del robot (ROS)
- Architettura: area di lavoro, argomenti, messaggi, servizi, nodi, actionlibs, strumenti, ecc.
Languages per Programming un robot
- C++ per il controllo di basso livello
- Python Per l'orchestrazione
- Programming ROS nodi in Python e C++
- Altre lingue
Strumenti per la simulazione di un robot fisico
- Software di simulazione e visualizzazione 3D commerciale e open source
Settimana 02
Preparazione dell'ambiente di sviluppo
- Installazione e configurazione del software
- Pacchetti e utilità utili
Caso di studio: Robot meccanici
- I robot nel campo della tecnologia nucleare
- Robot nei sistemi ambientali
Programming Il robot
- Programming un nodo in Python e C++
- Comprendere il nodo ROS
- Messaggi e argomenti in ROS
- Paradigma di pubblicazione / abbonamento
- Progetto: Bump & Go con un vero robot
- Risoluzione dei problemi
- Simulazione di robot con gazebo / ROS
- Fotogrammi in ROS e modifiche di riferimento
- Elaborazione delle informazioni 2D delle telecamere con OpenCV
- Elaborazione delle informazioni di un laser
- Progetto: Tracciamento sicuro degli oggetti in base al colore
- Risoluzione dei problemi
Settimana 03
Programming Il robot (Continua...)
- Servizi in ROS
- Elaborazione 3D delle informazioni di sensori RGB-D con PCL
- Mappe e navigazione con ROS
- Progetto: Ricerca di oggetti nell'ambiente
- Risoluzione dei problemi
Programming Il robot (Continua...)
- Azione Lib
- Speech Recognition e Generazione del parlato
- Controllo dei bracci robotici con MoveIt!
- Controllo del collo robotico per la visione attiva
- Progetto: Ricerca e raccolta di oggetti
- Risoluzione dei problemi
Testare il tuo robot
- Test unitari
Settimana 04
Estendere le capacità di un robot con Deep Learning
- Percezione: vista, audio e tattilità
- Rappresentazione della conoscenza
- Riconoscimento vocale tramite NLP (elaborazione del linguaggio naturale)
- Visione artificiale
Corso accelerato in Deep Learning
- Artificiale Neural Networks (ANN)
- Artificiale Neural Networks vs. Biologico Neural Networks
- Inoltro Neural Networks
- Funzioni di attivazione
- Formazione Artificiale Neural Networks
Corso accelerato in Deep Learning (Continua...)
- Deep Learning Modelli
- Reti convoluzionali e reti ricorrenti
- Convoluzionale Neural Networks (CNN o ConvNet)
- Strato di convoluzione
- Livello di pooling
- Architettura convoluzionale Neural Networks
Settimana 05
Corso accelerato in Deep Learning (Continua...)
- Ricorrente Neural Networks (RNN)
- Formazione di una RNN
- Stabilizzare i gradienti durante l'allenamento
- Reti di memoria a breve termine lunghe
- Deep Learning Piattaforme e librerie software
- Deep Learning in ROS
Utilizzo di Big Data nel robot
- Concetti relativi ai big data
- Approcci all'analisi dei dati
- Big Data Utensili
- Riconoscimento dei modelli nei dati
- Esercizio: PNL e Computer Vision su grandi set di dati
Utilizzo di Big Data nel robot (continua...)
- Elaborazione distribuita di grandi set di dati
- Coesistenza e fecondazione incrociata di Big Data e Robotics
- Il robot come generatore di dati
- Sensori di misurazione della portata, sensori di posizione, visivi, tattili e altre modalità
- Dare un senso ai dati sensoriali (ciclo senso-piano-atto)
- Esercizio: Acquisizione di dati in streaming
Programming Un robot autonomo Deep Learning
- Deep Learning Componenti del robot
- Configurazione del simulatore di robot
- Esecuzione di una rete neurale accelerata da CUDA con Cafe
- Risoluzione dei problemi
Settimana 06
Programming Un robot autonomo Deep Learning (continua...)
- Riconoscimento di oggetti in fotografie o flussi video
- Abilitazione della visione artificiale con OpenCV
- Risoluzione dei problemi
Analitica dei dati
- Utilizzo del robot per raccogliere e organizzare nuovi dati
- Strumenti e processi per dare un senso ai dati
Schieramento di un robot
- Transizione di un robot simulato all'hardware fisico
- Distribuzione del robot nel mondo fisico
- Monitoraggio e manutenzione dei robot sul campo
Proteggi il tuo robot
- Prevenzione di manomissioni non autorizzate
- Impedire agli hacker di visualizzare e rubare dati sensibili
Costruire un robot in modo collaborativo
- Costruire un robot nel cloud
- Entrare a far parte della comunità della robotica
Futuro Outlook per i robot nel campo della scienza e dell'energia
Riassunto e conclusione
Requisiti
- Programming esperienza in C o C++
- Programming esperienza in Python (utile ma non necessaria; può essere insegnata come parte del corso)
- Esperienza con la riga di comando Linux
Pubblico
- Gli 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.