Struttura del corso

Settimana 01

Giorno 01

Introduzione

  • Cosa rende un robot intelligente?

Robot fisici vs virtuali

  • Robot intelligenti, macchine intelligenti, macchine senzienti e automazione dei processi robotici (RPA), ecc.

Il ruolo dell'intelligenza artificiale (AI) nella robotica

  • Oltre l'"if-then-else" e la macchina di apprendimento
  • Gli algoritmi alla base dell'AI
  • Apprendimento automatico, visione artificiale, elaborazione del linguaggio naturale (NLP), ecc.
  • Robotica cognitiva

Giorno 02

Il ruolo dei Big Data nella robotica

  • Presa di decisioni basata su dati e pattern

Il Cloud e la Robotica

  • Collegamento tra robotica e IT
  • Costruzione di robot più funzionali che accedono a più informazioni e collaborano

Studio di caso: Robot industriali

  • Robot meccanici
    • Baxter
  • Robot in centrali nucleari
    • Rilevamento e protezione da radiazioni
  • Robot in reattori nucleari
    • Rilevamento e protezione da radiazioni

Giorno 03

Componenti hardware di un robot

  • Motori, sensori, microcontrollore, camere, ecc.

Elementi comuni dei robot

  • Visione artificiale, riconoscimento vocale, sintesi vocale, rilevamento di prossimità, sensore di pressione, ecc.

Giorno 04

Framework per lo sviluppo di un robot

  • Framework open source e commerciali
  • Robot Operating System (ROS)
    • Architettura: workspace, topic, messaggi, servizi, nodi, actionlibs, strumenti, ecc.

Linguaggi per la programmazione di un robot

  • C++ per il controllo a basso livello
  • Python per l'orchestrazione
  • Programmazione di nodi ROS in Python e C++
  • Altri linguaggi

Giorno 05

Strumenti per la simulazione di un robot fisico

  • Software di simulazione e visualizzazione 3D commerciale e open source

Strumenti per il progetto delle caratteristiche fisiche di un robot

  • Software CAD commerciale e open source

Studio di caso: Robot meccanici

  • Robot nel campo della tecnologia nucleare
  • Robot nei sistemi ambientali

Settimana 02

Giorno 06

Corso accelerato di Python

  • Installazione e configurazione del software
  • Pacchetti utili e utility
  • Lavorare con le strutture dati Python, operatori, cicli, condizionali, funzioni, metodi, ecc.
  • Scrivere un programma di esempio
  • Progetto di squadra

Giorno 07

Preparazione per lo sviluppo del robot

  • Configurare l'ambiente di sviluppo (es. Arduino IDE)
  • Esplorare la sintassi del linguaggio Arduino (C/C++)
  • Codificare, compilare e caricare sul microcontrollore
  • Assemblare i componenti hardware di un robot Arduino

Giorno 08

Lavorare con i componenti Arduino

  • Sensori analogici
  • Sensori digitali

Lavorare con i moduli di comunicazione Arduino

  • Moduli Bluetooth
  • Moduli Wi-Fi
  • Moduli RFID
  • I2C e SPI
  • Internet mobile

Giorno 09

Costruire un robot

  • Pianificare le funzionalità e le caratteristiche di un robot
  • Implementare il movimento del robot

Progetto di squadra

  • Discussione e revisione

Giorno 10

Controllare il robot

  • Implementare il controller
  • Connettersi al robot (cablato e wireless)

Progetto di squadra

  • Discussione e revisione

Settimana 03

Giorno 11

Programmare il robot

  • Simulare un robot con Gazebo / ROS
  • Comprendere il nodo ROS
  • Programmare un nodo in Python e C++
  • Messaggi e topic in ROS
  • Paradigma di pubblicazione / sottoscrizione

Progetto di squadra

  • Bump & Go con robot reale
  • Discussione e revisione

Giorno 12

Programmare il robot (continuazione...)

  • Frame in ROS e cambiamenti di riferimento
  • Elaborazione delle informazioni 2D delle camere con OpenCV
  • Elaborazione delle informazioni di un laser

Progetto di squadra

  • Seguimento sicuro degli oggetti per colore
  • Discussione e revisione

Giorno 13

Testare il robot

  • Strumenti per testare il codice
  • Unit testing
  • Creare una suite di test
  • Automatizzare i test
  • Risolvere problemi

Progetto di squadra

  • Seguimento sicuro degli oggetti per colore
  • Discussione e revisione

Giorno 14

Programmare il robot (Continuazione...)

  • Servizi in ROS
  • Elaborazione delle informazioni 3D di sensori RGB-D con PCL
  • Mappe e navigazione con ROS

Giorno 15

Programmare il robot (Continuazione...)

  • Completare compiti con ActionLib

Progetto di squadra

  • Ricerca degli oggetti nell'ambiente

Settimana 04

Giorno 16

Programmare il robot (Continuazione...)

  • Completare compiti con ActionLib

Giorno 17

Programmare il robot (Continuazione...)

  • Riconoscimento vocale e generazione di voce
  • Risolvere problemi

Progetto di squadra

  • Controllare un robot con la voce

Giorno 18

Programmare il robot (Continuazione...)

  • Controllare braccia robotiche con MoveIt!
  • Controllare il collo robotico per la visione attiva
  • Risolvere problemi

Progetto di squadra

  • Ricerca e raccolta di oggetti

Giorno 19

Distribuire il robot

  • Distribuire il robot nel mondo fisico
  • Monitorare e assistere i robot in campo
  • Utilizzare un'app mobile per controllare un robot

Sicurezza del robot

  • Prevenire il tamponamento non autorizzato
  • Prevenire che i hacker visualizzino e rubino dati sensibili

Giorno 20

Analisi dei dati

  • Raccogliere e organizzare i dati generati dal robot
  • Dare senso ai dati attraverso strumenti di visualizzazione e processi

Costruire un robot in modo collaborativo

  • Costruire un robot nel cloud
  • Creare un'app mobile per interagire con il tuo robot
  • Unirsi alla comunità dei robotici

Prospettive future per i robot nel campo 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 di Riferimento

  • Sviluppatori
  • Ingegneri
  • Scienziati
  • Tecnici
 80 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative