• No results found

Indo-Swedish traffic simulation model : A program for the Monte Carlo simulation of heterogeneous vehicle traffic along single lane, intermediate lane and narrow two lane roads: An application of JSP and SIMULA- 67 language

N/A
N/A
Protected

Academic year: 2021

Share "Indo-Swedish traffic simulation model : A program for the Monte Carlo simulation of heterogeneous vehicle traffic along single lane, intermediate lane and narrow two lane roads: An application of JSP and SIMULA- 67 language"

Copied!
123
0
0

Loading.... (view fulltext now)

Full text

(1)

Ir V'I/meddelande

439A

,

'

1985

Indo-Swedish Traffic Simulation Model

A program for the Monte Carlo simulation of heterogeneous

vehicle traffic along single lane, intermediate lane and narrow

two lane roads

An application of JSP and SIMULA-67 language

by

Anders Brodin

Swedish Road and Traffic Research Institute (VTI

Linkoping, Sweden

and

SP Palaniswamy

Indian Institute of Technology (IIT)

Kanpur, India

w V g'DCh Trafik- Statens vag- och trafikinstitut (VTI) * 581 01 Linkoping

(2)

ISSN 0347-6049

VTImeddjlande

43.9 A

1985

Indo-Swedish Traf c Simulation Model

A program for the Monte Carlo Simu/ation of heterogeneous

vehicle traffic along single lane, intermediate lane and narrow

two lane roads

An application of JSP and SIMULA -67 language

by

'

Anders Brodin

Swedish Road and Traf c Research Institute lVTll

Linko'ping, Sweden

and

S P Palaniswamy

Indian Institute of Technology lllTl

Kanpur, India

VTl, Lin/(oping 1 988

w V g- 00/)

Statens veg- och trafikinstitut (VT/l - 581 07 Lin/(oping

[ITStin/191' Swedish Roadand Traffic Research institute - 3-581 01 Linkb'ping Sweden

(3)

Road Research Institute (CRRI) in New Delhi, has included an approach of road traffic simulation technique.

This approach has been carried out in an Indo-Swedish research project aimed to adapt to Indian road traffic conditions the Swedish road traffic simulation model system that was developed in a long term research project at the Swedish Road and Traffic Research Institute (VTI).

Road widths from 3.5 metres to 13 metres are covered by two mutually complementory Indian versions of the original simulation model mentioned above. The program presented in this report is especially aimed for narrow road traffic single lane (3.5 metres) and intermediate lane (5.5 metres) roads and as a rule low traffic flows. The modifications and extensions in this program version have been performed at the Indian Institute of Technology (IIT) in Kanpur in cooperation with VTI.

(4)

1.1 1.2 1.2.1 1.2.2 1.3 1.3.1 1.3.2 4.1 4.2 4.2.1 4.2.2 5.1 5.2 CONTENTS ABSTRACT BACKGROUND General background

Basic attributes of the traffic simulation model F'ree 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

FIGURES AND SOURCE PROGRAM LIST REFERENCES

VTI MEDDELANDE 439A

C h m -D W N N l l 10 12 12 15 15 19 24 24 25 45 116

(5)

An application of JSP and SIMULA-67 language by Anders Brodin

Swedish Road and Traffic: Research Institute (VTI)

5-581 01 Linkoping Sweden and

S.P. Palaniswamy

Indian Institute of Technology (IIT) Kanpur India

ABSTRACT

This report deals with a simulation program which describes the dynamic sequence of heterogeneous vehicle traffic over defined stretches of road for given traffic volumes and compositions. Crossing sequence of vehicles moving in opposing directions is the unique feature of the program system. Also uniqe is the ability of the model to deal with road stretches with width varying from single lane (3.5 metres wide) with different types shoulders and auxiliary lanes to two lane roads (7.0 metres wide). In the program the stretch of a road considered consists of a sequence of consecutive road blocks 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.

Horizontal curvature.

Speed limit (or road surface roughness).

C h K J I -P D J N F Overtaking restrictions.

Jackson Structured Programming technique (JSP) has been used in

pro-gramming and the propro-gramming language is SIMULA 67.

(6)

1 BACKGROUND 1.1 General background

This report describes a computer program for simulating vehicle behaviour under heterogeneous traffic conditions. on single lane, intermediate lane and two lane narrow rural roads. VTI Report No. 322A "VTI Traffic Simulation Model A Program for the Monte Carlo Simulation of vehicle Traffic along Two lane Rural Roads" by Anders BrodinfRef. 1) gives a detailed account of the program and data structures using JSP concepts for the two lane rural roads under Swedish conditions. This report incorporates modifications carried out to adapt the VTI model and" program system for simulating vehicle traffic on single lane, intermediate lane and two lane roads normally foundin the Indian subcontinent. This project was carried out under the Indo-Swedish Traffic Simulation Research Project. A complete description of the project and modelling philosophy along with validation exercises can be found in ref. (2, 5, 6, 10).

The original program and data structures are based on the Jackson Structured Programming (JSP) technique and has been programmed in one of the highest level simulation language SIMULA 67, that has enabled the introduction of the necessary extentions and modifications much more easily. As far as is known this is the first time JSP and SIMULA 67 have been applied together with a technical program of this size.

The program describedyin this report forms part of a program system. The program system in turn forms part of a comprehensive, long term R and D project assigned by the Ministry of Shipping and Transport, Government of India in collaboration with the World Bank (IBRD). - See (ref. 6). As mentioned above the program described here is a modified version of the VTI model to suit the road and traffic conditions prevailing in the Indian environment. The adaption of the original VTI program necessitated extensive changes in the program system. The modified simulation program described in this report incorporates 25 additional procedures for decision making (about 25 per cent by way of addition to the original program) and appropriate changes in the vechile movement process.

(7)

Road and Traffic Research Institute and the report on "A Generalized Simulation Model for Vehicle Behaviour Under Heterogenous Traffic Condi-tions" (Ref. 2) contain 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.

1.2.1 Free flow traffic

The basis for 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.

Each driver in the traffic simulation program is allotted a speed in the basic desired speed distribution.

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 considered, is divided into further road blocks relating to vertical curva-ture and overtaking reStrictions. This method is described in more detail in the VTI Report No. 321 (Ref. 3 and 4). When an equipage is overtaking these separate speed distributions are shifted to the 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 slope, if any, is also assigned to the block. Each vehicle has also been allotted a power/weight ratio, or VTI MEDDELANDE 439A

(8)

p - value, as well as air and rolling resistance, which decide its ability to reach or maintain this 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 then-road and the air and rolling

resistance.

1.2.2 Interaction model

In addition to the speed 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.

Overtaking on a road without a wide shoulder can take place if

1. The vehicle has sufficient acceleration ability to carry out an' over-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.

Avaiable sight distance.

Oncoming equipages within the sight distance or not. Type of over-taking, "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.

(9)

depending on the preceding vehicle's type.

In addition to free movement, flying and accelerative overtakings, vehicles meet each other in opposing directions, decelerate to safe crossing speeds and cross each other. This phenomenon of crossing between two oncoming vehicles is of crucial importance in simulation modelling. Two vehicles are more or less interacting due to the width of the road on the single lane, intermediate lane, and even on narrow two lane roads and two lane roads with heavy bicycle traffic. On the single and intermediate lane roads all _ vehicles have to yield space and slow down and so it is if two heavy trucks are crossing on a narrow two lane road. The impdrtance of being able to take the crossings into account cannot be overestimated with regard to the high percentage of narrow roads in India.

The shoulders of narrow roads are used by vehicles heavily during crosSings. The shoulders are considered to be equivalent to that of auxiliary lanes in the original VTI model thus enabling us to exploit the available decision logic to incorporate crossings. The crossing speeds are calculated which depend upon roadwidth, shoulder type. and its quality and vehicle types involved in crossing (Ref. 2).

1.3 Program system for traffic simulation

The simulation program described below comprises the "heart" of a program system as shown in the accompaning Figure l and 2. 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)

1. Simulation of the behaviour of free flow traffic in both directions, i.e. equipage dependence on road attributes, speed limits in force an vehicle attributes, but excludingthe interdependence of the vehicles.

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.

1.3.1 Input dataunnuuws-u-n

Input data inthe 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 theprogram 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 aspecial 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. These programs use the following parameters

(11)

4

-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 presented, a short description of the type of result provided and whether the result is given unconditionally, conditionally or conditionally after the time speci-fied.

(12)

Table 1. Schematic description of output data.

Information Occasion Short description

type of result

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

1 equipage enters drivers and vehicle U stretch of road characteristics

2 equipage leaves equipage status* U

stretch of road

3 passing measuring equipage status, pre- U

point ceding equipage

head-way, reference for-wards and backfor-wards, energy consumption 4 direct overtaking equipage status, U

started . equipage type, iden-tity, type and speed of preceding equipage, sight distance,

distance to oncoming equipage, speed of oncoming equipage

5 accelerated over- as for type 4 ' U taking started

6 overtaking completed equipage status U

7

passage point

equipage status

U

8 L passage completed equipage status U

9 track change equipage status U

and new track

10 following started equipage status U

11 opportunity for as for type 4 0

direct overtaking not accepted

12 opportunity for acce- as for type 4 O lerated overtaking

not accepted

* equipage status refers to identity, road and time coordinates, speed and track. '

(13)

14 15 l6 17 18 U = B : O : L, : C : every change overtaking is inter rupted before level-point overtaking is finished after levelpoint following terminated overtaking levelpoint unconditional result conditional result conditional result conditional result

conditional result after time specified.

VTI MEDDELANDE 4,39A

basic desired speed, equipage type and power/weight coeffi-cient, energy con-sumption

equipage status, predicted times . and speeds, etc. equipage status

equipage status equipage status equipage status, identity, coordinate, speed and typ of

l) the overtaken and

(14)

2 GENERAL PROGRAM DESIGN

The program is written in SIMULA 67 language. The main principle of SIMULA is pseudo-parallel execution which can be regarded as a further development of event control of dynamic sequences (Ref. 7). The description of the events which relate to a particular type of object are 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.

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, "equipage". Parameters which define equipage consist of, among other things, the identity number, basic desired speed and power/weight ratio. Parameters giving their traffic attributes consists of, for example, starting point, starting time and direction of travel. The equipage generator process also activates the equipages at their starting times.

The equipage 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 JacksonStructure Programming (JSP) (Ref. 8).

* "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 algorithm.

(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:

Road width and road surface type.

Auxiliary lane/lateral space (Le. wide shoulder). Slope.

Horizontal curvature. Roughness.

Speed limit.

Overtaking restriction.

The road block is represented in the program as an object from the class ROADBLOCK. The object has the following attributes:

II

Location and length RCO

RBL. LENGTH

coordinate of road block beginning road block length

Road geometry and traffic regulation attributes ROADWIDTH roadwidth class

LANE occurrence of auxiliary lane/lateral space RI slope

RCURVE** radius of curvature of the bend ROUGHNESS** roughness of the road

RQ Q-value with respect to normal speed

DVQ block speed for median equipage **RQ -basic desired

'

speed for median equipage**RQ

**CQ Q~value with respect to crossing speed

CVQ**

block crossing speed for median equipage**CQ - basic

desired crossing speed for median equipage**CQ.

RNONOVERT code relating to overtaking restriction.

** additional attributes incorporated for accounting traffic behaviour on

narrow roads.

(16)

III References

RSIGHTLMAX occurence and coordinates of sight distance maximum RSIGHTREF reference to distance length function

The road block object is linked in each direction in a SIMSET list with the headings DIRECTION l and DIRECTION 2 respectively.

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 correspon-ding 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.

eRSIGHTREF' = n if Sn E RCO < Sml where Sn and Sn+l are road coordinates for two consecutive breakpoints and RC0 is the road

coordi-nate of the road block beginning.

(17)

4 THE EQUIPAGE

4.1 Equipage attributes and basic behaviour

In the program the equipage is represented as an object from the class VEH. attributes. I Administrative attributes IDNU EX DIRNU EX ORIGIN EX OWNTRACK EN DEST EX FINISH EN II Driver-vehicle attributes

VON a

EX

CON**

3

EX

'UMEHEADWAY EX

annME

EX

GCW**

EX

PNORMAL

EX

VEHTYPE

EX

c2

EX

c1

EX

w

EN

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

identity number

direction number

start of coordinate of the. road for

equipage

track number

coordinate of the road for destination of

equipage

destination reached

basic desired speed

basic desired crossing speed time headway

shortest stay in auxiliary lane/lateral space after passing

gross combination weight in kg. power/weight coefficient allotted vehicle type

air resistance coefficient rolling resistance coefficient accumulated energy consumption III Traffic attributes of the equipage

FOLLOWING EN BEHCATCHUP EN LOCALCOORD EN LOCALTIME EN LOCALSP EN AVERSP 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 * modification of the existing procedure for accounting traffic behaviour

on narrow roads.

** new procedures for traffic behaviour on narrow roads.

(18)

13

PREDICT EN predicted time of next event NEXTEVTIME ,

PREDBL~ EN predicted time of passage of next road

BORDERTIME block border

PREDICTBL~ EN predicted speed at passage of next road

BORDERSP block border

FREEBLSP* EN free block speed

FREEBLCRSP** EN free block crossing speed

IV References

BLOCK EN 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 (3635) 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

During phase 1 of the cycle PREDICTNEXTEVTIME, PREDBLBORDER-TIME , AVERSP and PREDICTBLBORDERSP are calculated in procedures TIMETO During phase 3 of the cycle the procedure DRIVE updates the attributes LOCALTIME, LOCALCOORD, LOCALSP, AVERSP, PRED-BLBORDERTIME and PREDICTBLBDRDERSP.

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 * modification of the existing procedure for accounting traffic behaviour

on narrow roads.

** new procedures for traffic behaviour on narrow roads. VTI MEDDELANDE 439A

(19)

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)2

2 x DACC 0 otherwise

tail length = TIMEHEADWAY x AVERSP

head length = if AVforw < 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. Direction of traffic: _ m _ _ _ _ _ _ __ _ 3 Direction of traffic: a) +right-hand traffic 1 ~ 2 a)< right-hand traffic

