Projects

Research Summary

My research at The Verification and Validation for Intelligent and Trustworthy Autonomy Laboratory (VeriVITAL) centered around problems related to the safety and reliability of autonomous systems that make use of Artificial Intelligence (AI) and Machine Learning (ML). Primarily I was involved with DARPA’s Assured Autonomy (AA) program which was geared towards developing mathematically verifiable approaches and tools that can be applied to different types and applications of data-driven ML algorithms in these systems. The overall goal of the project is ensuring that the components enabling autonomous technology achieve acceptable levels of safety. To help ground the research objectives, I considered challenge problems in the autonomous vehicle space, specifically related to air, land, and underwater platforms. My dissertation titled “Safety Assurance of Learning-Enabled Cyber-Physical Systems” can be found at the following link.

Research Summary

Real-Time Reachability for the Safety Assurance of Autonomous Vehicles

We evaluated the use of a real-time reachability algorithm for the implementation a simplex-based runtime assurance architecture for the safety assurance of a 1/10 scale open source autonomous vehicle platform known as F1/10. The reachability algorithm (a) provides provable guarantees of safety, and (b) is used to detect potentially unsafe scenarios. In our approach, the need to analyze the underlying controller is abstracted away, instead focusing on the effects of the controller’s decisions on the system’s future states. We demonstrate the efficacy of our architecture through a vast set of experiments conducted both in simulation and on an embedded hardware platform.


Runtime Verification within Autonomous Racing

We evaluate the use of a real-time reachability algorithm in order to reason about the safety of a 1/10 scale open source autonomous vehicle platform known as F1/10. Our regime allows us to (a) provide provable guarantees of safety and (b) detect potentially unsafe scenarios in the context of autonomous racing.


Zero-Shot Policy Transfer in Autonomous Racing: ReinforcementLearning vs Imitation Learning

We compared two leading methods for training neural network controllers, Reinforcement Learning and Imitation Learning, for the autonomous racing task. We compare their viability by analyzing their performance and safety when deployed in novel scenarios outside their training via zero-shot policy transfer.



Runtime Assurance for Autonomous Platforms

Motivated by the ever-increasing complexity of software needed to control autonomous systems, and the need for these systems to be certified for safety and correctness, we designed a safety monitor that relies on a mixed face-lifting reachability algorithm written in C. The reach-sets obtained using this method are represented as hyper-rectangles and we utilize these reachsets to check for collisons with obstacles in the vehicle’s environment. Our implementation currently works in simulation but I am actively working on transfering these results onto the physical F1Tenth platform.

  • Development timeframe: August 2020-present.
  • Languages used: Python, C++, C


F1Tenth Autonomous Racing Competition

Project Summary: The F1/10 Platform is an open source 1/10 scale vehicle testbed that carries a full suite of sensors for the tasks of perception, planning, and control. The platform is equipped with a LIDAR, stereo camera, and inertial sensors. Since 2016, teams have been competing in an international racing competition that has been held in Pittsbrugh, PA, Porto, Portugal, Turin, Italy, Montreal, Canada, New York, NY. The next competition is scheduled to be held at in Berlin, Germany at the International Federation of Automatic Control (IFAC) conference in July, 2020.

Specifics:

  • Built a 1/10 scale autonomous vehicle testbed equipped with a LIDAR, stereo camera, and inertial sensors.
  • Implemented a gap following algorithm called the disparity extender that was able to complete 21 laps in a 5 minute time trial with zero collisions. Demonstration can be found here.
  • Competed at CPS-IoT Week in Montreal Canda using a potential field control strategy.
  • Implemented multi-vehicle platooning in simulation using the pure pursuit path tracking algprithm in simulation. Demonstration and code can be found here
  • Implemented end-to-end learning driven control using NVIDIA’s DAVE-II architechture and MiniVGGNet. Demonstration and code can be found here.
  • Currently Pursuing strategies involving Simultaneous Localization and Mapping, Path Planning, Reinforcement Learning, and End to End Learning.
  • Development timeframe: March 2019-present.
  • Languages and Framework’s used: Robotic Operating System, Python, C++.

NSF CPS Challenge

Project Summary: The goal of the NSF CPS Challenge (2020) is to use a quadrotor aircraft with downward facing camera, and other sensors, to so search for an ideal experiment site for deployment of a soil probe, and recovery of the probe back to base after a pre-specified dwell time.

Specifics:

  • Platform used: Tarot 680 pro
  • The sampling goal for the competition is to use a probe to measure soil moisture, and soil grain size distribution.
  • Implementing Object Detection Techniques using Keras and OpenCV
  • Also working on implementing Visual Servo Techniques to control the drones descent to the target location.
  • Development timeframe: 2017-Present
  • Languages and Framework’s used: Robotic Operating System, Python, OpenCV, C++

Still very much under development…

NNVMT

Project Summary: The purpose of this tool was to address the lack of neural network model standardization among the various verification research software artifacts. The tool allows for interchange between neural network verification tools and related software, such as ONNX, PyTorch, Keras, Tensorflow.

Specifics:

  • The tool and installation instructions can be found here
  • Implemented Translation Scripts for the following tools Reluplex, Sherlock, ERAN, and NNV.
  • Implemented Unit Testing using PyTest to ease development and validate translations.
  • Development timeframe: 2018-present
  • Building the tool with Diego Manzanas Lopez
  • Written in Python 3

DARPA Assured Autonomy

Project Summary: The Goal of the Assured Autonomy program is to create technology for the continual assurance of Learning-Enabled, Cyber Physical Systems. Utilizing formal methods and other fault tolerance techniques, the project seeks to advance the ways Machine Learning and AI systems can learn and evolve to better manage variations in their environments. Our focus has been on the autonomous vehicle space. However the technology and techniques being investigated will be designed to be transferable to other autonomous systems with minimal modifications.

Specifics:

  • Trained a reinformcement learning agent to autonomously control an unmanned underwater vehicle to avoid obstacles in a pipe following scenario
  • Performed the data collection, sanitization, that was used to identify a mathematical model of the underwater vehicle.
  • The model was then used to reason about the safety of the system using reachable set analysis .
  • Funded by the Defense Advanced Research Projects Agency (DARPA).
  • Framework’s used: Robotic Operating System, Python, MATLAB, NNV.

“If I have seen further than others, it is because I was standing on the shoulders of giants.”

Isaac Newton