Overtaking Assistant System Based on Fuzzy Logic

,


Introduction
Traffic safety is a global issue that has received a great deal of attention from various parties. Globally, 1.3 million people each year or 3,000 persons per day die as a result of traffic accidents. The WHO has published that deaths from traffic accidents are treated as one of the non-communicable diseases with the highest mortality level. By the year 2030 road traffic accidents are estimated to be the fifth most common cause of death in the world, after heart disease, strokes, emphysema, and other respiratory tract infections [1].
About 4-10% of all traffic accidents are caused by overtaking [2]. Sequentially from the most, the types of accident that occur through overtaking are a collision with a vehicle that is overtaking when someone is turning right, a collision with a vehicle from the opposite direction, a sideswipe crash while passing, and a collision while returning to the original lane [3].
Efforts are being made to reduce the number of traffic accidents involving fixing vehicles and improve infrastructure technologies as well as to increase the awareness and expertise of drivers. In terms of road transport, driver error contributes to 75% of all roadway crashes [4].
An Advanced Driver Assistance System (ADAS) or intelligent Driver Assistance System (IDAS) is an existing system in a vehicle that allows the driver to achieve their objectives with less stress, more safely, more comfortably, and efficiently in the pathway [5]. The ADAS is a development of the driver information system and driver warning system. Both these fields continue to be developed, among others, by using GPS as in [6]- [8]. ADAS development is inseparable from the concept of Integrated Human Machine Systems (IHMS) where the intelligent assistant system's role is to help the operator to operate the machine [9].
ADAS can be grouped according to three phases of driving.
An example of an ADAS that helps in environment recognition is Lane Departure Warning (LDP). An example of decision making is the Overtaking Assistance System (OAS). Adaptive Cruise Control (ACC) is an example of the action phase.

77
The OAS is a subsystem of the ADAS and functions by assisting the driver in the overtaking process. The transition between different levels of the OAS is shown in Figure 1. In the cooperative assistance system some assistance systems in different vehicles can work together by means of communication, such as the Vehicular Ad hoc NETwork (VANET). Some VANET research has been conducted by [11], [12].

Figure 1. Transition between different levels of OAS
In general, research on the OAS includes the development of part of the decision making system, as carried out by [13] and [14], as well as development of the OAS for autonomous overtaking, as in [15], [16]. Some of the methods used in the development of the OAS include, among others, fuzzy logic (for example, [17]- [19]), reinforcement learning (for example, [20], [21]), and model predictive control (for example, [22]). Radar and lidar sensors are two commonly items used in the OAS. Currently, a vision-based OAS has also been developed (for example, [23], [24]).
Research to develop the OAS, among others, has been conducted by the Continental Corporation in cooperation with the Technical University Darmstadt (TU Darmstadt), along with the Research on Overtaking and Advanced Driver Assistance Systems (ROADAS) by TU Delft, and the University of Porto in Portugal.
Development of the OAS will be the basis for the development of driverless vehicles, like Google Car. It is estimated that by 2020 driverless vehicles will be marketed by car manufacturers such as BMW, Nissan, Toyota, Ford, and Mercedes.

Research Method
The OAS based on fuzzy logic is developed with due regard to overtaking on unidirectional and bidirectional roads. In certain situations the overtaking manoeuvre cannot be performed. Therefore, this study also takes note of pending/delayed overtaking.

Overtaking manoeuvre
The overtaking strategy that is used as a reference in the development of the OAS in this study is normal/accelerative. The normal strategy in overtaking is mostly used by the driver [25], [26]. The strategy can be divided into approaching, tailgating, lane changing, passing, and lane returning.
Overtaking on a unidirectional road is illustrated in Figure 2. Car A (the ego car/vehicle) will overtake car B, while car C is in the right lane. The process will begin with car A approaching car B. If lane changing is not possible then car A will tailgate. Car A will change to the right lane if the situation allows (if the distance to cars B and C is enough), and also the speed of car B is still acceptable for overtaking. At the time of passing car A's speed will increase so that it is higher than the speed of car B. The final stage of overtaking is returning to the lane again.

Overtaking decision making
Decision making in the overtaking process is carried out in the approaching stage or during the tailgating stage. Improper decision making will possibly result in a collision when lane changing, passing, or lane returning.
A collision when lane changing is due to lack of attention to speed or/and distance of car B. A collision in the passing stage and when lane returning is due to lack of attention to the speed or/and distance of cars B and C.
Two variables that must be considered in the development of the OAS decision-making system is the speed and distance. In this study, the speeds of cars B and C are considered fixed so that only the distance is considered. A restriction when considering this problem is due to the limited sensors that are used in the simulation.