b)<-left-hand traffic 2 m _ _ _ _ _ _ __ __ 1

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 a reason for this decision may be in order to overtake, i.e. move out into lanel or alternatively move into lane3 to allow a catching-up faster equipage to pass.

(20)

15

4.2 Short description of equipage procedUres

To acquaint the equipage as to which of the many complicated situations is in force, a number of precedures 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, calculate 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.

4.2.1 Variables controlling behaviour

Basic routines PREDICTCOORD

PREDIS(B)

PSTfVEZH, T)

VEHBACWITRKOO

VEHEQUALITRK(X)

VEHFORITRK(X)

PLATOONLEADE RWO)

ONCOMINGVEHEQUAL-ORBACKWITRKOO ONCOMINGVEHFORW ITRK(><)

LASTVEHINONCOMING

PLATOONOO

VTI MEDDELANDE 439A

calculates the road coordinate for current

equipage at the particular time (i.e. at

TIME) I

calculates the road coordinate for equipage B at the particular time (i.e. at TIME) calculates theroad coordinate for equipage VEH at time T

calculates a reference to an equipage in track x travelling behind

calculates a reference to an equipage alongside in track x

calculates a reference to preceding equi-page 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 preceding equi page in track x in oncoming traffic stream calculates a reference to last equipage in track x in oncoming traffic stream

