> For the complete documentation index, see [llms.txt](https://docs.auterion.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.auterion.com/release-notes/flight-control/apx4-3.0/apx4-3.0.5.md).

# APX4 3.0.5

{% hint style="info" %}
Please use Auterion Mission Control 1.29 or newer with this version of APX4.
{% endhint %}

{% hint style="danger" %}
Attention: Default disarmed PWM was changed from 900us to 1000us! See [PX4 v1.14 release notes](https://docs.px4.io/main/en/releases/1.14.html#px4-autopilot-v1-14-release-notes).
{% endhint %}

## Major changes

* [Dynamic control allocation](https://docs.px4.io/main/en/releases/1.14.html#dynamic-control-allocation)
* [Improved preflight failure check reporting](https://docs.px4.io/main/en/releases/1.14.html#improved-preflight-failure-check-reporting-qgc-arming-checks-ui)
* [Improved failsafe handling](https://docs.px4.io/main/en/releases/1.14.html#failsafe-simplification)
* [Improved ROS 2 Interface thanks to uXRCE-DDS](https://docs.auterion.com/hardware-integration/flight-controller-customization/micro-xrce-dds). This enables the use the [Auterion SDK](https://docs.auterion.com/app-development/auterion-sdk) to build advanced flight control capabilities in ROS 2.
* Added helicopter support

APX4 is based on the open-source PX4 release v1.14. See [here](https://docs.px4.io/main/en/releases/1.14.html) for detailed release notes for 1.14.

Below are the changes made on top of v1.14.

## What's new

### General <a href="#gnss-denied-operational-enhancements" id="gnss-denied-operational-enhancements"></a>

* Mission feasibility checks: check if mission items fit to the current vehicle type
* Add magnetometer thermal calibration/compensation
* Factory calibration: do not store \_PRIO parameters
* Arming checks: disallow arming via parameter
* Commander: add warning for imminent navigation failure
* Enable arbitrary Euler angle for magnetometer rotation
* Battery preflight check: add new battery threshold for arming (COM\_ARM\_BAT\_MIN)
* Add option to configure action when wind limit is exceeded (COM\_WIND\_MAX\_ACT)
* Disarm if battery failure is detected during spool-up
* Add option to enable stick gesture to "kill" vehicle

### Sensors / State estimation

* EKF2: new vision attitude error filter
* Add magnetometer inclination check
* Add auxiliary global position fusion option
* Added support to reset vehicle position based on external position. This can be useful in GPS denied conditions where the operator can recognize the current position by looking for landmarks in the video stream.
* Add SF30/D Lightware laser distance sensor

### Copter

* Helicopter: add tail servo support
* Coaxial Helicopter Support
* Add "Slow Position Mode" feature. This mode is similar to position mode but allows you to change the speed of the drone. This can be very useful during inspections where the operator wants to make very small maneuvers while inspecting an object.
* Add option for throw launch

### Fixed-wing / VTOL

* Tiltrotor VTOL back-transition: expose tilting time as parameter
* Added Performance model for fixed-wing to improve controller stability when flying with varying payload weights or in different altitudes
* Optionally disable SF1xx sensor in VTOL fixed-wing flight phase

### Rover

* Add Roboclaw ESC driver
* Differential drive for Rover & Gazebo R1 Rover port

## What improved

### General

* Micro-XRCE-DDS-Client improvements
* Fix geofence when changing altitude through reposition
* Improvement: Default motor PWM limits minimum 1100 maximum 1900
  * Documentation can be found [here](https://docs.px4.io/main/en/advanced_config/esc_calibration.html)
  * Attention: Default disarmed PWM was changed from 900us to 1000us!
* Geofence: Disable pre-emptive geofence predictor by default
* GNSS-denied workflow: Allow auto modes with local position estimate if global origin is set manually
* Don't allow external reposition commands without a mode switch, and ensure old reposition commands are not erroneously set
* Geofence: if armed, do not allow to upload a fence that would trigger a geofence breach immediately
* Geofence: do not allow to upload a fence that doesn't include Home (to ensure that RTL to Home is always possible)
* Navigator: prevent race condition when receiving multiple commands at once

### Sensors / State estimation

* Optical flow: general improvements
* Yaw estimator improvements
* Improve yaw emergency estimator convergence
* Yaw estimator: use gyro bias from EKF2 if at rest
* Magnetometer preflight check: report strength and inclination values in case of failure
* EKF2: improve resilience against incorrect magnetometer data
* Robustify range finder kinematic consistency check
* Terrain estimator: handle EKF2 height reset
* Improve EKF2 stability by switching to an error-state Kalman filter
* Sensors: add parameter to silence IMU clipping (SENS\_IMU\_CLPNOTI)
* Multi GNSS fallback improvements

### Copter

* Respect spool-up time in Stabilized mode and have zero throttle while still landed
* Fix helicopter actuator saturation logic
* Fix multicopter altitude change sometimes not linear between two waypoints
* Fix FlightTaskAuto: harden line following logic (only do line following if previous and current setpoints are not equal).
* Yaw handling improvements/simplifications, e.g. remove waypoint yaw acceptance requirement if weather vane is enabled
* Beginner/tuning friendly Acro mode defaults

### Fixed-wing / VTOL

* Replace old implementation of "uncommanded descend quad-chute" (VT\_QC\_ALT\_LOSS and VT\_QC\_T\_ALT\_LOSS)
* Fixed-wing: Always establish loiter around current position when switching into Hold mode
* VTOL: scale transition airspeed threshold with configured vehicle weight and air density
* Fixed-wing/VTOL: High wind controller hardening
* Rework figure eight joining logic
* Add guidance fallback for corner cases without valid wind estimates
* Make airspeed sensor configuration easier and consistent with other sensors
* VTOL Tailsitter: add automatic pitch ramps in transition also in Stabilized mode
* TECS throttle gains renames and defaults reduction
* VTOL: treat Descend mode like Land mode for pusher/tilt assist
* Fixed wing autotune improvements

## Parameter Changes Compared to APX4 2.7

### Removed Parameters

| Parameter name                                                                                                                                                | Affecting | Reason                                                                 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------------------------------------------------------------------- |
| CBRK\_RATE\_CTRL                                                                                                                                              | All       | Deemed not necessary anymore.                                          |
| CBRK\_VELPOSERR                                                                                                                                               | All       | Deemed not necessary anymore.                                          |
| COM\_ARM\_ARSP\_EN                                                                                                                                            | VTOL, FW  | Deemed not necessary anymore after airspeed preflight check changes.   |
| COM\_ARM\_WO\_OBLOG                                                                                                                                           | All       | Allow arming without onboard logger being enabled and in ready state.  |
| COM\_OBL\_ACT                                                                                                                                                 | All       | Commander state machine rewrite.                                       |
| COM\_RC\_DARM\_A\_H                                                                                                                                           | All       | Disarm gesture rework.                                                 |
| EKF2\_REQ\_MAG\_H                                                                                                                                             | All       | Required mag health time rework.                                       |
| FD\_BAT\_EN                                                                                                                                                   | All       | State machine rewrite: now battery health is always checked.           |
| FW\_ECO\_AD\_THRLD, FW\_ECO\_ALT\_ERR\_O, FW\_ECO\_ALT\_ERR\_U, FW\_ECO\_ALT\_MIN FW\_THR\_MAX\_E FW\_T\_ALT\_TC\_E FW\_T\_CLMB\_R\_SP\_E FW\_T\_SPDWEIGHT\_E | VTOL, FW  | Removal of ECO flight mode (deemed not necessary anymore).             |
| FW\_L1\_DAMPING FW\_L1\_PERIOD FW\_L1\_R\_SLEW\_MAX FW\_USE\_NPFG                                                                                             | VTOL, FW  | Replace L1 guidance with NPFG, deprecate L1.                           |
| FW\_T\_SPD\_OMEGA FW\_T\_TAS\_R\_TC                                                                                                                           | VTOL, FW  | TECS rework, params not required anymore.                              |
| GF\_ALTMODE GF\_COUNT                                                                                                                                         | All       | Remove outdated features during a general geofence rework.             |
| LNDMC\_ALT\_MAX                                                                                                                                               | MC, VTOL  | Not deemed necessary anymore.                                          |
| MAV\_ODOM\_LP                                                                                                                                                 | All       | EKF2: EV overhaul and position fusion                                  |
| MIS\_DIST\_WPS                                                                                                                                                | All       | Deemed not necessary anymore.                                          |
| MNT\_MAV\_SYSID                                                                                                                                               | All       | Mavlink System ID of the mount: not needed anymore                     |
| PWM\_AUX\_RATE PWM\_MAIN\_RATE SYS\_CTRL\_ALLOC VT\_FW\_MOT\_OFFID VT\_IDLE\_PWM\_MC VT\_MC\_ON\_FMU VT\_MOT\_ID MOT\_ORDERING                                | All       | Deprecated with switch from static mixing to control allocation.       |
| TF\_TERRAIN\_EN                                                                                                                                               | All       | Removed feature (terrain follower in RTL).                             |
| VT\_B\_DEC\_FF                                                                                                                                                | VTOL      | Not needed functionality, P gain is enough.                            |
| VT\_B\_REV\_DEL VT\_B\_REV\_OUT                                                                                                                               | VTOL      | Not needed functionality, not implemented with new control allocation. |
| RTL\_HDG\_MD                                                                                                                                                  | MC        | Deemed not necessary anymore.                                          |
| SYS\_USE\_IO                                                                                                                                                  | All       | Not needed anymore.                                                    |

### New Parameters

| Parameter name                                                                            | Affecting | About                                                        |
| ----------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------ |
| CAL\_MAGx\_ROLL/PITCH/YAW                                                                 | All       | Enable arbitrary Euler angle for Mag rotation.               |
| COM\_ARMABLE                                                                              | All       | Disallow arming via a parameter.                             |
| COM\_ARM\_ODID                                                                            | All       | Enable Drone ID system detection and health check            |
| COM\_THROW\_EN COM\_THROW\_SPEED                                                          | MC        | MC throw launch                                              |
| EKF2\_AGP\_CTRL, EKF2\_AGP\_DELAY, EKF2\_AGP\_GATE, EKF2\_AGP\_NOISE                      | All       | Aux global position (AGP) sensor aiding.                     |
| EKF2\_GRAV\_NOISE                                                                         | All       | Gravity observation.                                         |
| EKF2\_GYR\_B\_LIM                                                                         | All       | Gyro bias limit                                              |
| EKF2\_OF\_QMIN\_GND                                                                       | All       | Optical flow data quality metric threshold.                  |
| FW\_ACRO\_YAW\_EN                                                                         | FW, VTOL  | Parameter to enable yaw rate controller in Acro              |
| FW\_AT\_MAN\_AUX                                                                          | FW, VTOL  | Enable/disable auto tuning using an RC AUX input             |
| FW\_MAN\_YR\_MAX                                                                          | FW, VTOL  | FW attitude controller: add option to disable yaw rate input |
| <p>FW\_PR\_D,<br>FW\_RR\_D,<br>FW\_YR\_D</p>                                              | FW, VTOL  | D gains for fixed-wing rate controller.                      |
| FW\_T\_SPD\_DEV\_STD, FW\_T\_SPD\_PRC\_STD, FW\_T\_SPD\_STD                               | FW, VTOL  | TECS rework                                                  |
| IMU\_GYRO\_DNF\_MIN                                                                       | All       | IMU gyro dynamic notch filter minimum frequency              |
| MAN\_KILL\_GEST\_T                                                                        | ALl       | Stick gesture to kill                                        |
| MPC\_YAWRAUTO\_ACC                                                                        | MC        | Heading acceleration. Only applies to Goto Setpoints atm.    |
| MPC\_LAND\_RADIUS                                                                         | MC, VTOL  | Landing nudging radius                                       |
| RTL\_APPR\_FORCE                                                                          | VTOL      | RTL force approach landing                                   |
| SENS\_IMU\_CLPNOTI                                                                        | All       | IMU notify clipping                                          |
| UXRCE\_DDS\_DOM\_ID UXRCE\_DDS\_KEY UXRCE\_DDS\_PTCFG UXRCE\_DDS\_SYNCC UXRCE\_DDS\_SYNCT | All       | Micro XRCE-DDS configuration                                 |

### Features with Renamed Parameters

<table><thead><tr><th width="226">Old name</th><th width="214">New name</th><th width="205">Related feature</th><th>Auto translation</th></tr></thead><tbody><tr><td>COM_DR_EPH</td><td>COM_POS_LOW_EPH</td><td>GNSS-denied navigation (feature has been re-worked)</td><td>No</td></tr><tr><td>EKF2_HGT_MODE EKF2_BARO_B_EN</td><td>EKF2_HGT_REF</td><td>EKF2 multiple height sources fusion</td><td>No</td></tr><tr><td>EKF2_RNG_AID</td><td>EKF2_RNG_CTRL</td><td>EKF2 multiple height sources fusion</td><td>No</td></tr><tr><td>EKF2_AID_MASK</td><td>EKF2_DRAG_CTRL EKF2_OF_CTRL EKF2_GPS_CTRL EKF2_IMU_CTRL EKF2_EV_CTRL</td><td>EKF2 multiple height sources fusion</td><td>Yes</td></tr><tr><td>FW_DTRIM_P_FLPS FW_DTRIM_P_SPOIL FW_DTRIM_R_FLPS</td><td>CA_SV_CS${i}_FLAP CA_SV_CS${i}_SPOIL</td><td>Flap &#x26; Spoiler Handling rework</td><td>No</td></tr><tr><td>FW_L1_PERIOD</td><td>NPFG_PERIOD</td><td>Replacement of L1 by NPFG</td><td>No</td></tr><tr><td>FW_L1_R_SLEW_MAX</td><td>FW_PN_R_SLEW_MAX</td><td>Replacement of L1 by NPFG</td><td>Yes</td></tr><tr><td><p>POSSLOW_DEF_HVEL</p><p>POSSLOW_DEF_VVEL</p><p>POSSLOW_DEF_YAWR</p><p>POSSLOW_MAP_HVEL</p><p>POSSLOW_MAP_VVEL</p><p>POSSLOW_MAP_YAWR<br>POSSLOW_MIN_HVEL</p><p>POSSLOW_MIN_VVEL</p><p>POSSLOW_MIN_YAWR</p></td><td>MC_SLOW_DEF_HVEL MC_SLOW_DEF_VVEL MC_SLOW_DEF_YAWR MC_SLOW_MAP_HVEL MC_SLOW_MAP_VVEL MC_SLOW_MAP_YAWR MC_SLOW_MIN_HVEL MC_SLOW_MIN_VVEL MC_SLOW_MIN_YAWR</td><td>Rework of MC slow mode</td><td>No</td></tr><tr><td>RWTO_L1_PERIOD</td><td>RWTO_NPFG_PERIOD</td><td>FW runway takeoff</td><td>No</td></tr><tr><td>VT_FW_DIFTHR_SC</td><td>VT_FW_DIFTHR_S_P VT_FW_DIFTHR_S_R VT_FW_DIFTHR_S_Y</td><td>VTOL differential thrust in FW</td><td>No</td></tr><tr><td>VT_PSHER_RMP_DT</td><td>VT_PSHER_SLEW</td><td>Pusher throttle ramp up slew rate</td><td>Yes</td></tr><tr><td>VT_QC_HR_ERROR_I</td><td>VT_QC_ALT_LOSS</td><td>Quad-chute uncommanded descent threshold</td><td>Yes</td></tr><tr><td>COM_RCL_ACT_T COM_BAT_ACT_T</td><td>COM_FAIL_ACT_T</td><td>Commander state machine rewrite</td><td>No</td></tr><tr><td>NAV_FT_ALT_M NAV_FT_DST NAV_FT_FS NAV_FT_RS NAV_MIN_FT_HT</td><td>FLW_TGT_ALT_M, FLW_TGT_DST, FLW_TGT_FA, FLW_TGT_HT, FLW_TGT_MAX_VEL, FLW_TGT_RS</td><td>Rewrite of flight task follow target</td><td>No</td></tr><tr><td>COM_PREARM_ODID</td><td>COM_ARM_ODID</td><td>Open Drone ID</td><td>Yes</td></tr><tr><td>FW_ARSP_MODE</td><td>FW_USE_AIRSPD</td><td>Rework airspeed configuration</td><td>Yes</td></tr><tr><td>CBRK_AIRSPD_CHK</td><td>SYS_HAS_NUM_ASPD</td><td>Rework airspeed configuration</td><td>Yes</td></tr><tr><td>FW_T_THR_DAMP</td><td>FW_T_THR_DAMPING</td><td>TECS rework</td><td>No</td></tr><tr><td>FW_T_I_GAIN_THR</td><td>FW_T_THR_INTEG</td><td>TECS rework</td><td>No</td></tr></tbody></table>

### Parameters with Changed Defaults

<table><thead><tr><th width="263">Parameter name</th><th width="134">Old value</th><th width="120">New value</th><th>About</th></tr></thead><tbody><tr><td>COM_ARM_HFLT_CHK</td><td>0</td><td>1</td><td>Enable hardfault log check</td></tr><tr><td>COM_ARM_MAG_ANG</td><td>45</td><td>60</td><td>Relax threshold for magnetic field inconsistency between units that will allow arming</td></tr><tr><td>COM_LOW_BAT_ACT</td><td>0</td><td>2</td><td>Automatic return/land in battery empty case</td></tr><tr><td>COM_RC_STICK_OV</td><td>12</td><td>30</td><td>Increase threshold for stick override</td></tr><tr><td>EKF2_EVA_NOISE</td><td>0.05</td><td>0.1</td><td>Increase measurement noise for vision angle observations</td></tr><tr><td>EKF2_MAG_YAWLIM</td><td>0.25</td><td>0.2</td><td>Reduce yaw rate threshold for 3D magnetometer fusion</td></tr><tr><td>EKF2_WIND_NSD</td><td>0.02</td><td>0.05</td><td>Increase wind process noise</td></tr><tr><td>FW_AIRSPD_MAX</td><td>20</td><td>25</td><td>Increase max airspeed limit</td></tr><tr><td>FW_WR_IMAX</td><td>1</td><td>0.4</td><td>Reduce max integrator value of wheel controller</td></tr><tr><td>GF_PREDICT</td><td>1</td><td>0</td><td>Disable predictive geofence feature</td></tr><tr><td>MC_ACRO_EXPO MC_ACRO_EXPO_Y</td><td>0.7</td><td>0</td><td>Disable Acro stick expo</td></tr><tr><td>MC_ACRO_P_MAX MC_ACRO_R_MAX</td><td>720</td><td>100</td><td>Reduce max Acro roll/pitching rate</td></tr><tr><td>MC_ACRO_SUPEXPO MC_ACRO_SUPEXPOY</td><td>0.7</td><td>0</td><td>Disable Acro stick super expo</td></tr><tr><td>MC_ACRO_Y_MAX</td><td>540</td><td>100</td><td>Reduce max Acro yawing rate</td></tr><tr><td>MPC_ALT_MODE</td><td>0</td><td>2</td><td>Set default to terrain following</td></tr><tr><td>SENS_GPS_MASK</td><td>0</td><td>7</td><td>Use speed, hpos and vpos accuracy for multi GPS blending logic</td></tr><tr><td>SENS_MAG_AUTOCAL</td><td>0</td><td>1</td><td>Automatically initialize magnetometer calibration from bias estimate</td></tr><tr><td>SENS_MAG_MODE</td><td>0</td><td>1</td><td>Publish primary magnetometer</td></tr><tr><td>VT_B_TRANS_DUR</td><td>8</td><td>10</td><td>Increase max VTOL backtransition duration</td></tr></tbody></table>
