Context
New project requirements, new sensor
We are working on a project that aims to detect defects during the manufacturing of carbon fiber parts, for aeronautics and spacial applications.
The process known as Automated Fiber Placement involves depositing successive layers of carbon fiber using a robot, while a line-scan laser camera ensures real-time quality control.
We joined the project during its industrialization phase to continue it and improve the reliability of the software components of the system: data acquisition, online processing and results presentation.
This case study focuses on the acquisition module.
New project requirements necessitated a camera model change, resulting in a software compatibility break: new control interface, new data formats and documentation to be updated.
Our mission: adapt the acquisition layer to control the new sensor and leverage its extended capabilities.
Our approach
End-to-end integration
The initial interface, written in C++, had been designed for an older camera model from the same manufactuere. The new model introduced an entirely different API.
Our roadmap was structured in three stages:
Correcting the official documentation
The documentation provided by the manufacturer was incomplete and outdated, mentioning unimplemented GenICam commands and containing copy-pasted documentation fragments from an incompatible older model.
We had to reverse engineer the sensor’s interface, pinpoint the correspondences between old and new parameters and understand their dependencies.
Adapting the software interface
The two models shared neither the same command nomenclature nor the same data format.
We:
- Compared the old and new interfaces to understand configuration differences,
- Analyzed the driver code to decipher the data packet structure,
- Implemented the new acquisition format management in C++ to properly exploit the camera’s data streams,
- Added unit tests ran in CI to ensure the interface kept compatibility with the still-used older sensor models
Exploring new features
Some new capabilities (laser tracking, automatic position adjustment, etc.) were poorly documented.
We therefore:
- Dug through the manufacturer’s technical documentation and examples,
- Set up a physical test bench to validate the camera’s behavior,
- Extended our software interface to enable control of these new functions.
Results
A functional sensor in production
The new camera was successfully integrated into the acquisition chain and validated on the production line. The system was subsequently reused in derivative projects, confirming the robustness of the software adaptation and the reliability of the control system.