AutoMice: A Testbed Framework for Self-Driving Systems

Testing self-driving systems and algorithms is challenging. The widely used methods include simulation and road test. Simulation is low cost but it is difficult to include all the physical world details with a realistic setting. A road test is able to capture all the complexity of real traffic and road conditions, but it is costly and risky, i.e., imagine one line of code change may require thousands of miles of road testing.

This project presents AutoMice, a testbed framework that offers developers an environment to experiment with self-driving algorithms. It eases the transition from testbed validation to deployment in production by using two abstraction layers that hide the hardware details and provide unified APIs to the core system modules. The development and validation by using AutoMice follows a two-phase design process, a development phase and a deployment phase. In the development phase, the developers can implement the core self-driving system modules with given system APIs that provided by the two abstraction layers. In the deployment phase, the same core system modules can be used in the testbed vehicle system to test the functionality and performance of the modules. By ensuring the abstraction layers are compatible with a real self-driving system, the same procedure can be used in self-driving production.

To demonstrate the usability of AutoMice, we implement several self-driving perception and control algorithms in the development phase and re-use the same code in the deployment phase. The system modules and algorithms we developed cover object detection, remote control, vehicle-to-infrastructure communications, 3D map construction and localization, etc. We implement AutoMice on an Android phone powered self-driving car. We believe AutoMice can be easily implemented on other platforms and ease the evaluation of self-driving systems.

Avatar
Haoran Qiu
Ph.D. Candidate in Computer Science

My research interests include distributed systems, machine learning and cloud computing.