1‐Localization Intro - LOG795-UAV-Search-and-Rescue/documentation GitHub Wiki

UAV-UGV Localization & Follow System

Welcome to the documentation for the Drone + UGV Collaborative System.

This wiki explains the complete pipeline to enable collaborative navigation between an autonomous drone and a UGV robot, including localization streaming, command signaling, fail‑safes, and visualization tools.


Overview

Component Role
Drone (VOXL / Starling) Generates VIO localization & sends commands
Laptop / Ground Station Receives localization & runs rover control algorithm
UGV Rover Receives JSON commands and moves accordingly
ESP32 Sub‑Controller Motor command interface for UGV

What the System Does

The drone streams visual‑inertial odometry (VIO) data in this format:

timestamp, x, y, msg ,quality, reset_flag

The rover receives this, decides movement, and simulates or performs real movement. The msg contains the mode we're in.

System capabilities include:

  • Continuous follow mode
  • “Come‑To‑Me” triggered motion mode
  • VIO quality filtering (ignore low‑quality hallucinated jumps)
  • Reset detection & graceful realignment
  • Visual debugging UI

Modes

Mode Description
Continuous Follow Rover continuously pursues drone position
Come‑To‑Me Rover waits until user triggers a follow command

How to Run

On the Drone (VOXL)

Send VIO data + listen for trigger:

python3 read_vio_send_udp.py

Press ENTER on the drone shell at any time to trigger “Come‑To‑Me” mode.


On the Laptop / Rover Control System

Run the rover tracking + simulation UI:

python3 rover_follow_sim.py

This script:

  • Displays drone & rover positions
  • Sends JSON motor commands to rover (or simulator)
  • Performs state logic, reset handling, filtering

Reference Links

Resource Link
Drone localization README Drone Localization & VIO Streaming Guide
UGV JSON command spec In repository wiki
ModalAI VOXL Docs https://docs.modalai.com

Next Pages in Wiki

  • Setup & Network Configuration
  • VOXL Localization Setup Checklist
  • Drone VIO Streaming Script
  • Rover Control Script Explanation
  • Debugging Tools & Simulation
  • Future Roadmap

Purpose of This Wiki

This wiki ensures that any new developer or engineer can:

  • Configure the VOXL VIO system
  • Stream & receive localization data
  • Trigger UGV follow modes
  • Understand reset & quality logic
  • Run and visualize system operation