Europe's largest Association of Applied Research Institutes
Time of development:
The Fraunhofer Research Institute needed to develop a test bench for the study of a human visual system. For example, in order to predict a motion path of an eye based on changing images or simulate microsaccades for eye stabilization. The main problem was a high speed of human eye movement, which should be tracked and recorded.
It was supposed to have three main components of the bench:
- projector with an image refresh rate of up to 1440 frames per second;
- FPGA - based control plate that delivers an image to the projector via DVI-DL video interface with a pixel rate of 297 MHz;
- eye tracker sensor that is pointed to an eye retina and tracks the eye movement with a frequency up to 2 kHz.
As a result, the control plate would transfer any image to the projector and the sensor would monitor eye reaction to this. Prior to this such benches had already been used for research, but due to the technical limitations they had reaction time more than 16 msec. This speed is not enough since the real human eye refreshes the image with a frequency of more than 1000 Hz. That is why the final reaction time of the developed bench should be significantly less than the analogues.
For such a unique task we didn’t have specialists within our teams, who could choose appropriate equipment, assemble a bench, configure it, and debug.
The objective was very atypical and was not related to web application development. That is why we needed to perform organizational skills and find narrow-focused specialists who already had experience with FPGA and solved similar problems. After that, we needed to build interaction between the client and the executors and supervise all stages of work.
An additional limitation was strong requirements according to budget. We had to decide which is more important - to choose expensive equipment or a highly paid executor.
As a result, our team was required to:
- find specialists both for hardware and for software configuration and programming;
- define requirements specification for software development, plate and bench execution;
- supervise all stages of work, from equipment order to bench assembly and testing;
- keep within a budget.
The following roles were required to fulfill the work:
- Hardware expert selected and ordered all equipment, and also assembled and debugged the bench;
- Software developer configured FPGA plate on VHDL and implemented the program in С language;
- CI/CD engineer organized remote bench programming and supervised interaction between developers;
- Project manager supervised the progress of the project and organized communication with the client;
When we defined the technical requirements for the bench and managed to find specialists, we started implementation. In order to keep within a budget, we chose FPGA processor and plate components from Xilinx - they fully met the requirements while the cost was several times lower than equivalent.
When all equipment was received on request, the hardware expert assembled the bench out of the sensor, the projector and the plate at Fraunhofer Institute. Then the software developer set up the equipment remotely and wrote the program simultaneously with the stage-by-stage debugging of the bench.
While debugging, we literally fought for every millisecond in order to meet the technical requirements of the bench. For example, we faced a problem with the influence of electromagnetic interference on the signal of the eye movement sensor - it increased the reaction time. To solve this, we implemented an additional analog switching circuit for signal levels - remove interference, and also diminished reaction time.
The recorded response time to the movement of the human eye is less than 5 ms, which is much less than similar benches. The movement of the eye is recorded with an accuracy of 2 pixels, which makes it possible to study microsaccades of different frequencies and amplitudes. Experiments are already being carried out at the bench by students and scientists - for example, to study the prediction of an eye motion path and high-frequency stimulation of an eye with various images.