Stabilization of Nonlinear Systems with State-Dependent Representation: From Model-Based to Direct Data-Driven Control

National University of Singapore

Abstract

This project presents a novel framework for stabilizing nonlinear systems represented in state-dependent form. We first reformulate the nonlinear dynamics as a state-dependent parameter-varying model and synthesize a stabilizing controller offline via tractable linear matrix inequalities (LMIs). The resulting controller guarantees local exponential stability, maintains robustness against disturbances, and provides an estimate of the region of attraction under input saturation. We then extend the formulation to the direct data-driven setting, where a known library of basis functions represents the dynamics with unknown coefficients consistent with noisy experimental data. By leveraging Petersen’s lemma, we derive data-dependent LMIs that ensure stability and robustness for all systems compatible with the data. Numerical and physical experimental results validate that our approach achieves rigorous end-to-end guarantees on stability, robustness, and safety directly from finite data without explicit model identification.

Experimental Data Collection

Apply the experimental input data \(u_d\), and collect the state data \(x_d\).
The system may be affected by platform friction, sensor noise, motor nonlinearities, and aerodynamic disturbances.
The data are then used for controller synthesis.

Controller Implementation A

The controller is synthesized from the collected experimental data.
The initial state is close to the origion.

Controller Implementation B

The controller is synthesized from the collected experimental data.
The initial state (roll) is far away from the origion.

Controller Implementation C

The controller is synthesized from the collected experimental data.
The initial state (roll and pitch) is far away from the origion.

Controller Implementation D

The controller is synthesized from the collected experimental data.
We intentionally perturb the quadrotor with a stick while the controller is running.