Performance Analysis of Embedded Control Algorithms used in UAVs
Performance analysis of embedded systems is critical when dealing with Cyber-Physical Systems that require stability guarantees. They typically operate having to respect deadlines imposed during the design of the related control system. In a recent past performance analysis was typically done only by executing the code, and making measures, on the target embedded platform. Nowadays, code execution/measuring can also be done on simulation software, which offers greater degree of liberty for designers to configure the system for the desired tests. This paper presents results obtained from analyzing the performance of two control algorithms developed for controlling an Unmanned Aerial Vehicle (UAV) running on simulated and real embedded platforms. Such analysis is important for twofold reasons: better understand the timing behavior or the algorithms and evaluate architectural issues related with the target embedded platform. Raspberry Pi 3 Model B+ (with Cortex-A53 processor) is used as reference platform and serves as basis for creating different simulated versions for the analysis. Initial results highlighted the important role played by cache memory in the performance of the control algorithms and were able to detect a major bottleneck in one of the control algorithms that could compromise system stability.
G. V. Raffo, M. G. Ortega, and F. R. Rubio, “An integral predictive/nonlinear h∞ control structure for a quadrotor helicopter,” Automatica, vol. 46, no. 1, pp. 29–39, jan 2010.
F. Silvano, “Projeto da arquitetura de software embarcado de um veıculo aereo nao tripulado,” Master’s thesis, Federal University of Santa ˜ Catarina, 2014.
R. Tashiro and M. S. Oyamada, “An environment for design space exploration using gem5-McPAT,” in 2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC). IEEE, nov 2016.
B. P. Lathi, Linear systems and signals. Oxford University Press, 2005, ch. 9 - Time-Domain Analysis of Discrete-Time Systems.
A. Butko, R. Garibotti, L. Ost, and G. Sassatelli, “Accuracy evaluation of GEM5 simulator system,” in 7th International Workshop on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC). IEEE, jul 2012.
V. Pedroni, Circuit Design and Simulation with VHDL. MIT Press Ltd, 2010.
N. Binkert, B. Beckmann, G. Black, S. K. Reinhardt, A. Saidi, A. Basu, J. Hestness, D. R. Hower, T. Krishna, S. Sardashti, R. Sen, K. Sewell, M. Shoaib, N. Vaish, M. D. Hill, and D. A. Wood, “The gem5 simulator,” ACM SIGARCH Computer Architecture News, vol. 39, no. 2, pp. 1–7, may 2011.
M. R. Zargham, Computer Architecture. Prentice Hall, 1996.
A. Akram, “A study on the impact of instruction set architectures on processor’s performance,” Master’s thesis, Western Michigan University, 2017.
R. Donadel, “Modeling and control of a tiltrotor unmanned aerial vehicle for path tracking,” Master’s thesis, Federal University of Santa Catarina, 2015.
A. Akram and L. Sawalha, “Validation of the gem5 simulator for x86 architectures,” in 2019 IEEE/ACM Performance Modeling, Benchmarking and Simulation of High Performance Computer Systems (PMBS), 2019, pp. 53–58.
J. Power, J. Hestness, M. S. Orr, M. D. Hill, and D. A. Wood, “gem5gpu: A heterogeneous cpu-gpu simulator,” IEEE Computer Architecture Letters, vol. 14, no. 1, pp. 34–36, 2015.
G. M. T. Miranda, “Multi-core model predictive control strategy for a tilt-rotor uav in system-in-the-loop simulation,” Master’s thesis, Federal University of Minas Gerais, 2018.