1 Introduction

Within the process of ore production, the efficient transportation of materials from the different parts of the mine is of the uttermost importance. In many mining operations, transportation of ore, intermediate products, and personnel accounts for a relevant fraction of the overall costs (Rojas et al. 2015). Correct management not only helps in keeping production costs at bay, but also ensures the flow of the required materials onto the cascading activities in the production process; having the needed materials on time, in turn, improves overall equipment effectiveness and increases production rates. Given its importance, fleet management has been a relevant research topic for many decades (Dejax and Crainic 1987). Furthermore, the implementation of intelligent transportation systems has been at the forefront of supply chain improvements, with considerable effects on resilience, efficiency, security, and cost reductions (Button et al. 2001).

But improving efficiency or reducing costs cannot come with degradation in safety standards. Especially in mining operations, proper mine safety is of paramount importance. Mines are particularly hazardous environments, with a significant potential for environmental damages and accidents that can cost the lives of their workers, more than many other working environments. Hence, the industry, in many countries, has gone to great lengths, so that operations have as little risks as possible of putting their workers in harm’s way.

Adequate fleet control, then, can come as an essential tool to improve or maintain efficiency while keeping or enhancing safety standards. Defining which vehicle goes to what part of the mine, and when, helps to keep a smooth operation, reducing the possibilities of failures that increase costs, lower efficiency, or worst, create fatal accidents.

There are many complications to the fleet control problem. First, in general, fleets are heterogeneous. In many instances, different types of transports interact on the same roads: personnel buses, ore trucks, equipment transports, and machinery, among others. All of these transports move through the mine’s operations and road network, adding new risks for accidents in every interaction. Additionally, some of these vehicles can have a priority over the others, meaning that they have precedence in the use of the road, whereas the vehicles considered of secondary importance need to wait or reduce their speed and usage of the roads.

Another significant complication is the need for real-time control. Under the everchanging conditions in which mining operations generally are, having real-time information about where each vehicle is, what it is doing, and where it is going, is essential for security and control purposes. However, this requirement presents pressing challenges of its own: mines have a plethora of tunnels, crags, and crevices that limit the possibilities of sharing real-time data, with reduced radio and cellphone coverage; the two main channels used to transmit information from moving sources. Additionally, due to the real-time nature of the decision support tools needed, any algorithms developed to give relevant recommendations must do so in a minimal time-frame (in the order of seconds), and cope with incomplete and missing data.

The particular case in which our work is interested in is when managing ore transportation trucks and personnel buses through the same network of roads. In this setting, managing the interactions between these two types of vehicles is hugely relevant, making collision avoidance a priority. Due to the fatal consequences of accidents between these two types of transports, in general, governments and companies have strict protocols to ensure that the buses that transport personnel never get close to heavy transport trucks, a type of vehicle with widespread use in the mining industry (Knipling et al. 2003).

Hence, for a fleet control system to be of help, it needs to encompass robust algorithms that can deal with the uncertainties of the environment, information limitations, real-time decisions, and account for high safety requirements.

1.1 Related work

Although not directly in trucks and highways, the problem of scheduling transports and detecting possible conflicts that can increase the risk of collision has been studied since the early 1970s in the railway scheduling literature (Szpigel 1973). Because having a single track is commonplace in many older systems, operations research tools have been extensively used to identify conflicts and schedule and reschedule trains with high safety requirements [see Wang et al. (2018) and the references therein]. In most of these cases, authors address the problem of blocking a whole part of a track, such that trains flow in a single direction for some time, with the simplification that trains follow a strict and known schedule of stops and known speeds.

Similarly, the train timetabling (Arenas et al. 2015) and the train platforming problems (Bai 2015) are the other two main problems, similar in nature, that have been addressed from the operations research literature. Although the relevant instances are generally large (in terms of the number of trains or stops), they also have a strict set of stops, and speeds across the tracks are constant or known beforehand.

Aside from the train scheduling context, there are several other settings where conflict detection and resolution methods are needed. Relevant examples can be found for aircrafts (Alonso-Ayuso et al. 2010, 2016), ships (Huang et al. 2020), and even autonomous vehicles or robots (Hoy et al. 2015). To the best of our knowledge, operations research tools have not been used to deal with the specific case of managing fleets of personnel buses and ore transportation trucks under the strict security settings that are addressed in this work. For this specific problem, only general guidelines focused on safety conditions and regulations have been developed (Knipling et al. 2003). Furthermore, in the instances found in the literature, the additional requirements needed to effectively build a useful decision support tool for our setting, like real-time data management with unknown destinations, variable speeds, and limited information transmission possibilities, have never been addressed simultaneously.

