ArduPilot

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

Theseus Micro VPS 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.

Theseus Micro VPS v1.5.3 is tested on ArduPilot v4.6. We recommend using ArduPilot v4.6+ to guarantee compatibility.

circle-info

Theseus Micro VPS is expected to be compatible with ArduPilot v4.x. Please let us know if you integrate with an older version of ArduPilot.

If using a flight controller with a MCU other than the H7, e.g. F405, you may need to build custom firmware (custom.ardupilot.orgarrow-up-right) for your board and enable MAVlink GPS under the GPS Drivers drop-down. This is not enabled in the default ArduPilot firmware build on certain boards using MCUs such as the F405.

Parameters

Prior to configuring the ArduPilot parameters to enable communication with the Micro VPS, 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

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

We choose to set the GPS 2 source to the VPS via MAVLink. This is interchangeable with GPS 1.

ArduPilot Parameter
Param Value
Description

BRD_RTC_TYPES

2

Set time from MAVLink

GPS2_TYPE

14

Set GPS 2 to MAVLink

GPS_BLEND_MASK

0

Disable GPS blending

GPS_AUTO_SWITCH

0

Disable GPS auto switching

circle-info

To enable navigation by VPS, change GPS_PRIMARY param to "1" (second GPS) or whichever GPS is designated for the VPS system.

ArduPilot 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.

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 its information from the GPS, barometer and compass.

The VPS relies on the barometer to estimate altitude. The altitude it forwards via its GPS signal is copied from the VFR_HUDarrow-up-right altitude messages it receives. Do not use this GPS POSZ measurement as it can cause undesired feedback loops in the EKF.

The Micro VPS estimates velocity on the XY axis. However, we found through evaluation that setting VEL_XY to pull from the VPS causes instabilities in the EKF. We recommend to not use the GPS as a velocity source to the EKF.

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

3

Pull GPS for 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.

Last updated