Unmanned Systems Technology 042 | Mayflower Autonomous Ship | Embedded Computing | ElevonX Sierra VTOL | UUVs insight | Flygas Engineering GAS418S | Ocean Business 2021 report | Electric motors | Priva Kompano

48 Focus | Embedded computing generated it can be used with the QGen debugger, another tool that allows stepping through the execution of source and assembly code block by block. The compiler and linker allow the code to be used on a specific processor on a board. For unmanned systems where following the full DO-178C process might be prohibitively expensive, the Federal Aviation Authority in the US is looking to streamline the qualification process using ‘overarching properties’ to directly identify and mitigate safety-related risks. This newer process includes a full hazard analysis of the code generator and the output code, looking at issues such as bad code or what happens if it runs out of memory. This includes multiple runtime assertions in the Ada code of the code generator to check itself all the time. Using a model as the source of the code also helps with porting between different processors, as the code generator looks after dependencies, meaning there is only a small amount of code written by hand that is specific to the target hardware. This is possible because the code generation tool carries over the sizes of all the data types in the code from the Simulink model and then relies on the other tools such as the compiler for the final implementation. There are three main issues that are raised with using models – the reliability of the code, the performance of the tool and the efficiency of the code that is generated. The QGen code generator is comparable in speed to Mathwork’s own code generator tool, and developers have come to understand the overhead of using Simulink in terms of the code density and speed compared with handwritten code. Having the tool qualified allows a much shorter process of verifying the code compared with a handwritten implementation. A truck maker in Japan is using the code generator to develop a safe and reliable autonomous truck system that can be retrofitted to existing fleets to transport goods around factories autonomously. The truck’s embedded controller handles the accelerator and brake pedals, the steering wheel, and the position, speed and obstacle sensors. The control units must be extremely reliable for automated trucks to travel safely along pre-programmed indoor and outdoor routes. The model originally used a lot of Matlab code rather than Simulink blocks. Using Simulink blocks allowed the code generator tool to analyse the model more deeply and produce MISRA-C code. The toolset also includes static analysis capabilities at the model level and full integration with the development environment for the compiler and linker. Conclusion Model-based design helps simplify the development and verification of complex code for autonomous systems, so it is a key element in supporting the move to modular architectures. February/March 2022 | Unmanned Systems Technology A PC/104e board with PCI Express interfaces (Courtesy of WIN Systems) The flowchart for embedded code generation from a Simulink model (Courtesy of Adacore) IHI in Japan is using automatic code generation from a Simulink model for an autonomous truck system (Courtesy of Adacore)

RkJQdWJsaXNoZXIy MjI2Mzk4