← All projects

Altair — Autonomous Indoor Mapping Drone

A quadcopter that maps a building with a laser, works out where it needs to fly, then photographs every surface — entirely on its own, GPS denied, indoors.

One-line brief: a quadcopter that maps a building with a laser, works out where it needs to fly, then photographs every surface — entirely on its own, GPS denied, indoors.

First hover and first controlled landing: done (Oct 2025, on video). Position hold indoors: proven to ~3 cm. Now tuning.

What’s on it

System Hardware
Frame Tarot X550-class quad, 550 mm diagonal, sacrificial motor mounts (break-away by design — proven in two crashes, zero damage beyond props)
Motors 4× Sunnysky X3108S 900 kV, AfroESC 30 A, 11″ props, 4S LiPo
Flight controller Pixhawk 6C Mini, custom-built PX4 1.17 (patched firmware: dual rangefinder support)
Positioning RPLIDAR A1M8 (360° laser) + SLAM (Cartographer) — no GPS used or needed indoors; 2× TFmini-S laser rangefinders (floor + forward) feed altitude and subject-distance
Computer Raspberry Pi 4 running ROS 2 — the whole autonomy stack in the air
Camera Arducam IMX477 (12 MP) on a fixed forward mount, co-aligned with the forward laser
Ground control Custom console on a field laptop: live map, mission control, link selection (433 MHz long-range serial for flight, high-bandwidth 2.4 GHz link for tuning)

How it’s controlled

How the photo dataset happens

  1. Map first. Fly the building interior; the laser SLAM builds a 2D floor map in real time — walls, doorways, rooms — accurate to centimetres.
  2. Plan on the map. Software converts the map into a capture flight: three height tiers, diagonal “raked” lanes (never straight at a wall — oblique angles are what photogrammetry needs), corner and doorway stations, loop closure.
  3. Capture. The drone flies the plan at ≤1.2 m/s: 2 frames/sec on the move, dwell bursts at each station. Every frame is tagged with the aircraft’s exact position from the SLAM — the dataset is self-locating.
  4. Strict data law: camera images carry no focal-length metadata (it poisons the 3D reconstruction — measured lesson); true camera geometry lives in a per-session file instead. Frame count must equal position-row count, enforced at write time.
  5. Multi-sortie: buildings bigger than one battery = land, swap, resume from the exact station where it stopped, map and plan intact.
  6. The images + positions feed an existing photogrammetry pipeline that turns them into a full 3D model of the building.

Where it stands

Flying, holding position, landing under control. Currently: control tuning (autotune), then the first full capture missions — target environment: buildings up to 66 m × 25 m, multi-floor, GPS-denied.

On video: first hover · first controlled landing

Build log

Entries will follow as the build progresses — modifications, bench tests, and the first capture missions.