1.2 Our contributions

Our work describes the development of fleet control algorithms and the implementation of a decision support tool to improve overall asset utilization while keeping the current safety levels. Within our work, several contributions are made to what is currently available in the literature. In particular:

  • A high-speed prediction scheme is developed, which can deal with noisy and incomplete GPS data in real-time, to determine bus and truck positions, as well as estimate future locations.

  • An algorithm for fleet control is developed, which allows managers to tune safety parameters while maximizing road and truck availability. This algorithm also runs in a few seconds, making real-time recommendations feasible.

  • Our approach is tested on real historical and simulated data, showing how this method improves road availability while controlling the security window between ore trucks and personnel buses.

The rest of the manuscript is structured as follows. In Sect. 2, the general problem addressed in this work is described, with an emphasis on the singularities of the specific implementation done. Next, in Sect. 3, the fleet management algorithm developed is portrayed, and later, in Sect. 4, how they are implemented is shown. Next, in Sect. 5, the algorithms in both historical and synthetic data are analyzed, showing how this fleet management system improves asset utilization while preserving the required safety levels. Finally, in Sect. 6, our conclusions for this work and future developments that arise from the results are given.

2 Problem description

In this section, the general setting addressed throughout this work is described, and the notation of the paper is set up.

The problem description before our involvement is as follows. El Teniente is the largest underground copper mine in the world, owned by CODELCO, the Chilean state-owned copper mining company, and the largest copper producing company in the world. El Teniente division is located 80 km south of Santiago, the capital of Chile, and 2500 m above the sea level. The company owns a single main road of over 60 km, connecting the city of Rancagua with the mine facilities. The roadway has only minor branches for specific locations close to the refinery and mine entrance. The company transports raw materials and ore around the mine and refinery, using heavy trucks. Additionally, using the same road, the company carries its personnel, using convoys of buses that go up to the mine and back down to the city at specific times during the day, coordinated with the shifts from the different groups of workers. To comply with work regulations and have their personnel in time on their duties, these buses have priority using the road, with the ore trucks having a secondary role.

On the other hand, due to security regulations and internal constraints, the company’s policy is that no personnel buses can cross paths with heavy trucks at any time. To achieve this security requirement, and due to the lack of a real-time management system, the company closes the road for heavy trucks whenever the convoy of buses commences moving into the road from the entrance nearby the city. It does not allow any trucks through the system until the buses leave with the personnel from the previous shift. This solution was easy to implement, since the buses had a fixed schedule and, thus, every area in the company knew at which time buses would start pouring in, and by which time they should have left the road (CODELCO 2009).

The over-restrictive policy defined by the company has a severe impact on road availability and truck overall equipment effectiveness. Since the road becomes closed for trucks when buses are moving personnel around the system, the flow of intermediate products to the refinery is halted, affecting the production of their main products. Furthermore, the amount of time that the roads are closed depends on the number of buses entering and leaving the system.

Making this availability problem worse, a new underground level and production sites were being developed and constructed. These new areas will increase copper production. In turn, these new sites will require more workers, increasing the size of the bus fleet, and more trucks will be needed for the ore movements, thus, reducing the availability of the road to move their products. Hence, the company found that keeping the same procedure would make production infeasible, with an estimated availability of the road of less than 40% in the following couple of years. If no flexibilities were introduced to their fleet management, the only way of keeping up with production requirements would be to construct a second road, something that is economically infeasible.

To address this future availability problem, the company decided to actively manage the trucks, making sure that they stop and leave the road whenever the buses come close, keeping a safety distance that would be defined by the safety manager. To give room for trucks to stop, they constructed a few large pullout areas along the road, with enough room for several heavy trucks to park.

Buses and heavy trucks had GPS systems already installed in them, allowing the company to store their positions and speeds along the road. This upgrade was done some years before to improve the way that they were supervising their fleet. Although real-time monitoring was available, some segments within the sections up in the mountains had tunnels or were too covered, so that radio signals or cellphone coverage was not possible. Still, speed and position logging were done throughout the whole route, and data were transmitted whenever the truck or bus regained signal coverage.

