Mistuning-based Control Design to Improve Closed-Loop Stability Margin of Vehicular Platoons

Prabir Barooah, Prashant G. Mehta, and Joao P. Hespanha



Abstract:
We consider a decentralized bidirectional control of a platoon of N identical vehicles moving in a straight line. The controlobjective is for each vehicle to maintain a constant velocity andinter-vehicular separation using only the local information from itself and its two nearest neighbors. Each vehicle is modeled as a double integrator. To aid the analysis, we use continuous approximation to derive a partial differential equation (PDE) approximation of the discrete platoon dynamics. The PDE model isused to explain the progressive loss of closed-loop stability margin with increasing number of vehicles, and to devise ways to combat this loss of stability margin.

If every vehicle uses the same controller, we show that the least stable closed-loop eigenvalue approaches zero as O(1/N^2) in the limit of a large number (N) of vehicles. We then show how to ameliorate this loss of stability margin by small amounts of ``mistuning'', i.e., changing the controller gains from their nominal values. We prove that with arbitrary small amounts of mistuning, the asymptotic behavior of the least stable closed loop eigenvalue can be improved to O(1/N). All the conclusions drawn from analysis of the PDE model are corroborated via numerical calculations of the state-space platoon model.

[PDF ]

codes:

trendwithN_eigval_platoon.m : MATLABİ script to compute and plot the least stable eigenvalue of the closed loop platoon as a function of N, with and without mistuning. It needs the following two MATLAB functions:

F_platoon_eigvals.m : computes the eigenvalues

F_gains_platoon.m computes the control gains with a specified level of mistuning.

slinkycheck_reviewer1.m : MATLABİ script to compute and plot the H-infinity norm of the transfer function from external disturbances to the spacing errors for the control law U_i = -k_p(Z_{i}-Z_{i-1}) - k_v(\dot{Z}_i - \dot{Z}_{i-1}) - c_v(\dot{Z}_i - V_d)







Last Modified :  October 6, 2008