naturerobots/mesh_navigation

The Mesh Navigation Stack: Efficient Mobile Robot Navigation in Uneven Terrain

What it solves

It enables mobile robots to navigate safely and efficiently across complex, uneven outdoor terrains. Traditional 2D maps often fail in these environments; this project solves that by using 3D triangle meshes (2D manifolds) to represent the terrain, allowing the robot to account for geometric and semantic properties of the ground.

How it works

MeshNav uses a modular, layered mesh map system where different "layers" (plugins) calculate specific costs or features for each part of the mesh, such as steepness, roughness, or obstacles. These layers are combined to create a traversability assessment. The system integrates with Move Base Flex (MBF) to provide a universal ROS interface for path planning and motion control. It includes specialized global planners (like Dijkstra and Continuous Vector Field) and local controllers (like MeshMPPI) that operate directly on the 3D mesh structure.

Who it’s for

It is designed for robotics developers and researchers building autonomous mobile robots that need to operate in complex 3D outdoor environments using ROS 2 (specifically Humble and Jazzy).

Highlights

  • Layered Mesh Maps: Modular plugins for calculating terrain metrics like height difference, roughness, and steepness.
  • 3D-Aware Planning: Global planners that compute optimal paths across mesh surfaces based on accumulated costs.
  • Specialized Controllers: Local controllers, including MeshMPPI, that generate velocity commands while respecting terrain geometry.
  • ROS 2 Integration: Fully compatible with Move Base Flex for a map-agnostic action interface.

Related

  • Project
  • Project
  • Project
  • Project
  • Project