Marco Caggiano

Competenze tecniche e attività svolte durante la carriera universitaria

 

LabVIEW

  • Informática Industrial (Universidad de Cantabria - Santander - España) - 2011

    Utilizzo di LabVIEW per l’acquisizione e generazione di segnali mediante scheda di acquisizione dati National Instruments NI-USB 6009 con prove di laboratorio.

    Esercizi vari per la gestione di array, segnali sinusoidali, testo e macchine a stati.

    Simulazione di una cassa automatica di un parcheggio realizzata come macchina a stati. Calcolo della tariffa in base alla durata del parcheggio, sconto abbonati, stampa fattura e storico movimenti. La cassa accetta monete, banconote, ticket di sconto, pagamenti con carta di credito e da il resto.

    Realizzazione di una centralina antincendio automatica con documentazione per il programmatore e manuale utente.
    La centralina dispone di 4 rilevatori di fumo, 4 sensori di temperatura e 4 interruttori per gas, elettricità e porte automatiche.
    Creazione di un pannello di controllo per gestire in tempo reale il sistema. Il pannello mostra andamenti delle temperature, indicatori di fumo, eventi, avvisi e dispone di vari tasti per interagire con il sistema.
    Programma realizzato come una macchina a stati e combinando i dati provenienti dai rilevatori di fumo e dai sensori di temperatura, che si suppone siano collocati in diverse stanze, si distinguono diversi casi: normale funzionamento, avvertenza, allarme, allarme generalizzato.
    Storico degli eventi salvato in file di testo.
    Simulazione e testing tramite generatore di segnali e voltmetro digitale.

PLC e SCADA

  • Informática Industrial (Universidad de Cantabria - Santander - España) - 2011

    Utilizzo di Simatic Step 7 per la realizzazione di programmi scritti in Ladder per Siemens S7 200 e simulazioni con strumentazione di laboratorio.
    Controllo di una porta automatica di un garage in varie versioni con sensori di finecorsa e eventualmente anche della presenza di un ostacolo.


  • Autómatas programables (Universidad de Cantabria - Santander - España).

    Utilizzo dei Controllori a Logica Programmabile per il controllo di sistemi.
    Esercizi vari con Simatic Step 7 per la scrittura di programmi in AWL, KOP, FUP.


  • Tecnologie Informatiche dei Sistemi di Controllo (Università degli Studi di Salerno) - 2008

    Lo standard internazionale IEC 61131.
    Programmazione dei dispositivi di controllo attraverso i linguaggi previsti dallo standard: Ladder (LD), Istruction List (IL), Structured Text (ST), Funcion Block Diagram (FBD), Sequential Funcional Chart (SFC).
    Traduzione del Sequential Function Chart ed elementi innovativi.
    Reti per l'automazione.


  • Sistemi di Automazione Distribuita (Università degli Studi di Salerno) - 2008

    Controllo distribuito. Sistemi di produzione integrata. Reti per l'automazione.
    Sistemi per il controllo di supervisione e l'acquisizione di dati (SCADA).
    Sistemi per l'esecuzione della produzione (MES).
    Sistemi di controllo distribuito (DCS).
    Progettazione dei sistemi di controllo distribuito.
    Esempi di architetture di controllo.
    Ciclo di sviluppo di un sistema di automazione distribuito.
    Metodologie per la progettazione del controllo logico/sequenziale distribuito.
    Implementazione di supervisori


  • Sistemi e Tecnologie Industriali (Università degli Studi di Salerno) - 2008

    Generalità sui Processi Industriali. Classificazione dei processi Industriali: flessibilità ed efficienza produttiva. Tecnologie per la produzione: cenni storici e nuove tecnologie. Sistemi di produzione CIM (Computer Integrated Manufacturing). Metodologie di controllo per l’automazione. Sistemi elettronici per la produzione industriale

    Sistemi a Logica Programmabile (PLC): cenni storici, architettura fisica, tipologie dei cicli di scansione, criteri di dimensionamento.

    I linguaggi di programmazione: linguaggio a contatti (Ladder), Instruction List, Sequential Block, Structured Text.

    Caratteristiche delle reti di comunicazione per ambiente industriale. Protocolli per applicazioni industriali.

