-
Navigating the Landscape for Real-time Localisation and Map** for Robotics and Virtual and Augmented Reality
Authors:
Sajad Saeedi,
Bruno Bodin,
Harry Wagstaff,
Andy Nisbet,
Luigi Nardi,
John Mawer,
Nicolas Melot,
Oscar Palomar,
Emanuele Vespa,
Tom Spink,
Cosmin Gorgovan,
Andrew Webb,
James Clarkson,
Erik Tomusk,
Thomas Debrunner,
Kuba Kaszyk,
Pablo Gonzalez-de-Aledo,
Andrey Rodchenko,
Graham Riley,
Christos Kotselidis,
Björn Franke,
Michael F. P. O'Boyle,
Andrew J. Davison,
Paul H. J. Kelly,
Mikel Luján
, et al. (1 additional authors not shown)
Abstract:
Visual understanding of 3D environments in real-time, at low power, is a huge computational challenge. Often referred to as SLAM (Simultaneous Localisation and Map**), it is central to applications spanning domestic and industrial robotics, autonomous vehicles, virtual and augmented reality. This paper describes the results of a major research effort to assemble the algorithms, architectures, to…
▽ More
Visual understanding of 3D environments in real-time, at low power, is a huge computational challenge. Often referred to as SLAM (Simultaneous Localisation and Map**), it is central to applications spanning domestic and industrial robotics, autonomous vehicles, virtual and augmented reality. This paper describes the results of a major research effort to assemble the algorithms, architectures, tools, and systems software needed to enable delivery of SLAM, by supporting applications specialists in selecting and configuring the appropriate algorithm and the appropriate hardware, and compilation pathway, to meet their performance, accuracy, and energy consumption goals. The major contributions we present are (1) tools and methodology for systematic quantitative evaluation of SLAM algorithms, (2) automated, machine-learning-guided exploration of the algorithmic and implementation design space with respect to multiple objectives, (3) end-to-end simulation tools to enable optimisation of heterogeneous, accelerated architectures for the specific algorithmic requirements of the various SLAM algorithmic approaches, and (4) tools for delivering, where appropriate, accelerated, adaptive SLAM solutions in a managed, JIT-compiled, adaptive runtime context.
△ Less
Submitted 20 August, 2018;
originally announced August 2018.
-
Project Beehive: A Hardware/Software Co-designed Stack for Runtime and Architectural Research
Authors:
Christos Kotselidis,
Andrey Rodchenko,
Colin Barrett,
Andy Nisbet,
John Mawer,
Will Toms,
James Clarkson,
Cosmin Gorgovan,
Amanieu d'Antras,
Yaman Cakmakci,
Thanos Stratikopoulos,
Sebastian Werner,
Jim Garside,
Javier Navaridas,
Antoniu Pop,
John Goodacre,
Mikel Lujan
Abstract:
The end of Dennard scaling combined with stagnation in architectural and compiler optimizations makes it challenging to achieve significant performance deltas. Solutions based solely in hardware or software are no longer sufficient to maintain the pace of improvements seen during the past few decades. In hardware, the end of single-core scaling resulted in the proliferation of multi-core system ar…
▽ More
The end of Dennard scaling combined with stagnation in architectural and compiler optimizations makes it challenging to achieve significant performance deltas. Solutions based solely in hardware or software are no longer sufficient to maintain the pace of improvements seen during the past few decades. In hardware, the end of single-core scaling resulted in the proliferation of multi-core system architectures, however this has forced complex parallel programming techniques into the mainstream. To further exploit physical resources, systems are becoming increasingly heterogeneous with specialized computing elements and accelerators. Programming across a range of disparate architectures requires a new level of abstraction that programming languages will have to adapt to. In software, emerging complex applications, from domains such as Big Data and computer vision, run on multi-layered software stacks targeting hardware with a variety of constraints and resources. Hence, optimizing for the power-performance (and resiliency) space requires experimentation platforms that offer quick and easy prototy** of hardware/software co-designed techniques. To that end, we present Project Beehive: A Hardware/Software co-designed stack for runtime and architectural research. Project Beehive utilizes various state-of-the-art software and hardware components along with novel and extensible co-design techniques. The objective of Project Beehive is to provide a modern platform for experimentation on emerging applications, programming languages, compilers, runtimes, and low-power heterogeneous many-core architectures in a full-system co-designed manner.
△ Less
Submitted 5 June, 2017; v1 submitted 14 September, 2015;
originally announced September 2015.
-
Introducing SLAMBench, a performance and accuracy benchmarking methodology for SLAM
Authors:
Luigi Nardi,
Bruno Bodin,
M. Zeeshan Zia,
John Mawer,
Andy Nisbet,
Paul H. J. Kelly,
Andrew J. Davison,
Mikel Luján,
Michael F. P. O'Boyle,
Graham Riley,
Nigel Topham,
Steve Furber
Abstract:
Real-time dense computer vision and SLAM offer great potential for a new level of scene modelling, tracking and real environmental interaction for many types of robot, but their high computational requirements mean that use on mass market embedded platforms is challenging. Meanwhile, trends in low-cost, low-power processing are towards massive parallelism and heterogeneity, making it difficult for…
▽ More
Real-time dense computer vision and SLAM offer great potential for a new level of scene modelling, tracking and real environmental interaction for many types of robot, but their high computational requirements mean that use on mass market embedded platforms is challenging. Meanwhile, trends in low-cost, low-power processing are towards massive parallelism and heterogeneity, making it difficult for robotics and vision researchers to implement their algorithms in a performance-portable way. In this paper we introduce SLAMBench, a publicly-available software framework which represents a starting point for quantitative, comparable and validatable experimental research to investigate trade-offs in performance, accuracy and energy consumption of a dense RGB-D SLAM system. SLAMBench provides a KinectFusion implementation in C++, OpenMP, OpenCL and CUDA, and harnesses the ICL-NUIM dataset of synthetic RGB-D sequences with trajectory and scene ground truth for reliable accuracy comparison of different implementation and algorithms. We present an analysis and breakdown of the constituent algorithmic elements of KinectFusion, and experimentally investigate their execution time on a variety of multicore and GPUaccelerated platforms. For a popular embedded platform, we also present an analysis of energy efficiency for different configuration alternatives.
△ Less
Submitted 26 February, 2015; v1 submitted 8 October, 2014;
originally announced October 2014.