E2M: an energy-efficient middleware for computer vision applications on autonomous mobile robots

Autonomous mobile robots (AMRs) have been widely utilized in industry to execute various on-board computer-vision applications including autonomous guidance, security patrol, object detection, and face recognition. Most of the applications executed by an AMR involve the analysis of camera images through trained machine learning models. Many research studies on machine learning focus either on performance without considering energy efficiency or on techniques such as pruning and compression to make the model more energy-efficient. However, most previous work do not study the root causes of energy inefficiency for the execution of those applications on AMRs. The computing stack on an AMR accounts for 33% of the total energy consumption and can thus highly impact the battery life of the robot. Because recharging an AMR may disrupt the application execution, it is important to efficiently utilize the available energy for maximized battery life. In this paper, we first analyze the breakdown of power dissipation for the execution of computer-vision applications on AMRs and discover three main root causes of energy inefficiency: uncoordinated access to sensor data, performance-oriented model inference execution, and uncoordinated execution of concurrent jobs. In order to fix these three inefficiencies, we propose E2M, an energy-efficient middleware software stack for autonomous mobile robots. First, E2M regulates the access of different processes to sensor data, e.g., camera frames, so that the amount of data actually captured by concurrently executing jobs can be minimized. Second, based on a predefined per-process performance metric (e.g., safety, accuracy) and desired target, E2M manipulates the process execution period to find the best energy-performance trade off. Third, E2M coordinates the execution of the concurrent processes to maximize the total contiguous sleep time of the computing hardware for maximized energy savings. We have implemented a prototype of E2M on HydraOne, a real-world AMR. Our experimental results show that, compared to several baselines, E2M leads to 24% energy savings for the computing platform, which translates into an extra 11.5% of battery time and 14 extra minutes of robot runtime, with a performance degradation lower than 7.9% for safety and 1.84% for accuracy.

[1]  François Michaud,et al.  Sharing charging stations for long-term activity of autonomous robots , 2002, IEEE/RSJ International Conference on Intelligent Robots and Systems.

[2]  Jong-Hwan Kim,et al.  A Resource-Oriented, Decentralized Auction Algorithm for Multirobot Task Allocation , 2015, IEEE Transactions on Automation Science and Engineering.

[3]  Y. Charlie Hu,et al.  Energy-efficient motion planning for mobile robots , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

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

[5]  Raul G. Longoria,et al.  Mobile system shutdown prevention via energy storage-aware predictive control , 2016, 2016 American Control Conference (ACC).

[6]  Murvet Kirci,et al.  The design of general purpose autonomous agricultural mobile-robot: “AGROBOT” , 2015, 2015 Fourth International Conference on Agro-Geoinformatics (Agro-geoinformatics).

[7]  Dan Gazebo Sebagai,et al.  Robot Operating System (ROS) , 2020, Studies in Computational Intelligence.

[8]  Lucia Vacariu,et al.  A multiagent cooperative mobile robotics approach for search and rescue missions , 2004 .

[9]  Yu-Chee Tseng,et al.  Energy-Balanced Dispatch of Mobile Sensors in a Hybrid Wireless Sensor Network , 2010, IEEE Transactions on Parallel and Distributed Systems.

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

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

[12]  Song Han,et al.  Learning both Weights and Connections for Efficient Neural Network , 2015, NIPS.

[13]  Yifan Wang,et al.  AutoVAPS: an IoT-enabled public safety service on vehicles , 2019, SCOPE@CPSIoTWeek.

[14]  Christian Bettstetter,et al.  Coordinated recharging of mobile robots during exploration , 2017, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).

[15]  Edson R. de Pieri,et al.  A fuzzy approach to the autonomous recharging problem for mobile robots , 2016, 2016 12th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD).

[16]  Dimitrios Zorbas,et al.  Modelling the mobile target covering problem using flying drones , 2016, Optim. Lett..

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

[18]  Jeffrey O. Kephart,et al.  Towards data center self-diagnosis using a mobile robot , 2011, ICAC '11.

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

[20]  Diego Andina,et al.  Distributed Bees Algorithm for Task Allocation in Swarm of Robots , 2012, IEEE Systems Journal.

[21]  Weisong Shi,et al.  Edge Computing for Autonomous Driving: Opportunities and Challenges , 2019, Proceedings of the IEEE.

