Embedded Systems Architecture for SLAM Applications

Jie Tang,Shaoshan Liu,Jean-Luc Gaudiot
DOI: https://doi.org/10.48550/arXiv.1702.01295
2017-02-04
Abstract:In recent years, we have observed a clear trend in the rapid rise of autonomous vehicles, robotics, virtual reality, and augmented reality. The core technology enabling these applications, Simultaneous Localization And Mapping (SLAM), imposes two main challenges: first, these workloads are computationally intensive and they often have real-time requirements; second, these workloads run on battery-powered mobile devices with limited energy budget. In short, the essence of these challenges is that performance should be improved while simultaneously reducing energy consumption, two rather contradicting goals by conventional wisdom. In this paper, we take a close look at state-of-the-art Simultaneous Localization And Mapping (SLAM) workloads, especially how these workloads behave on mobile devices. Based on the results, we propose a mobile architecture to improve SLAM performance on mobile devices.
Hardware Architecture
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: how to optimize the performance and energy efficiency of the SLAM (Simultaneous Localization And Mapping) system on mobile devices. Specifically, the application of SLAM systems on mobile devices faces two major challenges: 1. **Computationally - intensive and real - time requirements**: - The SLAM workload is very computationally - intensive and usually has strict real - time requirements. For example, in SLAM, sensor data can pour in at a rate of up to 1 KHz, which means that the computing pipeline needs to process 1,000 position data within one second. The maximum processing time at each stage cannot exceed 1 millisecond, and these samples form a time series and cannot be processed in parallel. 2. **Limited energy budget**: - These workloads run on battery - powered mobile devices, and the energy budget is very limited. Many virtual reality (VR) and augmented reality (AR) applications will quickly drain the battery when running on mobile devices. For example, experiments show that when running AR applications, the Google Tango device can only maintain the battery for about 40 minutes. To solve these problems, the author proposes a new embedded system architecture, aiming to improve the performance of the SLAM system and reduce its energy consumption simultaneously. Specific improvement measures include: - **Direct IO connection to DSP**: By directly connecting the DSP to the IO pins of the image sensor, the CPU is avoided as middleware for data transmission, thereby reducing memory copy overhead and garbage collection problems. - **ScratchPad feature buffer**: A low - latency ScratchPad memory is designed to store the extracted feature points, reducing the number of times the CPU core accesses the main memory, thereby improving the overall performance. - **SLAM trigger mechanism**: A notification mechanism is implemented, so that the update thread and the mapping thread are awakened when new features are available, instead of busy - waiting, thereby improving the system's response speed and efficiency. Through these improvements, the architecture proposed by the author can process an image frame rate close to 50 FPS at a power consumption of about 5W, which is significantly better than the performance of existing mobile devices (15 to 20 FPS, 8W power consumption).