(21)

PASSING<X> STARTPOSSIBILITY CHANGETOTRACK(X) BEHINDVEHAFFECTED VEHINTRKlAF'l- EC

REACTFORW

REACKTBACKW REACTTRKlVEH CONSTRAINED

INTERESTING

ACCXSPEED) BEABTOFOLR

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 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

calculates acceleration ability at SPEED 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 as being less than 1.5 times the tail length of the preceding equipage

Routines in conjunction with catching up CATCHINGUP(X)

VEHOBJCATCHINGUPWO)

CATHCINGUPBEF"

PREDICTNEXTEVTIMEWB)

VTI MEDDELANDE 439A

Decides whther the current equipage catches up another equipage in track x before passing the next road block limit. Decides whether equipage VD catches up a preceding equipage before passing the next road block border.

Decides whether equipage VB catches up the current equipage before VB's PREDICTNEXTEVTIME

(22)

l7

Routines in conjunction with overtaking or passing MAXSIGHTPNT* RENDEZVOUSORMAXSIGHT FLYINGOVTAKACCEPT ACCOVERTAKING-ACCEPTED ABLE WANT* VACANT ALLOW TIRED DBJINSAMETRACK

VTI MEDDELANDE 439A

Decides whether an overtaking opportunity exists. An overtaking opportunity exists if maximum sight length exists in the road block and the distance between the equi-page and the point of maximum sight length is less than 3 m.

Decides whether an opportunity for over-taking is accepted

Decides whether an opportunity for accele-rated overtaking is accepted

Decides whether the vehicle has sufficient acceleration ability to carry out an over-taking. More exactly estimated length of the overtaking is less than sightlength x

constant.

A random number is drawn and gives "true" with a specified probability. This proba-bility depends on:

1) Accelerated/flying overtaking-GMT

2) Vehicle type and whether a private car

is taken into consideration when aver-age speed is less or greater than, 15 m/s 3) Road width class VB

4) Visible/invisible meeting

5) Sight length

Decides at point of decision for accelera-ted or flying overtaking whether it is poss-ible to change track to track 1, Le. whether trackl 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 overtaking restriction min (300, estimated length of the over-taking 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.

(23)

INITIALPOINTS, LPNT,

FINISHPNTS x

\

8

Decides upon overtaking or passing whether initial points, level points or fin-ishing points apply.

direction of gravel

m a m a - m m a ug u

current r initial points ~33 m1 I finish points track . p I J J L

--- -+ead- Eeng w - 'bea.liengm~ ~

-{.__,,__.

_. tail. lq stk uiease abject. ..._

SHORTRETURN Decides upon overtaking whether short return applies

direction of travel

OVERTAKING-CONTINUE

[{IEWOVERTAKING

SCATCHINGUPl

VTI MEDDELANDE 439A

shortretum points

tail length

/_3_

\

(seepage Object __

Decides whether on overtaking is to be completed. 13 completed when the equi-page has greater speed than the overtaken equipage.

Decides whether a new overtaking is likely, implicates that the driver wants to over-take and the vehicle is permitted and has sufficient acceleration ability to carry out an overtaking. Note that this makes NEW-DVERTAKING true if no new overtaking is likely.

Decides upon completing an overtaking of equipages in a platoon, but not the platoon leader, that the current equipage catches up another equipage in the current track before overtaking is completed.

(24)

l9

Routines in conjunction with the equipage being passed VACANTANDWANT=

TOGOTOTRACK3 CANRETURN

4.2.2 Predictive routines

TRAVEL*

VTI MEDDELANDE 439A

Decides when the current equipage is caught up in trackZ whether it 'can and wants to change track to track 3.

Decides whether the current equipage in

track 3 can return to track 2.

Apart from the block speed an average slope is assigned to each block. Each equipage also has a power/weight coef-ficient, p,which determines this ability to reach its block speed, given the particular slope.

The TRAVEL procedure tests this ability by inserting values in the power equation:

82-2 'Ca'VZ Cb

where

a = acceleration

m/s2

p : =power/weight ratio W/kg v : speed m/s ca 2 air resistance coefficient

rolling resistance and "slope coef-ficients".

Cb

In this test v is set to the block speed. If acceleration thereby becomes than 0 or the current speed is less than the block speed, PTS is inserted in the power equation. Otherwise calculation is made either with the same speed, TS (time over road stretch) or with a uniform retardation, RETARD, depending on whether the parti-cular speed is equal to or greater than the block speed.

(25)

PT5*

free

block speed TIMETOSTART~* POSSIBILITY TIMETOBLOCK * LIMIT(C)

VTI MEDDELANDE 439A

roadcoordi-; nate blockborder

In procedure PTS there is a numeric inte-gration 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 dv

azaf givesvtzvt_ t+txa

v = 5-133- gives st = st_ t + t x 0.5 (vt+vt_ t) where a : acceleration v 2 speed s = distance I: : time

Integration step t (DELTA in PTS) is set

to

A t = rmax (2 , rmax (36-3 x v, 3))V V

x PRECEISION x I V0 I

ao

PRECISION = required precision in inte-gration

In the program PRECISION has been set to 0.5 percent. v0 and a0 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

(26)

21

Routines in conjunction with catching up TIMETOCATCHU

TIMETOCATCHING-* UPPOINT(X)

TIMETOBEHCATCH-UPPOINT(C)

Calculates time until the first of the

fol-lowing events:

1) Catching up equipage in track 3 Z) Catching up equipage in track 2 3) Block limit

If the equipage catches up another equi-page in track x the procedure calculates the time to the catching up point.

Calculates time to the point where the current 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 flying overtaking the procedure cal-culates the time to the point where the equipage has settled down and travels with a given headway from the preceding equi-page.

Routines in conjunction with overtaking or passing TIMETOOVERTAKACC TIMETOINITIAL-POINTS(C) TIMETOLPNTCC) TIMETOF INISH» POINT(C)

VTI MEDDELANDE 439A

Calculates the time to the point for an accelerated overtaking.

Calculates the time to the point where the overtaking equipage is in level with the overtaken equipage. If the current equi-page (overtaking) has a lower average speed than the overtaken equipage the time to the block border is calculated. C indicates whether the current equipage is free or constrained.

Calculates the time to the point where the overtaking equipage is 3.3 m in front of the overtaken equipage. C indicates whether the current equipage is free or constrained. Calculates the time to the finish point in an 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

(27)

TIMETOSF INISHPNTCC)

