Ultra Low Power Deep-Learning-powered Autonomous Nano Drones

Flying in dynamic, urban, highly-populated environments represents an open problem in robotics. State-of-the-art (SoA) autonomous Unmanned Aerial Vehicles (UAVs) employ advanced computer vision techniques based on computationally expensive algorithms, such as Simultaneous Localization and Mapping (SLAM) or Convolutional Neural Networks (CNNs) to navigate in such environments. In the Internet-of-Things (IoT) era, nano-size UAVs capable of autonomous navigation would be extremely desirable as self-aware mobile IoT nodes. However, autonomous flight is considered unaffordable in the context of nano-scale UAVs, where the ultra-constrained power envelopes of tiny rotor-crafts limit the on-board computational capabilities to low-power microcontrollers. In this work, we present the first vertically integrated system for fully autonomous deep neural network-based navigation on nano-size UAVs. Our system is based on GAP8, a novel parallel ultra-low-power computing platform, and deployed on a 27 g commercial, open-source CrazyFlie 2.0 nano-quadrotor. We discuss a methodology and software mapping tools that enable the SoA CNN presented in [1] to be fully executed on-board within a strict 12 fps real-time constraint with no compromise in terms of flight results, while all processing is done with only 94 mW on average - 1% of the power envelope of the deployed nano-aircraft.

[1]  James Sean Humbert,et al.  Erratum to: Implementation of wide-field integration of optic flow for autonomous quadrotor navigation , 2009, Auton. Robots.

[2]  Luca Benini,et al.  A fully-synthesizable single-cycle interconnection network for Shared-L1 processor clusters , 2011, 2011 Design, Automation & Test in Europe.

[3]  Vijay R. Kumar,et al.  Collaborative Mapping of an Earthquake Damaged Building via Ground and Aerial Robots , 2012, FSR.

[4]  Robert J. Wood,et al.  Progress on ‘pico’ air vehicles , 2012, Int. J. Robotics Res..

[5]  Sebastian Scherer,et al.  River mapping from a flying robot: state estimation, river detection, and obstacle mapping , 2012, Auton. Robots.

[6]  Peter I. Corke,et al.  Multirotor Aerial Vehicles: Modeling, Estimation, and Control of Quadrotor , 2012, IEEE Robotics & Automation Magazine.

[7]  Henk Corporaal,et al.  Memory-centric accelerator design for Convolutional Neural Networks , 2013, 2013 IEEE 31st International Conference on Computer Design (ICCD).

[8]  Martial Hebert,et al.  Learning monocular reactive UAV control in cluttered natural environments , 2012, 2013 IEEE International Conference on Robotics and Automation.

[9]  R. Siegwart,et al.  A UAV system for inspection of industrial facilities , 2013, 2013 IEEE Aerospace Conference.

[10]  Dario Floreano,et al.  Optic-Flow Based Control of a 46g Quadrotor , 2013 .

[11]  Roland Siegwart,et al.  Vision-Controlled Micro Flying Robots: From System Design to Autonomous Navigation and Mapping in GPS-Denied Environments , 2014, IEEE Robotics & Automation Magazine.

[12]  Daniel Cremers,et al.  Visual-Inertial Navigation for a Camera-Equipped 25g Nano-Quadrotor , 2014 .

[13]  Vijay Kumar,et al.  Multi-sensor fusion for robust autonomous flight in indoor and outdoor environments with a rotorcraft MAV , 2014, 2014 IEEE International Conference on Robotics and Automation (ICRA).

[14]  Michael Bosse,et al.  Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization , 2015, Robotics: Science and Systems.

[15]  Yao Zhang,et al.  Autonomous Flight Control of a Nano Quadrotor Helicopter in a GPS-Denied Environment Using On-Board Vision , 2015, IEEE Transactions on Industrial Electronics.

[16]  Julian Förster,et al.  System Identification of the Crazyflie 2.0 Nano Quadrocopter , 2015 .

[17]  Jason Cong,et al.  Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks , 2015, FPGA.

[18]  Robert J. Wood,et al.  Science, technology and the future of small autonomous drones , 2015, Nature.

[19]  Hilbert J. Kappen,et al.  Local histogram matching for efficient optical flow computation applied to velocity estimation on pocket drones , 2016, 2016 IEEE International Conference on Robotics and Automation (ICRA).

[20]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[21]  Tarik Taleb,et al.  Low-Altitude Unmanned Aerial Vehicles-Based Internet of Things Services: Comprehensive Survey and Future Perspectives , 2016, IEEE Internet of Things Journal.

[22]  Luca Benini,et al.  Enabling the heterogeneous accelerator model on ultra-low power microcontroller platforms , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[23]  Gopalakrishna Hegde,et al.  CaffePresso: An optimized library for Deep Learning on embedded accelerator-based platforms , 2016, 2016 International Conference on Compliers, Architectures, and Sythesis of Embedded Systems (CASES).