[22]  Gaurav S. Sukhatme,et al.  Multi-Robot Task Allocation in Uncertain Environments , 2003, Auton. Robots.

[23]  Rajesh K. Gupta,et al.  Optimized slowdown in real-time task systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[24]  M. Bernardine Dias,et al.  The Autonomous Recharging Problem: Formulation and a market-based solution , 2013, 2013 IEEE International Conference on Robotics and Automation.

[25]  Vivienne Sze,et al.  Designing Energy-Efficient Convolutional Neural Networks Using Energy-Aware Pruning , 2016, 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[26]  Manoj Kumar Tiwari,et al.  Balancing task allocation in multi-robot systems using K-means clustering and auction based mechanisms , 2011, Expert Syst. Appl..

[27]  Dong-Hyun Lee,et al.  Resource-based task allocation for multi-robot systems , 2018, Robotics Auton. Syst..

[28]  Stathes Hadjiefthymiades,et al.  Accurate, Dynamic, and Distributed Localization of Phenomena for Mobile Sensor Networks , 2016, ACM Trans. Sens. Networks.

[29]  Weisong Shi,et al.  HydraOne: An Indoor Experimental Research and Education Platform for CAVs , 2019, HotEdge.

[30]  Xin Zhou,et al.  Energy-Based Particle Swarm Optimization: Collective Energy Homeostasis in Social Autonomous Robots , 2013, 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT).

[31]  Nitin Kamra,et al.  Combinatorial Problems in Multirobot Battery Exchange Systems , 2018, IEEE Transactions on Automation Science and Engineering.

[32]  Yasushi Kambayashi,et al.  Saving Energy Consumption of Multi-robots Using Higher-Order Mobile Agents , 2007, KES-AMSTA.

[33]  Luigi Cinque,et al.  A multipurpose autonomous robot for target recognition in unknown environments , 2016, 2016 IEEE 14th International Conference on Industrial Informatics (INDIN).

[34]  Ella M. Atkins,et al.  Optimal coverage trajectories for a UGV with tradeoffs for energy and time , 2014, Auton. Robots.

[35]  Adrian Garcia-Garcia,et al.  Contention-Aware Fair Scheduling for Asymmetric Single-ISA Multicore Systems , 2018, IEEE Transactions on Computers.

[36]  Lino Marques,et al.  Energy Efficient Coverage Path Planning for Autonomous Mobile Robots on 3D Terrain , 2015, 2015 IEEE International Conference on Autonomous Robot Systems and Competitions.

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

[38]  Karsten Schwan,et al.  AutoPower: toward energy-aware software systems for distributed mobile robots , 2006, Proceedings 2006 IEEE International Conference on Robotics and Automation, 2006. ICRA 2006..

[39]  Trevor Darrell,et al.  Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation , 2013, 2014 IEEE Conference on Computer Vision and Pattern Recognition.

[40]  Weiliang Xu,et al.  Energy Efficient Dynamic Window Approach for Local Path Planning in Mobile Service Robotics , 2016 .

[41]  Alexis Drogoul,et al.  Autonomous Robots Sharing a Charging Station with no Communication: a Case Study , 2002, DARS.

[42]  Weisong Shi,et al.  OpenEI: An Open Framework for Edge Intelligence , 2019, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).

[43]  José Duato,et al.  Perf&Fair: A Progress-Aware Scheduler to Enhance Performance and Fairness in SMT Multicores , 2017, IEEE Transactions on Computers.

[44]  Mohammad Reza Emami,et al.  A Framework For Autonomous Heterogeneous Robot Teams , 2018, 2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV).

[45]  C. S. George Lee,et al.  Lifetime maximization in mobile sensor networks with energy harvesting , 2011, 2011 IEEE International Conference on Robotics and Automation.

[46]  Bo Chen,et al.  MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications , 2017, ArXiv.

[47]  Derek D. Reed,et al.  Watts Up? Pro AC Power Meter for Automated Energy Recording , 2013 .

[48]  Falko Dressler,et al.  Energy-aware operation and task allocation of autonomous robots , 2005, Proceedings of the Fifth International Workshop on Robot Motion and Control, 2005. RoMoCo '05..