UAV System-Wide Safety
Unmanned aerial vehicles (UAVs) are increasingly used in applications like delivery, search and rescue, and agriculture. Due to their small size and weight, they are heavily impacted by disturbances like winds or faults. As a part of a NASA-funded System-Wide Safety project, we are improving the safety of UAVs. There are three major phases to this project.
1. Octorotor Simulation: We developed open-source Python and Matlab simulations of an octorotor UAV. Our simulators allow for low-level control of the UAV and customization over the wind and fault conditions. The Python version of this simulation is available at https://github.com/hazrmard/multirotor. The Matlab version will be available soon.
2. Reinforcement Learning Disturbance Rejection Control: We developed a UAV controller that can reduce the deviation from the flight plan under extreme wind and fault conditions. Our controller uses a reinforcement learning agent to modify the reference velocity fed to a low-level cascade PID controller. We applied this controller to our simulation and real flights at MIT Lincoln Lab. See the video below for a demonstration of our controller under extreme (12 m/s) north wind in simulation.
3. UAV System-level Prognostics: Over the lifetime of a UAV, components like motors and the battery degrade. This can lead to faults and a loss of system-level performance. To address this, we generated a dataset of UAVs across their lifetime where we modeled the degradation of motor and battery parameters. We used this to develop a data-driven system-level prognostics model that can estimate the remaining useful life of a UAV. The dataset and paper detailing our approach will be released soon.
Data-driven System-level Prognostics
As systems and devices are used, their components degrade. Their remaining useful life decreases with each use. Estimating this remaining useful life is a main task in prognostics. Data-driven approaches for prognostics typically predict the remaining useful life at the component level. In this work, we estimate the system-level remaining useful life using purely data-driven methods. Our methods are inspired by model-based techniques, and we apply them to unmanned aerial vehicles.
An example of our recently developed approach applied to an aircraft engine dataset can be seen in the video below. In this approach, we estimate the system performance and the remaining useful life. As the engine approaches the end of life, our performance estimates get more accurate and confident, leading to nearly perfect remaining useful life estimations.
Safe Continual Reinforcement Learning
As our society becomes more automated, we have a growing need for autonomous agents that can operate for long periods. However, real-world environments are often non-stationary, meaning they change over time. To address this, agents need to continually adapt while retaining previously learned knowledge. The field of continual reinforcement learning attempts to address this problem, developing agents that continue to learn over their lifetime. However, the safety of these lifelong adaptations is unclear. In this project, we aim to determine the safety of continual reinforcement learning and introduce methods for lifelong learning that do not risk the safety of the agent.



This is a simplified model of a fuel transfer system in an aircraft. There are 6 fuel tanks. Each tank is connected to a shared conduit via valves (V*). Once the valves are open, fuel can flow between tanks under gravity. The tanks are also connected to engines via pumps. Pumps drain fuel from the tanks under a prescribed schedule. The tanks are drained innermost first.