ArduPilot
ArduPilot is an open-source autopilot. Theseus is proud to be an ArduPilot partner.
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.
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 2
SERIAL 1
TELEM 1
UART 3
SERIAL 2
TELEM 2
UART 8
SERIAL 4
GPS 2
ArduPilot System Params
By default, Cyclops sends position using the MAV_CMD_EXTERNAL_POSITION_ESTIMATE message.
To accept these estimates, ArduPilot needs to not use the GPS in its EKF sources.
These parameters govern system time synchronization. We disable GPS blending and auto switching.
BRD_RTC_TYPES
2
Set time from MAVLink
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.
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).
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
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.
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
