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.







