### Accessibility evaluation system

We developed an accessibility evaluation system, which consists of four modules (Figure 1). The transportation module simulates the dynamic motion of a tractor-trailer by using multi-body dynamics, a method commonly used for game physics. The site importing module enables users to generate the construction site environment precisely and efficiently from a 2D blueprint or image file of a construction site. The safety evaluation module is used to evaluate the site’s accessibility by adding a multi-layer collision boundary to the transport unit, which detects collisions between the boundary of each layer and obstacles at the site. A formula was then developed for assessing the accessibility of each divided area at the site. The visualization module is used to render the virtual construction site and simulate the transportation activities (i.e. detailed motions of the trailer) taking place there.

### Transportation module

The transportation module aims to provide engineers with a real-time interactive system for operating the tractor-trailer in a virtual environment so that problems in the transport process can be discovered efficiently. We used a tractor-trailer, a commonly used transport vehicle in construction, as the transport unit. It has been observed that the most commonly occurring accessibility problems involve tractor-trailers. The tractor-trailer is hard to control because the driver needs to take care of the trailer, and it also has more blind spots than a single unit vehicle. If an entrance or road is not well designed, the tractor-trailer can very easily become stuck. This kind of situation can be prevented by improved accessibility simulation.

The tractor-trailer is the most complicated machine to simulate as it has the most degrees of freedom of all mobile construction machinery. Mobile construction machinery can be classified into three different types: wheel, track, and chain. The wheel type includes typical construction machinery such as a truck. The track type refers more to heavy construction machinery such as an excavator. The chain type consists of multiple rigid bodies and connections such as a tractor-trailer. The chain type is the most complicated because its motion has the most degrees of freedom. Once the accessibility method for simulating the tractor-trailer is established, the user can easily apply it to other kinds of mobile construction machinery. A tractor-trailer is composed of multiple rigid bodies and connections. Mathematical equations can be used to represent the relationships between the connections of rigid bodies, which are controlled by the rules of physics. We used the concept of multi-body dynamics, which are commonly used for simulating and modeling the dynamic motions of articulated mechanisms or equipment (Hung & Kang2009). We also provided a mathematical model to compare with the developed model to verify its feasibility.

### Tractor-trailer model using multi-body dynamics

Multi-body dynamics is mainly used for computing physical feedback between multiple bodies in mutual contact with each other or connected to each other by joints (Erleben2005). The simulation of multi-body dynamics is generally composed of rigid body dynamics and constraints. By solving the equations of motion (which are used to describe the dynamic behavior of multi-body dynamics), the simulation can calculate the behavior of a multi-body during each time integration (Hung & Kang2009).

In this study, the rigid bodies in the tractor-trailer are called *actors* (for example, the bodies that steer the wheels of a car). The type of *Joint* determines the motion between a pair of rigid bodies within the entire multi-body. The basic joint used in this paper is the *revolute joint*, which attaches two actors by a hinge-like structure. It only has one degree of freedom of rotation so that the two actors can only rotate on one axis (Hung & Kang2009).

A tractor-trailer can be separated into two main parts: the tractor and the trailer. The trailer connects to a fill-up tank. To build the tractor-trailer model, the locations of the wheels, tractor, trailer, and fill-up tank must be analyzed and connected correctly. In this paper, the tractor-trailer is simulated as an eight-wheel truck, with four wheels on the tractor and four wheels on the trailer. The construction of the tractor and trailer is similar: revolute joints connect the wheels to the steers and also the steers to the main body of the truck. The only difference between the tractor and trailer is that the trailer is connected to the fill-up tank by another revolute joint. Figure 2 shows the developed model represented by symbols as defined in previous research.

### Tractor-trailer mathematical model

The mathematical model of the tractor-trailer is constructed based on a previous study by Rouchon and Fliess (1993) and is governed by the following equations:

{\stackrel{\u0307}{\mathrm{x}}}_{0}=cos\left({\mathrm{\theta}}_{0}\right){\mathrm{u}}_{1}\phantom{\rule{0.25em}{0ex}}

(1)

{\stackrel{\u0307}{\mathrm{y}}}_{0}=sin\left({\mathrm{\theta}}_{0}\right){\mathrm{u}}_{1}\phantom{\rule{0.25em}{0ex}}

(2)

\stackrel{\u0307}{\mathrm{\phi}}={\mathrm{u}}_{2}

(3)

\stackrel{\u0307}{{\mathrm{\theta}}_{0}}=\frac{1}{{\mathrm{d}}_{0}}tan\left(\mathrm{\phi}\right){\mathrm{u}}_{1},\mathrm{for}\phantom{\rule{0.25em}{0ex}}\mathrm{i}=1,\dots \dots ,\mathrm{n}

(4)

