PI-Edge: A Low-Power Edge Computing System for Real-Time Autonomous Driving Services

To simultaneously enable multiple autonomous driving services on affordable embedded systems, we designed and implemented {\pi}-Edge, a complete edge computing framework for autonomous robots and vehicles. The contributions of this paper are three-folds: first, we developed a runtime layer to fully utilize the heterogeneous computing resources of low-power edge computing systems; second, we developed an extremely lightweight operating system to manage multiple autonomous driving services and their communications; third, we developed an edge-cloud coordinator to dynamically offload tasks to the cloud to optimize client system energy consumption. To the best of our knowledge, this is the first complete edge computing system of a production autonomous vehicle. In addition, we successfully implemented {\pi}-Edge on a Nvidia Jetson and demonstrated that we could successfully support multiple autonomous driving services with only 11 W of power consumption, and hence proving the effectiveness of the proposed {\pi}-Edge system.

[1]  Min-You Wu,et al.  A high-performance mapping algorithm for heterogeneous computing systems , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[2]  Shuang Wu,et al.  Creating Autonomous Vehicle Systems , 2017, Synthesis Lectures on Computer Science.

[3]  Debra A. Hensgen,et al.  The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[4]  Daniel Povey,et al.  The Kaldi Speech Recognition Toolkit , 2011 .

[5]  Tara N. Sainath,et al.  FUNDAMENTAL TECHNOLOGIES IN MODERN SPEECH RECOGNITION Digital Object Identifier 10.1109/MSP.2012.2205597 , 2012 .

[6]  Myoungho Sunwoo,et al.  Development of Autonomous Car—Part II: A Case Study on the Implementation of an Autonomous Driving System Based on Distributed Architecture , 2015, IEEE Transactions on Industrial Electronics.

[7]  Zhe Zhang,et al.  PIRVS: An Advanced Visual-Inertial SLAM System with Flexible Sensor Fusion and Hardware Co-Design , 2017, 2018 IEEE International Conference on Robotics and Automation (ICRA).

[8]  Dariu Gavrila,et al.  The Issues , 2011 .

[9]  Vincent Boudet Heterogeneous task scheduling : a survey , 2001 .

[10]  Bo Yu,et al.  FPGA-based ORB feature extraction for real-time visual SLAM , 2017, 2017 International Conference on Field Programmable Technology (ICFPT).

[11]  Shinpei Kato,et al.  An Open Approach to Autonomous Vehicles , 2015, IEEE Micro.

[12]  Xiaopei Wu,et al.  OpenVDAP: An Open Vehicular Data Analytics Platform for CAVs , 2018, 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS).

[13]  Bo Yu,et al.  π-SoC: Heterogeneous SoC Architecture for Visual Inertial SLAM Applications , 2018, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[14]  Andreas Geiger,et al.  Vision meets robotics: The KITTI dataset , 2013, Int. J. Robotics Res..

[15]  Hai Jin,et al.  Real-time strategy and practice in service grid , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[16]  Lei Gao Safe and secure SOC architecture for autonomous driving , 2018, VLSI-DAT.

[17]  Imtiaz Ahmad,et al.  DPS: dynamic priority scheduling heuristic for heterogeneous computing systems , 1998 .

[18]  Cyrill Stachniss,et al.  Simultaneous Localization and Mapping , 2016, Springer Handbook of Robotics, 2nd Ed..

[19]  Sebastian Thrun,et al.  Towards fully autonomous driving: Systems and algorithms , 2011, 2011 IEEE Intelligent Vehicles Symposium (IV).

[20]  Lingjia Tang,et al.  The Architectural Implications of Autonomous Driving: Constraints and Acceleration , 2018, ASPLOS.

[21]  Zhe Zhang,et al.  Trifo-VIO: Robust and Efficient Stereo Visual Inertial Odometry Using Points and Lines , 2018, 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[22]  Myoungho Sunwoo,et al.  Development of Autonomous Car—Part I: Distributed System Architecture and Development Process , 2014, IEEE Transactions on Industrial Electronics.

[23]  Sebastian Thrun,et al.  Junior: The Stanford entry in the Urban Challenge , 2008, J. Field Robotics.

[24]  John E. Stone,et al.  OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems , 2010, Computing in Science & Engineering.

[25]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[26]  Douglas A. Reynolds,et al.  Speaker Verification Using Adapted Gaussian Mixture Models , 2000, Digit. Signal Process..

[27]  Andreas Geiger,et al.  Are we ready for autonomous driving? The KITTI vision benchmark suite , 2012, 2012 IEEE Conference on Computer Vision and Pattern Recognition.

[28]  Xiaopei Wu,et al.  CAVBench: A Benchmark Suite for Connected and Autonomous Vehicles , 2018, 2018 IEEE/ACM Symposium on Edge Computing (SEC).

[29]  William Whittaker,et al.  Autonomous driving in urban environments: Boss and the Urban Challenge , 2008, J. Field Robotics.

[30]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[31]  Zhe Zhang,et al.  Computer Architectures for Autonomous Driving , 2017, Computer.

[32]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[33]  Anthony A. Maciejewski,et al.  Task Matching and Scheduling in Heterogenous Computing Environments Using a Genetic-Algorithm-Based Approach , 1997, J. Parallel Distributed Comput..

[34]  Quan Wang,et al.  A Unified Cloud Platform for Autonomous Driving , 2017, Computer.

[35]  Wei Liu,et al.  SSD: Single Shot MultiBox Detector , 2015, ECCV.