[24]  Vijay Kumar,et al.  Estimation, Control, and Planning for Aggressive Flight With a Small Quadrotor With a Single Camera and IMU , 2017, IEEE Robotics and Automation Letters.

[25]  Hilbert J. Kappen,et al.  Efficient Optical Flow and Stereo Vision for Velocity Estimation and Obstacle Avoidance on an Autonomous Pocket Drone , 2016, IEEE Robotics and Automation Letters.

[26]  Nikolai Smolyanskiy,et al.  Toward low-flying autonomous MAV trail navigation using deep neural networks for environmental awareness , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[27]  Luca Benini,et al.  Near-Threshold RISC-V Core With DSP Extensions for Scalable IoT Endpoint Devices , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[28]  Abhinav Gupta,et al.  Learning to fly by crashing , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[29]  Davide Scaramuzza,et al.  Vision-based autonomous quadrotor landing on a moving platform , 2017, 2017 IEEE International Symposium on Safety, Security and Rescue Robotics (SSRR).

[30]  Ali Farhadi,et al.  Target-driven visual navigation in indoor scenes using deep reinforcement learning , 2016, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[31]  Luca Benini,et al.  Ultra low-power visual odometry for nano-scale unmanned aerial vehicles , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[32]  Luca Benini,et al.  Smart Energy-Efficient Clock Synthesizer for Duty-Cycled Sensor SoCs in 65 nm/28nm CMOS , 2017, IEEE Transactions on Circuits and Systems I: Regular Papers.

[33]  Luca Benini,et al.  Optimal Tiling Strategy for Memory Bandwidth Reduction for CNNs , 2017, ACIVS.

[34]  Luca Benini,et al.  μDMA: An autonomous I/O subsystem for IoT end-nodes , 2017, 2017 27th International Symposium on Power and Timing Modeling, Optimization and Simulation (PATMOS).

[35]  Davide Scaramuzza,et al.  Aggressive quadrotor flight through narrow gaps with onboard sensing and computing using active vision , 2016, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[36]  Mark Yim,et al.  Piccolissimo: The smallest micro aerial vehicle , 2017, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[37]  Sergey Levine,et al.  (CAD)$^2$RL: Real Single-Image Flight without a Single Real Image , 2016, Robotics: Science and Systems.

[38]  Luca Benini,et al.  An IoT Endpoint System-on-Chip for Secure and Energy-Efficient Near-Sensor Analytics , 2016, IEEE Transactions on Circuits and Systems I: Regular Papers.

[39]  Sergey Levine,et al.  PLATO: Policy learning using adaptive trajectory optimization , 2016, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[40]  Luca Carlone,et al.  Navion: A Fully Integrated Energy-Efficient Visual-Inertial Odometry Accelerator for Autonomous Navigation of Nano Drones , 2018, 2018 IEEE Symposium on VLSI Circuits.

[41]  Zhu Han,et al.  Real-Time Profiling of Fine-Grained Air Quality Index Distribution Using UAV Sensing , 2017, IEEE Internet of Things Journal.

[42]  Shalini Batra,et al.  MVO-Based 2-D Path Planning Scheme for Providing Quality of Service in UAV Environment , 2018, IEEE Internet of Things Journal.

[43]  Flavio Vella,et al.  Multi-objective autotuning of MobileNets across the full software/hardware stack , 2018, ReQuEST@ASPLOS.

[44]  Roland Siegwart,et al.  Build Your Own Visual-Inertial Drone: A Cost-Effective and Open-Source Autonomous Drone , 2018, IEEE Robotics & Automation Magazine.

[45]  Vikas Chandra,et al.  CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs , 2018, ArXiv.

[46]  Xianbin Cao,et al.  Offline and Online Search: UAV Multiobjective Path Planning Under Dynamic Urban Environment , 2018, IEEE Internet of Things Journal.

[47]  Yi Lin,et al.  Autonomous aerial navigation using monocular visual‐inertial fusion , 2018, J. Field Robotics.

[48]  Giuseppe Loianno,et al.  Special Issue on High‐Speed Vision‐Based Autonomous Navigation of UAVs , 2018, J. Field Robotics.

[49]  Soonhoi Ha,et al.  C-GOOD: C-code Generation Framework for Optimized On-device Deep Learning , 2018, 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[50]  Russ Tedrake,et al.  NanoMap: Fast, Uncertainty-Aware Proximity Queries with Lazy Search Over Local 3D Data , 2018, 2018 IEEE International Conference on Robotics and Automation (ICRA).

[51]  Carlos R. del-Blanco,et al.  DroNet: Learning to Fly by Driving , 2018, IEEE Robotics and Automation Letters.

[52]  Luca Benini,et al.  Extending the Lifetime of Nano-Blimps via Dynamic Motor Control , 2019, J. Signal Process. Syst..