• No results found

VTI Traffic simulation model : A program for the Monte Carlo simulation of vehicle traffic along two-lane rural roads: An application of JSP and SIMULA-67 language

N/A
N/A
Protected

Academic year: 2021

Share "VTI Traffic simulation model : A program for the Monte Carlo simulation of vehicle traffic along two-lane rural roads: An application of JSP and SIMULA-67 language"

Copied!
87
0
0

Loading.... (view fulltext now)

Full text

(1)

VTI

Traf c simulation model

A

Program fortheMonte Carlo Slmulatlon of Vehicle

Traffic along Two-

LaneRuralRoads

An Application of JSP and SIMULA67 Language

Revisededition

(2)

t .v

e 1: r

.5? .= ~.

VT! Traitic simulation model

A Program for the Monte Carlo Simulation of Vehicle

Traffic along Two-Lone Rural Roads

An Application of ISP and SIMULA-67 Language

Revised edition

by Anders Brodin .

(3)

Road and Traffic Research Institute (VTI) during some years. This

development work was commissioned by the National Road

Administra-tion.

The fundamental idea of this traffic model is to describe traffic

charac-teristics on two lane rural roads by simulation technique. A

comprehen-sive program system has been developed to support the model. This makes

it possible to have a completely computerized handling of the very

complex model and its input and output data. Most of the computer

programs in the system are written in SIMULA.

The present report is a documentation of the VTI traffic simulation

program and replaces the report

"VTI MEDDELANDE NO. 143"

(reference No. 6). This latter report has become out of date by the

continued program development during 1979 to the beginning of 1983.

The development work was led by Gosta Gynnerstedt. The following

persons also participated in the JSP structuring and SIMULA programming

work for longer or shorter periods of time: Anne Bolling, Anders Brodin,

Bernt Henricson and Goran Levander.

If you wish to obtain further documentation of the program, please notify this to the Institute.

The author will be grateful for any suggestions or opinions of use in future

development work.

(4)

1.1

1.2

1.2.1

1.2.2

1.3

1.3.1

1.3.2

4.1

#2

4.2.1

4.2.2

5.1

5.2

FOREWORD

ABSTRACT

BACKGROUND

General background

Basic attributes of the traffic simulation model Free flow traffic

Interaction model

Program system for traffic simulation

Input data

Output data

GENERAL PROGRAM DESIGN

THE ROAD

THE EQUIPAGE

Equipage attributes and basic behaviour

Short description of equipage procedures

Variables controlling behaviour

Predictive routines

STRUCTURES

Notation rules in Jackson structures

Program structures for equipages

SOURCE PROGRAM LIST

REFERENCES

VTI MEDDELANDE 322A

10

12

12

15

15

20

23

23

211

44

81

(5)

An application of JSP and SIMULA-67 language

Revised edition

by Anders Brodin

National Swedish Road and Traffic Research Institute (VTI)

5-581 01 Linkoping, Sweden

ABSTRACT

This report deals with a simulation program which describes the dynamic

sequence of vehicle traffic over defined stretches of road for given

traffic volumes and traffic compositions. In the program the stretch of

road considered consists of a sequence of consecutive road block objects

and a sight distance function in each direction of travel. Each road block

object is homogeneous with regard to the following:

Road width and road surface type

Auxiliary lane/lateral space (i.e. wide shoulder)

Slope

0

Horizontal curvature

Speed limit and

Overtaking restrictions

Jackson Structured Programming Technique (35?) has been used in

system and programming work and the programming language is

SIMULA 67.

(6)

This report describes a computer program for simulating vehicle traffic

on two-lane rural roads.

For this purpose structured programming has

been used. Programming language is SIMULA 67.

As far as is known this is the first time ESP structured programming and

SIMULA 67 have been applied together with a technical program of this

size.

The program described in this report forms part of a program system. The

program system in turn forms part of a comprehensive, long-term Rod)

project assigned by the National Road Administration.

The purpose of

this project is to determine the effect on traffic of road and traffic

engineering schemes in order to establish traffic quality and road user

costs in the rural road network.

The background relating to system

analysis has been treated in Report No.- 44 of the National Road and

Traffic Research Institute (Ref. 1). This has led to the development of

the simulation model mentioned above, which describes the dynamic

sequence of vehicle traffic over defined stretches of road for given

traffic volumes and traffic compositions.

The program replaces one previously written program in ALGOL-GENIUS

since the computer used by the National Road Administration at that time

was the Datasaab D20.

Reprogramming has for several reasons been a natural consequence of the

following developments:

-

The number of effects concerning traffic as derived from simulation

have increased. This has led to repeated modification and expansion

of a successively more complex system model.

-

The simulation technique has proved powerful and an increasing

interest in the simulation model has been shown both in Sweden and

abroad.

(7)

1.2"

1.2.1

sions and adaptions to new problems.

Following a decision that the central program in the system required

rewriting, an inventory of existing techniques and programming languages

was made with the results described below.

Jackson Structured Programming (JSP) Technique has been used in systems

and programming work.

The programming language used is SIMULA 67 which has exceptional

qualities for simulation as well as permitting a lucid organisation of the

program text and well-structured data.

Basic attributes of the traffic simulation model

Reports No. 321 and 43 (ref. 2 and 3) of the National Road and Traffic

Research Institute contains documentation on the traffic simulation

model. Here we shall give only a general description of its basic

principles. On the basis of its applications the model is divided into one

part giving the speed of the freely moving vehicle along the road

free

flow traffic - and another part showing also the interactions between the

individual vehicles in the vehicle streams.

Free flow traffic

The basis of the moving vehicle part of the traffic simulation model. is a

statistical distribution of drivers' desired basic speed on an ideal road, i.e.

a wide, straight road with no speed limit. The stretch of road considered

is divided into homogeneous sections or road blocks with regard to these

parameters.

(8)

1.2.2

The speed distribution for this ideal situation is transformed to separate

speed distributions for each road block.

The road block thus is a

subdivision of the road which is homogeneous with regard to road width,

speed limit and horizontal curvature.

In addition, the stretch of road

is divided

curvature and overtaking restrictions.

considered,

into further road blocks relating to vertical

This method is described in more

detail in the Institute's report No. 321 (ref. 2). When an equipage is

overtaking these separate speed distributions are shift right.

The desired speed for an equipage

a driver-vehicle unit

in a particular

roadblock is designated as the equipage's block speed, which indicates the

driver's "wish".

Apart from the block speed the lepe, if any, is also

assigned to the block. Each vehicle has also been allotted a power/weight

ratio, or p-value, as well as air and rolling resistance, which decide its

ability to reach or maintain its block speed on the particular slope. If,

when entering a block, the equipage has a speed slower than the block

speed or cannot maintain its block speed due to the slope, its speed is

calculated with the help of Newton's equation for momentum.

The resulting speed is thus determined from a desire/ability situation

resulting in a speed profile along the road and in which corrections have

been made to the block speed with regard to the p value of the equipage

to allow for the vertical profile of the road and the air-and rolling

resistance.

Interaction model

In addition to the speed class and p-value each equipage is allotted a time

and road coordinate for starting, a direction of travel and an initial speed.

This permits faster vehicles to catch up with slower vehicles along the

