Neural L1 Adaptive Control of Vehicle Lateral Dynamics
<|reference_start|>Neural L1 Adaptive Control of Vehicle Lateral Dynamics: We address the problem of stable and robust control of vehicles with lateral error dynamics for the application of lane keeping. Lane departure is the primary reason for half of the fatalities in road accidents, making the development of stable, adaptive and robust controllers a necessity. Traditional linear feedback controllers achieve satisfactory tracking performance, however, they exhibit unstable behavior when uncertainties are induced into the system. Any disturbance or uncertainty introduced to the steering-angle input can be catastrophic for the vehicle. Therefore, controllers must be developed to actively handle such uncertainties. In this work, we introduce a Neural L1 Adaptive controller (Neural-L1) which learns the uncertainties in the lateral error dynamics of a front-steered Ackermann vehicle and guarantees stability and robustness. Our contributions are threefold: i) We extend the theoretical results for guaranteed stability and robustness of conventional L1 Adaptive controllers to Neural-L1; ii) We implement a Neural-L1 for the lane keeping application which learns uncertainties in the dynamics accurately; iii)We evaluate the performance of Neural-L1 on a physics-based simulator, PyBullet, and conduct extensive real-world experiments with the F1TENTH platform to demonstrate superior reference trajectory tracking performance of Neural-L1 compared to other state-of-the-art controllers, in the presence of uncertainties. Our project page, including supplementary material and videos, can be found at https://mukhe027.github.io/Neural-Adaptive-Control/<|reference_end|>
@article{mukherjee2024neural,
    title={Neural L1 Adaptive Control of Vehicle Lateral Dynamics},
    author={Pratik Mukherjee, Burak M. Gonultas, O. Goktug Poyrazoglu and Volkan
  Isler},
    journal={arXiv preprint arXiv:2405.16358},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.16358},
    primaryClass={cs.RO}
}