AWS HPC Blog
Simulating autonomous mining operations using Robotec.ai on AWS
This post was contributed by Matthew Hansen, Principal SA, Advanced Computing & Simulation, Ryan Qi, Principal BD/GTM, Advanced Computing from AWS and Dominik Jargot, Software Engineer, Bartłomiej Boczek, Senior Machine Learning Engineer from Robotec.ai, and Peter Burman, Program Manager, Boliden.
Autonomous mining operations represent a significant leap forward in the mining industry, offering enhanced safety, efficiency, and productivity. The introduction of autonomous trucks is at the forefront of this transformation. Boliden AB, a Swedish multinational company specializing in precious metals, is an AWS customer using autonomous trucking technology for mining operations. These self-driving heavy-duty vehicles are equipped with advanced sensors and navigation systems, and operate around the clock without human intervention – reducing the risk of accidents and increasing uptime. These trucks follow pre-determined routes to move materials from the mining site to storage or processing sites, communicating real-time data back to a central control system.
Simulations are instrumental in developing and optimizing autonomous mining operations. They create a virtual environment for testing various scenarios and conditions, minimizing the risks and costs of real-world trials. Engineers at Boliden use simulations to evaluate the operations and performance of autonomous trucks, refine control strategies, and ensure systems can adapt to unexpected events or changes in the mining environment. This predictive capability is essential for maintaining safety, enhancing efficiency, and ensuring continuous production, all of which contribute to the long-term sustainability and profitability of mining operations.
In this post, you’ll learn how Boliden simulates multiple autonomous trucks in a mine, and scales those simulations to run dozens of scenarios simultaneously using the recently added multi-container jobs feature in AWS Batch.
Building autonomous mining simulations
Robotec.ai is a technology leader in the realm of robotics and autonomous vehicles. They have a diverse team of experts in robotics, electrical engineering, software development, AI/ML, and human-technology interaction. Their simulation platform, RoSi, is engineered to create hyper-realistic simulations of confined spaces such as mining sites, warehouses, and large agricultural fields. The simulation of virtual mining environments enables accurate modeling of mining equipment and experimentation with many traffic scenarios.
Boliden uses RoSi to simulate the real-time operations of their mines over 40 distinct scenarios that cover a wide spectrum of machine interactions. This rigorous testing regime demands in excess of 1,000 hours of computational simulation every time Boliden changes their mining operations, to ensure robustness and reliability.
Figure 1 illustrates a scenario where two autonomous mining trucks, operating underground and simulated using the RoSi platform, navigate a narrow tunnel while avoiding obstacles and each other. One truck is using an underground turnout to wait for another to pass going the opposite direction. The time spent waiting is idle time that Boliden wants to reduce. The number of turnouts is also an expense they want to minimize. They run scenarios with varying numbers of trucks and turnouts and measure the idle time of the trucks, to find the optimal number of turnouts in the mine.
Figure 1 – Underground autonomous mining simulations using Robotec.ai’s RoSi platform
Multi-container simulations
Traditionally, when Boliden used AWS Batch to simulate these types of scenarios, the service allowed only jobs with a single container. Consequently, engineers had to spend time on extra job preparation steps, merging all of the simulation components into a large, complex, monolithic container which also made division of work across teams difficult. Any code changes required engineers to rebuild the entire monolithic container, complicating software development (Dev), IT operations (Ops), and debugging.
Recently, though, AWS Batch added multi-container jobs, a feature that streamlines the process for customers to conduct large-scale simulation for complex systems in autonomous vehicles and robotics. This enhancement allows teams like those at Robotec.ai and Boliden to leverage Batch’s sophisticated scaling, scheduling, and cost management features without the added complexity of converting their systems into monolithic containers. Figure 2 illustrates the architecture for simulating mining operations with RoSi, using these multi-container job features in Batch.
As shown in Figure 2, engineers can use an array of smaller, independent containers, each representing a mining truck, alongside the RoSi simulator. This approach not only accelerates development by eliminating redundant steps in job setup, but also reduces the need for engineers to develop additional in-house tools, and eases collaboration between software development and IT operations teams.
How you can run simulations on AWS Batch with RoSi
Step 1 – Configure your Job inputs in RoSi
Using RoSi, you can configure experiment properties specific to each use case. In the Boliden example, the configuration includes the main scenario setup, traffic properties, events, and safety system parameters. Configuration enables testing of the entire underground mine in the simulated environment against the complex system of systems, which typically consists of autonomous vehicles, a traffic management system, and a safety system.
RoSi offers a lot of flexibility in the system configuration, allowing engineers to create isolated tests for individual system parameters, or large-scale system-wide stress tests. The typical flow of batch experiments configuration in RoSi goes like this:
- Configure the types and paths of vehicles in the Events
- Configure traffic properties in the Traffic tab, for example, the localization of the turnouts (places where vehicles can freely pass each other) in the narrow tunnels of the mine.
- In the Main tab, configure the scenario details, like the number of vehicles, their positions, and speeds, to simulate various situations.
Figures 3 and 4 show the detail for some of the configuration capabilities of RoSi.
Step 2 – Submit multi-container jobs from RoSi
RoSi lets you to run multiple real-time experiments in parallel, which greatly reduces the time needed to test a large number of scenarios, significantly improving efficiency. Engineers can select the configurations required for the batch of experiments from the simulation setup screen (Figure 5).
For convenience, a set of configurations can be stored as a preset that can be reused. After pressing the Start button, RoSi Simulations Manager will perform a cartesian product of selected configs, configure a batch of experiments, and submit them to the AWS Batch job queue. By increasing the number of workers, you can speed up the experiment execution rate – by running them in parallel. Once the jobs are submitted, you can also view them in the Batch console (Figure 6).
Step 3 – Viewing the simulation data
Viewing real-time simulation data from the RoSi experiment manager (Figure 7) helps you gain insights before the experiments end. In the mining example, Boliden can evaluate the productivity of each experiment to assess the impact of changing mining variables. Data is streamed, so when the multi-container job is submitted to Batch, you can monitor the job status, and view the logs from each container. All the data is stored in log files saved in an Amazon Simple Storage Service (Amazon S3) bucket, which you can use for post-processing, analysis, visualization, and debugging.
Step 4 – Viewing and analyzing the results
RoSi enables viewing real-time data to automate and optimize multiple aspects of mining operations.
Boliden can track metrics they need in RoSi, and post-process them on AWS. This enables them to effectively manage the mining fleet and reduce the time vehicles wait between operations. The result is a cost-effective use of fuel and optimization of working shifts. Figure 8 depicts wait times (in minutes) of six vehicles running across multiple simulation experiments.
In this sample data, the vehicles spend the most time waiting at turnout ID 1. In a 24-hour simulation, vehicle six spent the most time waiting at turnout ID 1, waiting approximately 55 minutes of total time.
We can compare this data with other scenarios – with different locations and numbers of turnouts – to find the optimal turnout configuration within the mine, before creating the mine in the real world, thus ensuring smooth operation and minimizing costs.
Conclusion
In this post, we’ve explored running multi-container simulations on AWS to enhance autonomous mining operations, using the advanced capabilities of Robotec.ai’s RoSi simulator, in tandem with AWS Batch.
By partitioning complex systems into containers, such as individual mining trucks, we can analyze their interactions to increase efficiency. The integration of RoSi with Batch means simulation engineers and DevOps teams can orchestrate large-scale simulations, scaling of their compute resources more easily, and getting fast results that help them optimize their operations.
Most of all, this approach paves the way for more streamlined underground mining operations by reducing waiting times and operational costs in the real world.