whether the current equipage is free or constrained.

Calculates the time to a short finish point in an overtaking. A short finish point applies when the current equipage over-takes individual equipages in the platoon with the exception of the plattoon leader. C indicates whether the current equipage is free or constrained.

Routine in conjunction with overtaking an equipage

TIMETDRETURN-POINT(C) Calculates the time to a possible point forreturning from track 3 to track 1. C indi-cates whether the current equipage is free or constrained.

Routines in conjunction with meeting and crossing** CROSSVELOCITY** TRAVELCROSSING** MEETINGBEHINDOREQ** MEETINGFORW* * TIMETOSTARTDE-ACCPOINT** MEETING**

CINITIALPOINTS,**

CLPNT**

CFINISHPNTS**

CHEADLENGTH**

VTI MEDDELANDE 439A

Determines the crossing speed of a vehicle which depends on roadwidth, vehicle type and oncoming vehicle type.

The average speed, predicted block border speed and predicted block border time of vehicle movements are calculated when vehicles are involved in crossing situation. When vehicles are in the crossing mode the position of the vehicles whether they are in level with each other or leaving each other after crossing is determined.

Determines whether the oncoming vehicle is in front during crossing manuevre

Calculates time to the point at which a crossing vehicle has to decelerate from its block speed.

Decides whether two vehicles in the op-posing streams are meeting for crossing manuevres.

Decides whether initial points, level points

or finishing points apply during crossing. Calculates the distance required to decele-rate to the crossing speed for meeting vehicles.

(28)

Z3

Routines in conjuncion with times of crossing**

TIMETOCINITIAL-POINTS(C)* *

TIMETOCLPNT(C)**

TIMETOCFINISHPNTS(C)* *

Calculates the time to the point where the meeting vehicle is in level with the vehicle crossing from the opposite direction. C indicates vehicles status.

Calculates the time to the point where the crossing equipages are separated from each other~by a fixed distance behind each other so that they can start accelerating to at-tain their free block speed.

Calculates the time to the finish point in crossing situation.

Routines in conjunction with fuel consumption** HORSEPOWER** SPECFUELCONSUMPTION** GEARSELECT** ENGINESPEED** PROCESSENERGICON~ SUMPTION* *

VTI MEDDELANDE 439A

Calculates the required horespower output of the engine to overcome the road resis tances, air resistance and other forces while a vehicle is moving at any given

speed. *

Calculates the specific fuel consumption depending upon the engine speed.

Selects the appropriate gear ratio for a given speed as per the manufacturers spe-cification.

Calculates the engine speed (rpm) for a given vehicle speed and the gear ratio used at that speed.

Calculates the amount of fuel consumed in

centilitres from the previous event time to

(29)

5 STRUCTURES

5.]. Notation rules in Jackson structures

The program documentation described below follow 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. 8).

The first of these, sequence, (first, then). A program section A which is run through unconditionally statement by statement is denoted.

A seq

do B;

do C; x: :1; A end

Iteration (over and over again) is a program section which is run through D or more times as long as an iteration condition is satisfied, for example,

SIMULA'S while statement. Iteration is denoted

E iter while C *

do F;

E and

[ w

Finally, in selection (either or) one of several alternative program sections is run through. Selection is denoted

(3 select COND 1 do H; G or 1 COND 2 do 1; G or Z do K; 0 .0 (3 end

(30)

25

Backtracking is a special case of selection. This occurs when an alterna tive 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 an assumed program section is denoted by posit, and the remaining sections by

admit. L posit do M; L. admit do P; L end

For a closer study of Jackson structures we recommend Leif Ingevaldsson: JSP A Practical Method of Program Design (ISBN/INPUT TWO-NINE 0-905897-36-6).

5.2 Program structures for equipages VEH seq do WAITFSUFTIME;

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 equipage terminates itself, w TERM . (See figure 3).

VEHPROCESS iter while not FINISH VEHPROBODY posit NO SURPRISE

do SITUATION; VEHPROBODY admit

do SURPRISE; VEHPROBODY end VEHPROCESS END VTI MEDDELANDE 439A

(31)

The equipage process consists of an iteration of the equipage process body, VEHPROBODY, which in turn consists of a choice between SITUATION 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 (see figure 3).

SITUATIONselect OWNTRACK : 2 do TRACKZ; SITUATIONor l OWNTRACK = 3 do TRACK3; SITUATIONorZ do TRACKl SITUATION end

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

TRACK3 or TRACKl (see figure 3).

TRACKZseq

do EXAMFRBEZ; FREEZseq do COMPLFREEZ; do ALMOSTFRZ; do PASS; FREEZend

CONSTRAINZ posit CONSTRAINED AND BEABTOFOLR AND NOT MEETING AND OWNETRACKzzZ

do CHOOSEFOLLOBEH; CONSTRAINZ admit

do NOTBEABTOIZ; CONSTRAINZ end

MEET posit NOT FOLLOWING AND MEETING AND OWNTRACK=2 do MEETZ;

MEET admit

do CONSTMEETZ; MEETend

TRACKZ end

(32)

27

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. "Affected" refers to whether the equipage continues to be free, FREEZ, and is finally CONSTRAINED. The period of freedom or constraint may be 0. While the equipage travels in TRACKZ it also meets, MEETZ, oncoming equipages

(see figure 4).

A free equipage at first drives completely freely, COMPLFREEZ, then almost freely, ALMOSTFRZ (catches up or is caught up), and finally overtakes an equipage, PASS, which has moved into TRACK}, i.e. it passes (see figure 4).

A constrained equipage assumes that it is not too fatigued to follow the preceding equipage in TRACKZ" and chooses a following behaviour, CHOOSEFOLLOBEH. If the assumption proves to be wrong this is treated in the alternative program section, NOTBEABTOIZ (see figure 4).

The above sequence of equipage movement in TRACKZ hold while it is not meeting oncoming equipages. When meeting oncoming equipages the whole of the sequence described above is abondoned and the equipage prepares to meet and cross oncoming equipages. Meeting and crossing manuvres are imminent and thus cannot be deferred while the actions in all other sequence could be delayed. Meeting and crossing, thus, are given the highest priority in decision making process of the equipages, during their

movement.

COMPLFREEZ iter while NOT (IF' NOT BEHCATCHUP THENXIF NOT

MEETING THEN<IF NOT CATCHINGUP(2) THEN CATCHINGUPO) ELSE

. TRUE) ELSE TRUE) ELSE TRUE)

