The board in the middle of the table is Airbus specific hardware. The chip on this board is a Xilinx Zynq 7000 with an integrated ARM processor. PetaLinux is running on this computer and it controls a real-time system which balances a ball on top of a platform. A camera and different algorithms are used to determine the current location of the ball. The results of a PID controller running on the Airbus board are sent to the motors to move the platform.
This control software is observed by the COEMS tools. More specific, the CEDAR box (connected with a blue cable to the board), and the TeSSLa tools running on the debug laptop. The CEDAR box receives the trace generated by the ARM processor and filters the data according to the TeSSLa specification. The resulting data e.g. the runtime of a specific function are forwarded to the debug laptop. There, the data is displayed in real-time and data statistics such as minimum, maximum and mean runtime of a function are calculated and data distributions are presented.
With the COEMS tools we were able to non-intrusively analyze the execution times of the individual steps of the program, e.g. image acquisition, ball detection and the pid algorithm and optimize the algorithm and the period of the control algorithm accordingly. Furthermore, the COEMS tools were very helpful for debugging the USB driver in the Linux kernel.