Autonomy · ROS 2

Full Autonomy Stack for a Multirotor

An end-to-end system that takes a simulated quadrotor from takeoff through subterranean exploration, lantern detection and mapping to an autonomous return.

PROJECT 02 / 06 TAKEOFFGOALTRACK + MAP
Period2025–2026
ContextTUM · Autonomous Systems
My focusControl & Integration
ToolchainROS 2 · C++ · Unity
01Project overview

Autonomy is the handoff between many systems—not one clever node.

The SubTerrain challenge required a quadrotor to enter a cave-like environment, navigate without a prebuilt map, detect lanterns, build an environmental representation and complete the mission as a coordinated system.

IN

Inputs

Vehicle state, camera data, depth information, mission state and an initially unknown environment.

OUT

Outputs

Feasible trajectories, stable tracking commands, mapped space, detected targets and reliable mission transitions.

02My Contribution

Connecting planning intent to closed-loop vehicle behaviour.

01

Geometric Tracking Control

Worked on the controller that converts sampled trajectory references into multirotor commands while respecting nonlinear attitude dynamics.

02

Trajectory Generation

Integrated minimum-snap trajectory generation and sampling between mission waypoints.

03

State Estimation Workflow

Developed the camera-calibration and EKF workflow used to evaluate noisy or drifting state estimates.

04

Mission Integration and State Machine

Connected takeoff, cave entry, autonomous navigation and goal states into a testable end-to-end pipeline.

03System architecture

A modular ROS 2 pipeline with explicit interfaces.

Perceive & Map

Process camera and depth data for lantern detection, point clouds and OctoMap output.

Plan

Find exploration targets and produce waypoint-to-waypoint minimum-snap trajectories.

Estimate & Control

Filter state information and track sampled position, velocity and attitude references.

Coordinate

Use mission states and command arbitration to govern automatic and manual modes.

Integration decisionThe repository keeps flight-control, planning, mapping, perception and state-machine concerns in separate packages, making individual components testable while preserving a single launchable system.
04Team & contributors

A multidisciplinary academic team with shared integration ownership.

My technical focus

Aqib Habib

Geometric control, state estimation, EKF workflow, mission logic, state machine, and cross-package integration.

Project team

Autonomous Systems · Team 17

Shared development across perception, lantern detection, 3D mapping, planning, simulation and system verification.

Project environment

Technical University of Munich

Academic autonomy project using a ROS 2 stack and Unity-based quadrotor simulation.

05Results

A reproducible autonomy stack that completes the mission sequence.

The integrated system supports automatic takeoff, cave-entry flight, autonomous navigation and return-to-goal transitions. It also includes manual override, flight-data recording and documented launch controls so individual subsystems can be tuned without dismantling the full pipeline.

E2E
Mission pipeline from takeoff to autonomous goal
ROS 2
Modular, launchable and documented software architecture
3D
Mapping, exploration and target-detection integration