do HOLD;

do DRIVE;

COMPLFREEZ end

An equipage is completely free in trackZ, COMPLFREEZ, as long as it is not meeting, is not caughtup, is not constrained and does not catchup an equipage in track 2 or 3.

(33)

ALMOSTFRZ select BEHCATCHUP AND NOT MEETING do PROCEBEHCAT;

ALMOSTERZ or NOT MEETING AND NOT FOLLOWING AND

CATCHINGUPZ

do PROCCATCUPC; ALMOSTF'RZ or 3

ALMOSTERZ 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 PROCEBEHCAT or PROCCATCUPC is processed depending on which case occurs. If neither of these cases occurs, neither alternative is processed

(se figure 5).

-PROCEBEHCAT seq

do BEHCATCHUP = FALSE;

do PREDICTNEXTEVTIME = TIME; do DRIVE;

EXAMTRACK3 select VACANTANDWANTGOTOTRACK3

' do CHANGETOTRACKO);

EXAMTRACK3 or EXAMTRACK3 end PROCEBEHCAT 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, EXAMTRACK3 (see figure 6).

PROCCATCUPC seq do HOLD;

do DRIVE;

SIGNALFORWARD select OBJECTINSAMETRACK AND PASINGDISPOSI-TION

do REACTFORWARD SIGNALFORWARD or SIGNALFORWARD end

(34)

Z9

CHSCUPBEH select NOT OBJINSAMETRACK

CFBCUPBEHcmlFlAQNGOVTAKACCEPT

doCHANGETOTRACkuk

CFBCUPBEHCWZ

do FOLLOW(TRUE);

PREPFOLLOZ iter while NOT FOLLOWPOINT AND NOT MEETING

doRDUM;

ma GNALBACKW;

mn GNALTRKh

do HOLD;

do DRIVE;

PREPFOLLOZend

CHSCUPBEH end

PROCCATCUPCemd

. When an equipage (A) in track (2) is assumed to catch 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 ractivated, - SIGNALFORWARD . In the next step equi-page A selects catching-up behaviour, CHSCUPBEH. (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), CHANGETOTRACK(1) - .

If (A) does not accept the conditions for a flying overtaking (A) prepares to follow (B), - PREPFOLLOWZ - by adaption to following or until its fol-lowing point has been reached, i.e. (A) has retarded to (B:s).

A following variable, FOLLOW - is 39 : t0 "' TRUE in conjunCtion With adaption of equipage (A). In the same way an updating is made of the

(35)

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, = SIGNALTRKl

-The sequence is concluded by equipage (A) awaiting the next event time, - HOLD -= , and updating model data, DRIVE - . (See figure 7).

PASSposit NOT MEETING AND NOT CONSTRAINED AND OWNTRACK=2

AND PASSINOG) AND NOT cATOHINGUP(2)

PASSASFREE seq

INITFREEPAS iter while iNiTIALPOINTs OR LPNT

INFRPASBODY seq

GOBSIDEPZ iter while INITIALPOINTS AND NOT LPNT

do HOLD;

do DRIVE;

GOBSIDEPZ end

.

BSIDEPZF" iter while LPNT

do HOLD;

do DRIVE;

BSIDEPZF end

INFRPASBODY end

INITFREEPAS end

FINIPASI iter while NOT FINISHPOINTS

do HOLD;

do DRIVE;

FINIPASI end

SIGBFORPAS select WANTTOHELPVEHBACKWTOPAS

do CHANGETOTRACKG);

SIOBFORPAS or

SIGFORBAS end

PASSASFREE end

PASS admit

PASS end

(36)

31

When equipage (A) is in track (2) during passage -= PASS -- it is assumed that (A) is not meeting and 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 inital phase, INITFREEPAS -== , 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 - .

Passing of each individual equipage consists of two parts. The equipage is moved first to a point abreast with the equipage being passed, GOBSIDEZ - . (A) is then moved to a point just in front of the passed equipage, - BSIDEPZF.

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" (see

figure 8).

CHOOSFOBEH select PASSING do PASSASCONST;

CHOOSFOBEH or

do WAITFOVERTAC; CHOOSFOBEH end

A constrained equipage in track (2) selects driving behaviour, CHOOSFOBEH , which may be passing an equipage in track (3) - PASSASCONSTRAINED - , or preparing for an accelerated

over-taking, PREPACCOVTAK (se figure 4). '

PASSASCONST seq

INITPAS iter while INITIALPOINTS OR LPNT

CONTTOLEPNT iter while INITIALPOINTS AND NOT LPNT AND

NOT MEETING

(37)

do HOLD; do DRIVE;

CONTTOLEPNT end

BSIDEPZH iter while LPNT

do HOLD;

do DRIVE;

BSIDEPZH end

INITPASBOD end

I NITPAS end

FINIPASIH iter while NOT FINISHPOINTS AND NOT MEETING

do HOLD;

do DRIVE;

FINIPASIHend

SIGNBFORPAS select WANTTOHELPVEHBACKWTOPAS

do CHANGETOTRACKG);

SIGNBFORPAS or

SIGNBFORPAS end

PASSACONST end

The sequence in a passage where the current equipage (A) is constrained, "PASSASCDNSTRAINED", is carried out in the same way as in a passaasge where the current equipage is free. Compare "PASSASFREE" above. Only predictions of road coordinates, times, and speed are made in a different

way (see figure 9).

WAITFDVERTA posit NOT TIRED PREPACCDVTA;

