# Adaptive Cooperative Control of Multiple Urban Rail Trains with Position Output Constraints
## 4 Simulation Results  
In order to verify the effectiveness of the designed MTCC schemes, five trains are applied to the cooperative operation. The operating resistance of five trains were set as \(0.3+0.004x_{1,2}+0.00016x_{1,2}^{2}\), \(0.6+0.002x_{2,2}+0.00004x_{2,2}^{2}\), \(0.4+0.0025x_{3,2}+0.0001x_{3,2}^{2}\), \(0.5-0.003x_{4,2}-0.00024x_{4,2}^{2}\), \(0.18-0.0015x_{5,2}-0.0002x_{5,2}^{2}\). The operating route of the train  
Figure 4: Desired speed and speed tracking performance of each train. Figure 5: Speed tracking error of each train. As can be seen from Figure 2, the first train achieves accurate tracking of the desired position outline. In the meantime, the following trains also have the fine tracking performance, and guarantee that the following trains maintain the set safe separation distance between two neighboring trains, which means the position tracking performance of the MTCC controller is excellent. As can be seen from Figure 3, the separation distance error of each train matches the allowable range of stopping accuracy less than 0.2 m. The slight separation distance errors of two neighboring trains ensures the stability of the multiple trains operation and realizes the useful multiple trains cooperative control. It can also be observed that the position separation distance error of multiple trains does not \"backward\" propagate, i.e., the position error \(\widetilde{x}_{5,1}<\widetilde{x}_{4,1}<\widetilde{x}_{3,1}<\widetilde{x}_{2, 1}<\widetilde{x}_{1,1}\), while the position error converges to a small size and the system performance is good. From Figures 4 and 5, it can be seen that the developed control algorithm can show true high-accuracy speed tracking, and the speed of each train is close to the desired speed, which effectively guarantees the safety of multiple trains cooperative operation. In particular, the speed control accuracy of multiple trains cooperative operation in cruise mode has obvious advantages. The multiple trains control input curves of the proposed control algorithm, i.e., the acceleration curves of the multiple train's operation, is given in Figure 6. The control input curve is relatively smoother overall, and when the train was running at 52 s to 248 s, the controller quickly switches the control input to keep the control accuracy in order to overcome the concentrated disturbances such as large external gradients and complex curves. The magnitude of this control input change can match the performance of train traction and braking. Therefore, the developed control algorithm has great position and speed tracking results and achieves the design objective of the distributed control laws for the cooperative operation of multiple trains. The simulation results of the multiple trains single-value learning adaptive cooperative control with POC are shown in Figures 7-12. By applying the adaptive cooperative control in Equation (20) of single-value learning to each train in a multiple trains cooperative system with position output constrains, the evolution of the adaptive parameters is shown in Figure 7. It can be seen from Figure 7 that all the adaptive parameters converge to  
Figure 6: Control input of each train. constants, which indicates the effectiveness of the designed single-value learning adaptive control algorithm in identifying these unknown parameters. The position tracking and the error curves of each train in the MTCC are given in Figures 8 and 9, respectively. From the curves in the figure, it can be seen that the first train can follow the tracks of the desired train position curve with high precision, the following train can keep preinstall safety separation distance with the neighboring trains with minor error, and the tracking error of each train is within the tolerance range, which guarantees the safety of multiple trains cooperative operation and realizes the MTCC. The speed and speed tracking error curves of each train are given in Figures 10 and 11, respectively.