Getting Started

Cyclops is a software-only visual positioning system for fixed-wing UAVs operating in GPS-denied environments. It delivers drift-free global position estimates using onboard camera imagery, runs on commercial hardware, works day or night, and integrates directly with ArduPilot.

Quick Start

This quick start guide walks you through setting up Cyclops on your drone. By the end you'll be ready to perform bench tests and run your first flight with Cyclops.

What you need:

On the drone:

  • ArduPilot v4.6+ fixed-wing with compass, barometer, airspeed sensor

  • Camera (EO or thermal), ≥0.05MP resolution

  • ARM64 edge computer: 2+ cores @ 2.4GHz, 4GB RAM, Ubuntu 22/24

    • Tested: Raspberry Pi 5, NanoPi R6C

  • MAVLink connection (UART or UDP) between autopilot and edge device

On the ground:

  • Host computer running Linux or Windows

Download Vozilla

Vozilla is Theseus' app to configure your devices, generate maps, and manage Cyclops. Follow this link to create an account and download Vozilla.

Download Vozilla

On your edge device

You will need your autopilot to be connected to your edge device over MAVLink to configure Cyclops. Learn more about recommended hardware setup here.

Open a shell and run the Cyclops install script on your edge device:

Installs all required Cyclops dependencies. Walks you through setting up MAVLink ports and storage for maps and recordings on your edge device. You will need your Theseus account credentials to activate your Cyclops license.

On Vozilla

Complete the setup remaining setup steps from Vozilla.

Connect to edge device

Enter your edge device's URL, Vozilla will automatically initiate a connection.

Configure your device

Your next step will be to perform vehicle and camera calibrations. Camera calibration and accurate positioning are required for Cyclops to give reliable position estimates. Navigate to the CONFIG tab to begin calibrating your system.

Calibrate your Camera

Use the Camera tab to generate intrinsics for your specific camera.

  1. Connect a UVC camera to the device running Cyclops.

  2. Capture images of a calibration grid at different distances, angles, and positions (we recommend 20+ images).

  3. When prompted, compute and save the calibration.

After saving, the calibration is uploaded to your device and used in flight. You can confirm results by toggling the distortion preview. Learn more about camera calibration here

Add your Vehicle

Cyclops requires the camera pose relative to the flight controller. To ensure this goes smoothly, refer to the mechanical installation guide.

Once your camera is mounted to your platform, enter:

  • the translation from camera to flight controller, and

  • the camera orientation relative to the flight controller

On the vehicle calibration page and upload your vehicle configuration. Cyclops includes a few default configs to help you get started.

Update ArduPilot parameters

Cyclops requires time synchronization between your autopilot and the edge device. Enable time sync over MAVLink by setting the BRD_RTC_TYPES parameter to 1 on your drone.

circle-exclamation

Cyclops sends position updates with the MAV_CMD_EXTERNAL_POSITION_ESTIMATE command. For ArduPilot to accept these commands, GPS cannot be an EK3 sensor source.

We recommend that you use our EK3 source switching scripts to toggle between dead-reckoning with Cyclops and flying with a GPS during testing. Learn more about ArduPilot configuration here.

Generate and upload a map

Congrats! You are done with all initial setup steps for Cyclops:

  • Vozilla is downloaded and Theseus account is created

  • Cyclops is installed on your edge device

  • MAVLink ports and storage on edge device

  • Cyclops license is activated

  • Camera is calibrated

Next, generate a map and upload it to Cyclops. Cyclops uses reference maps to estimate your drone's positioning when flying.

Navigate to the maps tab and create a new map. Click to define your area perimeter on the embedded map. Name your map and hit the generate button.

Once your map has been generated, click the download button and then upload to VPS.

Bench tests and test flights

Before flying, make sure that your home position has been set correctly in Vozilla and that Cyclops is active. Learn more about bench tests here and flight test here.

Learn More

  1. Check pre-requisites: Pre-Requisites

  2. Have required Cyclops hardware: Hardware Requirements

  3. Install Cyclops on your Flight Computer Cyclops Computer

  4. Mount your Cyclops system to your vehicle: Vehicle Integration

  5. Configure ArduPilot for Cyclops: Autopilot Integration

  6. Configure Cyclops in software: Vozilla GCS

  7. Perform a bench test: Bench test

  8. Perform a flight test: Flight test

Last updated