WAITFODVERTA admit GIVEUP iter while TRUE

do HOLD; do DRIVE; GIVEUP end WAITFDVERTA end

When a constrained equipage considers an offer of accelerated over-taking_WAITFOVERTAKING_ , it is assumed that the driver does not give up his attempts to find acceptable overtaking

(38)

33

conditions PREPACCOVTAK . The driver may however, give up, GIVEUP~ , with a particular probability, -p, which is at present is zero (see figure 10).

CPREPACCOVTA seq

WAITEMAXSO iter while NOT MAXSIGHTPNT AND NOT MEETING

do HOLD;

do DRIVE;

WAITFMAXSG end

WAITNEWMAXST seq

do HOLD;

do DRIVE;

WAITNEWMAXST end

CPREPACCOVTA end

With the above assumption the equipage follows the preceding equipage until the overtaking conditions are fulfilled and an accelerated overtaking is considered. If oncoming equipage is met then meeting sequence is carried out else the maxsightpoint is awaited - WAITFMAXST . If at this maxsightpoint overtaking opportunity is not available then the new max-sightpoint is awaited- WAITNEWMAXST . When finally the overtaking conditions are accepted the equipage changes track to track

(1) CHANGETOTRACK (see figure 10).

NOTTOABTOIZ select FOLLOWING AND OWNTRACK22

do FOLLOW (FALSE); 1

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 NOTTABTOIZ is processed instead.

MEETposit. NOT FOLLOWING AND OWNTRACK=Z AND MEETING

MEETASFREE seq

(39)

INITMEET iter while CINITIALPOINTS DR CLPNT INFRMEET seq

L GOCBSIDEPZ iter while CINITIALPOINTS AND NOT CLPNT do HOLD;

do DRIVE; GOCBSIDEPZ end

BCSIDEZF iter while CLPNT do HOLD;

do DRIVE; BCSIDEZF end INFRMEETBOD end INITMEET end

F'INICMEET iter while NOT CFINISHPOINTS do HOLD;

do DRIVE;

EINICMEET end a

SIGCBFORMEET select WANTTOHELPVEHBACKWTOPAS do CHANGETOTRACKG); SIGCBFORMEET or SIGCBFORMEET end MEETASFREE end MEET admit MEET end

When a free moving equipage meets an oncoming equipage it is assumed that it is unconstrained, MEETASFREE , and crossing manuvers are carried out (see figur ll).

Crossing in accordance with "MEETASFREE" consists of an inital phase of deceleration, -7 INITMEET » , and a concluding phase FINICMEET - . In "INITMEET" an equipage is decelerated to the crossing speed and moved to a point where both crossing vehicles are in level with each other, INERMEETBOD -=- .

Crossing of each individual equipage consists of two parts. The equipage is decelerated and brought in level with the equipage in the oncoming VTI MEDDELANDE 439A

(40)

35

direction and then it is moved at a crossing speed till both the crossing vehicles are separated from each other by a prespecified minimum. distance. It is then accelerated to attain its free block speed at which point the crossing manuevre is completed, FINICMEET - .

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" (see figure 12).

MEETASCONST seq

INITCONSTMEET iter while CINITIALPOINTS OR CLPNT INITCONSTMEETBOD seq

CONTTOCLEPNT iter while CINITIALPOINTS AND CLPNT do HOLD;

do DRIVE;

CONTTOCLEPNT end

BCSIDEMTZH iter while CLPNT

do HOLD; do DRIVE; BCSIDEMTZH end INITCONSTMEETBOD end INITCONSTMEET end

FINICONSTMT iter while CFINISHPOINTS do HOLD;

do DRIVE; FINICONSTMT end

SIGCBFORCMT select WANTTOHELPVEHBACKWTOPAS

do CHANGETOTRACKG);

SIGCBFORMT or SIGCBFORMT end MEETASCONST end

An equipage can be found constrained by vehicles moving in the same direction and meeting oncoming vehicles. The sequence of crossing manuvre in this case, "MEETASCONSTRAINED", is carried out in the same way as in a passage where the current equipage is free and meeting. VTI MEDDELANDE 439A

(41)

Compare "MEETASFREE" above. Only predictions of road coordinates, ' times and speeds are made in a different [way (se figure 13).

TRACK3 seq

do EXAMFREB3;

do FIRSTTIME; FREE3 seq do COMPLFREE3; do ALMOSTFREE3; FREE3 end

CONSTRAIN3 posit BEABTOFOLR AND FOLLOWING COBODY seq do follow3; do MINTIME:=D; do FOLLOW(FALSE); do CHANGETOTRACKCZ); do TRAVEL; COBODY end CONSTRAIN3 admit do FOLLOW (FALSE); CONSTRAIN3 end TRACK3 end

When an equipage enters track (3) it first examines its front/rear relation-ship to other equipage in the track to find out whether any of these are affected and need to be reactivated, EXAMFRB 3 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 (se figure 14).

A free equipage moves first completely free COMPLFREE3 then almost free - ALMOSTFREE3 (catches up).

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

equipage in track (3), BODY -= y and fOUOWSa - FOLLOW3 Until a rewm

to track (2) is possible. VTI MEDDELANDE 439A

(42)

37

Hereby actual model data are reestablished and the equipage returns to track(2) - CHANGETOTRACKCZ) .

If a constrained equipage is unable to follow the preceding equipage the variable -~ FOLLOWING is set to False.

COMPLFREE3 iter while NOT(CANRETURN OF CATCHINGU3 or

FOLLOWING)

do HOLD;

do DRIVE;

COMPLFREE3 end

An equipage in track (3) is completely free, - COMPLFREE3 , as long as it cannot return to track (2) or catch up with the preceding equipage in track (3) or is constrained (se figure 14).

ALMOSTFREE3 select NOT FOLLOWING AND CATCHINOUPO)

do HOLD;

do DRIVE;

do FOLLOWCTRUE);

ALMOSTFREE or

ALMOSTFREE end

If an almost free equipage,-ALMOSTFREE3 , is about to catch up a preceding eguipage 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" (see figure 14).

FOLLOW3 iter while NOT CANRETURN do HOLD;

do DRIVE;

FOLLOW3 end

A constrained equipage follows the preceding equipage as long as it cannot return to track (2) (see figure 1.4).

(43)

TRACKl posit OVERTAKINGCONTINUE

TRACKIBODY3 posit'NEWOVERTAKING

TRACKlBODYl seq

do EXAMFRBEl;

do INITIAL;

do CONTTOVFINP;

do CHANGETOTRACK(Z);

TRACKlBODYl end

TRACKIBODY3 admit

TRACKBODYZ seq

doSHORTCONCLU;

do CHANGETOTRACK(Z);

PREDICT select BEABTOFOLR;