Microcontrollori

  • Control de Procesos (Universidad de Cantabria - Santander - España) - 2011

    Studio della struttura e delle caratteristiche del PIC16F84A.
    Programmazione in assembly con MPLAB IDE.
    Esercizi vari per la gestione delle entrate e delle uscite del PIC.
    Controllo di un tornio automatico.
    Controllo del traffico di un incrocio con 4 semafori.


  • Laboratorio di Linguaggi ed Ambienti di Programmazione (Università degli Studi di Salerno) - 2007

    Definizioni dei linguaggi assemblativi. Modelli architetturali dei calcolatori.

    Cenni alle architetture CISC e RISC. L’architettura del MIPS. I formati delle istruzioni del MIPS. Classificazione delle istruzioni.

    Uso delle istruzioni del linguaggio assemblativo del MIPS per la traduzione di programmi scritti ad alto livello.

    Convenzioni di uso dei registri della CPU. Gestione della memoria nel MIPS. Meccanismo di invocazione dei sottoprogrammi. Uso del simulatore SPIM.

    Ambienti di programmazione e debugging.

    Aspetti generali sui modelli di memoria. Memoria statica e memoria dinamica. Stack e record di attivazione. Nomi ed ambiente. Regole di scope statico e dinamico.

C++

  • Tesi: Gesture Recognition per applicazioni domotiche mediante sensori di visione 3D

    Lavoro di tesi svolto in azienda da Novembre 2011 a Giugno 2012.

    Sviluppo di un sistema per controllare un impianto domotico tramite i gesti mediante i sensori Microsoft Kinect e Asus Xtion Pro Live.

    Software sviluppato completamente in C++ con ambiente di sviluppo Eclipse su sistema operativo Linux (Ubuntu).

    Driver PrimeSense per la comunicazione con il sensore. Librerie OpenNI e NITE per l’ottenimento della mappa di profondità e per le funzioni di skeleton tracking.
    Libreria pthread per la creazione di tre processi: elaborazione dati, visualizzazione e tracciamento dei grafici.
    Libreria GLUT (OpenGL Utility Toolkit) per la gestione della grafica.
    Implementazione del Filtro di Kalman per migliorare gli algoritmi di riconoscimento.


  • Algoritmi e Strutture Dati (Università degli Studi di Salerno) - 2006

    Programmazione iterativa e ricorsiva. Algoritmi di ricerca ed ordinamento. Gestione di strutture dati dinamiche. Analisi di complessità degli algoritmi.


  • Ingegneria del Software (Università degli Studi di Salerno) - 2007

    Modelli di programmazione strutturata e modulare. Modello di programmazione ad oggetti: incapsulamento, classi ed oggetti. Costruttori e distruttori. Metodi di accesso. Riferimenti ad oggetti. Tecniche di passaggio di oggetti. Classi e funzioni amiche. Overloading degli operatori. Gestione della memoria e creazione dinamica di oggetti. Gestione delle strutture dati profonde. Overloading dell’assegnazione. La composizione per il riuso del software ad oggetti. Ereditarietà singola. Classi derivate e regole di visibilità dei membri delle classi derivate. Il polimorfismo. Metodi virtuali, metodi virtuali puri e classi astratte. Genericità e templates.

JAVA

  • Ingegneria del Software (Università degli Studi di Salerno) - 2007

    Caratteristiche generali di Java e del JDK1.1 e JDK1.2. Costrutti Fondamentali. Dichiarazione delle variabili, gli operatori relazionali ed le istruzioni per il controllo del flusso logico. La programmazione a oggetti in Java: concetti di classe, oggetto e messaggio, considerazioni generali sui vantaggi della programmazione a oggetti, ereditarietà ed aggregazioni. La dichiarazione di classi e metodi in Java, le clausole per il controllo della visibilità di attributi e metodi. Ereditarietà, polimorfismo. Classi astratte ed interfacce. La gestione delle Eccezioni. Le classi del JDK per la gestione delle eccezioni, la generazione di eccezioni. Il sottosistema di I/O. Il Package AWT e le Applet. Sicronizzazione per la condivisione delle risorse, la gestione delle priorità.

