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.
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.
Connect a UVC camera to the device running Cyclops.
Capture images of a calibration grid at different distances, angles, and positions (we recommend 20+ images).
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.
Time synchronization is essential, set BRD_RTC_TYPES=1 on ArduPilot.
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
Check pre-requisites: Pre-Requisites
Have required Cyclops hardware: Hardware Requirements
Install Cyclops on your Flight Computer Cyclops Computer
Mount your Cyclops system to your vehicle: Vehicle Integration
Configure ArduPilot for Cyclops: Autopilot Integration
Configure Cyclops in software: Vozilla GCS
Perform a bench test: Bench test
Perform a flight test: Flight test
Last updated