road and leads to overtaking or following. If overtaking starts as soon as

one vehicle catches up with another, "flying" overtaking takes place. If

overtaking occurs after following, an "accelerated overtaking" is carried

OUT.

(9)

1.3

taking.

2. Space is available for overtaking with regard to surrounding equipages'

travelling in the same direction.

3. There is no overtaking prohibition.

4. A stocastic function is true. The probability is depending on

The impeding vehicle's type and speed.

Available sight distance.

Oncoming equipages within the sight distance or not.

Type of overtaking, "flying" or "accelerated".

Road width.

If the road has a wide shoulder overtaking can also take place by passing,

which means that the leading equipage moves with a particular probability

onto the shoulder.

If the road has a climbing lane the impeding equipage will move into this

lane.

During the overtaking sequence movements take place as described in the

freely-moving vehicle model.

When following occurs, however, the

vehicle follows

the preceding vehicle with a constant time headway

depending on the preceding vehicle's type.

Program system for traffic simulation

The simulation program described below comprises the "heart" of a

program system as shown in the accompanying diagram 1. In order to

facilitate understanding of the traffic simulation program itself a short

description of the overall programs is provided. In principle the traffic

simulation model is built up in a model system which permits the

following:

(10)

DRIVER

,.____-Egggi x ? VEHICLE

BANK ROAD , TRAFFIC

DATA I DATA / f 1 \/ ROAD TRAFFIC BLOCKING GENERATION PROGRAM PROGRAM DESCRIPTION DESCRIPTION OF THE OF THE Icy : TRAFFIC

INPUT ,1 _, _.. - ' / \

/

,. '

_, ,«e

.

4-

f

/ / f / / / /

TRAFFIC , TRAFFIC SIMULATION SIMDLATION

'

j//4//

