Verified Control of Cooperative Autonomous Vehicles


Description

The project studies techniques for constructing guaranteed-safe control algorithms for maneuvering autonomous vehicles (“self-driving cars”) under a variety of environmental conditions. Existing autonomous vehicles are able to navigate highways and surface streets reliably when the driving conditions do not pose significant challenges. However, future vehicles will need to handle pot-holes, snow, high winds, driving rain, darting animals, fog and all the other impediments that make driving in the real world challenging in the first place. Some of these conditions require “aggressive maneuvers” in the form of sudden acceleration, braking and/or rapid steering. Such aggressive maneuvers present significant challenges to existing autonomy algorithms, raising concerns regarding the safety of the passengers, other vehicles on the road and pedestrians. At the same time, guaranteeing safe behavior while in autonomous operation is critical for the adoption of these systems, and such guarantees demand the development of reliable and verified maneuvering. The Ninja Car platform at the University of Colorado, Boulder serves as an experimental platform for the verified algorithms, and is also used to educate students and enthusiasts on the design and implementation of autonomous vehicles. The research carried out in this project contributes to the ultimate vision of self-driving cars that are safe by focusing on guaranteed-safe algorithms for maneuvering. Furthermore, the educational activities seek to educate a new generation of students and enthusiasts from the general public on the design and deployment of self-driving cars.

We are developing reliable control systems for maneuver regulation in autonomous ground vehicles that are adaptive to, and guaranteed for, a variety of driving conditions. The approach first considers the problem of developing a stack of increasingly complex models for autonomous vehicles. The simplest models serve to develop formally verified control algorithms for maneuver regulation and the corresponding set of maneuvers that can be carried out for varying road conditions. These results are transferred to more sophisticated models that use on-board sensors to fine-tune the control to the actual dynamics of the car (such as the wear on the shocks, tire pressure, etc.). Finally, building upon verified maneuvers for a single vehicle, the project studies cooperative maneuvers for multiple vehicles, wherein the vehicles communicate to meaningfully share information. The cooperating vehicles then implement verified collision avoidance schemes and share driving conditions (e.g. how slick a given road actually is) to formulate environment-aware, guaranteed-safe maneuvers.

The research extends the growing body of work on applying formal methods for rigorously solving control problems. A framework of transverse control Lyapunov and barrier functions provides a basis for solving trajectory tracking problems for nonlinear dynamical systems. The work also investigates new constraint-solving approaches for synthesizing these functions for nonlinear systems. The research is evaluated using a 1/8th-scale model testbed called the Ninja Car at the University of Colorado, Boulder. The research ideas are also integrated into educational activities that use the Ninja Car as a cost effective system for instructing engineering students at all levels, and enthusiasts interested in autonomous vehicles, on the fundamental principles that underlie the design and deployment of these systems.

People

Principal Investigator: Christoffer Heckman (Asst. Professor, CU Boulder) Co-PIs (all faculty at CU Boulder):

Graduate Students:

  • Guohui Ding (CSCI PhD student with Lijun)
  • Monal Narasimhamurthy (CSCI PhD student with Sriram)
  • Souradeep Dutta (CSCI PhD student with Sriram)

Alumni:

  • Dr. Hadi Ravanbakhsh (Postdoctoral Researcher, UC Berkeley)
  • Dr. Sina Aghli (Instructor, CU Boulder)

