Hard real-time multibody simulations using ARM-based embedded systems
- 1. KU Leuven, PMA division, Department of Mechanical Engineering (Belgium)
- 2. Universidad de La Coruña, Laboratorio de Ingeniería Mecánica (Spain)
Description
The real-time simulation of multibody models on embedded systems is of particular interest for controllers and observers such as model predictive controllers and state observers, which rely on a dynamic model of the process and are customarily executed in electronic control units. This work first identifies the software techniques and tools required to easily write efficient code for multibody models to be simulated on ARM-based embedded systems. Automatic Programming and Source Code Translation are the two techniques that were chosen to generate source code for multibody models in different programming languages. Automatic Programming is used to generate procedural code in an intermediate representation from an object-oriented library and Source Code Translation is used to translate the intermediate representation automatically to an interpreted language or to a compiled language for efficiency purposes. An implementation of these techniques is proposed. It is based on a Python template engine and AST tree walkers for Source Code Generation and on a model-driven translator for the Source Code Translation. The code is translated from a metalanguage to any of the following four programming languages: Python-Numpy, Matlab, C++-Armadillo, C++-Eigen. Two examples of multibody models were simulated: a four-bar linkage with multiple loops and a 3D vehicle steering system. The code for these examples has been generated and executed on two ARM-based single-board computers. Using compiled languages, both models could be simulated faster than real-time despite the low resources and performance of these embedded systems. Finally, the real-time performance of both models was evaluated when executed in hard real-time on Xenomai for both embedded systems. This work shows through measurements that Automatic Programming and Source Code Translation are valuable techniques to develop real-time multibody models to be used in embedded observers and controllers.
Additional details
Identifiers
Publishing Information
- Journal Title
- Multibody System Dynamics
- Journal Volume
- 37
- Journal Issue
- 1
- Journal Page Range
- p. 127-143
- ISSN
- 1384-5640
INIS
- Country of Publication
- Netherlands
- Country of Input or Organization
- International Atomic Energy Agency (IAEA)
- INIS RN
- 48058730
- Subject category
- S42: ENGINEERING;
- Descriptors DEI
- ARMS; COMPUTERS; CONTROL; EFFICIENCY; ENGINES; IMPLEMENTATION; MANY-BODY PROBLEM; PERFORMANCE; PROGRAMMING LANGUAGES; REAL TIME SYSTEMS; SIMULATION; TRANSLATORS; VEHICLES
- Descriptors DEC
- BODY; COMPUTER CODES; LIMBS
Optional Information
- Copyright
- Copyright (c) 2016 Springer Science+Business Media Dordrecht