Safe Delay-Adaptive Control of Strict-Feedback Nonlinear Systems with Application in Vehicle Platooning
<|reference_start|>Safe Delay-Adaptive Control of Strict-Feedback Nonlinear Systems with Application in Vehicle Platooning: This paper presents a safe delay-adaptive control for a strict-feedback nonlinear ODE with a delayed actuator, whose dynamic is also a strict-feedback nonlinear ODE and the delay length is unknown. By formulating the delay as a transport PDE, the plant becomes a sandwich configuration consisting of nonlinear ODE-transport PDE-nonlinear ODE, where the transport speed in the PDE is unknown. We propose a predictor-based nonovershooting backstepping transformation to build the nominal safe delay-compensated control, guaranteeing that the output of the distal ODE safely tracks the target trajectory from one side without undershooting. To address the uncertainty in the delay, we incorporate recent delay-adaptive and safe adaptive technologies to build a safe adaptive-delay controller. The adaptive closed-loop system ensures 1) the exact identification of the unknown delay in finite time; 2) the output state stays in the safe region all the time, especially in the original safe region, instead of a subset, after a finite time; 3) all states are bounded, and moreover, they will converge to zero if the target trajectory is identically zero. In the simulation, the proposed control design is verified in the application of safe vehicle platooning. It regulates the spacing between adjacent vehicles to converge to a small distance and avoids collisions by ensuring they do not breach the safe distance at any time, even in the presence of large unknown delays and at a relatively high speed.<|reference_end|>
@article{zhao2024safe,
    title={Safe Delay-Adaptive Control of Strict-Feedback Nonlinear Systems with
  Application in Vehicle Platooning},
    author={Zhenxu Zhao and Ji Wang},
    journal={arXiv preprint arXiv:2409.19202},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.19202},
    primaryClass={eess.SY cs.SY}
}