Control Application (RWTH/IRT)

Apart from control application, the IRT is responsible for project management and coordination.

Virtual Coupling: A Cooperative and Collaborative Autonomous Navigation Application

Test Vehicles: The vehicles are equipped with multiple sensors. A Sensor is an inertial measurement unit (IMU) that contains accelerometers, gyroscopes, and magnetometers covering all three dimensions. An incremental encoder is installed at each wheel to obtain its rotational speed. Additionally, current sensors are mounted on both individually powered rear wheels. The ego position of the vehicle is obtained using a high precision GNSS receiver.

All measured values are accessible via Controller Area Network (CAN). CAN also acts as an interface between baseline and high-level controller. Several autonomous vehicles are able to communicate with each other. Certain CAN messages are exchanged between the vehicles via the ZigBee wireless communication protocol. Due to the vehicle’s modular structure, additional hardware can easily be integrated.

All measurements are accessible via Controller Area Network (CAN). CAN also acts as interface between baseline and high-level controller. Communication among multiple buggies is possible. Certain CAN messages are interchanged between the vehicles via the wireless communication protocol ZigBee. Due to its modular structure, it is easily possible to mount new hardware.

Validation scenario: The desired scenario, see Figure 1, shows a shunting maneuver where a locomotive approaches a parked railway wagon. Then, both vehicles are coupled. Afterwards, the newly built train system moves to a defined target position. The scenario is implemented using test vehicles instead of real trains. This scenario is adapted to railway applications and shows the ability of the presented approach to fulfill the high requirements on communication, localization, and, since the vehicles are not guided by real railway tracks, control tasks of virtual platooning.

Figure 1: Validation scenario of the virtual coupling


Virtual platooning: The position information is made available by the external Septentrio multi frequency GNSS receiver AsteRx3, and is fused by the IMU’s (ADIS16406) measured data using a loosely-coupled Kalman filter. The control center provides Real Time Kinematic (RTK) correction data to improve the localization of the vehicles.

All vehicles can access a map containing the desired track using their high level controller. The controller performs a map matching approach based on the ego-position and the roadmap to localize themselves on the map, i.e. on track.


Figure 2: Control layers of the virtual coupling approach

The overall objective is to make the vehicles act like railroad cars and follow the defined track precisely. Therefore, each vehicle has its own lateral control, independent from any others. A Model-based Predictive Controller (MPC) is used to follow the virtual track on the map. A description of the used control approaches can be found in [1].

The virtual coupling itself operates on three different layers. The upper layer manages the data collection, discards information from vehicles not participating and provides the lower layers with control information. The lower layers perform the control tasks of a platoon controller and an acceleration controller.

Figure 2.  To fulfill the platooning task, the overlying controller (platoon controller) processes the kinematic information from all other participating vehicles. First, the acceleration of the leading vehicle is received and feedforwarded to the underlying controller. Next, the distance and velocity information is converted into an error state space, i.e. the difference between desired and measured distance as well as between desired and measured velocity are used for the control. The error states are processed by a Linear Quadratic Regulator (LQR) which generates accelerations for the vehicle’s underlying controller.

The upper level platoon controller demands accelerations on a kinematic basis only. The task of the underlying controller is to achieve this acceleration physically. It consists of a P-controller and a feedforward control using a dynamic model of the vehicle. It actuates the current of the DC motors and is able to compensate disturbances such as friction of the tires and slope of the road.

Figure 3: Simulation results (positions, distances and velocities)

Experimental results: Figure 3 shows the experimental results. A more detailed description of the scenario and test results can be found in [2]. The top figure plots the map-based positions of the vehicles. The reference track is s-shaped and about 30 meters long. The middle image shows the distance between both test vehicles. The bottom picture plots the velocities. The vertical lines indicate commands from the control center. After about 7 seconds, a driving command is sent to the leading vehicle. It uses the target braking introduced in [3] to approach the target position. The set velocity is adapted to the current GNSS-based distance to the current target: a high distance induces a high velocity.

The minimum velocity is set to 0.15 m/s for the last 3 m of the approach. Figure 3 shows that at first, vehicle 1 moves away from vehicle 2. Vehicle 1 then changes its direction and drives towards vehicle 2. The lower image plots the distance-based decrease of the vehicle’s velocity. About 43 seconds after simulation start the vehicle stops at the target position.

Approximately 11 seconds later the next command is sent from the control center. The following vehicle is virtually coupled to the leading one, i.e. platooning is activated. The distance between both vehicles is set to be 3 m. Since the measured distance between both vehicles is 3.77 m, the following vehicle has to drive closer to its leader which takes about 9 seconds.

The last command sent by the control center is the new target position for the leader at the track’s end. While driving there, the distance-based velocity profile can be identified again. The following vehicle does not know about this profile, it only receives the map matching position and the acceleration value of the leading vehicle via V2V-communication with an update rate of 10 Hz. This is why it takes some time until the follower realizes that it needs to accelerate and why the distance increases at first. Then, the follower accelerates and drives faster than the leader to reduce the distance between both vehicles. A slight overshoot can be observed. After about 25 seconds, the distance remains almost constant even though the velocity of the platoon does not remain constant.

Figure 4: Test vehicles driving virtually coupled on a virtual track

The results provide proof of concept and validate the desired control approach. Therefore, the scenario can be performed with real railway equipment (Figure 4).



[1] M. Reiter, D. Abel: Two and a half carrots – a versatile and intuitive optimisation-based pathfollowing approach for road vehicles. In: Control and Automation (MED), 23th Mediterranean Conference, p. 364-370, 2015.
[2] A. Trzuskowsky, M. Wehr and D. Abel: Virtual Coupling: A Cooperative and Collaborative Autonomous Navigation Application. In: Proceedings of ION GNSS+ 2016 Conference, Portland, Oregon, USA, 09/2016. – Paper accepted (see:
[3] B. Schäfer, A. Trzuskowsky and D. Abel, „GNSS – Based Assistance System for Automation of Shunting Operations of Freight Trains,“ in 10th ITS European Congress, Helsinki, Finland, 2014.