Visual Basic

  • Tesi: Nuove tecnologie wireless per il controllo e comando degli impianti nella Building Automation.

    Tirocinio in azienda Ottobre-Novembre 2008. Realizzazione di un sistema di controllo per la gestione integrata di due piani separati di un edificio mediante pannello touch screen con infrastruttura di rete wireless costituita da dispositivi ZigBee.

    Sviluppo dell’interfaccia utente in Visual Basic per la supervisione e il controllo dell’intero edificio. Controllo illuminazione, termoregolazione, rilevazione presenze, gestione allarmi incendio, chiusura/apertura serrande, gestione utenti e gestione eventi.

PHP, SQL, HTML, CSS

  • Sistemas Informáticos 2 (Universidad de Cantabria - Santander - España) - 2011

    Fondamenti di HTML, CSS, PHP e SQL per la realizzazione di siti web dinamici.

    Realizzazione di un sito web per un’accademia con gestione di alunni, professori, corsi, orari, immatricolazioni e gruppi. Progetto di una base di dati relazionale con NIAM e generazione delle istruzioni SQL.


  • Realizzazione di un sito personale e di un sistema di gestione di siti web di fantacalcio con calcoli automatici.

    Anche se a scopo ludico il portale offre funzionalità abbastanza avanzate riuscendo a gestire diversi tornei contemporaneamente ed effettuando tutti i calcoli in modo automatico sfruttando appieno le potenzialità del PHP. Per la gestione dei dati viene utilizzato un database MySQL. La grafica viene gestita con i fogli di stile CSS e le pagine sono strutturate in HTML. Inoltre vengono utilizzati anche alcuni JavaScript.

    MkWeb.it


  • Basi di Dati e Sistemi Informativi (Università degli Studi di Salerno) - 2007 Tecniche di progettazione e realizzazione di una base di dati. Il modello relazionale. Metodologie e modelli per il progetto. Modelli E-R. Progettazione concettuale. Progettazione logica. La normalizzazione. Strumenti CASE. Algebra e calcolo relazionale. SQL: definizione dei dati, interrogazioni e manipolazioni.

JSP

  • Laboratorio di Tecnologie per il Web (Università degli Studi di Salerno) - 2007

    Classificazione dei siti Web. Architetture di riferimento. Architetture client-server. Internet. Protocolli e Pile di Protocolli. TCP/IP. Il Protocollo HTTP. Linguaggio HTML. Fogli di stile CSS. Metodologie di Progetto dell'Interfaccia: qualità dei siti web, sviluppo multidispositivo, usabilità e accessibilità.

    JSP, Java Server Pages: introduzione e ciclo di vita. Sintassi e oggetti predefiniti. Utilizzo di componenti leggeri (JavaBeans). Collezioni di tag ("tag library").

ASP

  • Realizzazione sito web società di calcio - 2002

MATLAB

  • Control de Procesos (Universidad de Cantabria - Santander - España) - 2011

    Controllo di processi tramite scheda di acquisizione dati National Instruments PCI‐6221.
    Esercizi sull’acquisizione e analisi di segnali e realizzazione di interfacce grafiche.
    Acquisizione e generazione di segnali audio.


  • Laboratorio di Segnali e Sistemi (Università degli Studi di Salerno) - 2008

    Introduzione all’uso del calcolatore per l’analisi e il progetto di sistemi di elaborazione e trasmissione dei segnali. Programmazione in ambiente MATLAB: operazioni elementari, segnali e sistemi in MATLAB, elaborazioni grafiche, elementi di calcolo numerico con MATLAB.
    Utilizzo di tecniche di simulazione per la trasmissione dei segnali: analisi e simulazione delle prestazioni dei principali sistemi di modulazione analogica e digitale.