Overtaking decision making based on fuzzy Logic
The decision-making system based on fuzzy logic is designed in this study using the Mamdani method. Input membership functions at the OAS are the distance of car A and car B (distance1) and the distance of car A and car C (distance2). Figure 4 and Figure 5 show the membership functions of distance1 and distance2.  Figure 6 shows the output membership function the values of which are from 0 to 3 and are divided into three types, namely approaching, tailgating, and overtaking. The rules base used in the decision-making system can be seen in Table 1.  The results of the decision-making system design using Matlab software can be seen in Figure 7.

Hardware simulation
The block diagram of the OAS hardware simulation is shown in Figure 8. OAS hardware simulation is built using a remote control car, as shown in Figure 9 [27]. In the hardware simulation used two ultrasonic sensors are mounted on the front and side of the car. The sensor on the front is used to measure the distance to the car in front of the ego car, while a sensor on the side of the car is used to measure the distance to the car in the other lane.  Figure 9. Remote control car The microcontroller system that is used to control a remote control car and to implement the algorithm for decision-making system is the Arduino Uno R3. The ATmega328 microcontroller-based systems and library functions for fuzzy logic-based control can be added. The inference method used in the library functions is the Min-Max Mamdani method with the centre of the area for the defuzzification process.
In this simulation we used a main motor and steering motor. The main motor is the motor that becomes the prime mover remote control car and its speed can be controlled. The steering motor is the motor that can be used to control the direction of the remote control car. Both motors are controlled using Pulse Width Modulation (PWM) signals. Important data obtained during the testing of the hardware simulator is stored in a Secure Digital (SD) memory card via the Arduino shield.

Results and Analysis
The scenario used in the testing of the hardware simulator is as follows. 1. Overtaking on a unidirectional road 2. Overtaking on a bidirectional road 3. Delayed overtaking.
In the test two other remote control cars are used, the speeds of which can be set according as required. The ego car or car A is the car that is equipped with the OAS, car B is the car that will be overtaken, and car C is the car in the other lane.

Overtaking on a unidirectional road
In this test cars A, B, and C are running in the same direction. Car A is behind car B and car C is in another lane. It is expected that the situation will allow car A to overtake car B while taking into consideration car C.
The test results show a success rate (safety index) of 90%. A graph that illustrates the relationship between distance1, distance2, the fuzzy output, and the speed can be seen in Figure 10. At the beginning of the test in this scenario car A will approach car B. At this time when the output value of the decision-making system is less than 1 this means that car A is the one approaching. At 160 ms distance1 and distance2 allow the overtaking. At this time the OAS decision-making system output is worth more than 2. After overtaking sensor 1 will detect an object, or non car, and sensor 2 will detect car C.

Overtaking on a bidirectional road
In this test cars A and B are running in the same direction, whereas car C is driving in the opposite direction in the right lane. It is expected that the situation will allow car A to overtake car B while considering car C.
The test results show a safety index of 80%. A graph that illustrates the relationship between distance1, distance2, the fuzzy output, and the speed can be seen in Figure 11.
In Figure 11 it can be seen that at the time at 80 ms the positions of cars A, B, and C allow overtaking. The decision-making system's output at this time is more than 2; this means car A is the one overtaking. When car A is passing car B, the sensor 1 detects car C (not car B) while sensor 2 detects objects other than cars. Figure 11. Test results of overtaking on bidirectional road

Overtaking delayed
In this test cars A and B are running in the same direction, whereas car C is driving in the opposite direction in the right lane. It is expected that the situation does not allow car A to 83 overtake car B. The overtaking manoeuvre will be delayed by car A reducing its speed and then trailing (tailgating) car B. The test results can be seen in Figure 12. At the beginning of the test, cars B and C are at a certain distance from car A. When the decision-making system's output is worth less than 1 this means that car A is in the approaching process. When car A is near to car B, overtaking still cannot be undertaken because car C is too close in distance. At this time the decision-making system's output value is between 1 and 2, which means the system is tailgating or delaying the overtaking. A delay in overtaking is executed by car A, which adopts a lower speed so it does not hit car B.

Conclusion
The results show that the decision-making system based on fuzzy logic can be applied to the OAS. Based on the test the safety index value of overtaking on a unidirectional road is 90% whereas on a bidirectional road it is 80%.
The algorithm developed also allows delayed overtaking if the situation does not allow the overtaking manoeuvre. The algorithm developed still needs to be enhanced, among other procedures, by adding the input variables for the cars' speeds.  5 7 9 11 13 15 17 19 21 23 25 27 29