Presentation is loading. Please wait.

Presentation is loading. Please wait.

Traffic Flow Simulation Car-Following Model

Similar presentations

Presentation on theme: "Traffic Flow Simulation Car-Following Model"— Presentation transcript:

1 Traffic Flow Simulation Car-Following Model
By: Ittinop(Pun) Dumnernchanvanit

2 Introduction: What is done in this project? Why car-following model?
Simulate traffic following each individual car. Use AI to simulate driver’s behavior on road Observe and analyze traffic phenomena Why car-following model? Traffic is extremely complex and most phenomena are non-linear and cannot be solved easily and accurately through equations.

3 Example uses for simulation:
Can help maximize traffic flow. For instance, determine the most efficient automated red light, green light pattern. How far to put a warning sign for road block. Help in choosing between stop sign/red light green light at specific intersection

4 Phenomena Simulated: Shockwave Road block Cutting in front Platoon
System of four way and three way intersections

5 Mechanisms behind the simulation

6 Density Approximation

7 Mechanisms behind the simulation

8 Mechanisms behind the simulation
Angular movement calculated using turn radius. This way we can turn without worrying about speed

9 Mechanisms behind the simulation: Angular movement

10 Mechanism behind the simulation: Angular movement

11 Mechanisms behind the simulation: Turn radius
Turn radius calculation: (for future improvement) 1. Find intersection using y = mx+b etc. 2. Find distance from lane end to intersection 3. Find angle 3 4. Find turn radius

12 Mechanisms behind the simulation
how to show vehicle with its direction take car to center, then use rotational matrix, then take it back

13 Project code composition:
Car Lane Creator main

14 Car Variables: (x,y) Direction Max speed Max acceleration Max brake
Lane waypoints

15 Car Methods: react() –determines acceleration and angular movement. Basically that is how real world driver control car, pedal/brake for acceleration and wheel turning for angular movement. move() – move the car according to acceleration and angular movement. getFrontCar(), getBackCar(), getBackMostCar()

16 Lane Variables Methods Position Width Direction Leftlane, rightlane
Start, end Methods getDirection() insertAdjacentLane(Lane* leftlane_raw, Lane* rightlane_raw) isEqual(Lane* a)

17 Creator Works like car factory that spit out car on to lane from some specific point. Spit out if no car with in a specific distance starting_speed: = max_speed*(1-min_d/d); Adjust to different density automatically and will not over produce. Can adjust density using this.

18 Creator Variables: Methods Waypoints, endland transitions
Distance between cars Starting speed Chance to produce etc. Methods closeByCar() test if there is car near by the creator object (Can adapt do different density) createCar()

19 Main Set-up the system loop through time steps
Build lanes, and creators/or cars loop through time steps Run the car Record the results

20 Assumptions Max speed: 65 kmph Max acceleration: 3.79 m/s
All units in meters and seconds chose 0.1 sec for time step because human reaction is 0.2 sec Max speed: 65 kmph Max acceleration: 3.79 m/s (~7.1s 0-60mph) Minimum distance between car: 7m from center to center, or around 2-3m between car.

21 Max Flux Derivation What should max flux be?

22 Steady State Movie

23 Max Flux Data Distance between cars (m) flux (n/s) 24 1.06 19 1.18 14
1.27 (calc. = 1.285) 9 1 4 0.66

24 Shockwave Traveling disturbance in distribution of cars on road.
Usually backward motion

25 Shockwave Video:

26 Platoon This is an idea to group vehicle in to platoons to increase the capacity of road. This allow cars to be closer to each other. This will need smart car that can be driven by artificial intelligence

27 Platoon Video:

28 Platoon Data comparison: (Assume that on one of the lane, there is 50%/50% chance that creator will produce platoon or car.) average final time (s) flux (n/s) Platoon 1.73 No Platoon 27.174 1.27

29 Road Block: How it is done:
Car object contain pointer to object targetlane and lane Why targetlane? vehicles will also check other vehicle’s targetlane in their loop so they can recognize incoming car from another lane and yield for it.

30 Road Block: Algorithm At road block, vehicle slow down and tries to cut in front of another vehicle. distance to back car and to front car in target lane vehicle need to cut is set when vehicle is set to change lane, it turn and run toward the lane and then turn the wheel back when it is in the middle and

31 Something to keep in mind when looking at data
Time is counted from entering system to exiting system. If flux is low, it might means traffic jam might propagate much longer than system which means the car would have waited much longer outside the system than the case with less flux

32 Road Block Movie No sign, see block at around 100

33 Road Block Movie Sign at 100, see actual block around 200

34 Road Block Data: No Warning Sign Warning Sign Production distance
average final time (s) flux (n/s) 24 0.37 0.36 34 44

35 Cut in Front: How it is done
Driver looks to another lane to decide whether it is worth to cut in front. Then look to the back to determine if it is possible to do so

36 Cut in Front: How it is done
Judgment criteria driver use for front car: coefficient*( (speed of front car in our lane)*time +distance to front car in our lane )) (speed of front car target lane)*time +distance to front car in target lane where time is any set time, depending on driver’s experience. coefficient allow us to set how much we want the driver to cut

37 Cut in Front: How it is done
Then look at back car driver look at speed of back car and distance to back car. driver knows the amount of time he will use to cut in front. simple algorithm used is just, (coefficient*distance) >( (back car speed)*(cut time))

38 Cut in Front: Movie Show outside

39 Cut in Front: Data (5 lanes), del_t = 1.0s
Distance = 14 m Distance = 54 m Coefficient average final time (s) flux (n/s) Number of cuts per car 1.1 1.45 0.95 1.5 1.49 2.0 46.417 3.0 5.0

40 Keep in mind: Note that there are so much more variables such as car density we can manipulate and these behaviors might change totally.

41 Complex Road System: System of four lane with three lane attached to it on the east Cases: Red/green light all-way stop sign

42 Complex Road System: How it is done
Waypoints: the way point build and given to car creator makes sense because driver usually knows where he is going to go from the start. (most of the time) In this project, the waypoints are different lanes the car will go through before exiting

43 Complex Road System: How it is done
Red light/Green light set up Red light are built into lane class. Basically, car on the lane check if it is turned on, if so stop at the light if front car is farther than the lane end. Set red light in main class. Set repeating pattern using fmod() Assume no left turn

44 Complex Road System: Red light/Green light Video
Show outside

45 Complex Road System: How it is done
All way Stop signs in this project was extended from red light code. Check area in the middle and open green light to let some car in temporarily.

46 Complex Road System: All-way Stop Signs Video
Show outside

47 Complex Road System: Data
Red light/green light Stop signs Production Distance average final time (s) flux (n/s) 7 15 104.56 30 90.122 50

48 Complex Road System: Analysis
So traffic lights are better than stop signs in traffic flow at high flux. They have around the same efficiency at low flux. This is the reason why why we see all-way stop signs in areas with less traffic.

49 Thank you for Listening!
The End: Thank you for Listening!

Download ppt "Traffic Flow Simulation Car-Following Model"

Similar presentations

Ads by Google