Processing

  • Robotica Industriale (Università degli Studi di Roma Tor Vergata) - 2012

    Sviluppo di un modello di mano robotica ispirato ai movimenti e all'estetica di una mano reale.

    La mano è stata realizzata applicando i principi dell robotica e della cinematica diretta e inversa. Per permettere tutti i movimenti la struttura è stata costruita come un insieme di 20 giunti rotoidali. Inoltre sono stati previsti dei limiti nel movimento delle dita per evitare configurazioni innaturali, facendo particolare attenzione al movimento del pollice.

    Progetto Mano Virtuale


    Rappresentazione in 3D delle più note strutture robotiche con movimentazione manuale dei giunti prismatici e rotoidali.

    Strutture Robotiche

Sistemi di controllo

  • Controllo Robusto di Sistemi a più variabili (Università di Roma Tor Vergata) - 2012

    Descrizione ingresso-stato-uscita equivalente a un assegnato modello differenziale, o alle differenze, lineare a coefficienti costanti. Forme di Hermite, di Smith di una matrice polinomiale. Forma di McMillan-Smith. Matrice di sistema, zeri invarianti, di disaccoppiamento, di trasmissione di un sistema a più ingressi e più uscite (MIMO).

    Richiami sulla stabilizzazione (con stabilità rafforzata) dei sistemi MIMO (a tempo continuo o discreto, o a segnali campionati) mediante retroazione dall'uscita; condizioni di esistenza della soluzione. Condizioni di raggiungibilità, controllabilità, stabilizzabilità con rapidità di convergenza assegnata (e delle proprietà duali) di sistemi interconnessi.

    Controllo ottimo LQ, condizioni sotto cui esso è stabilizzante. Il filtro di Kalman, il teorema di separazione.

    Risposte (pseudo)permanente e (pseudo)transitoria dei sistemi MIMO a disturbi e/o riferimenti con trasformata razionale; il principio del modello interno. Sintesi di sistemi di controllo MIMO astatici in modo robusto, e con rapidità di convergenza assegnata della risposta transitoria. Predisposizione di regolatori MIMO. Sintesi con specifica di errore nullo a tempo continuo in tempo finito, o asintoticamente, per i sistemi MIMO a segnali campionati.

    Inverse destre minime. Sintesi di sistemi di controllo MIMO con stabilità rafforzata, astatici in modo robusto e disaccoppiati nei parametri nominali.

    Massimo e minimo valore singolare. Matrici di sensibilità e specifiche di prestazione per i sistemi a più ingressi e più uscite (MIMO); compromessi. Criterio di Nyquist per la stabilità asintotica (rafforzata) dei sistemi MIMO, a tempo continuo o discreto. Il teorema del piccolo guadagno.

    Condizioni di stabilità robusta per incertezze (o variazioni parametriche) non strutturate, di tipo additivo o moltiplicativo; confronto tra esse; vincoli sulle famiglie delle perturbazioni; scelta del confine della regione caratterizzante la convergenza prefissata. Prestazione robusta.

    Controllo ottimo LQ su intervallo infinito: robustezza delle sue proprietà stabilizzanti; suo uso per soddisfare condizioni di stabilità robusta; recupero della matrice di trasferimento ad anello aperto nel caso di retroazione dall'uscita.

    Spazi RL-infinito e RH-infinito di matrici razionali, norma H-infinito. Il problema standard di controllo in RH-infinito, con informazione completa o parziale; ipotesi per la sua risolubilità. Processo allargato per soddisfare specifiche di stabilità robusta e/o di prestazione, scelta delle funzioni di sagomatura, vincoli da rispettare e accorgimenti per soddisfare le ipotesi; condizioni di stabilità e prestazione robuste; aggiunta della specifica di astatismo, difficoltà e accorgimenti. Ulteriori tipi di incertezze, uso del teorema del piccolo guadagno.

    L'ulteriore specifica di disaccoppiamento riferimento-uscita nei parametri nominali: vantaggi e svantaggi nel conseguirla disaccoppiando il sistema in catena diretta.


  • Ottimizzazione nei Sistemi di Controllo (Università di Roma Tor Vergata) - 2011

    Generalità sui sistemi di controllo a un ingresso e una uscita nel dominio della frequenza. Diagrammi di Bode e diagrammi di Nyquist. Criterio di Routh. Fattorizzazioni polinomiali. Algoritmo di Euclide e il suo utilizzo per l'assegnazione dei poli a ciclo chiuso. Stabilità asintotica interna e sistemi di controllo internamente stabilizzanti. Parametrizzazione di tutti i controllori stabilizzanti. Sintesi di sistemi di controllo con specifiche a regime permanente: inseguimento asintotico di traiettorie tramite il principio del modello interno. Inseguimento pratico di traiettorie. Criterio di Nyquist. Sintesi di sistemi di controllo internamente asintoticamente stabili in modo robusto. Inseguimento pratico e robusto di traiettorie.

    Ottimizzazione statica in presenza di vincoli: condizioni necessarie del primo ordine, condizioni sufficienti locali (del secondo ordine) o globali (basate sulla convessità). Ottimizzazione dinamica in presenza di vincoli: condizioni sufficienti globali (teoria di Hamilton-Jacobi-Bellman, programmazione dinamica, metodi numerici per la soluzione approssimata dell'equazione di Hamilton-Jacobi-Bellman). Ottimizzazione dinamica in presenza di vincoli: condizioni necessarie locali (elementi di calcolo delle variazioni, principio del minimo di Pontryagin). Applicazione a rilevanti problemi di controllo: controllo LQ/LQG, proprietà di robustezza, controllo non costoso, il problema dell'ottimalità inversa, controllo in tempo minimo, elementi di controllo predittivo.


  • Controllo di Sistemi Dinamici 2 (Università degli Studi di Roma Tor Vergata) - 2009

    Strumenti per l'analisi di sistemi dinamici stazionari, a tempo discreto e a tempo continuo, prevalentemente lineari, e per il progetto di leggi di controllo in retroazione da implementare tramite calcolatore.

    Riduzione degli schemi a blocchi (metodo delle equazioni algebriche e metodo delle regole elementari). La risposta armonica e le sue rappresentazioni: diagrammi polari e diagrammi di Bode. Analisi della stabilità di sistemi a controreazione mediante il criterio di Nyquist. Risposta permanente di un sistema di controllo (a controreazione) a ingressi polinomiali, a disturbi costanti, a ingressi o disturbi sinusoidali. Definizione di tipo di sistema. Analisi della stabilità di sistemi a controreazione mediante il criterio di Routh. Risposta transitoria e specifiche dei sistemi di controllo. Carta di Nichols. Definizione e tracciamento del luogo delle radici. Uso del luogo delle radici per il progetto di compensatori con specifiche di stabilità (eventualmente rafforzata) e di precisione a regime permanente relativamente a ingressi polinomiali e disturbi costanti. Sintesi nel dominio della frequenza, mediante reti anticipatrici e attenuatrici. Sintesi per assegnazione dei poli. Regolatori standard (P.I.D.).


  • Automazione Manifatturiera (Università degli Studi di Roma Tor Vergata) - 2010

    Definizioni, tipi di layout e di organizzazione della produzione, indici di prestazione, work in process, legge di Little, effetto dei magazzini sull'efficienza di linee di produzione, ottimizzazione ordinale. Tecnologie nell'automazione manifatturiera: macchine a controllo numerico e PLC. Classificazione, analisi e dimensionamento dei sistemi di produzione, produzione manifatturiera cellulare, algoritmo di Hollier; sistemi flessibili (FMS), modello Bottleneck e Bottleneck esteso; linee di assemblaggio manuali e automatizzate, transfer lines. Problemi di controllo per sistemi di produzione: stabilità di politiche di scheduling dinamico per sistemi di produzione aciclici caratterizzati da tempi di setup non trascurabili; ottimizzazione dinamica di indici di costo basati sui livelli dei magazzini per sistemi flessibili di produzione con tempi di setup trascurabili: la regola cmu e le politiche miopi; livelli ottimi di scorta per sistemi soggetti a guasti: la politica hedging point.


  • Tecnologie Informatiche dei Sistemi di Controllo (Università degli Studi di Salerno) - 2008

    Analisi e sintesi di sistemi di controllo a tempo continuo ad un ingresso ed una uscita.
    Controllo in retroazione. Stabilità in condizioni nominali. Margine di guadagno e margine di fase. Luogo delle radici. Regolatori PID. Reti correttrici.


  • Fondamenti di Automatica (Università degli Studi di Salerno) - 2007

    Analisi e sintesi di controllori per sistemi a tempo continuo a un ingresso e una uscita. Criteri di stabilità nei sistemi lineari. Funzione di trasferimento. Risposta armonica dei sistemi. Specifiche del controllo nei diversi domini. Controllo in avanti o in retroazione. Controllo dell’errore a regime. Regolatori standard. Stabilità a ciclo chiuso e criterio di Nyquist. Sistemi a eventi discreti.

Robotica

  • Robotica Industriale (Università degli Studi di Roma Tor Vergata) - 2012

    Spazio operativo, giunti, gradi di libertà. Rotazioni, traslazioni e roto-traslazioni.

    Cinematica diretta: notazione di Denavit-Hartenberg.
    Principali strutture robotiche: robot planare a 2 membri con giunti rotoidali a cerniera, robot planare a 3 membri con giunti rotoidali a cerniera, robot cartesiano, robot cilindrico, robot SCARA, robot sferico, robot sferico (tipo quello di Stanford), polso sferico, robot antropomorfo, il manipolatore di Stanford, il robot PUMA, il robot didattico SCORTECER.

    Cinematica inversa: calcolo della posizione inversa in forma chiusa, calcolo dell'orientamento inverso in forma chiusa, il problema cinematico inverso in forma chiusa, inversione dinamica della cinematica.

    Energia cinetica e potenziale.
    Equazioni del moto.
    Fondamenti di manipolazione robotica.
    Pianificazione della traiettoria e del percorso.
    Pianificazione del percorso.
    Visione artificiale.


  • Laboratorio di Robotica (Università degli Studi di Roma Tor Vergata) - 2010

    Cinematica dei robot: trasformazioni di coordinate, rototraslazioni di corpi rigidi, cinematica diretta, cinematica inversa. Cenni sulla dinamica dei robot e leggi di controllo.

    Cenni sul funzionamento dei motori in c.c. e degli encoder incrementali. Richiami di programmazione in linguaggio C e descrizione delle librerie SCORBOT / SCORTEC utilizzate per gestire i robot didattici.

    Realizzazione del progetto sperimentale. Cinematica diretta: localizzazione del punto terminale del robot (effettore). Cinematica inversa: posizionamento dell'effettore. Programmazione del movimento tramite un linguaggio ad alto livello.

    Realizzazione di un temperamatite automatico mediante robot Scorbot ER V.

    L'applicazione, scritta in linguaggio C, controlla direttamente i motori del robot in modo da realizzare un determinato compito che viene memorizzato in un file di testo tramite macroistruzioni.

    Nell'esempio il task consiste nel temperare le matite e poi svuotare il cestino.
    Il progetto è stato realizzato per mostrare una semplice applicazione dei concetti della robotica tramite un robot didattico.

    Progetto Scorbot

Download Prospetto Competenze Tecniche

Piano di studi della laurea triennale in Ingegneria Informatica

Piano di studi della laurea magistrale in Ingegneria dell'Automazione