The main question that the company wanted to address was: given the last known positions and speeds of the different vehicles in the road, when should they indicate their heavy trucks to stop at the next pullout section they encounter, which was defined as pullout activation, so that a predefined safety distance was kept between all buses and all trucks at every moment in time. Similarly, they wanted to know when they should allow the trucks to be released from the pullout area and return to moving materials along the road, keeping the safety distance as well.

To address these questions efficiently, the company needed to solve several problems. First, they need to predict if and when a bus and a truck could meet along the road if the truck was not stopped in the following pullout area. This prediction could be based on historical speed data and the current status of the vehicles, but there was no information on the final destination of any of the buses or trucks.

As a second complication, they had to manage the fleet in real time, and make predictions, sometimes, with missing data. Once the missing data arrived, they need to correct the predictions and act accordingly.

Finally, they need a tool to simulate the effect of different safety distance sizes on possible security concerns and road availability. All these requirements are addressed with the methodology developed in this work.

3 Collision avoiding algorithm

In this section, the algorithm developed to prevent the two types of vehicles (priority and secondary vehicles) from crossing paths along the route and, thus, avoid the possibility of collisions is described. This algorithm needs to help in deciding when to take out the secondary vehicles from the road, into the pullout areas, and when it is safe to re-open the road to release them.

As a first step to develop the algorithm, a simplified scenario is first considered: two vehicles at a constant speed over a single route. The complexity of the model will be increased later, to represent our real setting.

Let us assume that the road is a single line, where the two types of vehicles move along in the same direction. Additionally, on the road, there are pullout areas at positions \(p_1\) and \(p_2\), where the secondary vehicle can stop to avoid encountering the priority vehicle. The priority vehicle at time \(t=0\) is located at the beginning of the road (\(p=0\)) and moves with a constant speed of \(v_{\text {B}}\). Also, at time \(t=0\), a secondary vehicle is located ahead of the priority vehicle at position p and advances with a constant speed of \(v_{\text {T}}\). Only the case in which \(0<p_1<p_2\) and \(v_{\text {T}} < v_{\text {B}}\) is considered, since, with any other combinations, the priority vehicle would never encounter the secondary vehicle, or the secondary vehicle would not have a pullout area available for stopping, and thus, no decision is needed.

In this setting, the fleet manager is interested in deciding when the secondary vehicle must pull out from the road into the area located in \(p_1\), or if it can continue until the next pullout area. It is easy to see that nothing can be done if the speed of the priority vehicle is such that it catches up to the secondary vehicle before position \(p_1\). On the other hand, if the priority vehicle catches the secondary vehicle after \(p_2\), then the secondary vehicle can leave the road at \(p_2\), and there will not be an encounter between the two. Hence, the critical case is when the priority vehicle reaches the secondary vehicle exactly at \(p_2\) (see Fig. 1a for a representation of this case).

Fig. 1
figure 1

Simplified case when a priority vehicle and a secondary vehicle moves at constant speeds

In this case, the secondary vehicle arrives to \(p_2\) at time \(t_2=\tfrac{p_2}{v_{\text {B}}}\), and then, the priority vehicle arrives to the pullout area \(p_1\) at time \(t_1= \tfrac{p_2}{v_{\text {B}}} - \tfrac{(p_2-p_1)}{v_{\text {T}}}\). Hence, any secondary vehicle arriving to \(p_1\) after \(t_1\) must be pulled out until the priority vehicle crosses this point. The pullout area is active during time \(\left[ \tfrac{p_2}{v_{\text {B}}} - \tfrac{(p_2-p_1)}{v_{\text {T}}}, \tfrac{p_1}{v_{\text {B}}}\right]\) (denoted as a red line in Fig. 1a).

Note that in this case, the period when the pullout area is active does not depend explicitly on the initial position of the secondary vehicle, but only on its speed. Hence, the time in which the pullout area must be activated can be decided a priori, even if the manager does not know the actual position of the secondary vehicles. By repeating this procedure for each pullout area, the manager can schedule an estimated time for activating each area, depending on the speeds of priority and secondary vehicles (see Fig. 1b).

