1. Home
  2. Projects
  3. UAV Cave Exploration
TUM Autonomous Systems course · Sub-Terrain Challenge · 2025

Autonomous UAV Cave Exploration & Navigation

A quadrotor that takes off, flies to a cave entrance, and then explores the unknown interior on its own, building a 3D map as it goes and deciding where to fly next.

  • ROS 2
  • OctoMap
  • Frontier Exploration
  • Motion Planning
  • SE(3) Control

Pipeline

  1. The simulation streams depth images and odometry from Unity and forwards rotor commands back.
  2. An OctoMap server turns depth images into point clouds and builds a 3D occupancy map.
  3. A mission-control state machine runs the mission: idle, takeoff, navigate to the cave, explore, finish.
  4. A frontier detector finds boundaries between mapped and unknown space, clusters them with mean-shift, and picks the best exploration goal.
  5. A sampling-based planner generates candidate quintic-polynomial trajectories, checks them for collisions against the map, and picks the best one.
  6. A geometric SE(3) controller (Lee et al.) tracks the trajectory.
ROS 2 node graph of the cave exploration system
ROS 2 system architecture.

Design decisions

  • Frontier-based exploration: no predefined paths inside the cave; the drone decides where to go from the map itself.
  • Sampling-based planning: sampling many smooth polynomial trajectories instead of graph search gives dynamically feasible paths.
  • Non-zero terminal velocity: segments end at 70% of cruise speed so consecutive trajectories chain smoothly, without stop-and-go.
  • Goal debouncing: small shifts in the frontier goal are ignored to avoid jittery replanning.
  • Object detection: a semantic camera pipeline finds lanterns in the cave and tracks their 3D positions.
More work

Other projects