ArduPilot
ArduPilot is an open-source autopilot. Theseus is proud to be an ArduPilot partner.
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.
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.org) 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 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.
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
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_HUD 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).
Do not pull velocity (VELXY, VELZ), altitude (POSZ), or yaw (YAW) inputs from the GPS when VPS is on.
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