In the case that a safety distance of K kilometers must be maintained between the secondary vehicle and the priority vehicle, a similar analysis can de done. The secondary vehicle must arrive to position \(p_2+K\) before the priority vehicle arrives to \(p_2\) (see Fig. 1c). Hence, the pullout area must be active during time \(\left[ \tfrac{p_2}{v_{\text {B}}} - \tfrac{(p_2+K-p_1)}{v_{\text {T}}}, \tfrac{p_1+K}{v_{\text {B}}}\right]\).

In the case of several secondary vehicles with different speeds, a similar analysis can be made depending on the position p of each secondary vehicle at time \(t=0\) (see Fig. 1c). If the speed of the secondary vehicle is higher than \(V_{\text {max}} = \tfrac{P_2-p}{P_2} v_{\text {B}}\), then it is not necessary to remove that secondary vehicle from the road. On the contrary, if the speed is lower than \(V_{\text {min}} = \tfrac{P_1-p}{P_1} v_{\text {B}}\), then, unavoidably, the secondary vehicle will encounter the priority vehicle before the pullout area ahead in the road. Nevertheless, a lower bound on the speeds of the secondary vehicles can be assumed, and decide the pullout activation time based on this bound.

It is important to note that it is assumed that the priority vehicle travels directly to the end of the route. While it seems that this would generate more pullout activation periods than what would happen if the priority vehicle destination was known and set before the end of the road, this does not occur in practice. In fact, while the algorithm estimates how long a pullout area should be activated to remove the relevant secondary vehicles from the road, this activation does not occur until the priority vehicle is close enough to the pullout area. If the priority vehicle stops before this happens or the priority vehicle changes its route, the pullout areas will not be activated.

