• No results found

Table VII-1 contains the basic variables needed for the initialization of the track system. The values of these variables is input to the simulation. A short description is provided as well as realistic values.

TABLE VII-1 BASIC VARIABLES FOR MODEL INITIATION

Variable name Description Realistic value(s)

NumberOfDocks Determines how many docks the cross-dock will feature.

75 (single-sided) 150 (double-sided) DistanceBetweenDocks The distance between two

docks (heart-to-heart).

3.5-4.0m

LengthCrossRoad The distance between the two main roads as a starting point for rearward docking or moving between the two main roads.

Depends on angle between main road and crossroad. In case of 90°: ~18m.

LenghtDockingArea The distance between the dock and the top main road.

Measured from the front of the dock to the heart of the main road.

20-26m

CurveLength The length of a curved road. Quarter of a circle.

1

4𝜋*(DistanceBetweenDocks^2)

LengthParkingArea The distance between the parking area opposite to the cross-dock and the bottom main road. Measured from bottom of parking to heart of bottom main road.

Equal to LengthDockingArea

Using the Init we can easily assign values to these parameters at the start of every simulation run and reset the entire track system using Reset. An example of initiating the track system with the value of NumberOfDocks being two and some arbitrary values for the other variables, is shown in Figure VII-2.

NumberOfDocks Le ngt hD oc kAr ea Le ng thP ar kin gAr ea Le ngt hC ros sR oa d LengthCurve DistanceBetweenDocks

7.1 Technical description

With the few variables thus far we can create tracks resembling the guide-path design introduced in Section 5.3.1 in front of the cross-dock. AGVs are able to drive on these tracks to find their way to pick-up and drop-off locations. Figure VII-2 shows how the variables together define the guide-path. The figure also shows the driving directions of each track, east-to-west on the top main road and west-to-east on the bottom main road. The crossroads in the middle are bidirectional tracks as AGVs should also be able to drive backwards to dock or park a semi- trailer. In our particular case these tracks consist of two lanes, A (north-to-south) and B (south-to- north). The curves connecting the main road with the crossroad are connected to the lane which corresponds to the driving direction (e.g. the bottom curve going upwards is connected to lane B) shows three different configurations of these variables, all featuring five docks. The left layout is our initial configuration. The middle configuration increases the value of LengthCrossRoad, resulting in more space between the two horizontal main roads. The right configuration resets LengthCrossRoad to our initial value and increases DistanceBetweenDocks as well as LenghtDockingArea and LengthParkingArea. This results in more space between the docks, longer curved segments and a longer docking- and parking road.

FIGURE VII-2 THREE DIFFERENT CONFIGURATIONS OF THE TRACK SYSTEM

As one of our goals is to build a flexible model, these changes we can make to the track layout is very helpful. This however also imposes some modeling challenges. When we change the values of the variables responsible for the shape and size of the guide-path, we also need to make sure all track segments are positioned at the right place in our model and aligned correctly. This can be solved to create a reference point for all pieces of track to be inserted in the model. For every dock in our model we need a fixed amount of tracks (i.e., the dock area, the crossroad, the parking area, a top main road, a bottom main road and six curved segments to connect everything). We can thus loop over the number of docks defined in our initialization and create the tracks required per dock in every iteration. Within every iteration it creates the track segments one by one, taking into account the variables discussed before, and adjusting the x- and y- coordinates for the next track segment.

We created a method called CreateTracks to build the guide-path at the cross-dock area and is called by Init. The following pseudocode shows a small snippet of the entire method, focusing only on creating the ‘TopTracks’, which are the track segments of the top main road.

Initialize StartXPos and StartYPos

for i = 1 to NumberOfDocks do

Create TrackSegment named TopTrack[i] at coordinates

(StartXPos,StartYPos)

Set length TopTrack[i] to DistanceBetweenDocks

Rotate TopTrack to set the direction westwards

Write name and coordinates of TopTrack[i] to a table inserted at

row i

StartXPos = StartXPos + DistanceBetweenDocks

This code will create all the TopTrack segments, making sure that the next TopTrack created, is located at the appropriate place. Note that the y-dimension does not change. Similarly, all other tracks can be created by increasing or decreasing the value of the starting coordinates and changing the orientation and length as needed. We write all track segments and their coordinates to a table file, which will be of use later on in the model. In every row the track segments of the corresponding dock are stored (dock area, cross road, parking area, … of dock 4 are stores in row 4). This enables us to quickly find the track segments belonging to a certain dock as they are all stored within the same row and all have the row number in their name (e.g. TopTrack4, CrossRoad4, DockRoad4). This is especially useful when we want to identify the tracks that need to be connected to other track segments, such that the AGV can move from track to track. Most of the tracks we want to connect are all in the same row of the table. Exceptions are tracks that need to be connected to a track in an adjacent row (e.g. connect TopTrack1 with TopTrack2) and connecting the outer ends of the main roads. After all tracks are created, some extra tracks are created and connected to close the left side of the loop. An example of the result of CreateTracks using five docks is shown in Figure VII-3. The tracks on the right side, connect the cross-dock with the Arrival/Departure parking and the AGV parking.