A DRIVERLESS VEHICLE DEMONSTRATION ON MOTORWAYS AND IN URBAN ENVIRONMENTS

. The constant growth of the number of vehicles in today's world demands improvements in the safety and efficiency of roads and road use. This can be in part satisfied by the implementation of autonomous driving systems because of their greater precision than human drivers in controlling a vehicle. As result, the capacity of the roads would be increased by reducing the spacing between vehicles. Moreover, greener driving modes could be applied so that the fuel consumption, and therefore carbon emissions, would be reduced. This paper presents the results obtained by the AUTOPIA program during a public demonstration performed in June 2012. This driverless experiment consisted of a 100-kilometre route around Madrid (Spain), including both urban and motorway environments. A first vehicle – acting as leader and manually driven – transmitted its relevant information – i.e., position and speed – through an 802.11p communication link to a second vehicle, which tracked the leader's trajectory and speed while maintaining a safe distance. The results were encouraging, and showed the viability of the AUTOPIA approach.


Introduction
Although fully autonomous vehicles are still out of reach of the general public, a start has been made through the inclusion of several driving-aid systems in today's cars. The development of these kinds of systems is mainly motivated by the increasing number of vehicles on the roads, which demands improvements in terms of safety and efficiency. According to the information provided by Eurostat (Eurostat 2012), it is estimated that the number of passenger cars increased by around 12% from 2001 to 2009 just in the European Union. A feasible solution to cope with this growth is to increase the capacity of present roads by reducing the spacing between cars (Shladover 2009). However, in order to achieve this goal it would be necessary to develop control systems with a greater degree of precision than human drivers. In this sense, platooningi.e., forming a group of vehicles traveling closely spacedis one of the most promising technologies.
Several of the first works related to the development and implementation of platooning were carried out in the Partners for Advanced Transportation TecHnology (PATH) programone of the pioneer developers in the field of intelligent transportation systems (ITS)in the mid-90's. The results showed that this solution provides extra benefits in terms of both safety, due to the very low relative speed of the vehicles, and fuel consumption, due to the reduction of aerodynamic drag on the following vehicles (Varaiya 1993;Zabat et al. 1995). In August 1997, the program held a demonstration in San Diego (USA) with the goal of testing the feasibility of the system. During the platoon demonstration, 8 vehicles successfully travelled together, maintaining highly precise spacing, by using a control system based on radar measurements and radio communication.
The considerable recent advances in communication technologies have opened up a new framework for ITS research on innovative approaches based on vehicle-tovehicle (V2V) and vehicle-to-infrastructure (V2I) links (Yousefi, Fathy 2008;Kalašová, Stacho 2006). Several manufacturers have teamed up into a communication consortium known as Car-to-Car, whose main goal is to contribute to the development and release of an open communication standard for vehicular environments (Car2Car 2012). One of the works in this research line is the SARTRE project, which finished late last year. This project was aimed at examining the possible issues

