Sviluppo Software
Architettura
Il software di un sistema di visione basato su PC è composto da più parti.
L’algoritmo che analizza e ispeziona le immagini è il nucleo del software di un sistema di visione, quindi deve essere robusto e affidabile.
Per raggiungere un’alta qualità dell’algoritmo è importante:
- suddividerlo in task più semplici e singolarmente testabili;
- renderlo gestibile e comprensibile mantenendo pulito il codice e utilizzando commenti, schemi e diagrammi di flusso.
Gli algoritmi di elaborazione delle immagini vengono utilizzati anche per:
- effettuare le calibrazioni;
- realizzare funzioni utili durante la messa a punto della macchina;
- controllare il buon funzionamento della macchina (autodiagnostica). Ad esempio è possibile rilevare automaticamente possibili problemi, come un’illuminazione insufficiente o la lente dell’obiettivo sporca.
Gli algoritmi di analisi delle immagini sono sviluppati utilizzando librerie di elaborazione immagini commerciali (MVTec HALCON, COGNEX VisionPro) e open-source (OpenCV).
L’interfaccia uomo-macchina (HMI) permette all’operatore di visualizzare i risultati ottenuti dall’elaborazione delle immagini e di interagire con la macchina.
La Registrazione Dati salva sul PC le immagini e i risultati ottenuti dalle elaborazioni.
Questi dati possono essere disponibili anche a stazioni remote, sia computer che dispositivi mobili.
Lo scambio di dati con controllori logici programmabili (PLC), server, client, robot e altri macchinari avviene tramite protocolli di comunicazione industriale (Modbus, OPC UA, …).
Cosa faccio io
Sviluppando sistemi di visione embedded e basati su PC, ho acquisito capacità e conoscenze per sviluppare l’intero software di un sistema di visione.
Il mio punto forte è lo sviluppo dell’algoritmo per l’elaborazione delle immagini. Riesco a sviluppare algoritmi robusti e affidabili grazie a una buona capacità di modellazione matematica/geometrica e all’esperienza accumulata.
Per lo sviluppo degli algoritmi di elaborazione delle immagini utilizzo librerie specifiche per l’elaborazione delle immagini, come OpenCV, MVTec Halcon e Cognex VisionPro, scegliendo quella più adatta per le esigenze del cliente.