1 t o d 2 s & b ( M ( p Cooperative controllers for highways based on human experience J. Pérez , V. Milanés , J. Godoy , J. Villagrá , E. Onieva R E S U M E N worki develop uvres h vehicle oopera The AUTOPIA program has been advances have focused on the However, so far, these manœ experiments with autonomous where several vehicles had to c context, the main challenge was to t communication describes the experien system implemented in a Citröen C3. is known as cooperative ACC (CACC) (van Ar 2006). ng on the development of intelligent autonomous vehicles for the last 10 years. Its latest ment of cooperative manœuvres based on communications involving several vehicles. ave been tested only on private tracks that emulate urban environments. The first s on real highways, in the framework of the grand cooperative driving challenge (GCDC) te in order to perform cooperative adaptive cruise control (CACC), are described. In this ranslate, through fuzzy controllers, human driver experience to these scenarios. This ces deriving from this competition, specifically that concerning the controller and the . Introduction During the last few years, many advanced driver assistance sys- ems (ADAS) based on on-board vehicle sensors have been devel- ped for automotive applications. Vision systems for blind angle etection (Lin et al., 2010), lane departure warning (Bansal et al., 008), collision avoidance (Llorca et al., 2011), and lidar-based ystems have been widely applied in vehicle detection (Pauwelussen Feenstra, 2010). In spite of these advances, the latest trends have een focused on wireless communications -both vehicle-to-vehicle V2V) (Hosseini Tabatabaei, Fleury, Qadri, & Ghanbari, 2011; itropoulos et al., 2010) and vehicle-to-infrastructure (V2I) Belanovic et al., 2010; Nguyen, Berder, & Sentieys, 2011) – to erceive the environment as precisely as possible. Adaptive cruise control (ACC), one of the most conventional forms of ADAS, was developed some years ago. It acts on the longi- tudinal control of the vehicle, permitting it to follow a leader – act- ing on the throttle and brake pedals autonomously – and to maintain a predefined headway with the vehicle in front (Naranjo, Gonzalez, Reviejo, Garcia, & de Pedro, 2003). The next step in the evolution of this technology is based on cooperation among differ- ent vehicles in order to reduce this headway between vehicles. This em, van Driel, & Visser, Furthermore, the broad scope and growing popularity of intelli- gent transportation systems (ITS) makes it difficult to include all the recent advances in a single research project. There are many projects and groups around the world working on ITS, but in differ- ent fields (perception, control, communications, actuation, ADAS, and traffic control, among others). For example, the project HAVEit (Flemisch et al., 2010) is developing a control architecture to im- prove safety, efficiency, and comfort in driving through a virtual system that takes partial control of the vehicle according to differ- ent risk situations. It is designed to respond to the increase in traffic density, the ever greater flood of information available to drivers (in both autonomous and manual modes), and the growing population. Its highly automated vehicle illustrates the character- istics of the future of mobility. Another interesting project in the integration of vehicle applications is the strategic platform for ITS (SPITS) (Koenders, 2011), which is developing new concepts for the communication protocols among smart vehicles. Some American research groups have made important advances in the ITS field. Firstly, the Californian PATH of the Institute of Transportation Studies at the University of California, Berkeley, has demonstrated on a real automated highway system that the platooning problem can be solved with the use of magnetic sensors (Tan & Bougler, 2001). This group has accumulated much experi- ence in developing various projects over the last 20 years (Shladover, 2007). Secondly, the Defense Advanced Research Project Agency has organized one of the most important competitions involving autonomous vehicles – the DARPA urban challenge http://dx.doi.org/10.1016/j.eswa.2012.08.011 mailto:joshue.perez_rastelli@inria.fr mailto:vicente.milanes@berkeley.edu mailto:vicente.milanes@berkeley.edu mailto:jorge.godoy@csic.es mailto:jorge.villagra@csic.es mailto:enrique.onieva@decsai.ugr.es http://dx.doi.org/10.1016/j.eswa.2012.08.011 http://www.sciencedirect.com/science/journal/09574174 http://www.elsevier.com/locate/eswa Fig. 1. AUTOPIA team in the GCDC 2011 competition. (Urmson et al., 2008). Several research groups have participated, trying out their control systems and algorithms in both desert and urban scenarios. It was in this context that the first competition among autono- mous vehicles in Europe was organized last year – the grand coop- erative driving challenge (GCDC). It involves different research groups from around the world who talk to each other over a wire- less network. The aim was to carry out two-lane CACC with differ- ent vehicles. The present communication describes the controller and algorithm used by the AUTOPIA program in this competition. It is based on human experience emulated through fuzzy logic. The AUTOPIA program has experience in cooperative manœ- uvres among vehicles based on wireless communications using the IEEE 802.11g standard. All our manœuvres had been tested be- fore in urban scenarios (under 50 km/h, on our private test tracks). For this reason the GCDC competition was considered to be an excellent scenario in which to test our systems performance on highways (MilanTs, Llorca, Vinagre, González, & Sotelo, 2010; PTrez, MilanTs, & Onieva, 2011). Our main challenges in order to have the capacity to participate in the competition were to adapt our communication systems to the CALM FAST/IEEE 802.11p pro- tocol stack (a GCDC requirement), and to develop new controllers capable of working at any speed range. The rest of the paper is organized as follows. In Section 2, we de- scribe our group’s background. The system architecture, the vehi- cle used in the GCDC competition, and the communication system are presented in Section 3. Section 4 describes the human knowledge based controllers developed for highway scenarios. The different experiments, testing various speed profiles, are described in Section 5. Finally, the conclusions and some remarks are given in Section 4. 2. AUTOPIA program AUTOPIA is a Spanish research program whose initial long-term goal was the automation of vehicles. It forms part of the Centre of Automation and Robotics of the Polytechnic University of Madrid and of the Spanish National Research Council (UPM-CSIC). Its conception arose from the confluence of two trends: fuzzy logic systems and mobile robots. The group had been working in these two fields for several years, and with AUTOPIA combined them to start working with autonomous vehicles. AUTOPIA began at the end of the 1990s with the group’s acqui- sition of two electric vans. Using these, we were capable of performing both autonomous vehicle guidance (Naranjo, Gonzalez, Garcia, de Pedro, & Haber, 2005) and our first cooperative manœ- uvre – an ACC+Stop&Go-based on V2V communications in urban environments (Naranjo et al., 2003). These vehicles were instru- mented with a DC motor connected to the brake pedal, and an analogue card for the throttle. Later, the group acquired two gaso- line-propelled vehicles which were also automated (MilanTs et al., 2010). This allowed to test more complex cooperative manœuvres such as crossing intersections (MilanTs, PTrez, Onieva, & González, 2010), overtaking on two-way roads (PTrez, MilanTs, Onieva, Godoy, & Alonso, 2011), and merging (MilanTs, Godoy, Villagrá, & PTrez, 2011). Presently we are working on a traffic management system for complex manœuvres. This system would transmit to each vehicle involved a unique control value representing a trade-off between safety and traffic flow (MilanTs et al., in press). If the receiving vehicle is manually driven, this value would be shown in a head- up display and treated by an ADAS in order to provide appropriate advice to the driver. If, however, the receiving vehicle is autono- mous, this signal would be used to automatically regulate the vehicle’s speed to fit the specific scenario – intersection traversing, merging, etc. Our research motivations are mainly directed to autonomous vehicle control and cooperative manœuvres through V2X communications. Perception and world modeling has been developed in cooperation with other research groups, e.g., pedes- trian avoidance using vision systems (Llorca et al., 2011) and recognition of RFID signals for intelligent cruise control (PTrez et al., 2010). With these antecedents, we decided to choose one of our gaso- line-propelled vehicles to participate in the GCDC (Fig. 1). The vehi- cle is fully automated, but steering wheel action was deactivated during the competition since the GDCD is focused purely on longi- tudinal control. 2.1. GCDC competition The GCDC is the first international competition in Europe with teams in the field of cooperative driving. It was held on motorway 270, between Helmond and Eindhoven (Holland). The GCDC0s objectives are to accelerate the implementation of these systems and significantly contribute to improving traffic problems. The participating teams developed different longitudinal con- trol strategies for platooning in highway scenarios. The aim of such control systems is to maintain a safe distance with respect to the vehicles in front. The vehicles exchanged information over a wireless network in the different trials. Fig. 2 shows the position of the vehicles at the beginning of each heat. When the traffic light of Platoon B (second light in the figure) turns green,1 both lines of cars of this platoon move to join the cars of Platoon A. The highway test start when the Platoon A’s light (first light in the figure) turns green. The two platoons are preceded by a leader vehicle (TNO) belonging to the organization. More than nine teams, from different countries, participated in this edition. Details of the competitions can be found in Kwakkernaat (2011). Platoon B, second light Platoon A, first light 1 2 3 4 5 68 7 Vehicle TNO 4 3 2 1 Fig. 2. Position of the vehicles at the start of every heat. 3. System architecture The AUTOPIA architecture for autonomous vehicles has been described in previous work (Llorca et al., 2011; MilanTs et al., 2010; PTrez et al., 2011). However, some modifications were made in order to satisfy GCDC’s requirements. The perception stage uses the data from sensors. For the vehi- cle’s positioning, an error of up to 1 m was allowed by the compe- tition’s organizers. Bearing this in mind, a differential global positioning system (DGPS) whose error is always less than 0.5 m was used for location. Since the driving area for the competition is completely open, and there are no building or tree canopy occlu- sions, the DGPS was used as the main sensorial input. Some bridges have to be passed under in the competition. Therefore, information from the controller area network (CAN) bus – wheel speeds and acceleration – was used to handle DGPS outages in these zones. Additionally, wireless communication was used. In the planning stage, the appropriate controller is chosen to drive our vehicles through the different traffic situations that may be encountered – overtaking, crossing intersections, merging, etc. It was slightly modified to include the CACC driving and other situations – such as dealing with traffic lights – considered in the competition (Kwakkernaat, 2011). An additional CC controller for high speeds was therefore tuned for use in the heats in which our vehicle was to lead the second platoon, i.e., the front position at the second traffic light (Fig. 2). 3.1. Hardware implementation The vehicle used to participate in GCDC 2011 was a Citroën C3s, called Platero. This platform is fully automated – steering wheel, throttle, and brake – but only the longitudinal controller was needed for the competition. Therefore, the automatic steering wheel system was deactivated during the competition. Fig. 1 shows the vehicle during the GCDC preparation and competition. Fig. 3 shows the control architecture and instrumentation of our vehicle. The central box corresponds to the on-board PC, and all the threads used in our control program are depicted. As was noted above, the perception stage is responsible for communication with the environment and the positioning system. A communication box was added to exchange information with the infrastructure and the other participants of the GCDC 2011 (Kwakkernaat, 2011). It was provided by the organizers to exchange data among all the vehicles, and is based on the IEEE 802.11p protocol. Moreover, Fig. 3 shows the extra peripherals added in response to the GCDC requirements. These are: throttle and brake pedal sensors, emergency button, green and red flashing lights, and soft- ware control of the brake lights. 3.2. Implementation of wireless communications AUTOPIA had already developed the automation of cooperative manœuvres based on wireless communications (MilanTs et al., 2010; PTrez, Milanes, Onieva, Godoy, & Alonso, 2011), sending similar information to that required by the GCDC organization, but with another custom standard to codify and transmit the data. For this occasion, a new communication module based on Abstract Syntax Notation One (ASN.1) coding was created. GCDC communications were organized by means of an intelli- gent communications box running a CALM (Communications Access for Land Mobiles) server (Kwakkernaat, 2011). The organization provided this box with several communications de- vices for connection to the computer, including two UDP sockets. Hence, the programming modifications were done to send and read the packages through a UDP socket. Each message had its own transmission rate. Some of them were periodic, and some were sent only on demand. Some origi- nated in the infrastructure, and some in the vehicles. The ASN.1 standard was devised for compact data transmission with the goal of sending data in a form as compact as possible. Our software was designed to have four levels. The lowest level has the task of generating bit streams from the data, and conversely of decoding the data out of incoming bit streams. The second level is responsi- ble for coding the single data elements. The third level is to code and decode the structured elements. Finally, the fourth level converts internal AUTOPIA data into GCDC data. 4. Control algorithm The core of the system is the design of the controllers. This is based on fuzzy logic whose purpose is to transfer human experi- ence in highway scenarios to the system. Two different situations have to be considered according to the vehicle’s position in each heat (Fig. 2): � Leading a CACC: This case only occurs when the vehicle is located as leader at the second traffic light, i.e., without the organization’s vehicle in front of it. For these heats, a CC system was implemented to implement comfortable acceleration until rejoining Platoon A. Contro program st Fuzzy logic C Receiving GPS data. Reading CAN-vehicle data Information proc Traffic situation a If platoon A Waiting until the first light turns green If we are the leader Change to leader status If we are not the leader I If we p finis Challenge over, Stop the vehicle Fig. 4. Flow chart of the AUTOPIA program soft � Not leading a CACC: This case is considered when the vehicle has some other vehicle immediately in front of it. Under these circumstances, the priority for the vehicle is to react as soon as possible to the action of its leading vehicle. Before designing the controllers for these two situations, a switching law between them had to be established. The minimum distance between cars (dmin) was fixed by the organization at 10 m. Bearing this in mind, the rule to alternate between the two control- lers was set as follows: CC controller if dc > v c t � 0:5amaxt2 � dmin CACC controller if dc 6 v c t � 0:5amaxt2 � dmin ð1Þ where amax is the maximum deceleration allowed (4.5 m/s 2), vc is the current velocity, dc is the current distance between our vehicle and the preceding one, and t is the time gap. Fig. 4 shows the control algorithm’s flow chart as a function of the evolution of each heat. The following subsections describe the software implementation, and the speed controllers for the CC and CACC scenarios. 4.1. Software implementation Fuzzy logic control has become increasingly popular in recent years (Yusofa, Rahmanb, Khalida, & Ibrahimc, in press). Its ability to control imprecise or vague processes has been used to perform the control of numerous industrial applications (Precup & Hellendoorn, 2011). Their main advantage is that fuzzy logic controllers can be easily and intuitively designed using human reasoning as the If platoon B l arts ACC Fuzzy logic CC Receiving/sending information to the vehicles and infrastructure essing nalysis Waiting until the second light turns green If we are the leader f we are not the leader If we join with the platoon A ass the h line ware operation for the GCDC competition. Table 1 Fuzzy rules for the CC at high speed. Speed error Speed Low Medium High Negative Keep Brk_little Brk Central Keep Accel_little Accel_med Positive Accel_med Accel Accel_high knowledge base in order to manage complex plants without an exact or precise model of the system to be controlled. This intuitive behavior on the part of fuzzy-logic-based control- lers can be used to formally define the control of complex systems, i.e., a linguistic description can be made of how a nonlinear plant can be controlled from only knowing its response to some pre- defined inputs. In this sense, the application to different kinds of systems whose model is difficult to obtain analytically, but where one may know how they work thanks to human experience, per- mits these systems to be controlled. This human experience can be considered as the fuzzy-logic-controller’s knowledge base. Since fuzzy controllers form the core of the control system, an embedded fuzzy processor developed by the AUTOPIA program to execute the control was used (MilanTs et al., 2010; PTrez et al., 2011). In designing the controller, the main goal was to implement a control system capable of managing the vehicle’s actuators as humans do, and as intuitively as possible so that the controller can be easily re-adapted to any other item with similar characteristics. 4.2. CC controller The CC controller was developed for the case of being leader at the second traffic light (Fig. 2). It was designed to be capable of fol- lowing any pre-defined speed from 0 to 80 km/h. It uses two input variables: � Speed in km/h. Three different membership functions were defined for low, medium, and high speed to modulate the action on the throttle and brake pedals (upper part of Fig. 5). � Speed error in km/h. This is defined as the difference between the target speed and the current speed. The central membership function was introduced with the goal of performing as smooth Fig. 5. Membership functions of the CC controller. as possible a control around the target speed. Since the main goal of this controller is to keep the vehicle at around such a tar- get speed, the controller was designed to give priority to com- fort rather than minimum speed error (middle part of Fig. 5). The output of the fuzzy controller is the normalized action on the throttle and brake pedals, defined in the range ½�0:3; 0Þ for the brake, and in the range (0, 0.7] for the throttle. These con- straints were set experimentally, taking into consideration the maximum accelerations and decelerations permitted in the competition. Table 1 gives the rule base used for the CC control. Finally, Fig. 7 shows the control surface generated in which the output of the controller, i.e., the action on the throttle and brake pedals, is de- picted as a function of the input variables. 4.3. CACC controller The second controller implemented was designed to perform platooning in highway scenarios. The main goal was to follow the pre-defined distance with respect to the leading vehicle with an error as small as possible, allowing stronger actions than in the CACC case for both the brake and the throttle. Specifically, the maximum action on the throttle was set at 85%, and the max- imum action on the brake at 40%. The inputs for the fuzzy controller were chosen to maintain the vehicle as close as possible to the reference distance. In this context, the controller inputs were: � Distance error in meters. This is calculated as the difference between the real distance with respect to the leading car and the desired distance calculated following the organization’s formula. Four membership functions were defined, three of them in the interval [�1, 1] in order to keep the vehicle as close as possible to the reference. The other was defined for positive values, and was included to try to follow sharp accelerations on the part of the leading vehicle. Its mission was to increase the action on the throttle in these cases since the physical limita- tions of our vehicle made accelerations close to 2 m/s2 difficult to achieve (upper part of Fig. 6). � Speed error in km/h. This is defined as the difference between the leading vehicle’s velocity and the ego-vehicle’s velocity. The middle part of Fig. 6 shows the membership functions. As was the case for the Distance error, there are four membership functions. One is used in the case of high negative values of the variable, increasing the action on the brake pedal. Table 2 gives the rule base used for the CACC control. A further two rules were added to increase the control action in extreme situations (when the information from the other vehicles is lost; when there are failures in the position systems; etc.): IF Speed error Very neg. THEN Output Brake. IF Distance error Very pos. THEN Output Accel. The control surface is shown in Fig. 8. Changes are allowed close to the zero values of both variables. Smoother actions are defined Fig. 6. Membership functions of the CACC controller. Table 2 Fuzzy rules for the CACC at high speed. Speed error Distance error Negative Central Positive Negative Brk Brk_little Keep Central Brk_little Keep Accel Positive Keep Accel_med Accel_high 0 20 40 60 80 −4 −2 0 2 4−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 Speed Error (km/h)Speed (km/h) P ed al Fig. 7. CC controller surface. −35 −30 −25 −20 −15 −10 −5 0 5 0 5 10 15 20 25 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 Speed Error (km/h) Distance Error (m) P ed al Fig. 8. CACC controller surface. Table 3 Error of the experiments relative to the leading vehicle. Exps. Speed error Distance error Mean Median Mean Median Exp. 1 1.13 0.58 1.52 0.91 Exp. 2 3.07 1.64 2.07 0.90 Exp. 3 1.25 0.72 0.88 0.58 for higher values of the two variables, i.e., for very negative speed errors and very positive distance errors, so as to begin adjusting the vehicle’s speed in advance and avoid sharp actions. Heat 1 5.95 2.79 7.67 2.94 Heat 8 3.46 2.51 1.98 1.09 Heat 11 5.75 2.97 13.61 1.71 Heat 17 3.97 2.59 6.73 1.84 5. Experimental results During the days before the GCDC competition, several tests were performed, together with other competitors, on a private track of one of the sponsors in order to tune and adjust the control- lers. Then, during the GCDC weekend, more than 20 heats were participated in with all the teams (Kwakkernaat, 2011). The follow- ing two subsections describe the performance in the experiments of the days prior to the competition and the results at the GCDC, respectively. 5.1. Prior tests During the first pre-competition testing days, our vehicle was capable of exchanging information with other vehicles in order to tune our fuzzy controllers. Until that time, these controllers had only been tested at low speeds (MilanTs et al., 2011; PTrez et al., 2010). Three of the tests performed will be described in this subsection. The first experiment was carried out with other team vehicle leading. Fig. 9 shows the speeds reached. During this test, several speed profiles were tested. Our control algorithm was capable of following the leading vehicle with really good performance.) As noted above, distance and speed errors are used as inputs for the fuzzy controller. Fig. 12 shows the evolution of these two vari- ables during this test. Table 3 lists the mean and median errors of each variable in each experiment and heat of the GCDC explained in this paper. In the first experiment, both values are low, even though this first test included sharp changes. The second experiment is shown in Fig. 10. This was carried out with an aggressive profile. As can be seen, our controller responds 0 100 200 300 400 500 0 10 20 30 40 50 60 70 80 Time (seconds) S pe ed (k m /h ) Leader vehicle (AnnieWAY) AUTOPIA team Fig. 9. Experiment 1: Vehicle speeds – the leader vehicle and AUTOPIA’s behavior. 0 50 100 150 200 250 0 20 40 60 80 100 Time (seconds) S pe ed (k m /h ) AUTOPIA team Leader Vehicle (TNO) Fig. 10. Experiment 2: Vehicle speeds – the leader vehicle and AUTOPIA’s behavior. 0 50 100 150 200 250 300 350 0 50 100 Time (seconds) S pe ed (k m /h ) AUTOPIA team Leader Vehicle (TNO) Fig. 11. Experiment 3: Vehicle speeds – the leader vehicle and AUTOPIA’s behavior. 0 50 100 150 200 250 300 350 400 −20 0 20 S pe ed e rr or (k m /h ) Experiment 1 Experiment 2 Experiment 3 0 50 100 150 200 250 300 350 400 −10 0 10 D is ta nc e er ro r (m ) Time (seconds) Fig. 12. Speed and distance errors in each experiment. 0 50 100 150 200 250 300 0 20 40 60 80 100 Time (seconds) S pe ed (k m /h ) Reference speed Heat 1 0 50 100 150 200 250 300 0 20 40 60 80 100 Time (seconds) S pe ed (k m /h ) Reference speed Heat 8 0 50 100 150 200 250 300 0 20 40 60 80 100 Time (seconds) S pe ed (k m /h ) Reference speed Heat 11 0 50 100 150 200 250 300 0 20 40 60 80 100 Time (seconds) S pe ed (k m /h ) Reference speed Heat 17 Fig. 13. AUTOPIA’s behavior in different starting positions. 0 50 100 150 200 250 −20 0 20 S pe ed e rr or (k m /h ) Heat 1 Heat 8 Heat 11 Heat 17 0 50 100 150 200 250 −10 0 10 D is ta nc e er ro r (m ) Time (seconds) Fig. 14. Speed error and distance error in the heats of Team 3. without delay at that speed. Both the speed and the distance errors are low (Experiment 2 of Fig. 12). The last experiment before the GCDC weekend was done with the leader vehicle using the speed profile of the competition. Although the mean distance error (Table 3) was greater than in the first experiment (due to greater changes in the reference), the median remained almost identical (0.90 m). The competition speed profile covered the first 250 s (Fig. 11). After that, no longer within the competition profile, the leading car accelerated up to 120 km/h. The error increased at the end of the experiment due to the greater accelerations of the leading vehicle (gray line of Fig. 11). The controller reached the reference distance. The values of the errors are listed in Table 3. 5.2. Results at the GCDC The GCDC competition consisted of several heats with vehicles in different starting positions. Fig. 2 shows possible vehicle locations at the beginning of each heat, i.e.: 1. Behind the leader vehicle. 2. In the second position at the first light. 3. In the first position at the second light. 4. In the second position at the second light. To evaluate how the vehicle behaved differently according to its location at the beginning of the heat, we shall present the results will be presented for some different starting positions. Fig. 13 shows one of the best executed heats of our vehicle. In the first profile (Fig. 13, upper left), our system showed the poorest behavior since we started in the last position. The upper right plot of Fig. 13 shows our vehicle following the speed of the leader vehicle. Some jumps in our speed behavior (at around seconds 110 and 170) were due to failures of our position- ing system (to be explained in Section 6). In Table 3, one observes that the speed and distance errors were greater than in the four prior experiments, but still within reasonable limits. In the second platoon heat (lower left plot of Fig. 13), our full system worked correctly. When the vehicle was in the first position (Heat 11), it accelerated until it reached the first platoon. It changed to a constant speed (40 km/h) and joined the first platoon, avoiding unnecessary braking. At the beginning of this heat, the distance error was high (lower plot of Fig. 14) because our vehicle was the leader of the second platoon, but the distance to the last vehicle of the first platoon was constantly monitored. Once the switching condition from the CC to the CACC controller was met, the vehicle joined the first platoon and the distance error was con- sidered as an input to the control. Some jumps occurred at around second 180. These were due to failures of our positioning system when passing under bridges. The last plot (Fig. 13, lower right) shows the behavior in the sec- ond position of the first platoon. In this heat, there was again a large mean distance error in our performance (Table 3). 6. Limitations, difficulties, and lessons learned GCDC was a good scenario in which to test our algorithms against those of various research teams from different countries. The resources we had available for GCDC were limited – just three members in our team, and we were the last to join the competition – but we were able to finish all the heats. Nonetheless, some important failures were detected that need to be resolved. Most of these failures had never happened before on our own test tacks. They were the following: � Problems receiving data volume: Our communication system had been tested for only 3 days before the competition. In par- ticular, these tests involved only up to four other teams. The system worked properly (see Section 5.1). However, in the com- petition heats, with all the information from the other vehicles and the infrastructure being sent simultaneously, our on-board program ran too slowly, and some threads were damaged. � Problems reading data from the CAN bus: Connected with the preceding problem, the most significant failure consisted of errors in reading the vehicle’s CAN bus. These occurred due to saturation of the threads. � Positioning errors: The same thread was used to read the speed of the vehicle from the CAN bus in order to provide the vehicle’s positioning when it was passing under the bridges. Because of the failures in the thread, when the GPS signal was lost under a bridge we were unable to provide accurate positioning. 7. Conclusions As the first European demonstration of cooperative driving systems, GCDC involved nine vehicles, each from a different insti- tution. It permitted us to test our systems outside our own facili- ties, and to translate human driver know-how to our fuzzy control for highway-type scenarios. We drew the following conclu- sions about the different systems involved from our participation in this competition: � Hardware systems: Different cooperative manœuvres had been tested in our facilities involving three (MilanTs et al., 2011) and four of our own vehicles (MilanTs et al., in press), giving good results. Our theoretical results showed our communication system to be capable of managing more than 50 vehicles without overload (MilanTs et al., in press). In the pre-competition tests at the GCDC too, involving up to five vehicles, the system worked properly. In the heats themselves, however, the inclusion of communications from both more vehicles and the infrastructure overloaded our on-board unit. This problem can be solved by including an auxiliary PC for communications management. � Software systems: Both the CC and the CACC fuzzy-logic-based control algorithms gave good results when no hardware prob- lems occurred. Moreover, adjustments were made to them, based on our driving experiences, in a short time. � Positioning system: Unexpected failures due to massive quan- tities of data coming from other vehicles and the infrastructure blocked some threads – the CAN bus controller in particular – and positioning system failures occurred while passing under the bridges. The DGPS was sufficient to meet the organization’s precision requirements, but the additional system designed to function while passing under the bridges did not work (MilanTs, Naranjo, Gonzalez, Alonso, & de Pedro, 2008). � Environment perception: Finally, it is clear that communica- tion systems will play a key role in the future in traffic safety. However, they cannot be relied on as the only source of infor- mation, but need to be combined with vision and laser/lidar systems. Although we were capable of participating in the competition using just communications, more sensors have to be included in order to be tolerant to failures whether due to the leading vehicle or to our own vehicle’s control architecture. Future work will focus on testing our systems with the inclu- sion of more vehicles in order to reproduce the failures detected during the GCDC. Also, new work has been initiated on environ- ment perception with the aim of including more sensors in the architecture. Acknowledgements The authors are grateful to Citroën España S.A. and Tecnología GPS S.A. since, without their collaboration, AUTOPIA’s participation would have been impossible. They also want to express their grat- itude to the TNO organizers for their support before and during the competition. This work was supported by the CYCIT (Spain) and Plan Nacional (Spain) from the GUIADE (P9/08) and TRANSITO (TRA2008-06602-C03-01) projects, respectively. Bansal, M., Das, A., Kreutzer, G., Eledath, J., Kumar, R., & Sawhney, H. (2008). Vision- based perception for autonomous urban navigation. In Proceedings of 11th international IEEE conference intelligent transportation systems ITSC 2008 (pp. 434–440). Belanovic, P., Valerio, D., Paier, A., Zemen, T., Ricciato, F., & Mecklenbrauker, C. F. (2010). On wireless links for vehicle-to-infrastructure communications. IEEE Transactions on Vehicular Technology, 59(1), 269–282. Flemisch, F., Nashashibi, F., Rauch, N., Schieben, A., Glaser, S., Temme, G., et al. (2010). Towards highly automated driving: Intermediate report on the Haveit- joint system. In 3rd European road transport research arena (pp. 1–12). Hosseini Tabatabaei, S. A., Fleury, M., Qadri, N. N., & Ghanbari, M. (2011). Improving propagation modeling in urban environments for vehicular ad hoc networks. IEEE Transactions on Intelligent Transportation Systems, 12(3), 705–716. Koenders, E. (2011). An open communication platform for cooperative systems. In 8th International automotive congress, NL. Kwakkernaat, M. (2011). GCDC 2011 rules and technology document. TNO, tech. rep. Lin, B.-F., Chan, Y.-M., Fu, L.-C., Hsiao, P.-Y., Chuang, L.-A., & Huang, S.-S. (2010). Incorporating appearance and edge features for vehicle detection in the blind- spot area. In Proceedings of 13th international intelligent transportation systems (ITSC) IEEE conference (pp. 869–874). Llorca, D. F., Milanẃs, V., Alonso, I. P., Gavilán, M., Daza, I. G., PTrez, J., et al. (2011). Autonomous pedestrian collision avoidance using a fuzzy steering controller. IEEE Transactions on Intelligent Transportation Systems, 12(2), 390–401. MilanTs, V., Llorca, D. F., Vinagre, B. M., González, C., & Sotelo, M. A. (2010). Clavileño: Evolution of an autonomous car. In Proceedings of 13th international intelligent transportation systems (ITSC) IEEE conference (pp. 1129–1134). MilanTs, V., Villagrá, J., Godoy, J., Sim, J., PTrez, J., & Onieva, E. (in press). An intelligent V2I-based traffic management system. IEEE Transactions on Intelligent Transportation Systems 1–10. MilanTs, V., Godoy, J., Villagrá, J., & PTrez, J. (2011). Automated on-ramp merging system for congested traffic situations. IEEE Transactions on Intelligent Transportation Systems, 12(2), 500–508. MilanTs, V., Naranjo, J., Gonzalez, C., Alonso, J., & de Pedro, T. (2008). Autonomous vehicle based in cooperative GPS and inertial systems. Robotica, 26(5), 627–633. MilanTs, V., PTrez, J., Onieva, E., & González, C. (2010). Controller for urban intersections based on wireless communications and fuzzy logic. IEEE Transactions on Intelligent Transportation Systems, 11(1), 243–248. Mitropoulos, G. K., Karanasiou, I. S., Hinsberger, A., Aguado-Agelet, F., Wieker, H., Hilt, H.-J., et al. (2010). Wireless local danger warning: Cooperative foresighted driving using intervehicle communication. IEEE Transactions on Intelligent Transportation Systems, 11(3), 539–553. Naranjo, J. E., Gonzalez, C., Garcia, R., de Pedro, T., & Haber, R. E. (2005). Power- steering control architecture for automatic driving. IEEE Transactions on Intelligent Transportation Systems, 6(4), 406–415. Naranjo, J. E., Gonzalez, C., Reviejo, J., Garcia, R., & de Pedro, T. (2003). Adaptive fuzzy control for inter-vehicle gap keeping. IEEE Transactions on Intelligent Transportation Systems, 4(3), 132–142. Nguyen, T.-D., Berder, O., & Sentieys, O. (2011). Energy-efficient cooperative techniques for infrastructure-to-vehicle communications. IEEE Transactions on Intelligent Transportation Systems, 12(3), 659–668. Pauwelussen, J., & Feenstra, P. J. (2010). Driver behavior analysis during ACC activation and deactivation in a real traffic environment. IEEE Transactions on Intelligent Transportation Systems, 11(2), 329–338. Precup, R., & Hellendoorn, H. (2011). A survey on industrial applications of fuzzy control. Computers in Industry, 62(3), 213–226. PTrez, J., MilanTs, V., Onieva, E., Godoy, J., & Alonso, J. (2011). Longitudinal fuzzy control for autonomous overtaking. In Proceedings of IEEE internatonal mechatronics (ICM) conference (pp. 188–193). PTrez, J., Milanes, V., Onieva, E., Godoy, J., & Alonso, J. (2011). Longitudinal fuzzy control for autonomous overtaking. In Proceedings of IEEE international conference on mechatronics ICM 2011 (pp. 1–5). PTrez, J., MilanTs, V., & Onieva, E. (2011). Cascade architecture for lateral control in autonomous vehicles. IEEE Transactions on Intelligent Transportation Systems, 12(1), 73–82. PTrez, J., Seco, F., MilanTs, V., JimTnez, A., Dfaz, J., & de Pedro, T. (2010). An RFID- based intelligent vehicle speed controller using active traffic signals. Sensors, 10(6), 5872–5887. Shladover, S. E. (2007). Path at 20—History and major milestones, 8(4), 584–592. Tan, H., & Bougler, B. (2001). Vehicle lateral warning, guidance and control based on magnetic markers. PATH program, UC Berkeley, Tech. rep. Urmson, C., Anhalt, J., Bae, H., Bagnell, J., Baker, C., Bittner, R., et al. (2008). Autonomous driving in urban environments: Boss and the urban challenge. Journal of Field Robotics, 25(8), 425–466. van Arem, B., van Driel, C. J. G., & Visser, R. (2006). The impact of cooperative adaptive cruise control on traffic-flow characteristics. IEEE Transactions on Intelligent Transportation Systems, 7(4), 429–436. Yusofa, R., Rahmanb, R., Khalida, M., & Ibrahimc, M. (2011). Optimization of fuzzy model using genetic algorithm for process control application. Journal of the Franklin Institute.