Report setup group2 2016: Difference between revisions
Line 291: | Line 291: | ||
* ''Turn lane traffic estimation using autonomous vehicles ability to communicate efficiently and automatically''. The algorithm collects from each autonomous vehicle in which turn lane they are located and whether there are cars in front and behind them. This data is then used to estimate the total number of cars in that turn lane. This means that for an accurate estimation it is not necessary for all cars to be autonomous. | * ''Turn lane traffic estimation using autonomous vehicles ability to communicate efficiently and automatically''. The algorithm collects from each autonomous vehicle in which turn lane they are located and whether there are cars in front and behind them. This data is then used to estimate the total number of cars in that turn lane. This means that for an accurate estimation it is not necessary for all cars to be autonomous. | ||
* ''Announcing time till green to autonomous vehicle in order to create a green wave like effect.'' By telling autonomous vehicle when their light will be green, they will be able to adjust their speed in order to arrive just on time at the light. | |||
* ''Cost function calculation per lane and then the cost reduction calculation for each system state.'' The algorithm will first calculate the cost per turn lane/pedestrian crossing and then put the cost reduction for each system state in a list. | |||
* ''Cost function components:'' | |||
**R + N, reported number of vehicles plus the number of autonomous vehicles. This estimates the number of vehicles in a lane. Pedestrian lanes do not have this component. | |||
**<math>C*t</math>, a constant times the time that a vehicle has been waiting. This makes sure that vehicles waiting longer will be given a green light sooner. | |||
**<math>P*(t>T)</math>, a penalty will be given if a vehicle has been waiting longer than T. This prevents vehicles from waiting too long at the intersection. Contrary to the other two components, this does not improve throughput in any way. | |||
==Communication protocol == | ==Communication protocol == |
Revision as of 16:30, 23 October 2016
Introduction
In the introduction will be stated: the purpose of our assignment and the structure of the report.
Focus, Objectives and Approach
Focus
Our main focus area concerns: Automated traffic regulation (ATR).
Narrow that down is our specific focus: Updating the Current Intersection System to be Compatible with Autonomous Vehicles (Vehicle Intersection Control).
Restrictions on the focus area:
- Crossing has 4 directions.
- Traffic is randomly generated by a Gaussian distribution, the ratio between autonomous and normal cars will be changeable.
A multitude of traffic accidents happen at intersectionscitation needed. These are also the bottlenecks in terms of efficiency since human drivers have varying reaction times. Drivers can also get stressed behind the wheel and lose valuable time while commuting. Contemporary intersections could make traffic more efficient by utilizing data from sensors of autonomous cars and controlling autonomous cars passing the intersection. By making the intersections smarter, user comfort can be greatly increased. Also society will benefit from more efficient driving past intersections, since emissions can be greatly reduced, which benefits the environment. Enterprises will also be positively influenced, since people will be able to get to work quicker instead of being stuck at an intersection.
Objectives
Main objective:
- Optimizing traffic flow at intersections by making them compatible with autonomous vehicles.
Objectives:
- Using sensor data from autonomous cars to make traffic light algorithms more aware of current traffic
- Choose a suitable communication protocol between autonomous cars and the intersection.
- Find existing efficient algorithms for autonomous cars at intersection in a literary review.
- Combine said algorithm with current traffic light algorithms to optimize traffic flow of both normal and autonomous cars.
- Make sure the traffic flow is optimal, which results in less waiting time and less emission.
- Create a transition solution that can combine the use of autonomous cars with human drivers by using the current intersection system.
- Keep in mind the perception of safety and the actual safety of passengers inside the autonomous cars (level of comfort).
- Decrease the number of traffic accidents involving cars on crossings.
Approach
The approach that is chosen is research and simulation oriented. Most information on existing solutions must come from literature and ongoing research. By identifying the state of the art, we will try to combine traffic light algorithms with algorithms that only work with 100% autonomous cars at the intersection. When such combination has been made, a simulation will be created and tested, after which an evaluation will follow.
Initial USE-aspects
Regarding the Focus, Objectives and Approach, USE-aspects need to be evaluated to see what important goals can be defined with regard to the algorithm and simulation. In this subsection, the most important aspects will be discussed.
This is a USE-aspect from a society point of view. The crossing that is to be design should be compatible with the transition period after the introduction of autonomous cars on the market. In the beginning, the market-share of the autonomous cars will be relatively low compared to cars with human drivers. However, when the autonomous vehicles have been on the market for some time, the expectation is that the market-share will increase as society becomes more used to the presence of autonomous cars on the road. This means that the intersection should be usable for a minority as well as a majority of autonomous cars.[1]
As the percentage of autonomous cars on the crossing increase, this will impact the traffic situation. Human drivers might become a minority if the launch of autonomous cars is a success. This gives way for more advanced behavior from the autonomous vehicles. An example of this could be that when there are multiple autonomous cars subsequently nearing the crossing, they could use platooning to cross the intersection more efficiently. However, this is a hypothetical theory about the efficiency of autonomous cars that might be outside the scope of this research.
In the simulation the percentage of autonomous cars will be changeable so the results of the algorithm can be viewed for different market shares.
Viewing autonomous cars as lounge cars that adjust driving behavior to perfect timing and comfort
In the future, a plan for the autonomous cars is that they function as lounge cars for people to order to come and pick them up with the assignment to take them to the right destination at a certain arrival time. This image is envisioned by for example the CEO of Tesla, Elon Musk and the CEO of the taxi service Uber Travis Kalanick.[2]
However, it might be a more distant future image than is aimed for with this research. As previously mentioned, the full potential of this service might be reachable when the market-share of autonomous vehicles is increasing. Realizing a perfect solution for this aspect of autonomous driving when utilizing existing technology might therefore be outside the scope of this research.
Safety systems in communication between autonomous cars and the intersection
One of the keys to the customer acceptance of autonomous vehicles is decreasing the risk of hacking. Without means to stop this, customer acceptance will never be optimal.[2] However, the way to stop this lies in complicated software which would be a project alone to construct. It is possible however, to keep in mind the possibility of communication failure between the car and the crossing.
The risk of hacking however, is present in many modern technological applications. Personal computers are very sensitive to hacking and yet the majority of society has accepted the risk. A more recent example is the introduction of drones that are used in the airforce or modern surveillance technology. Although these technologies lead to many controversial debates, there is a large number of people who endorse the use of these systems.
In[3] it is argued that modern society itself is a “risk culture”. Society is constantly searching for new energy sources and technological advancement that can drive the earth forward. People are getting used to putting their trust in new systems since new technologies are increasingly being introduced into their lives. Risk nowadays also varies between social groups and cultures. This indicates that some groups will be more risk-taking than others and also that autonomous vehicles have a good chance of being accepted by the group that is most risk-taking and then gradually accepted by other cultures that are more apprehensive, despite the fact that the technology carries with it the risk of hacking.[3] This paints a more nuanced picture of the implementation of new technology into society, which many business and market studies do not consider.
Maximising the throughput while keeping in mind the safety of the users
When human drivers are passing the intersection, it will not feel safe to them if autonomous cars start planning ideal trajectories around them and overtake them on the right side of the road or cross right in front of their bumper because the autonomous car calculated that this would be possible. This is very risky since human drivers are easily scared and can react unpredictably and cause unavoidable collisions. When this occurs, another problem arises: how to collide as ethically correct as possible… Even if it might not be as efficient, autonomous cars will need to keep a certain distance to human drivers in mind.
However, one of the main advantages of autonomous driving is the predicted increased efficiency as well as safety. This indicates that a tradeoff has to be made between the efficiency of the autonomous cars and the safety and the perceived safety of the human drivers, in other words an optimization problem.
In the case of the perceived safety of human drivers, this is influenced by the way in which the autonomous cars plan their trajectory. If they plan their trajectories more aggressively (for example overtaking on the right), this will increase the discomfort of the human drivers. This aggression can be simulated by increasing or decreasing the constraints bound to the freedom of trajectory planning for the autonomous cars. What is less obvious is how to measure the level of discomfort of the human drivers, without the pitfall of resorting to simplified if-then reactions.
Efficiency or throughput however, is more easy to measure. For this, the mean time cars spend on a normal, autonomous car free crossing can be used. If after implementation of the new crossing this mean time decreases, the efficiency has increased.
The environmental factor
Society is involved in heavy environmental debate in which traffic plays an important role. The implementation of autonomous cars and taxi services, should decrease the CO2 -emission by their increased traffic efficiency. This means that if the throughput of the intersections is increased, society will benefit in environmental terms.
By using the mean carbon footprint of cars, the emission on the crossing can be measured. This will be an additional result to the optimization problem introduced above.
Conclusion
The market-share of autonomous cars will change rapidly in the transition period, which is the setting of this research. Therefore, it is important to consider the influence of this change when designing the intersection.
Focus is kept on the begin phase of the introduction of autonomous cars, which means that considering fully operational autonomous taxi services is outside the scope of this research.
The implementation of safety systems is an important factor in the introduction of autonomous vehicles. Even though the design of such software is subject matter for future work, in this design problem communication failure and the consequences of this can be considered.
An optimization problem is introduced when considering the (perceived) safety of human drivers and the efficiency of the intersection. The latter can be measured and identified, while the human factor of perceived safety leads to reactions that are more complicated to consider, without resorting to unrealistic simplifications.
Conclusion
Literature study
In this chapter the state of the art will be identified and summarized. Very specifically mention the research gap that was identified
Algorithms and plans for intersections with autonomous vehicles
Intersection algorithms
Sensors in automated vehicles
Current communication systems
As one of the objectives is to incorporate current technology into the design of the intersection that is compatible with autonomous vehicles, research has to be done to determine what communication systems are currently embedded in intersection systems.
VETAG/VECOM
These are systems that can be found in current intersections. VETAG stands for vehicle tagging and uses an induction-loop that is built into the crossing. This loop receives information from buses and ambulances through transponders that are built into the vehicle. [4]
The induction-loop sends out a signal every few time steps and if there is a vehicle with a transponder located above the induction-loop then the intersection will receive information on for example the bus number and bus line in order to know where the bus is going. The correct traffic lights can then become green. [4] [5]
Vecom stands for vehicle communication and is an extension of the Vetag technology. With Vecom, the induction-loop is able not only to receive information, but it can also give information to the vehicle itself; this can be a signal that indicates what crossing the vehicle is nearing. [4]
KAR
The KAR system stands for korte afstands radio in Dutch, which means short distance radio. This system is based on GPS signals, which permanently keeps track of the location of the vehicle by using location determination systems in the vehicle itself. This system eliminates the use of induction-loops, which is beneficial since these can be quite costly.[5][6]
Algorithm
Requirements, Preferences and Constraints
In this paragraph requirements, preferences and constraints (RPC’s) are listed that the design of the algorithm has to satisfy. The design has to satisfy any requirement that is formulated. This indicates that the requirements need to be specific and measurable.
Requirements
- The algorithm concerns a common four-way intersection with two turn lanes; one for going right, the other one for going left/straight. This limits the combinations of green/red, which is a good thing.
- Without any autonomous cars, the intersection will behave like a normal intersection.
- Autonomous cars know the following data:
- The current position: Current speed and distance from intersection, entry direction and which lane. (Odometer/GPS/Camera/Compass)
- It knows if a car is present in a cone of +45 to -45 degrees max 5 meters to either side of the car, no speed measurement. (Sonar)
- Knows speed and distance of a car behind if it's distance is within 5 meters. (Sonar)
- Knows speed and distance of a car in front if it's distance is within 5 meters. (Radar/camera/sonar)
- Autonomous cars will respond to traffic, and will avoid collisions on its own. (Without intersection communication)
- Communication between autonomous cars and intersection contains:
- Handshake of communication.
- Intersection can change velocity of autonomous cars.
- Send locations and possible speeds of cars near the autonomous car and itself to the intersection.
- Acknowledge data received.
- Using the data of car locations, the algorithm is able to provide more throughput to the directions that has more waiting traffic, to increase efficiency.
- Traffic intensity can be adjusted for all four roads.
Preferences
These are likes and want-to-haves. Measurability is less important.
- The algorithm is able to know when packet loss occurs, and is able to deal with such situations. (Amount of % packetloss can be adjusted)
- When the algorithms notices multiple autonomous cars are together, it will send data for them to become a platoon. However, if there is an significant amount of normal cars, the algorithm will decrease the number of cars in the platoon (communicated vehicle to vehicle).
Constraints
Necessary conditions, design choices are fixed from the start.
- Pedestrians are simulated but no cyclists. (They do not behave significantly different than pedestrians, as the roads can have cycling lanes instead of sidewalks.)
- Pedestrians have a maximal allowed waiting time. This cannot be exceeded. Extremely unlikely to be exceeded.
- Emergency vehicles will not be simulated (will be discussed).
- Cars will be generated according to a Gaussian distribution.
- Autonomous cars behave like human drivers, they do drive in platoons.
Changes in RPC's
Throughout the project, some RPCs have changed as a result of developments in the design process. Some requirements appeared redundant in the later stages of the project and some of the initial decisions in the RPC’s were adjusted.
- Speed
An example is the speed of a car. This was thought be vital information to be sent to the intersection. However, cars collision-avoid each other individually and for this they only need differences in distance. Furthermore, location data is enough for the algorithm to work. The intersection does send speed instructions to the cars because a green wave feature was decided to be implemented, which will be further explained in this chapter.
- Normal intersection
The statement without any autonomous cars, the intersection will behave like a normal intersection was removed. The algorithm is quite different from the most common vehicle actuated control algorithm, so when there are no autonomous cars it will not technically behave like a common intersection. Throughput results (among others) will be compared between vehicle actuated control, the designed algorithm with no autonomous cars and the designed algorithm with autonomous cars.
- Simulation of communication
Initially, the idea was to actually simulate the communication (TCP style) within Java. However, the same output can be achieved by randomly (amount can be adjusted within program) skipping information readouts, temporarily transforming blue cars into red cars but while including platooning.
- Platooning
The original idea was for autonomous cars to switch lanes and group together to form platoons. This proved to be too ambitious due to the fact that only the intersection is simulated and there is no room for normal roads leading up to the intersection. Autonomous cars do platoon when they are randomly spawned behind each other, communication of this type of platooning is done vehicle to vehicle and the intersection is not involved whatsoever.
- Maximum allowed waiting time implementation
The designed algorithm is a cost function. Therefore a maximum on the waiting time is in fact mathematically exceedable. Even when cost constants are close to infinity (which are not feasible), it is possible that the maximum waiting time is exceeded. A trade off will occur between the intersection deciding what is the most efficient and pedestrians not having to wait the maximal allowed waiting time.
Type of Algorithm
When creating an algorithm where path-planning is involved, one can choose to use an explicit algorithm, but there is also the option to use a neural network to have the autonomous cars learn for themselves. For this project, the choice was made to use an explicit algorithm. This is because the neural network problem is very complex and not always ethically correct. When these networks become more and more complex, the origin and the strategy of the decisions become untraceable, since these networks can grow more and more complex beyond the level of human comprehension.[7]
Also manipulation is a large problem regarding neural networks, especially in the use of automated vehicles, since ethically there are a lot of stakeholders. Companies might prefer to manipulate the neural network in such a way that the people using their cars are prioritized in dangerous situations.[7]
An explicit network, however, is very transparent. Everything about the algorithm is known and therefore not as easily manipulated. To achieve reasonable results from a neural network, a large knowledge base has to be constructed. For this project however, a good quality result can be achieved without the use of complex neural networks that bring ethical problems. For these reasons the choice was made to use a transparent, explicit algorithm.
Main Goals
This algorithm tries to achieve two main goals:
- Better throughput due to usage of dynamically gathered estimations of traffic;
- Smoother driving experience and less pollution by telling autonomous vehicles when the light will go on green, so it arrives at the light just in time.
The latter point is not a very complex algorithm, but requires the algorithm of the former to know ahead of time what state it is going to be in.
Concept of the Algorithm
Using estimations of the lane usage, it is possible to determine for all 18 states how many cars would be given a green light by switching to that state. Then the algorithm simply selects the state with the highest number. The algorithm should not let any individual wait too long. As such there is an upper limit for both the cars and the pedestrians on how long they are expected to wait at most. If this threshold is reached, then the algorithm should always turn the associated light green after the next state transition.
Combination of States
There are 18 possible combination of states that the traffic lights can be in. With a state is meant the combination of red and green lights at the intersection at a certain time. The list of states is as follows:
- All pedestrians green, all car lights red;
- 4 rotations of one right turn car lane green, 2 pedestrian routes green;
- 4 rotations of two right turn car lane green, 1 pedestrian route green;
- All right turn car lanes green, all pedestrians red;
- 4 rotations of one left and straight car lane green, one right turn lane green and one pedestrian route green;
- 4 rotations of one left and straight car lane green, two right turn lanes green and all pedestrian routes red.
The number of combinations is very limited due to the fact that left turns block all but one straight car route, the only straight car route it does not block is located on the very same turn lane.
Cost Function
The basis of the algorithm is formed by the cost-function. This method was beneficial for the algorithm design since different features could be added, altered and weighed throughout the design process in order to find a good balance in the cost function. The cost function represents the cost of having a light remain red. This cost consists of three elements: traffic, wait time and wait limit, as shown in the equations below.
- [math]\displaystyle{ Cost_{Lane} = Cost_{traffic} + Cost_{wait time} + Cost_{wait limit} }[/math]
- [math]\displaystyle{ Cost_{Lane} = N + R + C_1 \times t + P \times (t \gt T) }[/math]
Where ‘N’ is the number of autonomous cars in the turn lane, ‘R’ the number of normal cars in the turn lane as reported by the autonomous cars (R is smaller or equal to the total number of normal cars in the turn lane). Together the term N+R forms the traffic cost. In other words, the cost goes up when there is more traffic in a lane. ‘[math]\displaystyle{ C_1 }[/math]’ is an arbitrary constant that defines the importance of wait time and 't' the time since the first car started waiting in this lane. So the longer a car is waiting, the higher the cost becomes. 'P' is the cost penalty for having a lane wait too long (value should be arbitrarily large) and 'T' the maximum time a vehicle can be expected to wait at a intersection. In this way, no vehicle should ever wait longer than the maximum waiting time defined by ‘T’. Note that due to the way this cost function works 't' can slightly overshoot 'T' before the lane light goes on green, 'T' therefor need to be adjusted accordingly. As pedestrians are also a crucial part of an intersection system, a cost function has also been constructed for the pedestrian lanes. This is quite similar to the cost function for the car lanes, however the traffic element is excluded, since the current intersection system can register that there are pedestrians present at a crossing, but now how many pedestrians there are. The cost function for the pedestrians is as follows:
- [math]\displaystyle{ Cost_{Pedestrian lane} = Cost_{wait time} + Cost_{wait limit} }[/math]
- [math]\displaystyle{ Cost_{Pedestrian lane} = C_2 \times t + P \times (t\gt T) }[/math]
With its own values for [math]\displaystyle{ C_2 }[/math], T and P.
The cost for each state is the sum of the costs of all lanes that remain red in that state. However, to reduce computation time, the algorithm will calculate the cost reduction instead: This is defined as the sum of the cost of all lanes that will become green in that state. The algorithm will then select the state that causes the biggest cost reduction.
Several Design Choices
Resulting from the literature study and the USE-aspects, several design choices have been made that influence the algorithm. These will be discussed in this chapter.
Packet loss
As was shown in the USE-aspects in the Focus, Objectives and Approach chapter, fear of hacking and loss of ability of the car, plays a significant part in the user acceptance of autonomous vehicles. However since the security of the system of the cars and the intersection is outside the scope of this research, this cannot be explored in-depth. Packet loss, i.e loss of communication between the intersection and the car, is however an aspect that can be taken into account in a straightforward way. Since the intersection is filled with regular human driven cars that do not communicate, it is logical to make the default state of both the algorithm and the vehicles to be just like that:
- If an autonomous car cannot contact the intersection, it will default to simple intersection behaviour;
- If an intersection cannot contact an autonomous car, then it cannot even know that it exists, so it will treat it like a normal human driven vehicle.
- If communication fails halfway through, the autonomous car will again switch to the default behaviour.
This can be simulated by replacing the autonomous car with a human driven one. However, complete packet loss is an extreme case of failure: The communication does not work at all.
Packet loss is a generic way to describe all communication transmissions that fail. If a set of data, called a packet, fails to be in any way or shape received correctly, the packet is considered lost. A 100% packet loss is what has been discussed so far, but realistically a system does not switch between 0% and 100%, but fluctuates somewhere in between. This can have many causes, from interference to hardware failures. It is important not to assume the cause of the losses. Therefore, the algorithm cannot assume anything about why a vehicle has stopped responding for a few seconds. Simulating packet loss can be done by rolling a dice every time the algorithm accesses data of an autonomous car or every time it tills a car something it has to do. In the code this will often result in a random generator being called before each communication, then if the random generator says it fails, it should skip the communication code. This is best explained by an example: Let’s say there is an algorithm that estimates how many cars there are on each lane, it does so by asking each autonomous car where they are. In the simulation code this would involve the algorithm to go over a list of cars and then accessing it coordinates. Packet loss would then be simulated by having the algorithm skip a vehicle. This means for the algorithm that it will underestimate the number of cars in that lane. However, this estimate is still better than the old detection system that could detect at most one car. So here packet loss interferes but does not break the system. Note however that due to the (pseudo)-randomness of packet loss the estimate of number of cars in a lane will fluctuate, therefore the algorithm that uses this data must be able to cope with this.
Packet loss also occurs in the other direction. For example, when the intersection wants a vehicle to not drive through green, it could send it a message telling it not to drive through green. However due to packet loss it might not receive this message and as such it will just continue on its way. The algorithm can therefore not assume the vehicle actually does what it is told. At this point is might be obvious that any message telling a vehicle not to do something is bad design.
For safety purposes it might be necessary for all the communication to require acknowledgement responses. This way there is a significant chance the packet loss is detected and corrected by re-sending the message. However, remember that this acknowledgement message can get lost too. So even in this case it is still important that the algorithm does not make the assumption that communication succeeds.
Packet injection, or simply put: hacking.
For most part this is a matter of security. The only real way to prevent this is using encryption and other security techniques like obfuscation. For the most part this would be integrated into the communication system. In this project we are going to assume this does not happen. If hacking does happen, then the ship is already lost. Putting our lives at the hands of systems that are hack-able is normal these days. From aviation to the military, the dangers of hacked communication are real, but also very complex. All in all, while relevant, this is far beyond the scope of this project.
Spawning
It was decided not to acquire real traffic data and to insert that into our simulation. In real life vehicles have different length (vans, trucks, etc.); These are not included in the data. And and intersection has to be found with the exact same layout. This could be done, but it is also possible to compare different algorithms under different conditions with the same cars being spawned by using specific random seeds.
The time between vehicle arrivals in the simulation is composed out of three components: a base time that defines the minimum time between vehicles, a slider dependent time that allows the user of the simulation to determine the number of vehicles that arrive at the intersection and a random number, because vehicles arrive at an intersection in an unpredictable manner, or at least one should not assume it is predictable. This random number is a Gaussian distributed random variable.
Random seed and the auto-tester
In order to be able to compare multiple algorithms, they need to be tested in comparable situations. The random spawning of vehicles make causes the results of the simulation to be “noisy”. Sometimes the generator creates more or less favorable traffic. As a result one algorithm could get easier traffic than the other.
This can be avoided using a random seed. This random seed defines the results of the pseudo-random number generators. Using the same seed twice results in the exact same traffic. Allowing for accurate comparisons between algorithms.
These random seeds are automatically handled by the auto-tester. This system build into the simulation will run several consecutive experiments without requiring human input. One simply sets the simulation settings as the user wants it and then presses the A button. Now the auto-tester will expose several algorithms to the exact same traffic as defined by the random seed and settings. The auto-tester will generate a new random seed for each set of tests. It will run these tests at maximum simulation speed and will reset the speed back to normal once it is done. It also displays the results on screen allowing for quick comparisons.
Gauging
Every few years some intersections - especially in the city - need to be gauged and updated to handle changing traffic flow. This is a problem our intersection solves, since live traffic data is present to make efficient decisions. This leads to reduced costs for the municipality and an increases throughput in dynamic situations including holidays, rush hour and local events.
Green Wave-effect
The Green Wave system works by synchronizing several intersections to allow large groups of cars to pass through the region in one go. Using communication with autonomous cars could allow these vehicles to set the pace of other cars behind them in order to improve the effectiveness of the system. It is unpractical to set up a communication network along roads and between several intersections in order to communicate effectively with autonomous vehicles. This is also not the aim of this project. The goal is to create an effective intersection that is compatible with autonomous cars while keeping the current infrastructure and system intact. However, the Green Wave can be used in another way by just the one intersection that the autonomous vehicle is approaching. The car will receive an estimation of what state the intersection will be in when it arrives at the intersection. This information will initially have a large error when the car is quite far away and this error then decreases as the car moves closer to the intersection.
Communicating the green wave cruise speed with autonomous cars to normal cars
As a consequence of receiving the information about the states from the intersection as described above, the autonomous car will adjust its driving speed to the information that it receives. When human drivers encounter a Green Wave, they receive information via an LED-sign that says, if they drive a certain speed that is either equal to or lower than the maximum speed, they will have green light for an indicated number of times. However, not every driver tends to stick to the advised speed that is indicated on the Green Wave sign. Therefore, irritations and aggressive behaviour can be provoked when autonomous cars adjust their speed to the information provided by the intersection. In order to maintain the safety of the users of autonomous and human-driven cars, the human drivers need to be provided with information on the behaviour of the autonomous cars while they are driving so that they know what to expect when approaching an intersection.
In order to increase acceptance, it is important that drivers know what they can expect when nearing a crossing. Without any knowledge about how autonomous cars work, drivers might become annoyed by autonomous cars that adapt their speed to below the speed limit. A way in which acceptance of for example waiting time is increased among cyclists and pedestrians and that also decreases the aggression and risk of them running a red light is by implementing a traffic light that shows how long it takes before their light turns green. The advantage here is that people know what to expect when waiting at a traffic light. While nearing a crossing without information that autonomous cars are adapting their driving, human drivers may become confused.
For this reason, a method to increase the acceptance and decrease the aggressiveness of some drivers, signs can be put up beside the road that indicate that autonomous cars are adapting their driving to the situation handed by them through the intersection system. It will also help to send the human drivers approximately the same information as the autonomous cars, which might stop human drivers from feeling deprived of advantageous information. They will also know exactly what behaviour to expect on the road as they approach the crossing, which should stop some of the aggression and might make some people follow the lead of the autonomous cars. If the information that the autonomous cars genuinely leads to greater efficiency, it is expected that some of the human drivers will realize this and start following the autonomous cars. This could then indirectly lead to platooning with human drivers and autonomous cars if the autonomous are clearly recognizable for the human drivers, however this is still only speculation.
Specific Situations
Not everything can be simulated. In this chapter some situations are explained and elaborated on why they are not in the simulation and how it would affect the intersection if they were. In some situations, the designed intersection cannot add something to that of a normal one. There are also situations where it does not matter if it is a normal or an autonomous car that encounters a situation. In these specific cases, the answer is always the same: it will not be implemented in the simulation. Therefore, before each situations the following questions are asked: What are the actions for the intersection? Does it matter if there is a normal or an autonomous car involved?
- Emergency traffic, ambulances
When emergency traffic needs to pass through the intersection at high speed, several lives are ON the line. The intersection helps these vehicles and reduces the chance of an accident by setting all lights to red. This is already implemented in the KAR-system so it does not need to be included explicitly in the simulation. In real life situations, traffic moves to the sides for the emergency services.
A question that arises is, do autonomous cars move out of the way when an ambulance approaches? As of yet, only Google is actively working on this feature SOURCE. It works by detecting light patterns. In case of Tesla SOURCE - which is a semi-autonomous vehicle - the users are responsible for moving out of the way. A feature for the future could be that intersections sends information of the emergency traffic to the autonomous cars for them to react upon, since direct light from the sirens can easily be blocked. This way, traffic is less dependent on their own sensors.
- Traffic accidents
It is even a hard situation for human drivers when an accident happens on the intersection itself. More often than not, traffic regulators or local police helps direct traffic. For the intersection to act when a collision happens, it first needs to detect a collision. If an autonomous car is involved it could be handled fairly easily. However, when two normal cars are involved, it can be quite difficult for the intersection to detect. Human drivers will often drive past the accident after most of the debris is cleared. It is a bad solution to set all light on red until the emergency services arrive, since people will become impatient. Situations including damage and injury, are often best solved by humans themselves. Autonomous technology is not advanced enough to think of the best way for the intersection to react to such a situation.
- Speeding traffic/road rage
An interesting situation is when an autonomous car detects a car speeding when headed to the intersection or driving through red. As in the situation with traffic accident, it is a bad idea to set all the light on red, since it would benefit the offender and is very susceptible to abuse. It is not convenient for autonomous cars to become moving speed cameras since the accuracy of these speed measurements is questionable. Aside from the accuracy, installing speed cameras alongside the road is in this case a less invasive and less expensive option.
- Platoon overtaking normal cars
Normal drivers can be scared when they see an autonomous platoon drive next to them. They have no visible drivers and are extremely close to each other. There is actually not much of a difference between the behavior of a platoon and an elongated vehicle. At first, it might look a little strange but the expectation is that it is very unlikely for drivers to be completely distracted when they see a platoon. Over time (half a year, when all drivers have seen a platoon) a little strange will become normal.
- Platoon braking/accelerating close to each other near normal cars
Normal cars do not participate in a platoon. The platoon itself maintains a safe distance between normal cars and will prevent normal cars from purposefully breaking up such a platoon. Just like the previous point, there is not much of difference between the behavior of a platoon and an elongated vehicle. There is no point for the intersection to prevent platoons from forming in specific situations.
- Autonomous cars acting as buffer (slower driving)
A situation that might be peculiar for drivers is when autonomous cars will drive slower than the maximum speed. This might also be very annoying. In some cities traffic signs display the best speed to drive for a green wave. The designed intersection sends this information to the autonomous cars, giving them the ability to act like buffers for traffic behind them. It is built in the simulation but because there are no long roads it is very difficult to see. The effectiveness is the highest when there are multiple intersections and roads involved (which are not simulated but very interesting for follow-up studies). To prevent annoyed human drivers that are forced to drive slower, having signs alongside the roads or a way for the autonomous cars to communicate back is necessary.
- Algorithm with different types of vehicles
The algorithm should be able to handle different vehicles like vans, buses or trucks. Currently only one type of car is simulated. Cost function variables will be slightly different because for example: more people fit inside a bus and trucks are longer and pollute more. For the intersection to detect and distinguish between these vehicles extra information from the camera sensors of the autonomous cars will be needed. This will make the algorithm progressively more complicated, and for this reason is not implemented in our version (but again, very interesting for a follow-up study).
Comparison Algorithm
In order to evaluate the results from the simulation a comparison needs to be made between the newly created algorithm and an existing algorithm. The existing algorithm is called “vehicle actuated control” and is currently implemented in nearly 80% of the intersections. However, this algorithm will have to be adjusted to be compatible with autonomous vehicles in order to be comparable to the new algorithm. When this adjustment is done, the functioning of the two algorithms can be compared for different percentages of autonomous cars on the intersection.
It is possible that the existing algorithm is more successful than the new algorithm when there are no autonomous cars present on the intersection. This is due to the fact that the existing algorithm has been created to function optimally for a traffic situation with only human drivers, while the new algorithm is made to function optimally for different percentages of autonomous cars on the intersection. So in case the existing algorithm proves to be more efficient in a situation with only human drivers, this does not disprove the efficiency of the new algorithm.
The algorithms will be compared for different percentages of autonomous cars as well as different traffic situations, like a situation when an ambulance approaches the intersection or a pedestrian who crosses through a red light. For more information on the different situations that will be tested, see the Specific Situatins Wiki chapter.
List of Features
In order to create an overview of the implemented elements of the algorithm, this paragraph provides a list of features that the algorithm contains.
- System states. A list of all possible combinations of green and red lights that are logical for an intersection situation and that are safe (so no crossing vehicle paths). The list is ordered such that the system state that is most favourable for pedestrians is at the beginning of the list and the ones most favourable for the cars at the very end.
- Transition between system states. The transition between system states is done in two steps; In step 1 the relevant lights are set to yellow and in step 2 they are then set to red. Pedestrian lights stay green during step 1 (since they are never yellow). If a light is green in both the original and the new state, it will remain green during the transition.
- Car detection and timers. Modelling the old-fashioned detection system that detects whether there is a car waiting right in front of the traffic light. The time that this one car is waiting and the time that there are no cars waiting are measured.
- Turn lane traffic estimation using autonomous vehicles ability to communicate efficiently and automatically. The algorithm collects from each autonomous vehicle in which turn lane they are located and whether there are cars in front and behind them. This data is then used to estimate the total number of cars in that turn lane. This means that for an accurate estimation it is not necessary for all cars to be autonomous.
- Announcing time till green to autonomous vehicle in order to create a green wave like effect. By telling autonomous vehicle when their light will be green, they will be able to adjust their speed in order to arrive just on time at the light.
- Cost function calculation per lane and then the cost reduction calculation for each system state. The algorithm will first calculate the cost per turn lane/pedestrian crossing and then put the cost reduction for each system state in a list.
- Cost function components:
- R + N, reported number of vehicles plus the number of autonomous vehicles. This estimates the number of vehicles in a lane. Pedestrian lanes do not have this component.
- [math]\displaystyle{ C*t }[/math], a constant times the time that a vehicle has been waiting. This makes sure that vehicles waiting longer will be given a green light sooner.
- [math]\displaystyle{ P*(t\gt T) }[/math], a penalty will be given if a vehicle has been waiting longer than T. This prevents vehicles from waiting too long at the intersection. Contrary to the other two components, this does not improve throughput in any way.
Communication protocol
In order to make the algorithm work, a communication protocol has to be implemented in the intersection system. Following the literature research on current communication systems that exist between intersections and busses and ambulances, the KAR system was identified. This is a system that is already present in current intersections. It is based on a short distance radio. [8]
When implementing it into the situation with autonomous cars, every autonomous car will be able to send information on their position, provided by their navigation system, to the intersection. The intersection is then able to know where every autonomous car is on the intersection. In reverse, the intersection is able to send information to the autonomous cars as well. In that way, the cars can anticipate on the time they will have to wait at the intersection and adjust their speed accordingly so a minimum amount of breaking and quick speed reduction is required, which increases the comfort for the autonomous car users. [8]
It is also possible to implement a reservation system into the KAR system as it is already used for buses. The bus can now send their route information to the intersection so that the intersection knows how high the priority for that bus is. The same system could be used for autonomous cars. However, the question is how fair this is toward human drivers who will not be able to send their level of priority to the intersection. Therefore, it might not be user-friendly to implement this part of the KAR system into the intersections. The system should be used though when an ambulance or police car approaches. [8]
Another aspect of the communication protocol is to make use of the detection loops that are embedded in the roads. These differ from the more expensive communication loops that are used by the VETAG and VECOM systems as described in the literature study, in the sense that they only register when there is a car on top of the loop. This system can register only that there is a car and not how many cars are present. So whenever there is a non-autonomous car present at the intersection on the loop and there are no autonomous cars that can register this car, the vehicle will still be registered.
By using the communication protocol described above, the currently embedded software can be utilized without having to rebuild the entire intersection and changing its systems.
Simulation
Here the implementation of the algorithm is stated and the choices and methods for the simulation are explained. Like the choice to generate the traffic by a Poisson distribution and what the things are that we designed but did not include in the simulation.
USE aspects
In this chapter the USE-aspects of the algorithm will be explained and evaluated. The traffic in the simulation can be divided into two categories: the cars and the pedestrians. Both of these categories are influenced by the behaviour of the intersection system. Therefore, both of these have to be evaluated. In the first paragraph, the USE-aspects for the cars will be discussed where a distinction is made between autonomous cars and non-autonomous vehicles. In the second paragraph, the USE-aspects for the pedestrians are discussed.
USE-aspects for cars
- Cost function
The algorithm is based on a cost function, which allows for inclusion of different influences that affect the users. As stated in the Algorithm section, the cost-function for the cars is:
[math]\displaystyle{ Cost_{lane} = (N + R) + C_1 \times t + P \times (t\gt T) }[/math]
The different variables are explained in the Algorithm Chapter. This equation indicates that the cost for the traffic consists of the number of registered autonomous cars and the number of non-autonomous cars that have been registered by the autonomous cars and the detection loops that are present in the intersection. The cost of the wait time is determined by the time that the cars are waiting at the intersection and an arbitrary constant which defines the importance of the waiting time. The last term is the cost of the wait limit. The maximum waiting time is defined by T. Whenever the actual waiting time exceeds the maximum waiting time, the cost for this lane will increase significantly as P is a constant that is arbitrarily large.
Another noticeable aspect of the cost function for cars is the term N+R, where N is the number of autonomous cars that the intersection has registered and R is the number of reported non-autonomous cars that have been detected by the autonomous cars. This means that the cars that are not at a detection loop or are directly behind or in front of an autonomous car, will not be registered in a lane. This means that in case a lane consists of several autonomous cars and a few non-autonomous cars, this lane will be prioritized over a lane that may consist of a larger total number of non-autonomous cars as sketched in the image below.
In the above situation the red dots indicate non-autonomous cars and the blue dots indicate autonomous cars. In the lane with five non-autonomous cars only the first car is registered by the detection loop in the intersection. In the lane with four cars, the two cars that are autonomous register two non-autonomous cars. Should the cost function be built in a way that this problem frequently occurs, this would be unethical. However, there are other factors that even this problem out. In reality, the situation sketched above is extreme as also other factors play a part in determining the priority of the lanes. Autonomous cars will generally be spread over several lanes, especially when the percentage of autonomous cars on the road increases. This indicates that the difference in situations between the lanes will be less than what is sketched in the above situation.
From this analysis can be concluded that in extreme situations (especially when there are still only a few autonomous cars on the road), the cost-function can behave unethically. However, in reality the situation is more nuanced by influences from several lanes and pedestrians.
- Green-wave aspect
The idea of the “green wave” for autonomous scars is that the intersection sends information about the current states and expected states to autonomous cars that are nearing the intersection. This information has a certain error that decreases as the car comes closer to the intersection. As a consequence, the autonomous car will adjust its driving speed to the information that it receives. This corresponds with the known principle of the “green wave” where drivers are notified via a sign that, if they drive a certain speed that is either equal to or lower than the maximum speed, they will have green light for an indicated number of times. Not every driver tends to stick to the advised speed that is indicated on the “green wave”-sign. Therefore, irritations and aggressive behaviour can be provoked when the fact that autonomous cars adjust their speed to the information provided by the intersection. In order to maintain the safety of the users of autonomous and human-driven cars, the human drivers need to be provided with information on the behaviour of the autonomous cars while they are driving so that they know what to expect when approaching an intersection.
In order to increase acceptance, it is important that drivers know what they can expect when nearing a crossing. Without any knowledge about how autonomous cars work, drivers might become annoyed by autonomous cars that adapt their speed to below the speed limit. A way in which acceptance of for example waiting time is increased among cyclists and pedestrians and that also decreases the aggression and risk of them running a red light is by implementing a traffic light that shows how long it takes before their light turns to green. The advantage here is that people know what to expect when waiting at a traffic light. While nearing a crossing without information that autonomous cars are adapting their driving, human drivers may become confused.
As the previous shows that drivers need to know what to expect, signs can be put up beside the road that indicate that autonomous cars are adapting their driving to the situation handed by them through the intersection system. It will also help to send the human drivers approximately the same information as the autonomous cars, which might stop human drivers from feeling deprived of advantageous information. They will also know exactly what behaviour to expect on the road as they approach the crossing, which should stop some of the aggression and might make some people follow the lead of the autonomous cars. If the information that the autonomous cars genuinely leads to greater efficiency, it is expected that some of the human drivers will realize this and start following the autonomous cars. This could then indirectly lead to platooning with human drivers and autonomous cars if the autonomous are clearly recognizable for the human drivers.
In order to implement the signs for the human-drivers, the currently existing green wave LED-signs may be used. Additionally, a larger sign may be placed along the road that shows an image of the autonomous car situation.
- Safety
As mentioned in the Focus, Objectives and Approach chapter, the user might be fearful of malfunctioning of the technology as this could be life-threatening. To this end, the simulation includes the case in which packet loss occurs. When the communication with the intersection fails, the autonomous vehicles will not receive any information on the states of the intersection. This will imply that the autonomous car starts behaving like a human-driven vehicle and react to the situation as it is. This will not endanger any of the passengers in the autonomous car where the packet loss occurs or the surrounding traffic. However, it will take away the advantage of receiving the information from the intersection and therefore the amount of comfort the passengers experience will decrease.
USE-aspects for pedestrians
The cost function for the pedestrians is quite similar, with terms for the wait time and the wait limit as shown in the following equation.
[math]\displaystyle{ Cost_{pedestrian lane} = C_2 \times t + P \times (t\gt T) }[/math]
Noticeable is the exclusion of the N+R term from the pedestrian cost function. This is because the number of pedestrians is not measurable when using the current technology in the intersection. This would indicate that the cost for the pedestrians is generally lower than the cost for the cars, which would prioritize the cars over the pedestrians. This is not user-friendly as pedestrians are often exposed to weather while waiting. If they are always forced to wait the maximum waiting time, this would create a large level of dissatisfaction with the pedestrians and this would discourage people to come by foot, which would indirectly be bad for the environment. The way in which this is solved is by tuning the [math]\displaystyle{ C_1 }[/math] and [math]\displaystyle{ C_2 }[/math] constants so that these bring the cost functions closer together. Also in the case of bad weather, the constant [math]\displaystyle{ C_2 }[/math] may be tuned to have even more impact to ensure the comfort of the pedestrians. Also, in case several intersection states have the same cost, the priority will go to the states that allows for the pedestrians to cross that have waited the longest.
Since waiting longer than maximally tolerable is not user-friendly, the value P is arbitrarily large to ensure that no lane waits more than the maximum allowed time T. This is applied for pedestrians as well as cars.
When the cost of several states are equal, pedestrians are prioritized because of their generally lower level of comfort (due to being exposed to weather and other factors outside at a busy intersection). Also their cost function is brought closer to the cost function of the cars by tuning the [math]\displaystyle{ C_1 }[/math] and [math]\displaystyle{ C_2 }[/math] constants, which results in less prioritizing of cars over pedestrians due to the missing traffic factor in the pedestrian cost function.
The cost function as presented will ensure the dynamic behaviour of the intersection, which makes sure to increase efficiency to benefit user, society and enterprise, but which also increases the fairness of an intersection algorithm as for example more vulnerable users like pedestrians are prioritized when the cost of several states is equal.
Results
Evaluation
Validation
References
- ↑ Unknown. (2015, 08 18). Forecasts. Retrieved from Driverless-future: http://www.driverless-future.com/?page_id=384
- ↑ 2.0 2.1 Intelligence, M. (2016). Autonomous/Driverless Cars – Market Potential Estimation and Possible Competitive Landscape – Forecasts, Trends and Analysis (2016 - 2021). Retrieved from Mordorintelligence: http://www.mordorintelligence.com/industry-reports/autonomous-driverless-cars-market-potential-estimation?gclid=CJmT0Me6oM8CFYu6GwodhhABbw
- ↑ 3.0 3.1 Flynn R., Bellaby P. (2007). Risk and the Public Acceptance of New Technologies. New York: Pelgrave Macmillan.
- ↑ 4.0 4.1 4.2 Techniek, S. (sd). VETAG/VECOM/SICS. Opgehaald van ssstechniek: http://www.ssstechniek.nl/?page_id=40
- ↑ 5.0 5.1 Crow, K. (2015). Selectieve detectoren. Opgehaald van Crow: http://www.crow.nl/vakgebieden/verkeer-en-vervoer/verkeersmanagement/verkeersregelinstallaties/regelingen-voor-specifieke-doelgroepen/verkeerslichten-en-hulpdiensten/selectieve-detectoren
- ↑ Gelderland-Midden, V. e. (sd). Ambulances sneller door KAR. Opgehaald van vggm: http://www.vggm.nl/ambulancezorg/over_de_ambulancezorg/nieuws_ambulancezorg/nieuwsarchief_ambulance/ambulances_sneller_door_kar
- ↑ 7.0 7.1 Goodall, N. (2014). Ethical Decision Making During Automated Vehicle Crashes. Transportation Research Record: Journal of the Transportation Research Board, 2424(7), 58–65. http://doi.org/10.3141/2424-07
- ↑ 8.0 8.1 8.2 Duwel, P. (2008). KAR'en maar! Korte Afstand Radio voor prioriteit bij verkeerslichten. Rotterdam: Kennisplatform Verkeer en Vervoer.
Planning and task division
This is included as an appendix to the report.