The AUTOPIA Program
The AUTOPIA Program is a research group belonging to the Centre for Automation and Robotics (CAR) of the Spanish National Research Council (CSIC) and the Technical University of Madrid (UPM). With more than 15 years experience, AUTOPIA is the pioneer team in vehicle automation in Spain. Starting with the automation of two electric vans, this program has expanded its research line to the development of intelligent driving aid systems and the implementation of cooperative manoeuvres based on fully autonomous vehicles and wireless communications .
The team now has a fleet of 5 fully automated vehicles. Each vehicle is equipped with a control system based on a highly modular architecture, implemented in both software and hardware. The AUTOPIA system is divided into four main stages: Perception, Actuation, Decision, and General I/O. Each of these stages is subdivided into smaller modules with more specific tasks see Fig. 1. The backbone of the Perception stage is the Differential GPS unit, which, combined with an Inertial Measurement Unit (IMU) and the CAN (Controller Area Network) bus data, provides high precision measurements of the vehicle's attitude (Milanés et al. 2008). The Actuation stage comprises several low-level modules that allow the on-board PC to control the vehicle's actuators (steering wheel, brake, and throttle). Nevertheless, the key for autonomous driving is the Decision stage, in which a combination of fuzzy controllers imitates the behaviour of a human driver. These controllers have been developed and tested for different scenarios such as roundabouts , overtaking , merging ) and emergency scenarios . For path planning, the Decision stage implements two modules: (i) the Mission module, in which the main list of goals for the vehicle is managed, and (ii) a Planner module, which generates an appropriate reference for the vehicle's trajectory based on the mission data.
The last stage, General I/O, performs auxiliary tasks for the previous three. It comprises several I/O modules for digital and analogue signals, allowing the PC to interact with such vehicle components as lights, gear, and horn. Two communication modules are also included in this stage: (i) a WiFi module, used in the first manoeuvres based on vehicle-to-vehicle (V2V) communications, and (ii) a communication gateway developed for the GCDC and based on the IEEE 802.11p standard (Van Nunen et al. 2012).
The major constraint of the AUTOPIA system is associated to the multipath problem and the GPS localization. In previous works authors have shown different methods for dead reckoning, successfully overcoming up to 2 minutes of GPS outages (Milanés et al. 2008. Although this solve the problem for short gaps (e.g. bridges, small tunnel, traffic

Understanding the Scenario
The task of controlling a vehicle autonomously can be divided into two sections: longitudinal control, in which only the throttle and brake are considered; and lateral control, covering actuation on the steering wheel. Nevertheless, this division does not mean that actions taken in one section are totally unrelated to the actions in the other. Of the two sections, the task of lateral control is more complex than that of longitudinal control.
There are two main challenges present in the development of a suitable steering wheel control system: (i) providing a reliable road reference, and (ii) development of a controller capable of following the reference safely. A common solution to the first problem is the implementation in vehicles of high precision cartography and localization systems, which can be achieved in different ways. For example, the PATH program implements a localization system based on magnetic markers installed along the roadway in specific patterns. These patterns allow road information to be transmitted to the vehiclese.g., road curvature, current milepost, etc (Tan, Bougler 2001). However, that this option requires modifications to be made to the roadway is a major drawback.
Another option is the implementation of localization systems based on Differential GPS units installed in the vehicles. These are able to provide vehicle localization information without needing changes to be made to the infrastructure. Nevertheless, this system is only appropriate when the route is known or a high precision digital map has been defined previously. Both options are susceptible to failure due to road modifications not included in the cartography e.g., road works.
An alternative to this strategy is to tackle the problem using simultaneous mapping and localization techniques (SLAM) (Durrant-Whyte, Bailey 2006) such as those based on computer vision (Lategahn et al. 2001;Rituerto et al. 2010) or lidar (Levinson et al. 2011;Paz et al. 2008), and which have already given promising results. However, the main drawback of most of these approaches is their dependence on high performance sensor systems, which makes them unaffordable for mass-produced vehicles.
Bearing this in mind, our proposed solution is based on the online generation of routes. The goal is to use the information transmitted by a leading vehicle to generate a suitable route for trailing vehicles in real time. It is assumed that the leading vehicle is equipped with the same control architecture, or at least with the same perception and communication modules. This solution allows the trailing vehicles to follow a leader over any route without having any previous knowledge about it. Moreover, the leading vehicle can be autonomously or manually driven without this implying any major changes for the trailing vehicles. This approach is similar to that used in the VIAC experiment, in which a group of vehicles drove about 8300 km in autonomous mode without previous knowledge of the route (Bertozzi et al. 2013).
With respect to longitudinal control, the goal of the trailing vehicle is to track the speed of the leader while also keeping a safe distance between the two vehicles. To this end, the implementation of a CACC system based on V2V communications is the best option. This system will manage throttle and brake actions in accordance with both the latest information received from the leader and the current state of the trailing vehicle.

Trajectory Generation
As was mentioned in Sec. 1, the architecture includes two key modules for path planning: the mission and the planner modules. The leading vehicle informs about its state continuously through the communication system. Every transmitted message includes speed and position information. Based on the data received, the trailing vehicle is able to keep a real-time trace of the trajectory followed by the leader. In particular, the position data is stored by the mission module as checkpoints for the car. In parallel, the planner module processes the mission data and generates a suitable reference path for the trailing vehicle.
For the inclusion of checkpoints in the mission list, the system addresses three additional issues:  When it is initialized, the system sets the current position of the trailing vehicle as the first checkpoint in the mission module. The planner is then able to start generating the route as soon as the first message from the leading vehicle is received since it requires a minimum of two points to run.  To reduce the number of checkpoints added, a minimum distance -is required between the last added point and a new one. If a closer position is received, it is discarded automatically from the route generation. The value of is set to be an appropriate trade-off between restricting the number of checkpoints to process and maintaining resemblance of the trace with the real trajectory of the leader.  A lower speed threshold is defined in the sense that no points are included in the mission list if the speed of the leading vehicle is less than 1 km/h. An example trajectory generation is shown in Fig. 2. The path traveled by the leading vehicle is represented by the gray line. The black dots show the final points created by the planner module to define the reference trajectory. The data was collected during a real-world experiment performed in an urban area, with speeds between 10 and 30 km/h. In the inset, the checkpoints used by the mission module to trace the leader are shown as gray x's over a zoomed-in area of the trajectory. These points correspond to the data received from the leader after considering the constraints defined above for the inclusion of new points. One can appreciate in the graph that, regardless of the number of mission points present in any segment, the planner always extrapolates the data in order to have equally separated points.

Vehicle Control
From its beginnings with the control of a single vehicle in a closed environment to the management of vehicles arriving at an intersection, the approach followed by the AUTOPIA program has been the same: application of artificial intelligence techniques to emulate human behaviour when driving. After having combined different techniques such as neural networks (Perez et al. 2010) or genetic algorithms , the group now considers the application of fuzzy logic as the best option to transform drivers' knowledge into a controller capable of driving a car autonomously in different scenarios. Fuzzy logic is based on the theory of fuzzy sets presented in (Zadeh 1965). In contrast with classical set theory, where the membership of an element in a set is represented by a binary value, i.e., belonging or not belonging to the set, fuzzy set theory defines this relationship through a continuous value in the range [0,1], with 1 being the maximum degree of membership. Moreover, the association of linguistic variables with the definition of each set allows the application of reasoning which is more like human reasoning (Zadeh 1996).
For the execution of fuzzy controllers in vehicles, a specially designed tool denominated ORBEX (Garcia, de Pedro 2000) was used. It was developed by members of the CAR as a solution for real-time applications. ORBEX codifies the input variables using trapezoidal membership functions, which are defined using only four valuesi.e., F(a, b, c, d). The output variables are codified by discrete values representing singleton functions. This is done with the goal of reducing the time needed to compute the controller outputs (Sugeno 1999).
Through a configuration file, the user is able to define the controller rules using text strings of the kind: IF input input_label THEN output output_label.

Longitudinal Control:
Several vehicle manufacturers currently provide various options of adaptive cruise control (ACC) systems for their cars. Nevertheless, most of them are based on camera, radar, or laser perception. With respect to the subset of communications-based systems (CACC), there have been several experimental approaches in this line.
For example, in (Naranjo et al. 2007) a fuzzy-based CACC system for urban scenarios is presented. Moreover, the system is also able to manage Stop&Go scenarios in which the car may be stopped for a short time.
Vehicle dynamics at low speeds are still poorly understood, and such variables as road friction, weight of occupants, or slopped and banked roads may affect the performance of an ACC controller to a greater extent than in a high-speed scenario. This hinders the development of a controller able to work equally well in both scenarios. To resolve this issue, a fuzzy controller was developed which has an online learning capability.
This proposal is an evolution of the system previously presented by AUTOPIA in (Onieva et al. 2013). There, a valid method for the real-time evolution of a fuzzy controller for Cruise Control (CC) was described. Starting from a simple configuration, the system was able to adapt the consequent of the rules and modify the membership functions (MFs) in accordance with the changing and uncertain vehicle dynamics and to road disturbances.
Two variables were defined as inputs for the fuzzy controller: (i) the relative speed ( ) between the leading and the trailing vehicles, expressed in km/h, and (ii) the difference ( ) between the distance reference and the real separation of the vehicles, expressed in metres. For safety reasons, the system estimates the distance reference ( ) as a value proportional to the leader's speed: with being the minimum distance allowed between the vehicles, and the leader's speed in m/s. The value was set at 10 metres since this was the safety distance required for the GCDC competition (Kwakkernaat 2011). The constant 0.6 in the equation is the time gapin secondsbetween the vehicles. It was set in accordance with usual values found in the literature for CACC systems, guaranteeing crash avoidance under emergency conditions and taking into consideration the acceptance by drivers from the general public (Nowakowski et al. 2010;Milanés et al. 2014). The distance between cars is measured as the distance between their GPS antennas.
To manage both throttle and brake, the controller uses a single output defined in the interval [−1, 1]. Positive values represent actions on the throttle with no brake actions and negative values vice versa.
The following configuration was used as the base controller for learning:  Each input is codified by four MFs.  A rule is defined for each possible input combination, so that there are sixteen rules in total.  For each rule, a unique output singleton is defined. This is necessary for the adjustment of one rule not to affect another one.
An initial adjustment of the controller was necessary since no modification to the input MFs is allowed during learning. Because of this, a set of experiments was conducted at different speeds between 10 and 90 km/h. At the end of each test, the results were analysed and the controller adjusted manually. The process was repeated until a configuration capable of keeping the distance error below 2 metres in that speed range was obtained. The final MF configuration is shown in Fig. 3. The values set for each output singleton are listed in Table 1. Starting from this configuration, the learning algorithm is responsible for adjusting the output singletons in real time in accordance with the evolution of the control variables. In each cycle, the system evaluates the performance of the current configuration and determines the reward ( ) to be applied to the activated singletons. Figure 4 shows the reward obtained in accordance with the two input values. One sees in the figure that the designation of the reward seems natural. For example, if the vehicles are closer than the reference, but the trailing one is slower than the leader, the singletons are not modified. However, if the trailing vehicle starts to go faster than the leader while the distance is too short, the singletons are reduced.
Whichever the case, only the singletons corresponding to the triggered rules are modified. The modification is proportional to the activation of the rules: where R represents the position of the i-singleton, ( − 1) the activation of the rule at the previous instant, and ( ( ), ( )) is the reward in accordance with the current values of and . The maximum displacement of the singletons was limited to ±0.2 with respect to the original value in the base controller. Moreover, the maximum displacement per cycle is limited to ±0.05 with respect to the previous position.

Lateral Control
Although a separation was made between the lateral and longitudinal controls, this does not mean that the actions on the steering wheel should not take the longitudinal state of the vehicle into account. On the contrary, several workers have taken the vehicle's speed as an input variable for the steering wheel control. For example, in (Lauer 2011) the speed is included as part of the state vector in the implementation of a reinforcement learning controller.
Likewise, in ) the maximum value of the turning rate of the steering wheel is set in accordance with the vehicle's speed and the distance to the nearest reference bend.
For this application, the vehicle's speed is considered to be a safety variable limiting both the maximum turn and the turn rate of the steering wheel. For this purpose, a dual controller was implemented. The idea is to cluster all the possible scenarios into two main use cases, so that two controllers are necessary: (i) a low-speed controller, mostly for urban scenarios where the presence of sharp turns requires a wide range of movement of the steering wheel; and (ii) a high-speed controller, for scenarios in which the car travels at over 50 km/h, requiring smoother movements of the steering wheel with a reduced range. As a single output is needed, the controllers' outputs are merged proportionally to the vehicle's speed.
For the implementation of the two controllers, the same input-output configuration is used: two input variablesthe vehicle's angular and lateral errorsand a single outputthe reference position for the steering wheel. The angular error is defined as the angle between the vehicle's longitudinal axis and the reference path, measured in degrees. The lateral error is the deviation of the front of the vehicle from the reference, measured in metres. These variables are presented graphically in Fig. 5. The output is codified by means of singletons distributed in the [−1, 1] range, with −1 being the maximum possible turn of the steering wheel to the right and 1 the maximum possible turn to the left -540 degrees for each side.    The application of the lateral control configuration in previous works of the AUTOPIA program was conceived as a hybrid control system with two driving states: straight mode and curve mode (Naranjo et al. 2005). In the straight mode, the controller output was limited, so that large adjustments were avoided. In the curve mode, no restrictions were applied. This was necessary to improve the vehicle's stability on straight segments without affecting the performance on curves, where a wide turn range is necessary.

Slower
Moreover, the steering wheel presented slight oscillations on scenarios with long bends e.g., roundabouts. These oscillations were caused by the correction of both the lateral and the angular errors when the vehicle was still turning, meaning that the reference position changed to a value near zero, and the vehicle went in a straight line until the error was large enough to be corrected again. To solve this issue, a feedforward term has been added to the steering control expression. The main goal is to anticipate as much as possible the necessary steering angle to properly negotiate the trajectory bend, meaning the controller does not make big adjustments but smaller ones in accordance with the lateral and angular errors. This will improve the vehicle control in urban environments without including any driving mode.
For each trajectory segment, the bend is estimated by approximating the trajectory to a circumference. This is done by using three points: the start and end of the present segment and the start of the previous one. Once the bend is known, the open-loop steering angle is calculated in accordance with: where is the trajectory bend, is the wheelbase of the vehiclei.e., the distance between the front and rear axles and is the steering ratio between the steering wheel and the front wheels. Figure 6 shows the MFs defined for each controller. It can be seen that, for the low-speed case, the MFs for both inputs are wider than for the high-speed case. This is because in urban scenarios the errors reach greater values without the vehicle being off the trajectorye.g., in sharp turns. For the high-speed case, the angular error is codified using two additional MFs.
The output surfaces for low-speed and high-speed controllers are shown in Fig. 7. It can be appreciated that, for the low-speed case, the surface evolves more smoothly than for the high-speed controller, with values in the range ±0.3 only. This is because the MFs defined for the inputs are broader. The high-speed case demands a faster response to changes in inputs since the stability of the vehicle decreases as the speed increases.
Despite having a wide output range, the high-speed controller is limited externally to improve the safety of the system. On the one hand, sudden changes of the steering wheel reference must be avoided. And on the other, the maximum turn of the wheels must be limited in accordance with the vehicle's speed to avoid it drifting. To achieve the first goal, the system limits the maximum change of the steering position to ±0.066 per cycle, which corresponds to one entire turn of the steering wheel per second. For the second goal, the maximum position of the steering wheel was limited to ±0.5 when the vehicle is traveling slower than 30 km/h and ±0.2 turns when the vehicle is traveling faster than 80 km/h, decreasing proportionally to the vehicle's speed in the range between these two speed thresholds. These values were obtained by comparing the amplitude of the steering movements of different human drivers at different speeds.
Finally, the reference for the steering wheel ( ) is estimated by merging the reference outputs for the lowspeed and high-speed cases ( and , respectively) in accordance with the vehicle's speed ( ): with 20 km/h being the maximum speed for the low-speed controller, and 50 km/h the minimum speed for the highspeed case.

Results
With the goal of validating the performance of the system, a public demonstration was conducted on June 2012. In contrast with previous works tested on private circuits, this demonstration was conducted on public roads around Madrid, Spain. Two Citroën C3 vehicles were used in the test: Clavileño as leading vehicle and Platero as trailing vehicle. Both vehicles are equipped with the AUTOPIA control architecture described in Sec. 1.
The routeshown in Fig. 8 was selected for the total length to be around 100 km, including both urban and motorway sections. It started from San Lorenzo de El Escoriala town located 45 km northwest of Madridand ended at the facilities of the CAR in Arganda del Rey around 22 km southeast of Madrid. Six checkpoints are marked on the route indicating:  A: The route's start at San Lorenzo de El Escorial.  B: The entrance to the A6 motorway. End of the first segment of urban roadsat about 9.5 km.  C: The exit from the A6 onto the M50 orbital motorway: at about 25 km from B.  D: The exit from the M50 onto the A3 motorway: at about 54 km from C.  E: The exit from the A3 motorway onto the last segment of urban roads: at about 8 km from D.  F: The route's end at the CAR facilities in Arganda del Rey: 1.3 km of urban roads. Therefore the route traverses 11% of its length on urban roads and 89% on motorways environment.
The demonstration was organized in collaboration with the city council of San Lorenzo de El Escorial, the General Directorate of Traffic (DGT), and the highway patrol of the Civil Guard. The participation of these entities was fundamental for the experiment since the Spanish regulation on traffic does not authorize the circulation of autonomous vehicles on roads. For this reason, the two vehicles were treated by the authorities in accordance with the regulations for special transport, being escorted by traffic units throughout the test.  human driver reading a book while the car drives itself. Figure 10 depicts the vehicles' trajectory between the 6th and 9th minutes of the test. This corresponds to the first urban segmenti.e., between points A and B. Figure 11 shows the evolution of the speed of the two vehicles. One sees that the minimum values of the speed (around 30 km/h) correspond to the two roundabouts present on the route (minutes 6.5 and 7.9 approximately). For the straight segments, the speed reached values of around 50 km/h. The evolution of the two input variables for longitudinal control is shown in Fig. 14. It can be appreciated that the trailing vehicle was able to follow the distance reference with only a ±1 metre error. The relative speed between the vehicles always remained within the range ±3 km/h. As shown in Fig. 13, the controller output took positive values in general. This means that the control action was mostly applied to the throttle rather than to the brake. This is relevant from the point of view of efficiency since every time the vehicle brakes, it wastes energy. Fig. 10. Urban route between the 6th and 9th minutes (segment between points A and B). Image source: google maps.  Regarding the lateral control, the two inputs are shown in Fig. 14. As was the case for the longitudinal control, the passage of the vehicle through the roundabouts is easily identified at around minutes 6.5 and 7.9. At each roundabout entrance, both the angular and the lateral errors increase, and indicate that the reference trajectory goes to the right of the current position of the vehicle's front. Once inside the roundabout, the errors take negative values due to the leftward curvature of the trajectory. Finally, the values are positive again for the roundabout's exit. For the straight segments, it can be appreciated that the lateral error remains within the range ±0.5 metres, while the angular error is within the range ±4 degrees.
As was mentioned on section 4.2, the lateral error is measured from the front of the vehicle to the reference, thus it does not truly show the performance regarding the trajectory tracking. Therefore, a comparison between the real paths of both vehiclesmeasured on the middle point of the rear axisis presented on Figure 15. One can appreciate that the difference between the paths is considerably lower than the value of the lateral error, remaining lower than 25 cm. Figure 16 shows the control output responding adequately to the inputs. For the straight segments, the reference remains at around zero with small variations.
Then, in order to drive the vehicle through the roundabouts, the reference indicates right-left-right turns on the steering wheel.
Similar results for the behaviour of the trailing vehicle were found when the vehicles were traveling on the motorway. With the leader's speed increasing from 70 to 80 km/hsee Fig. 17 the trailing vehicle was able to follow the distance reference with an error within the range ±1 metresupper image in Fig. 18. One sees that the error value remains mostly around zero except for the three peaks present. These peaks correspond to sudden accelerations of the leading vehicle, as can also be appreciated in the evolution of the relative speedlower image.    For the lateral control, it was found that the range of the two input errorsshown in Fig. 19 is narrower than for the previous scenario with the roundabouts. This seems natural since the expected curvature for the vehicle's trajectory when traveling over the motorway is considerably less than when traveling in urban environments.

Conclusions and future work
This communication has presented a system for autonomous driving on open roads. The proposal is based on inter-vehicle cooperation, where a leading vehicle shares information about its route in real time. Thanks to this information, a trailing vehicle is able to follow the leader trajectory using a combination of fuzzy logic controllers. Moreover, it is also able to maintain a reference time gap with the leader by implementing a CACC system. Compared to the closest tests developed up to now, the main contributions of this work to the state-of-the-art are:  To the best of our knowledge, this is one of the first communications fully describing the control system and techniques required to perform an experiment with autonomous vehicles on open roads.  It introduces a different control approach for controlling autonomous vehicles on urban and motorway environments  A method for online adjustment of the CACC fuzzy controller is described and implemented, coping with the most relevant disturbances and uncertain parameters, such as road slopes, passenger weight, or gear ratio.  The experiment successfully proves the capability of the developed system to drive more than one hundred kilometres autonomously. A public demonstration of the described system was conducted in June 2012, comprising a 100-km route through urban and motorway environments. As a strong point, the tracking results obtained with the CACC system were very precise, with the distance error being kept to less than 1 metre. Likewise, the lateral control was able to maintain the vehicle on the path of the leader with acceptable errors for both scenarios. As a weak point, the localization system needs to be improved to allow longer GPS gaps. Although the present system was able to cope with such gaps as motorway overpasses, traffic signals, etc., the presence of a 900-metre-long tunnel on the M-50 forced the deactivation of the autonomous system while the vehicle passed through.
As future work, new sensors and filtering methods for data fusion will be included, improving the system capability to overcome scenarios where the GPS signal is strongly affected by long outages. Moreover, a second experiment is planned for evaluating the system performance with more vehicles, even including nonautonomous vehicles and different sensors on board. In this sense, the test will incorporate autonomous, semiautonomous, and human-driven vehicles at the same time, comparing their performance in tracking a leading vehicle in a platoon formation. On the other hand, the performance of the vehicles on urban environments must be improved for common manoeuvres. To that end, the cooperative controllers previously developed for   overtaking, intersections and roundabouts will be integrated within this system.