do FOLLOW (TRUE);

do TRAVELCONSTRAINED;

PREDICT or

do FOLLOW(FALSE);

do TRAVEL;

PREDICT end

do REACTBACWARD;

TRACKlBODYZ end

TRACKlBODY3 end

TRACKl admit

do EXOVTSITU;

TRACKl end

When an equipage comes to track (1) 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 TRACKlBODYl -- . The equipage 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 -- EXAMFRBEl . 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 - CONTTOOVF'INPNT . (See figure 15.). 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 VTI MEDELANDE 439A

(44)

39

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 . (See figure

15.).

INITIAL iter while INITIALPOINTS OR LPNT INTIALBODY seq .

do GOBSIDEPNT; do BSIDEPl; INITIALBODY end

INTIAL end

The above program section agrees with the previous section, - INITFREEPAS , apart from the location of the equipage sub-ject in track (1) instead of track (2), i.e. during overtaking instead of passage. This relates to both cases, i.e. the equipage subject may be free or constrained (see figure 15).

The structure chart for GOASIDEPNTl , - BSIDEPl , CONTTOOVFINPNT , and - SHORTCONCLUS are described below. Since they have similar structures - GOBSIDEPNTl - alone is described in more detail. The more important differences for the other structures are indicated in the charts (see figures 16 to 19).

GOBSIDEPNTI iter while INITIALPOINTS AND NOT LPNT

GOLEPNTlBOD seq

FREITNITI posit NOT CATCHING UP(l) AND NOT BEHCATHUP

and NOT FOLLOWING

do HOLD;

do DRIVE;

FREIINITI admit

ALMOSTFRIT select NOT FOLLOWING AND CATCHINGUF(1>

do HOLD;

do DRIVE;

do FOLLOW(TRLJE);

ALMOSFRlI or 1 FOLLOWING AND BEHCATCHUP

do BEHCATCHupzzF ALSE;

(45)

ALMOSFRlT end ERElINITI end

CONSTRAINlI posit FOLLOWING BEABTOF OLR do HOLD; do DRIVE; CONSTRAINlI admit do FOLLOW(FALSE); CONSTRAINlI end GOLEPNTIBOD end GOBSIDPNTI end

In - GOBSIDEPNTl the overtaking equipage is moved forward until it is abreast of the equipage being overtaken (see figure 16).

"GOBSIDEPNTI" consists of an iteration of BOGSIDEPNTlBODY in which events occuring before the point where the equipages are abreast, such as block border passages, are processed.

In "GOBSIDEPNTlBODY" - the. overtaking equipage is moved forward first as a free equipage, FREElINITIAL -, and then as a constrained equi-page, - CONSTRAINEDlINIT - .

In~FREElINITIAL - it is assumed that the overtaking equipage neither catches up with the equipage in track (1) 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 hte assumptions are not fulfilled the equipage is processed in - ALMOSTFREEl -~ (see figure 16).

If the equipage is unconstrained but catches up another preceding equipage in track (1) this catching-up point is awaited, "HOLD". Model data "DRIVE" are then updated and variable "FOLLOWING" is set to "True". VTI MEDDELANDE 439A

(46)

41

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 "ALMOSTFREEl" and the continuation is processed in CONSTRAINEDIINIT m .

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 "GOBSIDEPNTI" chart has now been described and the three remaining charts will be briefly commented upon.

BSIDEPl iter while LPNT BSIDEPIBODY seq

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)

BSIDEPlC end BSIDEPlBODY end BSIDEPl end.

In -~ BSIEPl - , 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 (see figure 17).

Since this movement (3) is relatively small (s=3m) the structure is simpli-fied in that the- ALMOSTFREE -=- case is desregarded.

VTI MEDDELANDE 439A

(47)

CONTTOVFINP iter while NOT FINISHPNTS

CTOVEFINPBOD seq

FREElFINI posit NOT FOLLOWING AND NOT BEHCATCHUP AND

NOT CATCHINGUP(1)

do HOLD;

do DRIVE;

FREEIFINI admit

ALMOSTFRIA select NOTCONSTRAINED AND CATCHINGUPl

do HOLD; do DRIVE;

do FOLLOW<TRUE);

ALMOSTFRIA or 1 NOT CONSTRAINED AND BEHCATCHUP

do BEHCATCHUP = FALSE;

do PREDICTNEXTEVTIME = TIME;

do DRIVE;

ALMOSTFRIA or 2

ALMOSTFRIA end

FREElFINI end

CONSTlFINI posit FOLLOWING AND BEABTOFOLR

do HOLD;

I do DRIVE;

CONSIFINI admit

do FOLLOW (FALSE)

CONSIFINI end

CTOVFINPBOD end

CONTTOVF'INP 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 -= GOBSIDEPNTl above (see figure 18).

SHORTCONCLU iter while NOT SHORTRETURN SHORTCONBOD seq

FREElSFINI posit NOT FOLLOWING AND NOT BEHCATCHUP AND NOT SCATCHINGUPI

do HOLD; do DRIVE;

(48)

43

FREEISFINI admit

AFREElSF select NOT FOLLOWING AND SCATCHINGUPZ

do HOLD;

do DRIVE;

do FOLLOW(TRUE);

AFREEISF or 1 NOT FOLLOWING AND BEHCATCHUP

do BEHCATCHUP :2 FALSE;

do PREDICTNEXTEVTIME = TIME;

do DRIVE;

AFREElSF or Z

AFREElF end

FREEls end

CONSTSFINI posit FOLLOWING AND BEABTOFOLR

do HOLD;

do DRIVE;

CONSTSFINI admit

do FOLLOW (FALSE);

CONSTSFINI end

SHORTCONBOD end

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 equipage must then force itselft 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 "GOASIDEPNTZ" above (see figure 19).

EXOVTSITU select VEHEQUALITRKCZ) = / = none

do LOCALCOORD = LOCALCOORD - 0.3;

do CHANGETOTRKQ);

do FOLLOW(TRUE);

TRAVELCONSTRAINED;

EXOVTSITU or 1 INITIALPOINT

do CHANGETOTRACK(Z);

do FOLLOW<TRLJE);

do TRAVELCONSTRAINED

EXOVTaTUORz

do CHANGETOTRACKQ),

EXOVTSITU end.

(49)

6 SOURCE PROGRAM LIST See pages 45 - 115

(50)

45 DRIVER VEHICLE TRAFFIC OATA ROAD TRAFFIC ' BLOCKING GENERATION PROGRAM PROGRAM DESCRIPTION DESCRIPTION

OF THE ROAD OF THE TRAFFIC

INPUT

FREE now TRAFFIC - TRAFFIC SIMULATION SIMULATION

L,

" r