\stackrel{\u0307}{{\mathrm{\theta}}_{\mathrm{i}}}=\frac{1}{{\mathrm{d}}_{\mathrm{i}}}\left({\displaystyle {\prod}_{\mathrm{j}=1}^{\mathrm{i}-1}}cos\left({\mathrm{\theta}}_{\mathrm{j}-1}-{\mathrm{\theta}}_{\mathrm{j}}\right)\right)sin\left({\mathrm{\theta}}_{\mathrm{i}-1}-{\mathrm{\theta}}_{\mathrm{i}}\right){\mathrm{u}}_{1}

(5)

In these equations, (x_{0}, y_{0}, φ, θ_{0,} θ_{1}… θ_{n}) ∈ *R*^{2} × (S^{1})^{n+2} represents the tractor-trailer state, where (x_{0}, y_{0}) are the coordinates of the head and φ is the steering angle. The heading of the truck is *ϴ*_{
0
} and the angle of the trailer is *ϴ*_{1}*,* both with respect to the *x*-axis. ‘u_{1}’ and ‘u_{2}’ are the velocity control factors, where ‘u_{1}’ is the driving speed and ‘u_{2}’ is the angular velocity of the steering angle. ‘d’ represents the distance between trailers and is a positive constant (Rouchon and Fliess1993). Figure 3 shows a representation of these variables. Using these equations, we can derive the mathematical relationship between the tractor and trailer and program it into the simulation engine. We used this approach to simulate the construction tractor-trailer for comparison with our developed model.

### Comparison between the two models

The result of the mathematical model simulation is used to verify the model developed in this research. Each simulation used the same degree of turning and velocity so that the trajectory of the tractor-trailer would be a circle. The differences between the two models under different degrees of turning and velocities were then compared.

### Motion trajectory

In Figure 4, the velocity and turning degrees are set to the same value for the two models. One turning degree is set at 6°, and the other at 12°. We discovered that the lower the turning degree, the greater the motion trajectory radius, with the difference and error between the two models becoming greater; in other words, the higher the turning degree, the lower the motion trajectory and the smaller the error between the two models.

### Motion trajectory with time

In this section, we describe the impact of the addition of the time factor. The comparison results are shown in Figure 5 and they demonstrate that error accumulates as time increases. The possible reasons for this error are discussed in the following section.

### Sources of error

The mathematical model is constructed in a very simplified manner. It ignores the friction between the wheels and the ground (Figure 6). On the other hand, the physics engine enhances the contribution of the behavior between the tractor-trailer and the environment to its ultimate trajectory. Hence, there will necessarily be some differences between the two models. However, since the extent of error is acceptable we can conclude that the physics model is acting similarly to the mathematics model, and, considering the greater number of factors it considers, it can be conjectured that it models the behavior even more accurately.

### Summary

Our aim was to create a tractor-trailer model that approximated real-world behavior. The mathematical model was built based on a previous study, whereas the physics-based model was built using “multi-body dynamics”, an approach not yet taken in any other research. The comparison of the physics model and the mathematical model leads to the following conclusions: (1) the mathematical model generates the ideal behavior of the tractor-trailer and the physics-based model behaves in a similar manner; (2) The mathematical model is easier to build and consumes less computational resources; (3) Accumulated error related to friction is present in the physics model and therefore when the proper friction coefficient is applied, the physics model can generate more realistic behavior than the mathematical model; and (4) Collision boundaries can be directly incorporated into the physics model whereas they can only be appended onto the mathematic model, and as a result the physics model is the more desirable model for use in site plan evaluations.

### Site importing module

To begin the evaluation the virtual environment of the construction site has to be generated and it must be precise in its dimensions and include all possible obstacles along the transportation routes to ensure that the safety test will be realistic. Since the facilities at the site are changeable during construction, the procedure of site environment generation must also be efficient and automatic. This can then allow engineers to test several layout plans in a fast manner.

To achieve this goal we developed a site importing module which uses the 2D image of the site plan as the input data for generating the virtual construction site, which includes collision checking. Users should manually modify the plan image to a specific scale and then highlight every obstacle with a specific color, which will then be recognized by the system. The system will then render an obstacle at a default size at each highlighted location. Figure 7 shows an example of modifying a 2D site plan. In this case, the site’s dimensions are approximately 400 meters in width and 300 meters in height. The resolution was set so that one pixel represented one square meter, and so the 2D plan was converted to 400 pixels in width and 300 pixels in height, being a rather small scale for the modification process. During this process, only necessary boundaries are kept while others are deleted. In the case of Figure 7(b), there are permanent facilities such as the factory and office, an existing road, and the walls or fences of the entire site.

The site importing module described takes 2D images of the site plan as input data. The scope of this research did not include an in-depth look at the impact of differing object heights in order to simplify the input process and facilitate computation. The system simply generated columns with a default height to represent the obstacles and boundaries appearing on the site.

### Accessibility evaluation module