O T" '""""" I . TRAFFIC 1 RESULTS 4

Ia-4----+

TRAFFIC , RESUET PROCESSINS J PROGRAMS §\\ / \ \ \ \ x » \ \ \ / \\\ \ \ \

STATISTICAL STATISTICAL TRAFFIC TRAFFIC OTHER DISTR AT DISTR. DESCRIPTION SAFETY TRAFFIC SPOTS BETWEEN CHARACTERISTICS CONCEPTS EFFECTS

. SPCHS ALONG THE RIM)

1 SPOT SPEED 1 JOURNEY SPEED l PERCENTAGES OF 1 RISR EXPOSURE TRAFFIC'NOISE 2 TIME READNAY 2 JOURNEY TIME VEHICLE KM As

I . - FREELY MOVING 2 CONFLICT TRAFFIC

3 QUEUE LENGTH AND - QUEUING SITUATIONS POLLUTION 4 QUEUE FREQ. 3 NUMBERS 0F - OVERTAKING/

OVERTAKING/ PASSING

PASSINGS

2 TRAFFIC TIME

DELAY

3 TRAFFIC .FUEL-CONSUMPTION

Diagram 1

The position of the simulation program in

the program system.

(11)

1.3.1

2. Simulation of the behaviour of equipages also taking into account the

interdependence of the surrounding equipages both in their own and

the opposite direction.

Here the SIMULA program is described for the latter of these cases.

Input data

Input data in the simulation program consists of road and traffic data.

Road parameters

Data input to the "road-blocking" program consists of road geometry as

well as speed limits and overtaking restrictions. In Sweden this

informa-tion is usually obtained from the Nainforma-tional Road Data Bank, if an existing

road is to be simulated. Other sources such as construction drawings can

also be used.

The road blocking program is used to provide a road

representation for simulation.

The first stage of the program consists of calculations of block speeds for

the free flow traffic program, Le. a road block median speed and a

transformation coefficient, or Q-value, is given for each block.

Sight distances are given in both road directions in the form of sight

distance polygons. These are obtained through direct input in the field or

from construction drawings. They may also be obtained from alignment

data by using a special calculation model.

Traffic parameters

Both simple and complex traffic generation programs have been developed

for simulating traffic streams in the stretch of road under consideration.

(12)

Flow in each direction

Flow changes

4 : t h 0 . . .

Partial flow of heavy vehicles (traffic composition)

1.3.2

Output data

The results of the traffic simulation are printed in chronological order and

are intended for further processing. Table 1 shows 19 different types of

result, the occasions during traffic simulation at which they are present

ed, a short description of the type of result provided and whether the

result is given unconditionally, conditionally or conditionally after the

time specified.

(13)

0 start of simulation general information and U and upon error error message

i equipage enters driver and vehicle U stretch of road characteristics

2 equipage leaves equipage status.) U

stretch of road

3 passing measuring equipage status, preceding U

point equipage headway, reference forwards and backwards,

energy consumption

a direct overtaking equipage status, equipage type, U started identity, type and speed of

proceeding equipage, sight

distance, distance to oncoming

equipage, speed of oncoming equipage

5 accelerated over- as for type 4 U started

6 overtaking completed equipage status U 7 passage point equipage status U 8 passage completed equipage status U 9 track change equipage status and new track U 10 following started equipage status U

ll opportunity for di as for type 14 0

direct overtaking not accepted

12 opportunity for acce as for type 4 O

lerated overtaking '

not accepted

13 block border passage equipage status, basic de« 8 sired speed, equipage type and power/weight coeffi-cient, energy consumption 14 every change equipage status, predicted C

times and speeds, etc.

15 overtaking is inter- equipage status . U rupted before

level-point

16 overtaking is finished equipage status . U after ievelpoint

l7. following terminated equipage status U 18 overtaking ievelpoint equipage status, 1..

identity, coordinate, speedand type of

l) the overtaken and 2) the oncoming vehicle

)0 equipage status refers to identity, road and time coordinates, speed and track

U = unconditional result

B = conditional result 0 a conditional result

L = conditional result ,

C -.-. conditional result after time specified f

(14)

SIMULA is pseudo-parallel execution, which can be regarded as a further

Ref (5). The

description of the events which relate to a particular type of object are

development of event control of dynamic sequences.

collected into a single process. The program consists of two processes:

1.

Process CLASS generator process

2.

Process CLASS vehicle

The processes, which also contain data and procedures, provide a natural

picture of the object they describe. In this way a good similarity to the

model is obtained which is very important since simulation models tend to

be highly complex.

1)

The equipage generator process creates

equipage objects and allots

them individual driver-vehicle attributes.

Here they are also allotted

their traffic attributes. These objects will throughout be termed quite

simply "equipages". Parameters which define equipages consist of, among

other things, the identity number, basic desired speed and power/weight

ratio. Parameters giving their traffic attributes consist of, for example,

starting point, starting time and direction of travel. The equipage

generator process also activates the equipages at their starting times.

The eguipage process describes all the possibilities for action that a

particular equipage has, for example, "drive as a freely-moving equipage",

"follow another equipage" or "overtake the equipage in front".

The

freedom of choice implied by the above covers many alternatives, which

means that the simulation model tends to be very complex. This in turn

places considerable demands on the program structure.

The equipage

process has therefore been designed in accordance with Jackson

structur-ed programming (JSP). Ref ((4).

15

"Create" here refers to the creation of storage space for the attribute and

the start of processing of the statements in the class body, or algoritm.

VTI MEDDELANDE 322A

(15)

THE ROAD

In the program the stretch of road considered consists of a sequence of

consecutive road block objects and a sight distance function in each

direction of travel. Each road block object is homogeneous with regard to

the following road geometry and traffic regulation parameters:

m

wn

wwr

Road width and road surface type

Auxiliary lane/lateral space (i.e. wide shoulder)

Slope

Horizontal curvature

Speed limit

Overtaking restriction

The road block is represented in the program as an object from the class

ROADBLOCK. This object has the following attributes:

II

III

Location and length

RCO

REL LENGTH

coordinate of road block beginning

road block length

Road geometry and Traffic regulation attributes

ROADWIDTH

LANE

RI

RQ

DVQ

RNONOVERT

References

RSIGHTLMAX

RSIGHTREF

road width class

occurrence of auxiliary lane/lateral space

slope

Q value

block speed for median equipage ** RQ

basic

desired speed for median equipage ** RQ

code relating to overtaking restriction

occurence and coordinates of sight

distance maximum

reference to distance length function

The road block object is linked in each direction in a SIMSET list with the

headings DIRECTIONI and DIRECTIONZ respectively.

(16)

The sight distance at different points along the road is approximated with

a linear function of the road coordinate. One function is required for

each direction of travel.

The sight distance function is represented for direction 1 in the program

by coordinate pair (BREAKPCOORDI), SIGHTDISTANI) and in a

corresponding way for direction 2.

To facilitate determination of the sight distance at an arbitrary point

along the road, the road block has here, as mentioned above, been given a

reference to the sight distance function in the same direction.

RSIGHTREan if Sn 5 RCO < 5n + i where Sn and Sn + i are road

coordinates for two consecutive breakpoints and WK is the road

coordi-nate of the road block beginning.

(17)

4.1

THE EQUIPAGE

Equipage attributes and basic behaviour

In the program the equipage is represented as an object from the class

VEH. The object has the following exogenous (EX) or endogenous (EN)

attributes.

I

Administrative attributes

IDNU

EX

identity number

DIRNU

EX

direction number

ORIGIN

EX

coordinate of the road for start of

equi-Page

OWNTRACK

EN

Track number

DEST

EX

coordinate of the road for destination of

equipage

FINISH

EN

destination reached

II

priver-vehicle attributes

VON

EX

basic desired speed

TIMEHEADWAY

EX

MINTIME

EX

PNORMAL

EX

P

EN

VEHTYPE

EX

VTI MEDDELANDE 322A

time headway

shortest stay in auxiliary lane/lateral space

after passing

power/weight coefficient allotted

Calculates the p value for the vehicle. If

the vehtype is 1 (private car) and in track 1

then the vehicle receives a stronger p-value.

In this case

30 if PNORMAL _<_ 22.5

PNORMAL + 7,5 if PNORMAL > 22.5

P = otherwise P = P normal

vehicle type

(18)

C2

EX

Cl

EX

W

EN

air resistance coefficient

rolling resistance coefficient

accumulated energy consumption

111

Traffic attributes of the equipage

FOLLOWING

BEHCATCHUP

LOCALCOORD

LOCALTIME

LOCALSP

AVERSP

PREDICT-NEXTEVTIME

PREDBL

BORDERTIME

PREDICTBL-BORDERSP

FREEBLSP

IV References

BLOCK

EN

EN

EN

EN

EN

EN

EN

EN

EN

EN

EN

equipage is following

equipage is caught up

road coordinate at preceding event

time of preceding event

speed at preceding event

speed from preceding event to next event

predicted time of next event

predicted time of passage of next road block

border

predicted speed at passage of next road

block border

free block speed

reference to actual road block

The events are assumed to occur momentarily at calculated times. At

each event the model data is updated and a particular event generated

from among the possible consecutive eVent types. A note of the predicted

event is inserted chronologically and logically in a list (SQS) and the

events are then executed in this order.

The ordinary cycle for an arbitrary equipage is:

l. Predict the time of the next event - PREDICTNEXTEVTIME

2.

Await the predicted time HOLD

-3.

Move the equipage in time and space DRIVE

(19)

During phase 1 of the cycle PREDICTNEXTEVTIME, BORDERTIME,

AVERSP

and

PREDICBLBORDERSP

are

calculated in

procedures

TIMETO... During phase 3 of the cycle the procedure DRIVE updates the

attributes

LOCALTIME,

LOCALCOORD,

LOCALSP,

AVERSP,

PREBLBORDERTIME and PREDICTBLBORDERSP.

During phase 2 of the cycle it may happen that adjacent equipage

interacts with the current equipage with the result that the predicted

time of the next event for this equipage is shown incorrect since it will

occur earlier.

Its ordinary cycle is consequently interrupted and the

current equipage considers that a "surprise" has occurred through the

SURPRISE procedure.

A prediction of a new earlier event for the

equipage is then made.

Each equipage has been allotted a "head" and a "tail".

The equipages

constantly attempt to drive so that their heads do not overlap their tails.

The lengths of the heads and tails are defined as:

(AVforw-AVERSP)22 . DACC if AVforw < AVERSP

head length =

0

otherwise

tail length :: TIMEHEADWAY

AVERSP

where AVforw is AVERSP for a preceding equipage.

Head length

therefore indicates the distance required to slow down with given

retardation DACC to the speed of the preceding vehicle. The tail length

is chosen so that equipages in a queue are separated by given time

intervals.

An important aspect of the program is that a road is divided into a

number of lanes, where each equipage in each lane behaves in a defined

manner.

(20)

4.2

l.l.2.1

Direction of traffic:

_ _ _ _ _ _ __ __ 3

Direction of traffic:

a) 7right-hand traffic 1

2

a) +right-hand traffic

b) < left-hand traffic

2_ _ _ _ _ _ __ _l

b) > left-hand traffic

3

An equipage can use three of the four lanes.

Lane 2 is the ordinary

lane in the direction of travel and lane 3 is a wide shoulder or auxiliary

lane. In lane 1 priority is given to traffic in the opposing direction.

An equipage remains in its lane until it decides to change lanes. The

reason for this decision may be in order to overtake, i.e. move out

into lane 1 or alternatively move onto lane 3 to allow a catching up

faster equipage to pass.

Short description of equipage procedures

To acquaint the equipage as to which of the many complicated situations

is in force, a number of procedures and variables are provided.

These situations are listed and described below. A brief description of the

predicting routines i.e. the procedures which, among other things,

calcu-late the time to a given next event, is also provided. The latter

procedures are similar in that they all give a time to the next block

border if this event type occurs before the given event.

Variables controlling behaviour

Basic routines

PREDICTCOORD

calculates the road coordinate for current

equi-page at the particular time (i.e at TIME)

PREDS(B)

Calculates the road coordinate for equipage B

at the particular time (i.e. at TIME)

PST(VEH,T)

Calculates the road coordinate for equipage

VEH at time T

VEHBACWITRK(X)

Calculates a reference to an equipage in track

x travelling behind

VTI MEDDELANDE 322 A

(21)

VEHEQUALTRK(X)

VEHFORWITRK(X)

PLATOONLEADERWO)

ONCOMINGVEHEQUAL

ORBACKWITRK(X)

ONCOMINGVEHFORW

ITRK(X)

LASTVEHINONCOMING

PLATooMX)

PASSING(X)

STARTPOSSIBILITY

CHANGETOTRACK(X)

BEHINDVEAFFECTED

VEHINTRK l AFFEC

REACTFORW

REACTBACKW

REACTTRKIVEH

CONSTRAINED

INTERESTING

ACC(SPEED)

VTI MEDDELANDE 322A

Calculates a reference to an equipage alongside

in track x

Calculates a reference to preceding equipage in

track x

Calculates a reference to a platoonleader for

the equipage vo.

Calculates a reference to an equipage in track

x travelling alongside or behind in oncoming

traffic stream.

Calculates a reference to preceeding equipage

in track x in oncoming traffic stream.

Calculates a reference to last equipage in track

x in oncoming traffic stream.

Decides whether own head or tail overlaps that of

another equipage in track x

Decides whether start possibility applies. Start

possibility if head or tail of own equipage does not

overlap that of another equipage in lane 2 or lane

3

Move own equipage to track x

Decides whether equipage travelling behind in the

same lane needs to be reactivated

Decides whether equipage in track 1 needs to

be reactivated.

Reactivates preceding equipage

Reactivates next equipage travelling behind in the

same track.

Reactivates the nearest equipage whose tail lies

behind the current equipage

Decides whether the current equipage is following

When an equipage is reactivated the

proce-dure INTERESTING decides whether the equipage

is in track 1 or track 2 and is being caught up by

another equipage

(22)

BEABTOFOLR

Decides whether a preceding equipage is "close"

and the speed is less than the free blockspeed.

"Close" defines the distance between the head

of the current equipage and the tail of the

preceding equipage as being less than 1.5 times

the tail length of the preceding equipage

Routines in conjunction with catching up

CATCHINGUP(X)

VEHOBJCATCHING

up(vo)

CATCHINGUPBEF-PREDICTNEXTEV

-TIME(VB)

Decides whether the current equipage catches up

another equipage in track x before passing the

next road block limit

Decides whether equipage VO catches up a

pre-ceding equipage before passing the next road

block border

Decides whether equipage VB catches up the

current equipage before VB's

PREDICTNEXT-EVTIME

Routines in conjunction with overtaking or passing

MAXSIGHTPNT

RENDEZVOUSORMAX-SIGHT

FLYINGOVTAK-ACCEPT

ACCOVERTAKING

ACCEPTED

ABLE

Decides whether an overtaking opportunity

exists. An overtaking opportunity exists if

maximum sight length exists in the road block

and the distance between the equipage and the

point of maximum sight length is less than 3 m.

Decides whether an opportunity for overtaking is

accepted

Decides whether an opportunity for accelerated

overtaking is accepted

Decides whether the vehicle has sufficient

acce-leration ability to carry out anovertaking. More

exactly estimated length of the overtaking is less

than sightlength x constant

(23)

WANT

VACANT

ALLOW

TIRED

OBJINSAMETRACK

INITIALPOINTS,

LPNT,

FH SHPNTS

A random number is drawn and gives "true" with a

specified probability. This probability depends on:

D

2)

Accelerated/flying overtaking - OMT

Vehicle type and whether a private car is taken

into consideration when average speed is less or

greater than 20 m/s

Road width class - VB

Visible/invisible meeting

Sight length

m

4)

n

Decides at point of decision for accelerated or

flying overtaking whether it is possible to change

track to track 1, Le. whether track 1 is occupied

by another equipage

Decides whether the vehicle is permitted to carry

out an overtaking.

Permission is given if no

overtaking prohibition applies and if no unbroken

white line exists. The driver is looking for

over-taking restriction min (300, estimated length of

the overtaking x constant) m ahead.

Decides

whether

the

equipage

abandons its

attempts at overtaking. The probability of this is

at present 0

True if the head of the current equipage overlaps

the tail of the preceding equipage in the same

track

Decides upon overtaking or passing whether initial

points, level points or finishing points apply

direction of travel

_ _ _ _ . current track E W l

--

-

-

head iength-:

-initial points

_ xiazel 'oint-sj

~ hq

rimmhmmm

J J L I 41

tail iength

. -. . _ . . . ~ . -l

{___v__.

__ tar; 1e29%§gui2age 92.16303...

VTI MEDDELANDE 322 A

(24)

SHORTRETURN

Decides upon overtaking whether short return

applies

direction of travel current track

OVERTAKING-CONTINUE

NEWOVERTA KING

SCATCHINGUPI

Routines in conjunction

'

shortreturn points

\ V" '_/

tail lengg

[A

Decides whether an overtaking is to be

complet-ed. Is completed when the equipage has greater

speed than the overtaken equipage.

Decides whether a new overtaking is likely,

impli-cates that the driver wants to overtake and the

vehicle is permitted andhas sufficient

accelera-tion ability to carry out an overtaking. Note that

this makes NEWOVERTAKING true if no new

overtaking is likely.

Decides upon completing an overtaking of

equi-pages in a platoon, but not the platoon leader,

that the current equipage catches up another

equipage in the current track before overtaking is

completed.

with the equipage being passed

VACANTANDWANT-TOGOTOTRACKB

CANRETURN

Decides when the current equipage is caught up in

track 2 whether it can and wants to change track

to track 3.

Decides whether the current equipage in track 3

can return to track 2.

(25)

4.2.2 Predictive routines

TRAVEL

Apart from the block speed an average slope is

assigned to each block. Each equipage also has a

power/weight coefficient, P, which determines its

ability to reach its block speed, given the

particu-lar slope.

The TRAVEL procedure tests this ability by

in-serting values in the power equation:

a=$~-ca'v2-cb

where

a

= acceleration

m/s2

p

= power/weight ratio

W/kg

v

= speed

m/s

ca

= air resistance coefficient

Cb = rolling resistance and "slope coefficients"

In this test v is set to the block speed.

If

acceleration thereby becomes less than 0 or the

current speed is less than the block speed, PTS is

inserted in the power equation. Otherwise

calcu-lation is made either with the same speed, TS,

(time over road stretch) or with a uniform retard

ation, RETARD, depending on whether the

parti-cular speed is equal to or greater than the block

speed.

- PTS

free

block

speed

roadcoordi

e; nate

blockborder

(26)

TIMETOSTART-POSSIBILITY

TIMETOBLOCK-LIMIT(C)

Routines in conjunction

In procedure PTS there is a numeric integration of

the power equation over time until either the free

block speed has been exceeded (case 1

in the

figure) or the blockborder exceeded (case 2).

Use is made of

a -91 ivesv

" dt g

t

-v

t- At

+At'a

ds .

= __

=

. , .

-A

v

dt givesst

st_ At+At 05 (v1:+vt

1:)

where a : acceleration

v

= speed

s = distance t = time

Integration step At (DELTA in PTS) is set to

At = k ~PRECISION °lXol

ao where

k = a constant set to 3

PRECISION = required precision in integration

In the program PRECISION has been set to 0.5 %.

v0 and a

are speed and acceleration at the

beginning

Calculates time to start possibility.

Calculates time to next block limit.

C indicates whether the current equipage is free

or constrained.

with catching up

TIMETOCATCHU

TIMETOCATCHING

UPPOINT(X)

Calculates time until the first of the following

events:

1) Catching up equipage in track 3

2) Catching up equipage in track 2

3) Block limit

If the equipage catches up another equipage

in

track

x

the

procedure

calculates

the time to the catching up point.

(27)

TIMETOBEHCATCH

Calculates time to the point where the current

UPPOINT(C)

equipage is caught up. C indicates whether the

current equipage is free or constrained.

Routines in conjunction with preparation for following

TIMETOFOLLOW

When an equipage has decided not to carry out a

ying overtaking the procedure calculates the

time to the point where the equipage has slowed

down and travels with a given headway from the

preceding equipage.

Routines in conjunction with overtaking or passing

TIMETOOVERTAKACC Calculates the time to the point for an

acceler-ated overtaking.

TIMETOINITIAL-

Calculates the time to the point where the

over-POINTS(C)

taking equipage is in level with the overtaken

equipage. If the current equipage (overtaking) has

a lower average speed than the overtaken

equi-page the time to the block border is calculated.

C indicates whether the current equipage is free

or constrained.

TIMETOLPNT(C)

Calculates the time to the point where the

over-taking equipage is 3.3 m in front of the overover-taking

equipage.

C indicates whether the current

equi-page is free or constrained.

TIMETOFINISH-

Calculates the time to the finish point in an

POINT(C)

overtaking.

If the overtaken equipage has a

greater average speed than the current equipage

the time to the next block border is calculated. C

indicates whether the current equipage is free or

constrained.

TIMETOSFINISH-

Calculates the time to a short finish point in an

PNT(C)

overtaking. A short finish point applies when the

current equipage overtakes individual equipages in

the platoon with the exception of the platoon

leader. C indicates whether the current equipage

is free or constrained.

Routine in conjunction with overtaking an equipage

TIMETORETURN-

Calculates the time to a possible point for

return-POINT(C)

ing from track 3 to track 1. C indicates whether

the current equipage is free or constrained.

(28)

5.1

STRUCTURES

Notation rules in Jackson structures

The program documentation described below follows M Jackson's rules for

structured programming wherever these have been considered applicable.

According to Jackson a program can always be solved by using three

simple and basic components; sequence, iteration and selection. Ref (4).

The first of these, sequence, (frist, then). A program section A which is

run through unconditionally statement by statement is denoted

A seq

do B;

do C;

x:=l;

A end

Iteration (over and over again) is a program section which is run through 0

or more times as iong as an iteration condition is satisfied, for example,

SIMULA's while statement. Iteration is denoted

E iter while C do F;

E end

Finally, in selection (either or) one of several alternative program

sections is run through. Selection is denoted

G select COND 1

do H;

G or I COND 2

do I;

G or 2

do K;

G end

(29)

5.2

Backtracking is a special case of selection.

This occurs when an

alternative program section cannot be selected before one of the program

sections has been begun. A program section is thus assumed but this can

be rejected if the assumption proves to be wrong.

In this form of

selection the assumed program section is denoted by posit, and the

remaining sections by admit.

L possit

do M;

L admit

do P;

L end

For a closer study of Jackson structures we recommend

Leif Ingevaldsson: JSP A Practical Method of

(ISBN/INPUT TWO-NINE 0-905897-36-6).

Program

Design

Program structures for equipages

VEH seq

do WAITSUFTIME;

do CHANGETOTRACK(2);

do VEHPROCESS;

do TERM;

VEH end

When an equipage is activated it awaits a sufficient time interval in

relation to other traffic, - WAITSUFTIMEHEADW - , before moving to

track 2,

CHANGETOTRACK(2) - . The equipage starts and drives to its

destination, - VEHPROCESS - .

Finally,

the

itself, - TERM - .

equipage

terminates

VEHPROCESS iter while not FINISH

VEHPROBODY posit NO SURPRISE

do SITUATION;

VEHPROBODY ADMIT

do SURPRISE;

VEHPROBODY end

VEHPROCESS END

(30)

The equipage process consists of an iteration of the equipage process

body, VEHPROBODY, which in turn consists of a choice between

SITUA-TION and SURPRISE. It is thereby assumed that no surprice occurs, i.e.

that the equipage is not reactivated by another equipage. Processing of a

surprise therefore takes place only when it must be admitted that the

assumption was wrong.

SITUATIONselect OWNTRACK = 2

doTRACKm

SITUATIONorl

OWNTRACK = 3

doTRACKx

SITUATIONorZ

doTRACKl

SITUATION end

For the equipage a situation consists of one of the alternatives TRACKZ,

TRACK3 or TRACKl.

TRACKZ seq

do EXAMFRBEZ;

FREEZ seq

do COMPLFREEZ;

do ALMOSTFRZ;

do PASS;

FREEZ end

CONSTRAINZ

posit

CONSTRAINED

AND

BEABTOFOLR

AND

OWNTRACK = 2

do CHOOSEFOLLOBEH;

CONSTRAINZ admit

do NOTBEABTOIZ;

CONSTRAINZ end

TRACKZ end

When an equipage comes to TRACKZ it first examines its forward-behind

relationship with regard to other equipages in order to know whether any

of these are affected and need to be reactivated, EXAMFRBEZ.

"Affect-ed" refers to whether the equipage continues to be free, FREEZ, and is

finally CONSTRAINED. The period of freedom or constraint may be 0.

VTI MEDDELANDE 322A

(31)

A free equipage at first drives completely freely, COMPLFREEZ, then

almost freely, ALMOSTFREE, (catches up or is caught up) and finally

overtakes an equipage, PASS, which has moved into track 3, Le. it passes.

A constrained equipage assumes that it is not too fatigued to follow the

preceding equipage in track 2 and chooses a following behaviour,

CHOOSEFOLLOWBEHA.

If the assumption proves to be wrong this

is treated in the alternative program section, NOTBEABTOIZ.

COMPLFREEZ iter while NOT BEHCATCHUP AND NOT

CONSTRAIN-ED AND NOT CATCHINGUPQ) AND NOT CATCHINGUPO)

do HOLD;

do DRIVE;

COMPLFREEZ end

An equipage is completely free in track 2, COMPLFREEZ, as long as it is

not caught up, is not constrained and does not catch up

an equipage in

tracks 2 or 3.

ALMOSTFRZ select BEHCATCHUP

do PROCEBEHCAT;

ALMOSTFREEZ or 1 NOT FOLLOWING AND CATCHINGUPZ

doPROCCATCUPC;

ALMOSTFREEZ or 2

ALMOSTFRZ end

An almost free equipage can have been caught up just before by another

equipage or can be catching up

another equipage.

Catching up case

PROCEBEHCATCHUPCA or PROCESSCATCHUPCAS is processes

de-pending on which case occurs. If neither case occurs, neither alternative

is processed.

(32)

PROCEBEHCAT seq

do BEHCACHUP = FALSE;

do PREDICTNEXTEVTIME = TIME;

do DRIVE;

EXAMTRACK3 select VACANTANDWANTGOTOTRACK3

do CHANGETOTRACKO);

EXAM TRACK3 or

EXAM TRACK3 end

PROLEBEHCAT END

When an equipage is caught up its model data are updated to the current

time. The equipage also examines whether the vehicle can, and whether

the driver wants to, move into the auxiliary track, EXAMTRACKB.

PROCCATCUPC seq

do HOLD;

do DRIVE;

SIGNALFORWARD select OBJINSAMETRACK AND

PASSINGDIS-POSITION

do REACTFORWARD;

SIGNALFORWARD or

SIGNALFORWARD end

CHSCUPBEH select NOTOBJINSAMETRACK

CHSCUPBEH or lFLYINGOVTAKACCEPT

do CHANGETOTRACKU);

CHSCUPBEH or 2

do FOLLOW(TRUE);

PREPFOLLOZ iter while NOTFOLLOWPOINT

do RDUM;

do SIGNBACKW;

do SIGNALTRKl;

do HOLD;

do DRIVE;

PREPFOLLOWINGZ end

CHSCUPBEH end

PROCCATCUPC end

VTI MEDDELANDE 322 A

(33)

When an equipage (A) in track (2) is assumed to catch up with another

equipage (B) in the road block, (A) will await the point when catching up

takes place, - HOLD -and will update the model data, - DRIVE -.

If the equipage which is caught up is in the same track (2) it will then, and

only then, be reactivated, -- SIGNALFORWARD -.

In the next step

equipage A selects catching-up behaviour, - CHSECATCHUPBEHA. (A)

then examines whether (B) enters the side area/auxiliary track.

If equipage (B) which is caught up enters track (3) equipage (A) will pass

(see - PASS - below).

If equipage (B) remains in track (2) equipage (A)is offered a flying

overtaking. If a flying overtaking is accepted (A) changes track from (2)

to (1), - CHANGETOTRACKU) -.

If (A) does not accept the conditions for a flying overtaking (A) prepares

to follow (B), - PREPFOLLOWINGZ - by adaption to following or until its

following point has been reached, i.e. (A) has retarded to (st) speed.

A following variable, - FOLLOWING - is set to - TRUE - in conjunction

with adaption of equipage (A). In the same way an updating is made of

the predicted time and speed at the next block limit passage, - RDUM -,

and of the average speed, - AVERSP - if the equipage behind is affected

by (A:s) adaption it will be reactivated, - SIGNALBACKWARD -.

If an equipage in track (1) is affected it will be reactivated,

- SIGNALTRKI -.

The sequence is concluded by equipage (A) awaiting the next event time,

HOLD -, and updating model data, - DRIVE -.

(34)

PASS posit NOT CONTRAINED AND OWNTRACK = 2 ' AND

pASSlNG(3) AND NOT CATCHINGUPQ)

PASSASFREE seq

INITFREEPAS iter while INITIALPOINTS OR LPNT

INFRPASBODY seq

GOASIDEPZ iter while INITIALPOINTS AND NOT LPNT

do HOLD;

do DRIVE;

GOASIDEPZ end

ASIDEPZF iter while LPNT

do HOLD;

do DRIVE;

ASIDEPZF end

INFRPASBODY end

INITFREEAS end

FINIPASI iter while NOTFINISHPNTS

do HOLD;

do DRIVE;

FINIPASI end

SIGBFORPAS select WANTTOHELPVEHBACKWTOPAS

do CHANOETOTRACKO);

SIGBFORPAS or;

SIGBFORPAS end;

PASSASFREE end

PASSadmit

PASSend

When equipage (A) is in track (2) during passage - PASS - it is assumed

that (A) is unconstrained and that there is an equipage to pass in track (3)

- PASSASFREE -.

If

the

above

assumptions

are

not

fulfilled

- "PASSASFREE" - is abandoned.

Passing in accordance with "PASSASFREE" consists of an initial phase,

- INITFREEPASS -, and a concluding phase - FINIPASI.

In "INITFREEPASS" equipage (A) is moved to a point in front of one or

more

equipages

which

have

been

passed

one

at

a

time,

- INITFREEPASBODY -.

(35)

Passing of each individual equipage consists of two parts. The equipage is

moved first to a point abreast with the equipage being passed,

- GOASIDEZ -. (A) is then moved to a point just in front of the passed

equipage, - ASIDEPZF -.

The passage sequence is furthermore divided into several parts with

regard to block limit passages. The various parts are delineated by event

times which are awaited, "HOLD" and model data are updated, "DRIVE".

CHOOSFOBEH select PASSING

do PASSASCONST;

CHOOSFOBEH or

do WAITFOVERTAG;

CHOOSFOBEH end

A constrained

equipage in

track

(2) selects driving behaviour,

- CHOOSEFOLLOWBEHA -, which may be passing an equipage in track

(3) - PASSASCONSTRAINED , or preparing for an accelerated

overtak-ing, - "PREPACCOVTAK" -.

PASSASCONST seq

INITPAS iter while INITIALPOINTS OR LPNT

INITPASBODY seq

CONTTOLEPNT iter while INITIALPOINTS AND NOT LPNT

do HOLD;

do DRIVE;

CONTTOLEPNT end

ASIDEPZH iter while LPND

do HOLD;

do DRIVE;

ASIDEPZH end

INITPASBODY end

INITPAS end

FINIPASIH iter while NOTFINISHPNTS

do HOLD;

do DRIVE;

FINIPASIH end

(36)

SIGNBFORPAS select WANTTO HELP VEH BACKW TO PAS

do CHANGETOTRACKO);

SIGNBFORPAS or

SIGNBFORPAS end

PASASCONST end

The sequence in a passage where the current equipage (A) is constrained,

"PASSASCONSTRAINED", is carried out in the same way as in a passage

where the current equipage is free, compare "PASSASFREE" above. Only

predictions of road coordinated, times and speeds are made in a different

way.

WAITFOOVERTA posit NOTTIRED

PREPACCOVTA;

WAITFOVERTA admit

GIVEUP iter while TRUE

do HOLD;

do DRIVE;

GIVEUP end

WAITFOVERTA end

When a constrained equipage considers an offer of accelerated overtaking

- WAITFOROVERTAKING -, it is assumed that the driver does not give

up

his

attempts

to

find

acceptable

overtaking

conditions

-PREPACCOVTAK -.

The driver may, however, give up, - GIVEUP -,

with a particular probability, p, which at present is p = O.

(37)

PREPACCOVTA seq

WAITFOVTAOC select ONCOMINGVEHVISIBLE

WAITFRENDEZ iter while NOT RENDEZVOUSORMAXSIGHT

do HOLD;

do DRIVE;

WAITFRENDEZ end

WAITFOVTAOC or

WAITFMAXSG iter while NOT MAXSIGHTPNT

do HOLD;

do DRIVE;

WAITFMAXSG end

WAITFOVTAOC end

PROCOVTAPOS iter while NOT ACCOVERTAKINGACEPTED

WAITFNEWOVT select ONCOMINGVEHVISIBLE

WAITFNEWREN seq

do HOLD;

do DRIVE;

WFNRBODY iter while NOT RENDEZVOUSORMAXSIGHT

do HOLD;

do DRIVE;

WFNRBODY end

WAITFNEWREN end

WAITFNEWOVT or

WAITNEWMAXST seq

do HOLD:

do DRIVE;

WFRNMBODY iter

do HOLD;

do DRIVE;

WFNMBODY end

WAITNEWMAXST end

WAITFNEWOVT end

PROCOVTAPOS end

do FOLLOW (FALSE)

do CHANGETOTRACKU)

do TRAVEL;

PREPACCOVTA end

VTI MEDDELANDE 322 A

(38)

With the above assumption the equipage follows the preceding equipage

until the overtaking conditions are fulfilled and an accelerated overtaking

is considered - WAITFOROVTAKOCCAS -.

If oncoming equipage is

visible, the levelpoint is awaited - WAITFORRENDEZVOUS - else the

maxsightpoint is awaited WAITFORMAXSIGHT

-When a possible opportunity for overtaking is reached, it is treated, and a

new opportunity for overtaking is awaited as long as the overtaking

conditions are not accepted - PROCOVTAPOSSIBILITIES -.

Every new

opportunity for overtaking is treated in - WAITFORNEWOVTAKOCCAS-.

The new opportunities for overtaking are offered in the same names as

above, i.e if oncoming equipage is visible the levelpoint is awaited

- WAITFORNEWRENDEZVOUS -else

the

maxsightpoint

is

awaited

- WAITFORNEWMAXSIGHT -. When finally the overtaking conditions are

accepted the equipage changes track to track (1) -

CHANGETO-TRACKl .

NOTTOABTOIZ select FOLLOWING AND OWNTRACK=2

do FOLLOW (FALSE);

do TRAVEL;

NOTTOABTOIZ or

NOTTOABTOIZ end

When an equipage is constrained in track (2) it is assumed, as mentioned

above, that the equipage is able to follow the preceding equipage. If this

assumption proves wrong the accepted program section is interrupted and

the alternative section - NOTTOABTOIZ -is processed instead.

(39)

When an equipage is constrained in track (2) it is assumed, as mentioned

above, that the equipage is able to follow the preceding equipage. If this

assumption proves wrong the accepted program section is interrupted and

the alternative section - NOTTOABTOIZ -is processed instead.

TRACK3 seq

do EXAMFRBB;

do FIRSTTIME;

FREE3 seq

do COMPLFREEB;

do ALMOSTFREEB;

FREE3 end

CONSTRAINB posit BEABTOFOLRAND FOLLOWING

COBODY seq

do follow3;

do MINTIME:=O;

do FOLLOW/(FALSE);

do CHANGETORACKQ);

do TRAVEL;

COBODY end

CONSTRAIN3 admit

do FOLLOW(FALSE);

CONSTRAINB end

TRACK3 end

When an equipage enters track (3) it first examines its front/rear

relationship to other equipages in the track to find out whether any of

these are affected and need to be reactivated, - EXAMFRBEB - if the

equipage has just changed to track (3) a minimum time is set in track (3),

- FIRSTTIME - the equipage continues to be free, - FREE3 , and is

finally constrained, -CONSTRAINED -.

The duration of freedom or

constraint can be 0.

A free equipage moves first completely free - COMPLFREEB - then

almost free - ALMOSTFREEB - (catches up).

(40)

A constrained equipage assumes that it is able to follow a preceding

equipage in track (3), - BODY -, and follows, - FOLLOW3 -, until a return

to track (2) is possible.

Hereby actual model data are reestablished and the equipage returns to

track (2) - CHANGETOTRACKQ) -.

If a constrained equipage is unable to follow the preceding equipage the

variable - FOLLOWING - is set to False.

COMPLFREE3 iter while NOT(CANRETURN OR CATCHINGU3 or

FOLLOWING)

do HOLD;

do DRIVE;

COMPLFREE3 end

An equipage in track (3) is completely free, - COMPLFREEB- , as long as

it cannot return to track (2) or catch up with the preceding equipage in

track (3) or is constrained.

ALMOSTFREE3 select NOT FOLLOWING AND CATCHINGUPO)

do HOLD;

do DRIVE;

do FOLLOW (TRUE);

ALMOSTFREE or

ALMOSTFREE end

If an almost free equipage, - ALMOSTFREEB -, is about to catch up a

preceding equipage in the road block, the equipage will wait until the

catching-up point, - HOLD -. The model data will be updated, - DRIVE -,

and the - FOLLOW - characteristic of the equipage will be set to "True".

FOLLOW3 iter while NOT CANRETURN

do HOLD;

do DRIVE;

FOLLOW3 end

(41)

A constrained equipage follows the preceding equipage as long as it

cannot return to track (2).

TRACKl posit OVERTAKINGCONTINUE

TRACKIBODY3 posit NEWOVERTAKING

TRACKIBODYI seq

do EXAMFRBEI;

do INITIAL;

do CONTTOVFINP;

do CHANGETORACK(2);

TRACKIBODYI end

TRACKIBODY3 admit

TRACKBODYZ seq

do SHORTCONCLU;

do CHANGETOTRACK(2);

PREDICT select BEABTOFOLR;

do FOLLOW(TRUE);

do TRAVELCONSTRAINED;

PREDICT or

do FOLLOW(FALSE);

do TRAVEL;

PREDICT end

do REACTBACWARD;

TRACKIBODYZ end

TRACKIBODY3 end

TRACKl admit

do EXOVTSITU;

TRACKI end

When an equipage comes to track (I) it is assumed that the overtaking will

be continued (the vehicle has sufficient speed to carry out the overtaking)

and that the overtaking (of one or several equipages in the platoon) will be

followed up a TRACKIBODYI -. The equipage first examines its

forward-behind relationship with regard to other equipages in order to know

whether any of these are affected and need to be reactivated

- EXAMFRBEI -. The equipage is moved first to a point abreast with the

equipage being overtaken - INITIAL - is then moved until a return to

track (2) is possible - CONTTOOVFINPNT -.

(42)

When the equipage overtakes a platoon of equipages in track (2)

overtaking may have to be interrupted before the platoon-leader has been

overtaken. The overtaking equipage then moves to the nearest position

where it can force itself in between two equipages in the platoon

- SHORTCONCLUS -. The equipage concludes its overtaking by return to

track (2). Prediction of time for next passage of blockborder and speeds

is

done

- PREDICT -

and

the

equipage' behind

is reactivated

REACTBACKWARD

-INITIAL iter while -INITIALPOINTS OR LPNT

INITIALBODY seq

do GOBSIDEPNT; do BSIDEPl;

INITIALBODY end

INITIAL end

The above

program section

agrees with

the previous section,

- INITFREEPAS -, apart from the location of the equipage subject in

track (1) instead of track (2), Le. during overtaking instead of passage.

This relates to both cases, i.e. the equipage subject may be free or

constrained.

The structure chart for - GOASIDEPNTI -, - ASIDEPl -, -

CONTTOOV-FINPNT -, and

SHORTCONCLUS - are described below. Since they have

similar structures - GOASIDEPNTl - alone is described in more detail.

The more important differences for the other structures are indicated in

the chart.

(43)

GOBSIDEPNTI iter whiie INITIALPOINTS AND NOT LPNT

GOLEPNTIBOD seq

FREIINITI posit NOT CATCHING upm AND NOT BEHCATCHUP AND

NOT FOLLOWING

do HOLD;

do DRIVE;

FREIINITI admit

ALMOSTFRII select NOT FOLLOWING AND GATGHINGUPU)

do HOLD;

do DRIVE;

do FOLLOW(TRUE);

ALMOSERII or I FOLLOWING AND BEHCATCHUP

do BEHCATCHUP:=FALSE;

do PREDICTNEXTEVTIME:=TIME;

do DRIVE

ALMOSFRII or 2

ALMOSFRII end

FREIINITI end

CONSTRAINII posit FOLLOWING AND BEABTOFULR

do HOLD;

do DRIVE;

GONSTRAINII admit

do FOLLOW(FALSE);

CONSTRAINII end

GOLEPNTIBOD end

GOBSIDRNTI end

In - GOASIDEPNTI - the overtaking equipage is moved forward until it is

abreast of the equipage being overtaken.

(44)

"GOASIDEPNTI" consists of an iteration of - GOASIDEPNTIBODY - in

which events occuring before the point where the equipages are abreast,

such as block border passages, are processed.

In "GOASIDEPNTIBODY" - the overtaking equipage is moved forward

first as a free equipage, - FREEIINITIAL -, and then as a constrained

equipage, - CONSTRAINEDIINIT -.

In - FREEIINITIAL

it is assumed that the overtaking equipage neither

catches up with the equipage in track (I) nor is caught up nor is

constrained.

The equipage awaits the next event time, "HOLD", upon which model data

are updated, "DRIVE".

If any of the assumptions are not fulfilled the equipage is processed in

- ALMOSTFREEI -.

If the equipage is unconstrained but catches up another preceding

equipage in track (I) this catching-up point is awaited, "HOLD". Model

data "DRIVE" are then updated and variable "FOLLOWING" is set to

"True".

If

the

equipage

is

unconstrained

and

is

caught

up

variable

- BEHCATCHUP - is set to "False". The next event time is then awaited,

"HOLD", and model data are updated, "DRIVE".

If,

however,

the

equipage

is

constrained

nothing

happens

in

"ALMOSTFREEI "

and

the

continuation

is

processed

in

- CONSTRAINEDIINIT -.

In CONSTRAINEDIINIT it is assumed that the equipage is constrained and

can follow the preceding equipage.

The next event time is awaited,

"HOLD", and model data are updated, "DRIVE" if the assumption is not

fulfilled the variable "FOLLOWING" is set to "False".

The "GOASIDEPNTI" chart has now been described and the three

remain-ing charts will be briefly commented upon.

VTI MEDDELANDE 322 A

(45)

BSIDEPl iter while LPNT

BSIDEPlBODY seg

BSIDEPIF posit NOT FOLLOWING

do HOLD;

do DRIVE;

BSIDEPl admit

BSIDEPI end

BSIDEPlC posit FOLLOWING AND BEABTOFOLR

do HOLD;

do DRIVE;

BSIDEPIC admit

do FOLLOW(FALSE)

BSIDEPIC end

BSIDEPIBODY end

BSIDEPl end.

In- ASIDEPI -, the program requires the overtaking equipage to be moved

forward in order to examine whether track 2 contains a further equipage

which may have to be overtaken.

Since this movement ( s) is relatively small ( s = 3m) the structure is

simplified in that the - ALMOSTFREE - case is disregarded.

(46)

CONTTOVFINP iter while NOT FINISHPNTS

CTOVFINPBOD seq

FREElFINI posit NOT FOLLOWING AND NOT BEHCATCHUP AND

NOT CATCHINGUPU)

do HOLD;

do DRIVE;

FREElFINI admit

ALMOSTFRIA select NOTCONSTRAINED AND CATCHINGUPI

do HOLD;

do DRIVE;

do FOLLOW(TRUE);

_

ALMOSTFRIA or 1 NOT CONSTRAINED AND BEHCATCHUP

do BEHCATCHUP:=FALSE;

do PREDICTNEXTEVTIME:=TIME;

do DRIVE;

ALMOSFRIA or 2

ALMOSFRlA end

FREEIFINI end

CONSTIFINI posit FOLLOWING AND BEABTOFOLR

do HOLD;

do DRIVE;

CONSlFINI admit

do FOLLOW(FALSE)

CONSlFINI end

CTOVFINPBOD end

CONTTOVFINP end

In - CONTTOOVFINPNT - the concluding phase of overtaking is

processed, i.e. until the final point is reached. The logic of this program

section corresponds exactly to - "GOASIDEPNTl" - above.

(47)

SHORTCONCLU iter while NOTSHORTRETURN

SHORTCONBOD seq

FREElSFINI posit NOT FOLLOWING AND NOT BEHCATCHUP AND

NOT SCATCHINGUPI

do HOLD;

do DRIVE;

FREElSFINI admit

AFREEISF select NOT FOLLOWING AND SCATCI IINGUPZ

do HOLD;

do DRIVE;

do FOLLOW(TRUE);

AFREEISF orl NOT FOLLOWING AND BEHCATCHUP

do BEHCATCUP:: FALSE;

do PREDICTNEXTEVTIME:= TIME;

do DRIVE;

AFREEISF or 2

AFREEIF end

FREEIS end

CONSTSFINI posit FOLLOWING AND BEABTOFOLR

do HOLD;

do DRIVE;

CONSTSFINI admit

do FOLLOW(FALSE);

CONSTSFINI end

SHORTCONBOD end

SHORTCONCLU end

When the equipage overtakes a platoon of equipages in track (2)

overtak-ing may have to be interrupted before the platoon leader has been

overtaken. The equipage must then force itself in between two equipages

in track (2), Le. interrupt overtaking of the platoon, This is processed in

- SHORTCONCLUS -.The logic of this program structure corresponds

exactly to "GOASIDEPNTI" above.

(48)

EXOVTSITU select VEHEQUALITRK(2) =/= none

do LOCALCOORD:=LOCALCOORD - 0.3;

doCHANGETOTRK(2);

do FOLLOW(TRUE);

TRAVELCONSTRAINED;

EXOVTSITU orl INITIALPOINT

do CHANGE TO TRACK(2);

do FOLLOW(TRUE;

do TRAVELCONSTRAINED

EXOVTSITUORZ

do CHANGE TO TRACK(2);

EXOVTSITU end

VTI MEDDELANDE 322 A

(49)

6.

SOURCE PROGRAM LIST

See pages 45-80

Figure

Diagram 1 The position of the simulation program in the program system.

References

Related documents

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Syftet eller förväntan med denna rapport är inte heller att kunna ”mäta” effekter kvantita- tivt, utan att med huvudsakligt fokus på output och resultat i eller från

Att förhöjningen är störst för parvis Gibbs sampler beror på att man på detta sätt inte får lika bra variation mellan de i tiden närliggande vektorerna som när fler termer

The task of the development of a model for the narrow roads as a part of the model system is in the frame of the current Indo-Swedish road traffic research program established in

Industrial Emissions Directive, supplemented by horizontal legislation (e.g., Framework Directives on Waste and Water, Emissions Trading System, etc) and guidance on operating

Syftet med detta examensarbete är att studera hur livsmedelsföretagare som inte har svenska som modersmål upplevde att kommunikationen fungerade vid den senaste