Set-Based Adaptive Safety Control
Prithvi Akella, Sean Anderson, David Lovell
TL;DR
The paper addresses hardware safety in a teaching-enabled cart-pendulum lab by introducing a set-based adaptive safety controller that monitors a student’s controller in real time. It constructs a positive invariant set $O_{\infty}$ and a reduced safe set $S_{\infty}$, then uses a Pre-operator-based procedure to compute $O_{\infty}$ and attenuates it to form the gray-zone $S_{\infty}$, ensuring that any safe evolution remains within the invariant set for at least one time step. A practical Simulink block implements this monitoring and an override action using a fast, saturating control law $u = -Kx$ to drive the system back to a safe point when needed, demonstrating robustness to disturbances and model variations in both 2D and 4D configurations. The work provides a deployable safety module for undergraduate lab settings, enabling real-time protection against unsafe actions while preserving the ability to study dynamic behavior and controller design.
Abstract
Feedback Control Systems, ME C134/EE C128, is an introductory control systems course at UC Berkeley. Over the entire course, students gain practical experience by implementing various control schemes and designing observers in an effort to ultimately stabilize an inverted pendulum on a linear track. Throughout this learning process, frequent mishaps occur where improper controller implementation damages hardware. A simple example concerns the student's controller driving the cart into the wall at full speed. To offset the financial burden placed on the university in light of these mishaps, we designed a streamlined adaptive control system using set theory. We utilized lab-provided plant models to generate an $O_\infty$ set, attenuated the vertices to generate a safe, sub-region $S_\infty$, and attenuated in such a manner as to ensure an evolution of the vertices of $S_\infty$ remained within $O_\infty$ for at least one time step. Afterwards, we constructed a single Simulink block for students to easily implement within their own control schemes. This block consistently checks to see whether the system state remains within $S_\infty$. If that check is true, our controller does nothing. If it returns false, our controller takes over, drives the system to a prescribed safe-point, and shuts the system down. Overall, our process assumes perfect plant modelling, though our insistence on an evolution of $S_\infty$ remaining within $O_\infty$ resulted in considerable robustness to disturbances. In the end we were successful in implementing this real-time adaptive system and will provide it to the department for use in future labs.
