Contexte
Un projet d’acquisition pour inspecter les pièces en fibre de carbone
Notre client, dans le cadre de la collecte de données pour identifier des défauts de surface sur des pièces aéronautiques en fibre de carbone, avait besoin d’un boîtier d’acquisition spécifique. Ce boîtier devait intégrer une caméra embarquée monochrome à polarisation, un système d’éclairage, et un écran tactile affichant l’interface pour que les inspecteurs puissent marquer les défauts détectés sur les images capturées.
La caméra, compatible avec le standard GenICam (largement utilisé dans l’industrie), envoie les images qui sont ensuite récupérée, annotées et sauvegardées sur un support de stockage amovible. Contrainte supplémentaire, la tablette tactile intégrée dans le boîtier de capture devait tourner sous Windows 10.
Les délais de développement imposés étaient serrées (2 mois) et il fallait garantir que le prototype puisse être utilisé sans nécessiter de modifications logicielles supplémentaires.
Solution
Une approche technique pour un développement rapide et fonctionnel
L’application a été développée en C++ afin de pouvoir réutiliser des briques logicielles déjà existantes chez le client. Pour l’interface graphique, nous avons opté pour Qt, un environnement de développement qui permet de créer rapidement des interfaces fonctionnelles mais adaptées à un environnement Windows 10, conformément à la demande du client. Qt inclut également un clavier virtuel pour que les inspecteurs puissent ajouter des annotations aux captures d’images.
La gestion de la caméra a été intégrée via le SDK CommonVisionBlox, une solution compatible avec les caméras GenICam. Les annotations étaient exportées en format JSON, garantissant une réutilisation facile par le client dans ses systèmes internes.
Une intégration continue a été mise en place pour garantir que l’application s’exécute bien sur la cible Windows, le développement se déroulant sous Linux.
Résultats
Un prototype livré dans les délais, prêt à l’usage
La livraison a été réalisée dans les délais impartis et le prototype a pu être mis entre les mains de ses utilisateurs finaux. Grâce à l’utilisation de Qt et C++, la solution est stable, prête à être utilisée sur le terrain, avec une interface simple et un système d’annotation facilement manipulable.