Publications

  • Ravanbakhsh, Hadi and Sankaranarayanan, Sriram. “Learning Lyapunov (Potential) Functions from Counterexamples and Demonstrations,” Robotics: Science and Systems, 2017. doi:10.15607/RSS.2017.XIII.049
  • Chen, Xin and Sankaranarayanan, Sriram. “Model Predictive Real-Time Monitoring of Linear Systems,” 2017 IEEE Real-Time Systems Symposium (RTSS), v.1, 2017. doi:10.1109/RTSS.2017.00035
  • Aghli, Sina and Heckman, Christoffer. “Online System Identification and Calibration of Dynamic Models for Autonomous Ground Vehicles,” IEEE International Conference on Robotics and Automation (ICRA), 2018. doi:10.1109/ICRA.2018.8460691
  • Dutta, Souradeep and Jha, Susmit and Sankaranarayanan, Sriram and Tiwari, Ashish. “Output Range Analysis for Deep Feedforward Neural Networks,” Proceedings of NASA Formal Methods Symposium (NFM), v.10811, 2018.
  • Deshmukh, Jyotirmoy and Sankaranarayanan, Sriram. “Formal Techniques for Verification and Testing of Cyber-Physical Systems,” Design Automation for Cyber Physical Systems (Edited Volume), 2019.
  • Dutta, Souradeep and Kushner, Taisa and Sankaranarayanan, Sriram. “Robust Data-Driven Control of Artificial Pancreas Systems Using Neural Networks,” Lecture notes in computer science, v.11095, 2018.
  • Dutta, Souradeep and Jha, Susmit and Sankaranarayanan, Sriram and Tiwari, Ashish. “Learning and Verification of Feedback Control Systems using Feedforward Neural Networks,” IFAC-PapersOnLine, v.51, 2018. doi:10.1016/j.ifacol.2018.08.026
  • Ravanbakhsh, Hadi and Sankaranarayanan, Sriram. “Learning control lyapunov functions from counterexamples and demonstrations,” Autonomous Robots, v.43, 2019. doi:10.1007/s10514-018-9791-9
  • Deshmukh, Jyotirmoy and Sankaranarayanan, Sriram. “Formal Techniques for Verification and Testing of Cyber-Physical Systems,” Design Automation of Cyber-Physical Systems (Arquimedes Canedo and Mohammad Al Faruque), 2019.
  • Kushner, Taisa and Bequette, B. Wayne and Cameron, Fay and Forlenza, Gregory and Maahs, David and Sankaranarayanan, Sriram. “Models, Devices, Properties and Verification of Artificial Pancreas Systems,” Automated Reasoning for Systems Biology And Medicine (Edited by Paulo Zuliani and Pietro Lio), 2019.
  • Claviere, Arthur and Dutta, Souradeep and Sankaranarayanan, Sriram. “Trajectory Tracking Control for Robotic Vehicles using Counterexample Guided Training of Neural Networks,” International Conference on Automated Planning and Scheduling (ICAPS), 2019.
  • Ravanbakhsh, Hadi and Sankaranarayanan, Sriram and Seshia, Sanjit A.. “Formal Policy Learning from Demonstrations,” International Conference on Robotics and Automation (ICRA), 2019.
  • Dutta, Souradeep and Chen, Xin and Sankaranarayanan, Sriram. “Reachability Analysis for Neural Feedback Systems using Regressive Polynomial Rule Inference,” Hybrid Systems: Computation and Control (HSCC), 2019.
  • Ravanbakhsh, Hadi and Aghli, Sina and Heckman, Christoffer and Sankaranarayanan, Sriram.. “Path-Following through Control Funnel Functions,” Intelligent Robotics and Systems (IROS), 2018.
  • Dutta, Souradeep and Kushner, Taisa and Sankaranarayanan, Sriram. “Robust Data-Driven Control of Artificial Pancreas Systems using Neural Networks pp. 183-202 (2018). ,” Computational Methods in Systems Biology, Lecture Notes In Computer Science, v.11095, 2018.
  • Ding, Guohui and Aghli, Sina and Heckman, Christoffer and Chen, Lijun. “Game-Theoretic Cooperative Lane Changing Using Data-Driven Models,” Intelligent Robot Systems (IROS), 2018.

Tools

Nonlinear dynamics and controls of vehicles:

  • CarPlanner: a tool for simulating vehicles using the Bullet physics engine.
  • Spirit: similar to CarPlanner, except providing nonlinear ODE support with analytical models.
  • Flow*: a tool for constructing flowpipe approximations for hybrid system models.

Vehicle design, including PCBs and electronics:

  • Ninja Car: Repo for all NinjaCar-related software.
  • Ninja ECU: Design files for ECU board in order to control sensors and actuators of ARPG’s self driving vehicle.
  • Ninja wheel encoder design files: PCB design for the optical wheel encoders for state feedback.
  • Ninja ARM: MCU Firmware to drive the Ninja Car.
  • HAL: a hardware abstraction layer that includes Ninja Car drivers.

Funding

We acknowledge support from the US National Science Foundation under award CNS-1646556: entitled “CPS: Synergy: Verified Control of Cooperative Autonomous Vehicles”. All opinions expressed are those of the authors and not necessarily of the NSF.