INAV 1.6
This version has some significant differences from 1.5.1, please read the release notes carefully and upgrade INAV Configurator available at Chrome Store.
INAV is and will remain open-source and free, but if you are more than welcome to support the development.
This release was supported by our awesome sponsors CarbonBird.com, Airbot and ADPM Drones.
Known bugs
- Fixed wing launch mode may fail
- Failsafe Stage 2 doesn't show as enabled in Configurator (it is always enabled, it's only UI bug)
CLI parameter renaming
Some CLI parameters are renamed to support new features or to better reflect their meaning:
Old name | New name(s) |
---|---|
inav_gps_min_sats |
gps_min_sats |
nav_alt_p |
nav_mc_pos_z_p , nav_fw_pos_z_p |
nav_alt_i |
nav_mc_pos_z_i , nav_fw_pos_z_i |
nav_alt_d |
nav_mc_pos_z_d , nav_fw_pos_z_d |
nav_vel_p |
nav_mc_vel_z_p |
nav_vel_i |
nav_mc_vel_z_i |
nav_vel_d |
nav_mc_vel_z_d |
nav_pos_p |
nav_mc_pos_xy_p |
nav_pos_i |
nav_mc_pos_xy_i |
nav_pos_d |
nav_mc_pos_xy_d |
nav_posr_p |
nav_mc_vel_xy_p |
nav_posr_i |
nav_mc_vel_xy_i |
nav_posr_d |
nav_mc_vel_xy_d |
nav_navr_p |
nav_fw_pos_xy_p |
nav_navr_i |
nav_fw_pos_xy_i |
nav_navr_d |
nav_fw_pos_xy_d |
servo_lowpass_freq |
servo_lpf_hz |
servo_lowpass_enable |
Removed. To disable filtering set servo_lpf_hz to zero |
acc_soft_lpf_hz |
acc_lpf_hz |
gyro_soft_lpf_hz |
gyro_lpf_hz |
gyro_lpf |
gyro_hardware_lpf |
rssi_ppm_invert |
rssi_invert |
Non-Nav Paramters (for PIFF) | |
p_pitch |
mc_p_pitch , fw_p_pitch |
i_pitch |
mc_i_pitch , fw_i_pitch |
d_pitch |
mc_d_pitch , fw_ff_pitch |
p_roll |
mc_p_roll , fw_p_roll |
i_roll |
mc_i_roll , fw_i_roll |
d_roll |
mc_d_roll , fw_ff_roll |
p_yaw |
mc_p_yaw , fw_p_yaw |
i_yaw |
mc_i_yaw , fw_i_yaw |
d_yaw |
mc_d_yaw , fw_ff_yaw |
p_level |
mc_p_level , fw_p_level |
i_level |
mc_i_level , fw_i_level |
d_level |
mc_d_level , fw_d_level |
Non-volatile storage for waypoint missions
As requested a lot - you now have possibility to create and upload a waypoint mission at home, go to the field, plug in the battery and fly the mission without the need to re-upload it.
Until GCS support is done you have two stick combos to do this:
Function | Throttle | Yaw | Pitch | Roll |
---|---|---|---|---|
Save current waypoint mission | LOW | CENTER | HIGH | LOW |
Load current waypoint mission | LOW | CENTER | HIGH | HIGH |
Mission is saved in Configuration memory and only one mission at a time can be saved. Feature is only available on F3+ targets due to lack of space on F1.
New failsafe system
Failsafe Stage 1 is completely gone now, rxfail
command is deprecated. Everything that is called "FAILSAFE" is now related to actual failsafe procedure. Failsafe FEATURE is deprecated - failsafe system is always functional and ready to catch you.
New "NONE" failsafe procedure is introduced to allow completely ignoring RC link loss. Be warned that you are no longer protected from flying out of range when using this feature.
A bunch of new parameters allow "LAND" procedure to work on fixed-wing aircraft as well. Failsafe will now command a slight dive, bank and yaw to bring the airplane down nicely in case of link loss. Previous behavior was to maintain level flight and fly-away.
New parameter rx_nosignal_throttle
defines how throttle channel will behave in case of link loss. Options are DROP and HOLD. Roll, Pitch and Yaw channels are centered and this behavior can't be changed anymore. This behavior is only applied for a small amount of time before FAILSAFE kicks in and starts doing something smart.
New parameter failsafe_stick_threshold
will allow you to keep FAILSAFE active even if the RC link is restored. You will have to move your sticks more than failsafe_stick_threshold
to regain control. This is done to allow nice return-to-home in case of signal loss. Enabled by default so in case of failsafe your craft will continue to execute failsafe procedure until you move the sticks.
New PIFF controller for fixed-wing aircraft
Introducing new Proportional + Integral + Feed Forward controller for airplanes. It's more suitable for airplanes due to the nature of control they are using. It also puts less stress on servos. D-term in Configurator will now control Feed-Forward gain which passes angular rate target directly to servos bypassing closed loop gyroscope stabilisation. Use caution - too high Feed-Forward gain may cause violent oscillations in ANGLE mode. See this article about how it is different from PID and why it is better for airplanes.
If you want direct migration from INAV 1.5 to 1.6 without using the new FF part of the controller you need to do:
Keep P-Gain as it was
Divide I-Gain by 3.5
Zero out D-Gain / FF-gain. ( So you will loose the D-gain, but this was never recommended to use. )
Airplane launch mode improvements
It's now possible to specify idle throttle for pre-launch (nav_fw_launch_idle_thr
) and time to gradually increase throttle after launch is detected (nav_fw_launch_spinup_time
). This allows to have motor spinning even when using MOTOR_STOP feature and will put less stress on ESCs by allowing them to spin up the motor to launch throttle gradually instead of requesting an instantenious throttle change.
Waypoint mission pre-arming check
Navigation safety checks will now include check for waypoint mission sanity. If you have a mission uploaded to FC pre-arming check will verify that first (starting) waypoint is within nav_wp_safe_distance
[cm](default 10000cm = 100m) from current UAV position. If starting waypoint is too far - machine won't allow you to arm. This check can also be bypassed with nav_extra_arming_safety
setting.
RTH sanity checking
Misconfigured or malfunctioning compass can confuse the firmware in such a way that it won't realize where North direction is. This may cause the machine to fly in wrong direction when i.e. doing an RTH and fly away instead of returning to home.
Another case is flying in extremely strong wind which machine is unable to fight. In such case RTH will attempt to bring machine home but will never succeed and UAV will be blown away.
RTH sanity checking feature will notice if distance to home is increasing during RTH and once amount of increase exceeds a certain threshold defined by nav_rth_abort_threshold
CLI parameter instead of continuing RTH machine will enter emergency landing, self-level and go down safely. Default threshold is set to 500m which is safe enough for both multirotor machines and airplanes.
New RTH configuration options
First option is nav_rth_allow_landing
(default to ON
). If it's set to ON
UAV will land as the last stage of RTH. Landing will function on both multirotors and airplanes (the latter will gradually descent with motors running).
Second option is nav_rth_climb_ignore_emerg
(default OFF
). When this option is OFF
(default) and when you initiate RTH without GPS fix - aircraft will initiate emergency descent and go down. If you set this option to ON
- aircraft will reach the RTH target altitude before initiating emergency descent. This is done for cases where GPS coverage is poor (i.e. in the mountains) - allowing UAV to climb up might improve GPS coverage and allow safe return instead of landing in a place where UAV might be impossible to recover.
New navigation-specific OSD indications
Now board with build-in OSD (Omnibus FC) will have indications that make it suitable for navigation:
- GPS coordinates
- Home distance and direction
- Current heading
- Climb rate (vario)
New boards
- NAZE target is split to actual
NAZE
andAIRHERO32
for MWC AirHero32 board - PIXRACER board initial support. Experimental - many features are not yet functional
- OMNIBUS F4 PRO target
- F4BY target
New features
- Initial support for STM32F7 boards. More CPU power for better performance
- Full support of SoftSerial ports on F4-based boards
- Gyro/D-term notch filter and D-term setpoint weight (as in Betaflight)
- TBS Crossfire native radio protocol and telemetry (CRSF)
- Firmware support for better UI for 6-point calibration
- Make max total PID output configurable, default limit reduced to 500 for better stability
- Inversion control for S.Bus - now it's possible to have non-inverted S.Bus (for OpenLRS compatibility)
- Airplane mixers defaults to use two motor outputs now
- PASSTHRU mode will now allow to mix sticks into motors for differential thrust support
- More authority for Altitude Hold PIDs. Please revisit ALT and VEL PIDs if aircraft misbehaves.
- Two banks of PIDs for Fixed-wing and Multirotor crafts. A small step towards VTOL support
- Configurable timeout for compass calibration (instead of hard-coded 30 seconds)
- When using new Configurator the Altitude graph in Sensor tab will now show both estimated altitude and raw BARO readings
- Extremely long flights are now possible on F3/F4/F7 targets. On F1 the system time will overflow at 1 hour, 11 minutes, 35 seconds and may cause some systems to malfunction (failsafe is one of suspects). Use caution when testing this feature.
- Option to control when relative altitude is zeroed (never, on first arming, on each arming)
- New
rssi_invert
setting replacesrssi_ppm_invert
and now also affects analog RSSI - Blackbox logging at rates down to 1/255 is now possible for logging long flights to onboard memory
Bugs fixed
- Telemetry and MSP data corruption on F1 (UART1 only) and F4 (all UARTs) targets
- Motor 6 output on REVO is now functional
- Occasional reboot of the board when bluetooth module is disconnected
- Rare complete stall of attitude/navigation system due to invalid gyro/acceleration data
- LED STRIP was blinking out one extra satellite when signalling GPS fix
3d_deadband_throttle
setting was handled incorrectly by MSP which caused corruption- iBUS telemetry not functional bug, many updates
- Temporary fix for a Sparky 2 compass bug
- Gave more confidence to accelerometer in IMU computations - should help with attitude drift issue
- Removed GPS centrifugal forces compensation - was not working properly
- Throttle opening briefly when ARMing the machine into Altitude Hold mode
- HoTT telemetry altitude and climb rate reporting fixed
- Fixed bug when GPS glitch (position/velocity error without loosing GPS FIX) might cause drone to crash
- HOME_RESET feature will now reset the Home position only once, when switch is flipped from OFF to ON