After the virtual construction environment is built, the accessibility evaluation can commence. In this module, the safety level of the transportation route is numerically assessed. An index, *Safety Factor* (SF), is developed to evaluate the site layout by integrating three different safety parameters. Detailed concepts relating to each safety parameter will be discussed in the following sections.

#### Safe driving range

The safety range of the driving paths for transportation was evaluated by adding a multi-layer collision boundary (*Safety Bound*) to the transport unit, which detected any collision between the boundary of each layer and obstacles on the site. The safety range score, *l*_{i}, was developed to quantify this factor. There are three layers of safety bounds as shown in Figure 8(a). Whenever an obstacle runs into a safety bound, it will gain a safety range score according to the level it touches and the maximum value will be kept. If no bound is touched, then the score will be zero.

#### Narrow level of route

If a route is narrow, there will be obstacles close to the transport unit on both the left and right hand sides. By separating the multi-layer collision boundary into two parts, we can evaluate the degree of the narrowness of the route. Narrow level, *n*_{i}, quantifies this factor. There are four collision boundaries as shown in Figure 8(b). Whenever an obstacle runs into a collision boundary, it will gain a narrow level score according to the level it touches and the maximum value will be kept. Otherwise, the score will be zero.

#### Curvature of route

If a route is tortuous, more driving skills are required than for driving on a straight route. Therefore, we take the curvature of the route into consideration. The *Instant curvature* of each segment of the route is evaluated while the transport unit is in motion. The curvature score, *c*_{
i
}*,* which is computed at every time step of the test, is also recorded whenever an obstacle touches one of the safety bounds.

#### The safety factor

To execute a safety test for a route, the user needs to drive the tractor-trailer through a desired route, and can repeat this several times in order to test several possible driving conditions. After that, each unit obstacle gains a safety score, *s*_{i}, which integrates the three safety parameters (curvature score *c*_{i}, narrow level *n*_{i}, and safety range score *l*_{i}) according to the formula shown in Equation 6. We have adjusted these factors to be between 10^{-2} and 10^{-1} by multiplying them by a weight. In this case, the weight value for C was ten because the value of curvature lay mostly between 10^{-2} and 10^{-1} and would otherwise be too small to be of significance. For N and L, 1/4 and 1/3 were used respectively in order to diminish the value to between 10^{-2} and 10^{-1}. The value of *α, β* and *γ* was determined by the relative importance of user cognition and the project type.

In this research *α*=12, *β*= 4 and *γ*=7. These values have been tested by the authors and represented the most significant safety factor value of the construction site. This value is most suitable for construction sites that are more congested and have narrower corners. The value of the weights for each factor depends on the environment of the construction site and the type of transportation vehicle, and so it should be modified as required by engineers.

To turn safety scores into a practical guide for safety evaluation, users can select a certain resolution for the summing up of safety scores in an area. For example, if the chosen resolution is 10 m × 10 m, each divided area will gain a SF by summing up every safety score available within its 100 m^{2} scope as shown in Equation 7.

{s}_{i}=\left(\alpha \times 10\times {c}_{i}\right)+\left(\beta \times \frac{{n}_{i}}{4}\right)+\left(\gamma \times \frac{{l}_{i}}{3}\right)

(6)

\mathit{SF}={\sum}_{i}{s}_{i}

(7)

### Visualization module

The *visualization module* was designed for visualizing the evaluation results. This module provides a direct and brief method for engineers to quickly check through the evaluation result using visualization rather than having to interpret numerical data. After the evaluation, SF will be presented by the height of a rectangular column situated on each divided area, as shown in Figure 9(a). Engineers can thus gain a broad understanding of the results from a quick glance. In addition, the complete trajectory of the tractor-trailer can be stored and rendered again if required, as shown in Figure 9(b).

### Implementation

To implement the proposed system, we used the physics-based simulation engine developed by Hung and Kang (Hung & Kang2009), which integrates Microsoft XNA and NVIDIA PhysX. XNA is a rendering engine used to generate consecutive images from 3D models in real-time. It also provides a basic game development environment such as handling user inputs and audio playing. PhysX is a physics engine, which calculates the behavior of objects in the virtual environment. PhysX utilizes position-based dynamics to simplify and approximate multi-body dynamics, which is a stable and efficient method allowing the behavior to be simulated in real-time. It is also used to compute the collision detection in the accessibility evaluation module.

The procedure for using this system is as follows. Before executing the system, the user should load the 2D plan of the target site into the “site importing module” so that the system can generate the virtual obstacles. In addition, the user should set the initial position of the transportation unit according to the evaluation scenery. Next, the user launches the system and directs the model along the desired routes; the system will automatically record the safety factors. We used the Xbox360 gamepad as the default device for users to control the transport unit in the virtual environment. After reaching the end of the route, the user can switch to different evaluation modes provided by the “visualization module” and also export evaluation data for further use.