I I TRAFFIC , RESULTS / J -...,...+_..-.._..--.; I .RAFFIc : ., RESULT PROCESSING J PROGRAMS 7 .~\" I ~ \ \ §-\ §-\\ s \. ~_ \.\. a \ 5 STATISTICAL DISTRIBUTIONS AT SPOTS 0 Spot Speed 0 Time Headway O Uueue Length 0 Queue Frequency / \ TRAFFIC

STATISTICAL DESCRIPTION TRAFFIC OTHER DISTRIBUTIONS CHARACTERISTICS SAFETY TRAFFIC BETWEEN SPOTS ALONG THE ROAD CONCEPTS EFFECTS

O- Journey Speed 0 Percentages Cl 0 Risk Exposure 0 TraIIic Noice

' Journey Time VBhiCle Km AS 0 Conllict Situations o Trailic Pollution

and o Freely Moving

0 Numbers ol 0 Queuing Overtaking/ Overtaking/

Passings Passing 0 Trailic Time Delay 0 Trallic Fuel

Consumption

Figure l The position of the simulation program in the program system

(51)

V607 BGNV-EICIGBW MA

2 em u

{ iSIW; lViSS t

-s'w/ mo/bW/xsn/

I : aisvai

:

NiVLSH

NlVlS

NVlSB

*

'* %

'- :1»;

QLPV._F '

' VLVO

VLVU

ViVO

-4 J

«BALS

~UAiS

UALS

5355

~

DHSONI

'

V190

A\\

m

\QJON .

\

\ ..,..

/ xsxn} / avoa

nmwls

NDLSWJ.

NdSVEji

ViVG

/ lSSVd/ [we] /Lalo/ [waevw/

/.5M_S//iSN03/

m

/zms/Aws7 ovoa//wvoa/

X1 $1

l)HS NBSDVA '

______+

NiHBAO

7K

7:

xzizy M/ W/ xzirg/

gag

Xl ald

VlVG GWHId

(52)

47

VEH

%\

CHANGE TO

WhiIe not finish

4* VE HRROBODY N:::£Ip g;/\\\\\\\\\\ P A SITUATION SURPRISE . o O O

TRACK 2 TRACK3 TRACKI

FIG. 3 OVERVIEW OF VEHICLE PROCESS

TRACKZ

EXAM CONSTRAINZ MEETING

FREE FREEZ

Not meeting and followmg

and Ink

/ ALMOST P NOT TO BEA;

COMPL a

FREEZ FRZ PASS T012

I

While not behcotcnup _

and not meeting Not meeting

and not foliowing ) poss'ng Following

and not catchin u (2

and not catchlinggupp (3) / /

' O O O O

HOL *

PASSAS

AITFOVER

(TALLng

-DRIVE CONST TA TRAVEL

VTI MEDDELANDE 439A

(53)

ALMOST

FRZ

Behcatchup and

not meeting

Not meeting and

not constrained and

catchingupz

.

O O

[PROCEBEHCAT

PROCCACUPC

O

FIGS ALMOST FREE SEQUENCE IN TRACKZ

PROCEBEHCAT

BEHCATCHUP=F

PR EDICT NEXT EV

T'MEzTIME

EXAMTRACK3

DRIVE

.

Vacant and want go to track 3

/

O

CHANGETOTRAC K

(3)

FIG-6 BEHCATCH UP SEQUENCE

(54)

49

PROCCATCUPC

HOLD SIGNAL

DRIVE FORWARD CHSCUPBEH

Objm same track H

and posing, Objm same track

disBosition

/

o 0 L o o REACTFORW - - - - ~ CHSCUPBEHOR1

O CHSCUPBEHORZ FOLLOWzTRU E l . I

Flying ovtok accept Whue not follow point and not

J meeting

i *

CHANGE TO

TRACK(1) . PREPFOLLOZBQD

FOLLOW:TRUE SIGNAL SIGNAL HOLD

235345;, BACKWARD TRACK 1 DRIVE FIG.7 CATCHING UP SEQUENCE IN TRACKZ

(55)

PASS

Not meeting

Not catching up(2)

Owntrack Z

Pasing(3) Not coastrained P A PASSASFREE

INITF REEPAS

, FINIPASI

SIGBFORPAS

I

While initial points

While not Ifinish points Wont to/\

or lpnt

and not meeting

help vehbeh

, an

HOLD

at»

CHANGE TO

INITFREEPAS """"'""

BOD

DRIVE

TRACKS)

(30 SIDE P2 BSIEPZF:

. . .I

l

Wh I

ans:;?'cga:%°gg*s

'

we

not meetjing I HOLD * HOLD * DRIVE DRIVE

FIG~8 PASSING A VEHICLE ON THE SHOULDER

(56)

PASSASCONST

INIT PAS

FINIPASIH

SIGNBFORWPAS

T

.

.

i . .

/

While initial pomts While not finish Want to _ or lpnt points and not inelp vehbeh

J meeting 0339; T8 0

ate ale

HOLD

CHANGE

.______

INITPASBOD

DRIVE

TRACKS)

A

CONTTOLP-NT

BS! DE P2 H

i

While initial points I

and not lpnt and While [pm

not meeting

I

i

HOLD

"

HOLD

*

DRIVE

DRIVE

\

FIGS A CONSTRAINED VEHICLE PASSING AVEHICLE

ON THE SHOULDER

(57)

WAITFOVERTA

Not tired

/

p

PREPTOPAS

\\\\\

A

GIVEUP

l

White true

I

FALLOW

WAITF MAXSG

PROCPAPOS

FALSE)

HOLD

DFUVE

I TRAVEL

Whilelnot

While not

moxsightpnt

Passed

I

l

HOLD

*

' WAITFNEw"

DRIVE . (MAXSIGHT)

HOLD

DRIVE

WFRMBODV

I

Whilelnot

mQXSIghtpnt

l

HOLD *

DRPVE

FIGOIO SEQUENCE OF A VEHICLE WAITING FOR

OVERTAKING

VT]: MEDDELANDE 4 3 9A

Figure

Figure l The position of the simulation program in the program system
FIG. 3 OVERVIEW OF VEHICLE PROCESS
FIGS ALMOST FREE SEQUENCE IN TRACKZ
FIGS A CONSTRAINED VEHICLE PASSING AVEHICLE ON THE SHOULDER

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

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

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

• Utbildningsnivåerna i Sveriges FA-regioner varierar kraftigt. I Stockholm har 46 procent av de sysselsatta eftergymnasial utbildning, medan samma andel i Dorotea endast

På många små orter i gles- och landsbygder, där varken några nya apotek eller försälj- ningsställen för receptfria läkemedel har tillkommit, är nätet av

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

Re-examination of the actual 2 ♀♀ (ZML) revealed that they are Andrena labialis (det.. Andrena jacobi Perkins: Paxton &amp; al. -Species synonymy- Schwarz &amp; al. scotica while