Now, the method on how to extend these ideas for road branches is discussed. The manager only cares about priority vehicles coming into the road by a branch, because secondary vehicles cannot be stopped at the branch road. Hence, they do not affect the activation of the pullout. As an example, suppose that there is a priority vehicle incoming into the main road from a branch road, and the crossing point is located at position \(0<p_x<p_1\). Let d be the distance of the priority vehicle to the crossing point. One solution, to extend the effect of this incoming priority vehicle into the main road, is to assume that there is a virtual priority vehicle, with the same velocity, at position \(p_x-d\). However, this assumption can activate pullout areas located before \(p_x\), which might not be required. A more appropriate approach is to assume that the virtual priority vehicle is on the road at position \(p_x\), but with a slower velocity \(v' = \tfrac{p_2-p_x}{p_2-p_x+d} v_{\text {B}}\). In that case, the initial time for activating the pullout area remains fixed until the priority vehicle effectively arrives at the main road (see Fig. 2 for a diagram of this case).

Fig. 2
figure 2

Analysis for an incoming priority vehicle from a branch road

Finally, the extension of these ideas for the setting with non-constant velocities is discussed. It is unrealistic to assume that speeds are constant along the road. However, the road can be split into several segments and assume that vehicles travel at a constant speed over each of these segments. This assumption is equivalent to presume that the priority vehicle and the secondary vehicle have a constant nominal speed \(v_{\text {B}}\) and \(v_{{\text {T}}}\), respectively, but at each segment s of the route, this speed is modified by a multiplicative factor \(f^s_{\text {B}}\) and \(f^s_{\text {T}}\), respectively. More precisely, if a vehicle k in segment i is traveling at speed \(v^i_{k}\), then it can be estimated that in segment \(s>i\), it will have speed \(v_{{\text {b}}}^{i} := v^i_{{\text {b}}} \cdot \tfrac{f^{s}_{\text {k}}}{f_{\text {k}}^{i}}\). This multiplicative factor can be interpreted as a rescaling of the vertical axis of Fig. 1, or expanding and contracting the length of the segment, to recover the same constant-speed model presented before, for deciding the activation of the pullout areas.

figure a

Pseudocode that summarizes the algorithm for a single road is presented in Algorithm 1. It can be seen that a crucial part of the algorithm is to estimate the time of arrival of a vehicle to a given position correctly. In this case, two simple cases are presented (a constant speed for each vehicle, or applying a multiplicative factor for a discretization of the road), but it can also be applied to more complex functions \(\textsc {Time}(\cdot ,\cdot )\).

Considering all these transformations, the presented model allows the fleet manager to estimate the required activation time of each pullout area, to avoid secondary vehicles encountering a particular priority vehicle. Assuming the same speed for all secondary vehicles, the algorithm only depends on this nominal speed, and not in their real positions. This fact is interesting and relevant, because it only requires to monitor the current location of the priority vehicles along the route and not the location of every secondary vehicle, as well. In the case of several priority vehicles, this decision algorithm can be applied over each priority vehicle independently, and overlap the results considering the union of the computed activation times.

4 Overcoming real-world issues: details of the implementation

For the algorithm presented in Sect. 3, although it is efficient, and it is fast to compute recommendations, it requires a relatively good accuracy in the input data. In many mining operations, getting reliable and precise GPS data implies an additional complication to many fleet control systems. In this section, the algorithms and methods used to take advantage of the GPS data available for each vehicle are described, and a detailed account of how it was used to compute robust inputs for the collision avoidance algorithm is also given.

4.1 Detailed description of the problem setting

The route from Rancagua to the El Teniente mine has 60 km, and the fleet control must be applied from the beginning of the private road up to Sewell. In this control section, the road has three pullout areas in each direction. The route has one single branch, and the proposed algorithm also needs to consider buses using this road branch. The route is divided into the following five sections (see Fig. 3 for a map of the area):

  • Section T1: Public road from Rancagua’s Downtown to Maitenes (20.7 km).

  • Section T2: From Maitenes (20.7 km) to Colon (47.7 km).

  • Section T2-Var.Cal: Branch from the main road at 40.0 km to Caletones.

  • Section T4: From Sewell (57.2 km) to mine access Adit 42 (61.6 km).

  • Section T5: From Colon (47.7 km) to Sewell (57.2 km).

Pullout areas are located in sections T2 and T5. Section T2 has two lanes, one going up and the other going down, so each direction can be analyzed separately. On the other hand, Section T5 has only one lane, so vehicle encounters must be avoided considering both directions. Section T2, in the up-going direction, has three pullout areas, located in 20.7 km (Maitenes), 28.9 km (La Paula), and 37.3 km (Barahona). Section T2, in the down-going direction, has three pullout areas at 47.7 km (Colon), 37.9 km (Barahona), and 28 km (La Paula). Section T5 has one going up in 47.7 km (Colon) and one area going down in 57.2 km (Sewel).

Fig. 3
figure 3

Route cartography and location of the pullout areas

Historical GPS information for all vehicles (buses and trucks) was available, with the latitude and longitude coordinates, as well as the speed of each vehicle. Due to the inherent errors in GPS measurements, the logged positions are not exactly over some segment of the road. Hence, first, each logged geographical coordinate needs to be projected to a specific location over the route. The following two subsections describe this projection procedure to the route and the normalization of the speeds to implement the proposed collision avoidance algorithm.

4.2 Estimating positions from GPS data

At different time intervals, each vehicle logs its GPS data, that is, the position (xy) as latitude and longitude coordinates, the speed v, and a field called heading h, which indicates the direction in which the vehicle moves.

First, a function to project the GPS data to the route was developed and implemented, with output \((p, \delta , m)\), where \(p=p_{(x, y)}\) is the position on the road measured in kilometers from the start of the road (at 0 km), \(\delta\) is the distance from the GPS measurement to the projection on the road, and m is the direction of movement of the vehicle that can be up (U) or down (D). The inputs of the function are the coordinates (xy) of the vehicle and the heading h, all provided by the GPS on the vehicle. The implemented function then projects the coordinates (xy) to its closest point over the route.

Since the route is not convex, for some data points, there could be more than one projection on the road. However, this issue does not create a big problem with the position estimation. First, due to the topology of the road, this will arise in only a handful of points, with minimal distance errors. Additionally, as presented in Sect. 4.4, a Kalman filter is used to clean the errors in the GPS data, running the process every minute, which will, in turn, reduce the effect of an error in the projection procedure.

It is important to note that the distance to the route, \(\delta\), is also relevant information. This distance allows us to discriminate whether a vehicle is really using the road or if it is on a secondary road, where buses do not transit. As suggested in the traffic regulation manual of the company (CODELCO 2009), a threshold distance of \(\delta =25\) m was defined, above which the vehicle is considered to be off the road, and therefore, the data are discarded. Figure 4 shows parts of the road with the considered vehicles for different distance thresholds.

Fig. 4
figure 4

GPS vehicle records located within \(\delta \le 10\,\hbox {km}\) (left) and \(\delta \le 100\,\hbox {m}\) (right) from the road

The direction of movement m was computed by obtaining the angular difference between the heading and the segment’s angular direction. This difference allows us to identify if a vehicle is going up (\(m=U\)) or down (\(m=D\)).

This projection procedure over the route allows us to handle the vehicles as if they travel over a line, which is one of the requirements for the collision avoidance algorithm. In the next section, the speed data from the GPS are considered, so that the problem can be reduced to one with constant speed, as mentioned in Sect. 3.

4.3 Estimating speeds and relevant vehicles from GPS data

The data from the GPS measurements of trucks and buses were used for two purposes: to define the parameters of the algorithm according to GPS information delivered by vehicles and to evaluate the performance of the algorithm using real data. An original set of approximately 500,000 records representing 1 week of operation was considered in this analysis. After filtering and cleaning the data, only 25% of these records were identified as useful. The dismissed data corresponded mainly to vehicles that were parked or were on a different secondary route. Next, for the selected vehicles, the available speed data were analyzed. A boxplot of the speeds is in Fig. 5, separated for each vehicle type in both directions. The speeds are consistent with the maximum speed for buses, which is 90 km/h, and for trucks, which is 70 km/h. Both of these speeds are defined in CODELCO (2009). As expected, the speed data for the trucks have a higher variation when going up, due to the slope of the road and the different loads of the trucks.

Fig. 5
figure 5

Boxplot of speeds for each vehicle every 1000 m

To deal with these multiple speeds, the road was divided into approximately 400 segments of 100 m each, characterized by its corresponding distance from the origin of the road in the city of Rancagua. This length considerably reduces the variance presented in Fig. 5, and it is consistent with the choice of the other parameters. Then, the multiplicative factors (\(f_{\text {B}}^s, f_{\text {T}}^s\)) were computed for each segment on the route. In our case, different factors were calculated, for when the trucks are going up (\(f^{s,U}_{\text {B}},f^{s,U}_{\text {T}}\)) and down (\(f^{s,D}_{\text {B}},f^{s,D}_{\text {T}}\)), respectively.

The average speed for each segment was also computed for the buses in each direction, using the historical GPS data. The comparison factor \(f^{s,U}_{\text {B}}\) was computed for segment s and direction U as the average speed \(v^{s,U}_{\text {B}}\) at segment s, divided by a reference speed \(v^{0,U}_{\text {B}}\). Analogous computations, for the other direction and the trucks, allow us to compute all the required multiplicative factors.

4.4 Kalman filter for accurate positions and speeds

These previous estimates will be accurate if the current speeds \(v_{\text {t}}\) and positions \((x_{\text {t}}, y_{\text {t}})\), provided by the GPS of the vehicles, have little error. Regretfully, these measurements are, in general, affected by noise, which is particularly high in locations with cliffs and crevasses, as is the norm in mining sites. To improve the estimation of speeds and positions, a Kalman filter was used, as an optimal state estimator for positions and speeds, like described by Kalman (1960). These filters have two objectives. On one hand, they improve the needed estimations to predict future locations of trucks and buses.

Additionally, whenever data are missing, the filter has a dynamic model of the vehicles and continues to maintain speed and position estimations, which are easily updated once new data are received. Since in the historical data, it was observed that positions could at most arrive 10 min late, this update was achieved by saving the last 20 min of estimations and intermediate matrices of the Kalman filter, which were updated whenever a new data set arrived. Then, together with the previous approach, our system computed the position predictions for one whole hour into the future. A detailed discussion on how to implement and use these filters is available in Welch and Bishop (2006).

Now, with a more accurate estimation of the current position and speed of the vehicles, their future locations can be estimated to decide when to activate the pullout areas. A safety distance K is previously defined, and pullout areas should activate to guarantee a security distance of K or more between buses and trucks.

4.5 Validation of the whole system

An example of a run of the algorithm for one instance is now presented. The instance assumes that the bus is located near the beginning of the route (at 22 km), with several trucks going up and down through the road. The position of each vehicle is forecasted for 1 h, and the algorithm is applied with a safety distance of \(K=10\,\hbox {km}\).

Fig. 6
figure 6

Simulation of pullout algorithm

Figure 6 shows the resulting execution of the algorithm and the activation times of each pullout area. The figure shows that all the trucks that were going up in section T2 of the road stop at the first available pullout area. They stay there until the bus passes and attains a safety distance of 10 km ahead of the stopped trucks before going out. This behavior is different for the trucks going up located in sections T4 and T5, because there is no pullout area in that direction. This fact results in one truck (grey line) slightly violating the safety distance to the bus.

Something different occurs for trucks going down. Trucks located in section T2 of the road do not require to stop, because the road has separate lanes for both directions. However, the truck going down from section T4 (purple line) needs to park in the next pullout area, because it cannot reach the following one without violating the safety distance. Recall that in the last sections of the road, there is only one lane for both directions. After stopping, this truck remains on the pullout area for almost 40 min until the bus reaches the end of the road. This example shows that the safety distance has a central effect on the activation times of the pullout area, especially for the pullout located in the upper sections of the route.

5 Performance evaluation of the decision support system

To gauge the impact of our decision support system, different scenarios are simulated using historical data, and various behavioral metrics are evaluated.

Fig. 7
figure 7

Time periods when road is closed for trucks

The main objective of the developed system is to improve the availability of the road for trucks in the different sections. As mentioned in the problem description, historically, the road is closed for heavy vehicles during specific time windows, which is when buses are moving on the road. The actual time windows at the moment of this study are presented in Fig. 7. Based on these time windows, it is possible to compute the percentage of the time when the road is available for truck movements for the sections of interests, which is the following: 72.9% (section T2—Up), 62.5% (section T2—Down), and 58.3% (section T5). These values are the baseline for our study.

The improvement in road availability is analyzed by implementing the main algorithm through traffic simulations to evaluate the performance of the proposed collision avoidance algorithm. As expected, there is currently no historical data where trucks and buses use the road simultaneously. Hence, two 4.5 h time-windows are selected from the available data, where trucks were allowed to use the road and another two 4.5 h time windows with buses circulating through the road. All GPS data from these time windows are overlapped to simulate scenarios where trucks and buses use the road simultaneously. The scenarios constructed using this procedure are presented in Table 1.

Table 1 GPS historical data utilized for each scenario

Scenarios 1, 2, and 3 correspond to a low flow of trucks, whereas scenarios 4, 5, and 6 correspond to instances with a high flow of trucks. Likewise, four types of configurations for the safety distance between a truck and a bus were considered, with \(K=1\), 3, 5, and 10 km. Note that, since the distance between pullouts corresponds to approximately 10 km, this last configuration is similar to closing the entire section, while a bus is using it. Finally, these studies are repeated using historical data of 7 consecutive days for different times of the year: autumn, winter, spring, and summer. A total of 672 simulations result from this procedure, with millions of runs of the algorithm, which come from one run of the method for every minute in the 4.5 h time windows per bus.

As mentioned before, our main performance metric is the availability of the road. That is, the percentage of the time that the section of the road is available for truck movements during a day. Other secondary metrics are also computed to understand the performance of the algorithm:

  • % truck time stopped: corresponds to the percentage of the simulated time in which a truck has been stopped in a pullout area by the algorithm. This metric is calculated for each truck independently.

  • % activation time: corresponds to the percentage of the total simulated time in which the pullout was activated. This metric is calculated for each pullout independently.

  • max trucks: corresponds to the maximum number of trucks simultaneously stopped in a pullout area at some point during the simulation. This metric is calculated for each pullout independently.

Table 2 Aggregated simulation results for different safety distances

The aggregated averages of all 672 simulations are shown in Table 2. As expected, by increasing the safety distance between buses and trucks, the activation time of the pullout areas is increased, resulting in a higher percentage of the time where trucks require to stop. However, these increments are very different depending on the location of the pullout and the direction of the vehicles. The analysis shows that the section whose pullouts remain longer active are those of Section T5: Colon (U) and Sewell (D). Colon pullout in the ascending direction is the most critical case, reaching an average of over 22 trucks stopped, which exceeds the capacity available in the pullout. The high number of trucks stopped in this section is mainly because section T5 of the route is blocked in both directions and, as it can be seen in the figure of average speed per section (Fig. 5), the speed drops considerably in that section, resulting in a more likely encounter between buses and trucks.

On the other hand, the simulations show that the other pullouts further down the route have a low activation rate, particularly in the direction of ascension to the mine. These results indicate that the proposed algorithm would work well in this part of the route, allowing buses and trucks to use the road without significant interruptions on the traffic. At the same time, the capacities of the pullouts seem to be adequate.

When comparing the different scenarios, our analysis shows that scenarios 1, 2, and 3 present metrics that are very similar to each other, even though the bus flow is very different in each case. The same occurs between scenarios 4, 5, and 6. This result indicates that truck flows are more relevant than bus flows for the availability of the route. This effect can be explained, because just one bus is enough to activate a pullout area for an extended period of time (see Fig. 6), whereas additional buses only extend these periods marginally.

The previous results can be used to estimate the daily availability of the route using the proposed traffic control algorithm, assuming the same values over the relevant metrics computed during the original time windows closed to truck movements. For this analysis, section T2 is split into three subsections according to the location of the pullout areas: T2-1 (between Maitenes and La Paula), T2-2 (between La Paula and Barahona), and T2-3 (between Barahona and Colon). The resulting availability for each subsection of the road is displayed in Table 3.

Table 3 Availability of the road for truck movement of each section and subsection
Fig. 8
figure 8

Incremental availability for high traffic scenarios

The simulations show that there can be a considerable improvement in the availability of the route if instead of closing the entire section, our collision avoiding algorithm is implemented. Individually, the availability of the T2-3 downward section varies its daily availability from 72.9 to 91.2% (\(\hbox {K}=3\,\hbox {km}\)), on average. These differences are more pronounced if the analysis is restricted to the scenarios of high traffic, as it is expected for the future of the mine operation. The results in the table also show that the availability with a safety distance of 3 km or 1 km is similar, with 1 km being marginally better. It can also be observed that the sections T2-1 Down, T2-3 Down, and T2-3 Down are the most sensitive to the safety distance. For example, section T2-2 downhill shows availabilities of 77%, 82%, 86%, and 89 % for safety distances of 10, 5, 3, and 1 km, respectively. Therefore, when defining a safety distance, more considerable attention should be given to these sections.

The particular case of scenarios 4, 5, and 6 (corresponding to the high truck traffic instances) during the summer season is the cases with lower availability. Hence, this case is analyzed separately. Figure 8 shows the marginal increments of applying the algorithm with different safety distances for each subsection. Conclusions are consistent with the average case shown before. The use of the algorithm has a considerable impact on the availability of Section T2 of the road, especially in the lower subsection, even when using a significant safety distance of 10 km. This result can be explained, because the lower part of the route is not as utilized for heavy trucks as in the nearby of the mine facilities, up in the road. The results also show that the improvement in section T5 of the road is marginal, and it does not justify the use of pullout areas for this section of the road.

6 Conclusions and future work

In this work, the design and implementation of a robust decision support system are presented, such that a mining company in Chile can manage their truck and bus fleets. The presented design can cope with the noisy and intermittent nature of GPS data from the trucks and buses, and compute recommendations in a few seconds. This last feature is very relevant, since the algorithm must give suggestions every minute and over a large fleet of trucks and buses.

Through performance evaluation using historical data, it is shown that our approach could help significantly improve the availability of the road for the ore trucks, improving between 15 and 32%, depending on the size of the safety distance. Furthermore, the fleet manager now has a tool to evaluate the effect of different safety distance parameters on the availability of trucks and the road, as well as identify future requirements depending on the size of the truck fleet or the number of buses that will be needed in the future, due to the growth of the operation. Our results already show that one of the pullout areas has a little effect over road availability for trucks, and the system could be used to evaluate the position of future pullout areas.

One of the main limitations of our approach is that it does not cope with variable speeds or higher uncertainty in the position estimation. Although this is not a big issue, due to the rolling window approach used in the implementation, it could be a relevant source of improvement in the future. Hence, future developments should be focused on using the confidence intervals of the estimation, as well as the residual matrices computed for each Kalman filter to improve the overall management of pullout areas. Uncertainty reduction can also be approached by having more data on the behavior of different vehicles. Data by type of vehicle, the current driver, vehicle destination, load level, among others could help in reducing the variance in speed estimation and, thus, improving the performance of our decision support tool.