CarFollowing Model By Ittinop Pun Dumnernchanvanit Introduction What is done in this project Simulate traffic following each individual car Use AI to simulate drivers behavior on road ID: 402676
Download Presentation The PPT/PDF document "Traffic Flow Simulation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Traffic Flow SimulationCar-Following Model
By:
Ittinop
(Pun)
DumnernchanvanitSlide2
Introduction:
What is done in this project?
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.
Slide3
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 intersectionSlide4
Phenomena Simulated:Shockwave
Road block
Cutting in front
Platoon
System of four way and three way intersectionsSlide5
Mechanisms behind the simulation
SpeedSlide6
Density ApproximationSlide7
Mechanisms behind the simulation
Acceleration:Slide8
Mechanisms behind the simulation
Angular movement calculated using turn radius.
This way we can turn without worrying about speedSlide9
Mechanisms behind the simulation: Angular movementSlide10
Mechanism behind the simulation: Angular movement
Angular movement:Slide11
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 radiusSlide12
Mechanisms behind the simulationhow to show vehicle with its
direction
take car to center, then use rotational matrix, then take it backSlide13
Project code composition:Car
Lane
Creator
mainSlide14
CarVariables:
(
x,y
)
Direction
Max speed
Max acceleration
Max brake
Lane
waypointsSlide15
CarMethods:
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
()Slide16
Lane
Variables
Position
Width
Direction
Leftlane
,
rightlane
Start, end
Methods
getDirection
()
insertAdjacentLane
(Lane*
leftlane_raw
, Lane*
rightlane_raw
)
isEqual
(Lane* a)Slide17
CreatorWorks 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.Slide18
CreatorVariables:
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
()Slide19
MainSet-up the system
Build lanes, and creators/or cars
loop through time steps
Run the car
Record the resultsSlide20
Assumptions
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.Slide21
Max Flux DerivationWhat should max flux be?Slide22
Steady State MovieSlide23
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.66Slide24
ShockwaveTraveling disturbance in distribution of cars on road.
Usually backward motionSlide25
ShockwaveVideo:Slide26
PlatoonThis
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 intelligenceSlide27
PlatoonVideo:Slide28
PlatoonData 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
24.1601
1.73
No Platoon
27.174
1.27Slide29
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.Slide30
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 andSlide31
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 fluxSlide32
Road Block MovieNo sign, see block at around 100Slide33
Road Block MovieSign at 100, see actual block around 200Slide34
Road Block Data:
No Warning Sign
Warning Sign
Production
distance
average final time (s)
flux (n/s)
average final time (s)
flux (n/s)
24
70.7099
0.37
51.7759
0.36
34
41.8327
0.366667
28.6344
0.426667
44
36.5018
0.37
23.2858
0.423333Slide35
Cut in Front: How it is doneDriver
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 soSlide36
Cut in Front: How it is doneJ
udgment
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 cutSlide37
Cut in Front: How it is doneThen 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))Slide38
Cut in Front: Movie
Show outsideSlide39
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
average final time (s)
flux (n/s)
Number of cuts per car
1.1
48.9568
1.45
1.69195
38.8109
0.95
0.22807
1.5
48.3438
1.49
1.05593
38.7677
0.95
0.157895
2.0
46.417
1.48667
0.44843
38.7014
0.95
0.101754
3.0
45.8578
1.49333
0.176339
38.7028
0.95
0.0982456
5.0
45.7897
1.49
0.152125
38.7021
0.95
0.0982456Slide40
Keep in mind:Note that there are so much more variables such as car density we can manipulate and these behaviors might change totally.Slide41
Complex Road System:System of four lane with three lane attached to it on the east
Cases:
Red/green light
all-way stop signSlide42
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 exitingSlide43
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 Slide44
Complex Road System: Red light/Green light Video
Show outsideSlide45
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. Slide46
Complex Road System: All-way Stop Signs Video
Show outsideSlide47
Complex Road System: Data
Red light/green light
Stop signs
Production Distance
average final time (s)
flux (n/s)
average final time (s)
flux (n/s)
7
102.126
1.87143
110.135
0.485714
15
97.4733
1.87143
104.56
0.614286
30
90.122
1.81429
92.4511
0.642857
50
83.9205
1.67143
74.2911
0.642857Slide48
Complex Road System: AnalysisSo
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.Slide49
The End:Thank you for Listening!