Offroad Navigation for Autonomous Haul Trucks

Planners and logic for offroad navigation of an autonomous haul truck in an open pit mine. Built for MATLAB R2023b.
64 Downloads
Updated 29 Mar 2024

Offroad Navigation for Autonomous Haul Trucks in Open Pit Mine

View Offroad-Navigation-for-Autonomous-Haul-Trucks on File Exchange

Hauling material in an open pit mining requires a planning stack capable of both navigating at the global scale and avoiding obstacles during local path following. Navigation Toolbox™ offers planners and controllers that serve well for 2-D indoor planning but they can also be extended for 2.5-D offroad navigation. You can do this by deriving structure from terrain and incorporating heuristics into the planners to account for changes in elevation or slope. The solution proposed by this repository approaches the offroad navigation problem in multiple steps described in the following MLX files:

  1. Open in MATLAB Online CreateRoutePlannerUsingDigitalElevationData.mlx — Process digital elevation data into a road network for route planning.

Figures of the digital elevation data, the road network, and a planned path using the road network

  1. Open in MATLAB Online CreateTerrainAwareGlobalPlanners.mlx — Create an onramp planner that enables the autonomous haul truck to drive onto the road network while avoiding obstacles. This example also creates a terrain-aware planner for situations where the onramp planner cannot find a path to the road network.

Onramp planner and the terrain-aware planner

  1. Open in MATLAB Online CreateLocalPlannerToNavigateGlobalPath.mlx — Create a planner for following global reference paths while satisfying the kinematic and geometric constraints of the haul truck.

Animation of truck using local planner

  1. Open in MATLAB Online CreatePathFollowingMPCController.mlx — Create an MPC-based controller for efficiently following a reference-path while minimizing drift.

Animation of truck using local planner

Lastly, the repository has the Open in MATLAB Online ModelAndControlAutonomousHaulTruck MLX file. This file shows how to use Simulink® to integrate the road network and planners into an autonomous navigation stack with logic controlled by Stateflow®.

This figure shows the top-level of the autonomous navigation stack. Autonomous navigation stack Simulink model containing Stateflow logic, the road network, and planners

In R2024a, support for Unreal® simulation was added:

Animation of truck using local planner

MathWorks Products (https://www.mathworks.com)

Requires MATLAB release R2024a or newer

Installation

Installation instuctions

  1. MATLAB installation: Visit installation instructions webpage to get started with the MATLAB installation process.
  2. Ensure that the products mentioned under MathWorks Products above are installed.

License

The license is available in the license.txt file in this GitHub repository.

Community Support

MATLAB Central

Copyright 2023-2024 The MathWorks, Inc.

Cite As

Cameron Stabile (2024). Offroad Navigation for Autonomous Haul Trucks (https://github.com/mathworks-robotics/Offroad-Navigation-for-Autonomous-Haul-Trucks/releases/tag/v2.0.1), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2023b
Compatible with R2023b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Helpers/FreeSpacePlanner

Helpers/Graph

Helpers/MPCController

Helpers/Simulink

Helpers/TEBController

Helpers/Terrain

Helpers/Utils

Helpers/Visualization

ROSHelper

SimModels/CallSubsystems

tests

Version Published Release Notes
2.0.1

See release notes for this release on GitHub: https://github.com/mathworks-robotics/Offroad-Navigation-for-Autonomous-Haul-Trucks/releases/tag/v2.0.1

2.0.0

See release notes for this release on GitHub: https://github.com/mathworks-robotics/Offroad-Navigation-for-Autonomous-Haul-Trucks/releases/tag/v2.0.0

1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.