BaCLNS: A toolbox for fast and efficient control of Linear and Nonlinear Control Affine Systems
Samuel O. Folorunsho, William R. Norris
TL;DR
BaCLNS presents a Python-based toolbox to automate backstepping control design for both linear and nonlinear control-affine systems, addressing the tedium and error-proneness of manual derivations. It provides an end-to-end workflow for automatic control-law generation, open- and closed-loop simulation, and performance analysis, built on symbolic and numerical libraries. The paper validates the approach on a spectrum of systems from 2D/3D linear plants to nonlinear and chaotic models such as the Vaidyanathan Jerk System, the simple pendulum, and the Van der Pol oscillator, demonstrating robust stabilization. The tool's open-source, modular design promotes accessibility, reproducibility, and rapid prototyping for researchers and educators in control engineering.
Abstract
Backstepping Control of Linear and Nonlinear Systems (BaCLNS) is a Python package developed to automate the design, simulation, and analysis of backstepping control laws for both linear and nonlinear control-affine systems. By providing a standardized framework, BaCLNS simplifies the process of deriving backstepping controllers, making this powerful control technique more accessible to engineers, researchers, and educators. The package handles complex system dynamics, ensuring robust stabilization even in the presence of significant nonlinearities. BaCLNS's modular design allows users to define custom control systems, simulate their behavior , and visualize the results all within a user-friendly environment. The effectiveness of the package is demonstrated through a series of illustrative examples, ranging from simple linear systems to chaotic nonlinear systems, including the Vaidyanathan Jerk System, the pendulum and the Van der Pol Oscillator.
