ArduPilot

ArduPilotarrow-up-right is an open-source autopilot. Theseus is proud to be an ArduPilot partnerarrow-up-right.

Cyclops does not require you to install any custom version of ArduPilot, Mission Planner, or QGroundControl. Our system works out of the box with existing software.

The Cyclops system is tested on ArduPilot v4.6. We recommend using ArduPilot v4.6+ to guarantee compatibility.

circle-info

The Cyclops system is expected to be compatible with ArduPilot v4.x. Please let us know if you integrate with an older version of ArduPilot.

Parameters

Prior to configuring the ArduPilot parameters to enable communication with Cyclops, enable MAVLink on the port you selected when integrating with your flight controller in Flight Controller.

UART Port

Set the port protocol to MAVLink 2 and baud rate to 921600.

Here is the map between physical and UART ports for the Cube Orange +:

UART
Serial
Physical Port

UART 2

SERIAL 1

TELEM 1

UART 3

SERIAL 2

TELEM 2

UART 8

SERIAL 4

GPS 2

ArduPilot System Params

circle-info

By default, Cyclops sends position using the MAV_CMD_EXTERNAL_POSITION_ESTIMATE message.

circle-exclamation

These parameters govern system time synchronization. We disable GPS blending and auto switching.

ArduPilot Parameter
Param Value
Description

BRD_RTC_TYPES

2

Set time from MAVLink

circle-info

If you plan on sending positions using the GPS input message type, we recommend you look at our parameter configuration for the Micro VPS in Autopilot Integration. We disable the GPS_AUTO_SWITCH and GPS_BLEND_MASK to avoid naive fusion with a real GPS by ArduPilot.

ArduPilot Dead Reckoning EKF Params

These parameters govern how the ArduPilot EKF integrates sensor measurements to estimate its position. This is one of the key components in ArduPilot's navigation and control mechanisms.

circle-info

These are the parameters we use for our internal testing when dead reckoning with ArduPlane.

ArduPilot's EKF has three sensor source sets (EK3_SRC1, EK3_SRC2, EK3_SRC3). You can configure each source sets with different sensor inputs. The configuration below sets EK3_SRC1 to pull sensor information from the barometer and compass, and to not use the GPS.

Cyclops relies on the barometer to estimate altitude. We recommend enabling continuous calibration of the compass during flight. It is recommend to set EK3_MAG_CAL to 3 (in the air) or 4 (always).

circle-exclamation
ArduPilot Parameter
Param Value
Description

EK3_SRC_OPTIONS

0

Disable fusing velocity sources

EK3_GPS_CHECK

23

Disable horizontal accuracy checks for arming

EK3_SRC1_POSXY

0

Disable xy position input

EK3_SRC1_VELXY

0

Disable xy velocity inputs

EK3_SRC1_POSZ

1

Pull altitude from barometer

EK3_SRC1_VELZ

0

Disable z velocity inputs

EK3_SRC1_YAW

1

Pull yaw from compass

EK3_MAG_CAL

3

Enabling mag cal in the air

Go to Mission Planner or QGroundControl to see how to configure your drone to operate with Micro VPS.

circle-info

We provide a Lua script for toggling the EK3_SRC1_POSXY to switch between dead reckoning mode and GPS mode, allowing your UAV to dead reckon with the EKF. This is covered in Dead Reckoning Switch

Last updated