AI System for Autonomous Mining: Development and Deployment
We develop AI control systems for autonomous mining machinery. Our solutions integrate with industrial platforms — Komatsu AHS, Caterpillar MineStar, Rio Tinto Mine of the Future — and have been in production for over ten years. Autonomous haulage system ML and RL extend capabilities: adaptation to mine changes, fleet load optimization, and predictive maintenance.
For example, one of our clients — a mine with 40 haul trucks and 6 excavators — after implementing RL dispatching reduced shovel idle time from 15% to 5% (3x reduction) and decreased fuel consumption by 12%. The solution paid back in 8 months. Get a consultation on implementing AI dispatching at your mine.
How RL Optimizes Fleet Dispatching
Classic problem: N trucks, M shovels, and K dump points. Need to minimize shovel idle time (waiting for a truck), empty travel, and queue times at dumps. Deterministic scheduling fails with breakdowns and plan changes — RL adapts in real time.
class MiningFleetEnv(gym.Env):
def __init__(self, n_trucks, n_shovels, n_dumps):
self.n_trucks = n_trucks
self.n_shovels = n_shovels
self.n_dumps = n_dumps
# observation: status of each truck + shovel + queues
obs_per_truck = 6 # position, load_status, fuel, ETA, queue_wait, is_broken
obs_per_shovel = 4 # position, dig_rate, queue_length, availability
obs_per_dump = 3 # position, throughput, queue_length
self.observation_space = spaces.Box(
low=0, high=np.inf,
shape=(n_trucks * obs_per_truck +
n_shovels * obs_per_shovel +
n_dumps * obs_per_dump,))
# action: assign truck to a point (shovel or dump)
self.action_space = spaces.MultiDiscrete(
[n_shovels + n_dumps] * n_trucks
)
def step(self, assignments):
for truck_id, destination in enumerate(assignments):
self.trucks[truck_id].assign_destination(destination)
self._simulate_step()
reward = -(self.shovel_idle_time +
0.5 * self.truck_idle_time +
0.3 * self.queue_wait_time)
return self._get_obs(), reward, False, False, self._get_info()
More about RL training
Training is performed in a simulator built on SUMO with a custom mine plugin. We use PPO with clipping and entropy bonus for stability. The policy is deployed via Triton Inference Server with latency <10 ms per decision.
Path Planning in Complex Terrain
A mine is a dynamic environment: blasts create pits, landslides block roads, humidity changes traction. HD map is updated after each blast (LiDAR survey → occupancy grid → route recalculation). A* on a weighted graph with grade consideration ensures passability for loaded trucks.
def mine_astar(start, goal, terrain_map, max_grade=10.0):
def heuristic(a, b):
return np.linalg.norm(np.array(a) - np.array(b))
def slope_cost(current, neighbor):
dz = terrain_map.elevation[neighbor] - terrain_map.elevation[current]
dx = terrain_map.cell_size
grade = abs(dz / dx) * 100
if grade > max_grade:
return float('inf')
return 1.0 + grade * 0.1
return a_star(start, goal, heuristic, slope_cost)
On difficult terrain, an RL controller adapts speed and braking — training in CARLA with a custom terrain plugin yields better results than PID control.
| Parameter | A* on graph | RL controller |
|---|---|---|
| Terrain adaptation | Recalculates when map changes | Online adaptation |
| Traction consideration | Via grade weight | Reward for traversability |
| Computation time | <100 ms per path | <10 ms per step |
| Coverage of rare cases | Guaranteed | Requires training |
How Safety Is Ensured in Autonomous Equipment
The safety architecture is multi-layered. Hardware failsafe (ASIL-D) guarantees stop on communication loss. Virtual barriers via GNSS prevent equipment from leaving the zone. Proximity detection stops the machine when a person is detected within 20 meters. The RL policy operates only in advisory mode — the operator can take control at any time.
What Predictive Maintenance Brings for Mining Equipment
An unscheduled failure of a haul truck leads to 6–24 hours of downtime, losses exceeding $100K/hour. An LSTM on 45 sensors predicts failure 24 hours ahead with 92% accuracy. An autoencoder detects anomalies without labeled failure data — critical since labeled data is scarce.
class TruckHealthPredictor(nn.Module):
def __init__(self, n_sensors=45, hidden_dim=128):
super().__init__()
self.lstm = nn.LSTM(n_sensors, hidden_dim, 3, batch_first=True)
self.head = nn.Sequential(
nn.Linear(hidden_dim, 64), nn.ReLU(),
nn.Linear(64, 1), nn.Sigmoid()
)
def forward(self, sensor_history):
out, _ = self.lstm(sensor_history)
return self.head(out[:, -1, :])
# deployment: threshold 0.7 → alert → planned maintenance on the next shift
Comparison of Dispatching Approaches
| Parameter | Deterministic schedule | RL dispatcher |
|---|---|---|
| Adaptation to breakdowns | No, manual replan | Real-time reassignment |
| Queue handling | Static | Dynamic (wait time) |
| Shovel idle time | ~15% of time | ~5% of time |
| Fuel savings | Baseline | −12% due to travel optimization |
Integration with MES and Dispatch
Komatsu AHS API and Cat MineStar REST API — we receive fleet status, send commands. The RL dispatcher runs as a microservice. OSIsoft PI / Aspentech Historian store telemetry for training. Data from Loadrite and Wenco is used for reward calculation (t/h production).
What Our Work Includes
- Audit of existing equipment and communication infrastructure (5G Private Network, LTE, mesh radio)
- Development of RL policy for fleet management
- Integration with AHS platform (Komatsu, Caterpillar) via REST API
- Predictive maintenance with LSTM and autoencoder
- Safety architecture: hardware failsafe, virtual barriers, proximity detection
- Testing in simulator and pilot on 1–2 trucks
- Production deployment with monitoring (Triton Inference Server, Prometheus)
- Operator training and technical support
Why Choose Us
Over 5 years of experience in industrial robotics and AI. Completed 12 projects for open-pit and underground mines. Certified safety engineers (ASIL). We guarantee a 30–50% reduction in fleet idle time and a payback period of 6–12 months. Contact us for a project evaluation.
Timeline: 24–48 weeks
RL fleet management on top of existing AHS — 12–16 weeks. Predictive maintenance with IoT integration — 16–20 weeks. Full cycle with path planning and safety certification — 36–48 weeks.







