INAV in der Version 3.0 released
Ab sofort ist die INAV in der Verison 3.0 verfügbar.
Um die Version 3.0 zu installieren lädt man sich den neuen Konfigurator.
Um ein update von der Version 2.6.X durchzuführen, sollte man nicht das komplette diff / dump zurück kopieren.
Es dürfen nur die Settings für:
Was bedeutet, das ein neuer Tuningflug auf jeden Fall ansteht.
Um von der Version 2.5 upzudaten, befolgt bitte diese Anweisung.
Bei 2.4 auf 2.5 müsst Ihr auf die AUX Kanäle aufpassen, eine kleine Anleitung gibt es hier.
Von 2.6.1 auf 3.0 ist ein großer Versionssprung, von daher gibt es viele Neuerungen.
Zu erwähnen ist, das die F3 FlightController nicht mehr unterstützt werden
Hier die englischen release notes:
New drivers and protocols
- Rangefinder „GY-US42(v2) Ultrasonic Range Sensor
- Rangefinder vl53l1x
- BNO055 Secondary IMU
- BMI088 IMU
Turtle mode aka Flip Over after crash (@kernel-machine)
INAV now has a „Turtle Mode“.
- Requires DSHOT ESC protocol
- Assign a switch to TURTLE mode
- Ensure you can arm at any angle
WP mission sealevel altitude datum (@breadoven)
Prior to inav 3.0, mission waypoint altitudes are relative the arming location. It is now possible to define waypoints with absolute (AMSL) altitude, making the mission independent of the arming location. See the inav wiki for details (WP
WP Mission Landing Elevation Setting (@breadoven)
The relative / absolute ground altitude of a
LAND waypoint may be set as WP
paramater 2 (m). See the inav wiki for details.
DShot Beeper (@harry1453)
Nothing to add. If DSHOT is enabled, DSHOT beeper will be used.
RC via MAVLink & MAVLink V2 Support (@harry1453)
MAVLink is still only a downlink from UAV to the ground station, but now allows to use RC-Over-MAVLink
Prearm Mode (@harry1453)
Prearm offers a two-stage arming process as an optional additional safety feature.
- Activate prearm (normally a button or momentary switch)
- Activate arm
Initial cut on H7 MCU support (@digitalentity, @bkleiner, @DzikuVx)
H7 is available in the source repository; target Hex files will be released as targets mature, probably in the future point releases.
Add D-term to control loop on fixed wing aircraft (@avsaase)
You can now use the D-gain to improve the stabilization, especially on small and agile airplanes. Until we have a better understanding of how to tune this on a range of airplanes, the D-gain is set to zero by default and not tuned using autotune. Please report good performing tunes in #6709.
Improved AUTOTUNE for fixed wing (@avsaase)
AUTOTUNE can now automatically set the correct rates for your airplane. The goal is to set rates that the airplane is capable of achieving with 80% control surface deflection so there is some room for the stabilization to work. This feature is controlled by CLI setting
fw_autotune_rate_adjustment. When set to
AUTO (the default), autotune automatically determines the rates and gains. When set to
MAX, rates will be automatically adjusted, but never above the starting values. This can be used to calm down a very agile plane, while still avoiding setting too high rates. When set to
FIXED, rates will not be adjusted. Note that setting too high rates can cause very bad flight behavior and potential crashes. Rate discovery is not possible in ANGLE mode so it is highly advised to do autotune in ACRO mode.
Continuously trim servos on fixed wing (@avsaase)
There is now the option to continuously trim the servos for straight and level flight. When enabled and flying straight and level, INAV records what servo output is required to maintain a constant attitude, and adjusts the servo midpoints accordingly. The servo midpoints are limited to the 1300-1700 range. After the first maiden flight, and after the first flight when significant changes have been made to the airplane, check the servo midpoints. If they are at or close to the end of this range mechanically adjust the control surfaces.
Improvements and updates
Gyro processing improvements (@DzikuVx)
As part of gyro processing updates, the following changes were made:
gyro_syncis gone, INAV no longer does a wait cycle trying to get the next set of data from the gyro.
- Gyro data acquisition is no longer part of the main PID task
- Gyro data is acquired with a constant rate of 4kHz and filters with an anti-aliasing filter (
gyro_anti_aliasing_lpf_hz). In normal circumstances, there is no need to change this setting
- All the other filters are running as part of the main PID task as before
- The gyro low-pass filter
gyro_lpf_hzwas renamed to
New experimental features for Multirotors
- Smith Predictor on gyro signal helps to reduce the delay introduced by gyro filters. It’s disabled by default. To enable, use
set smith_predictor_delay = 3. More details about this feature will follow later
- Alpha-Beta-Gamma filter is a relative of the Kalman filter and other prediction filters. Disabled by default. To enable,
set gyro_abg_alpha = 0.25or higher value. It requires a very clean gyro signal or might introduce oscillations on the high throttle. If the multirotor started to vibrate after enabling the Alpha-Beta-Gamma filter, you either have to improve the gyro filter strategy or disable the ABG filter. It works great on some builds and not so great or other. It’s up to you to test.
- Dynamic Gyro Main LPF – Dynamic gyro LPF with the cutoff frequency depending on throttle position. To enable
set gyro_use_dyn_lpf=ONand set
gyro_dyn_lpf_max_hz. Dynamic LPF replaces
Update EGNOS PRN mask to latest EGSA definition, fix SBAS for non-Galileo usage (@stronnag)
The EGNOS (GPS ground assistance) definitions have been updated to the latest values for all GNSS options. An invalid association with the availability of Galileo has been corrected.
Make CW270FLIP default MAG alignment (@DzikuVx)
New FCs rarely feature onboard compass, and most GPS+MAG default to CW270FLIP, so this is now the INAV default. If you use another value, check your setup after upgrading.
Rename NAV CRUISE mode to NAV COURSE HOLD and add CRUISE mode which is equivalent to CRSH+AH (@shellixyz)
To more clearly state what they do and how they work. It’s a subtle, but worth it to change for sure!
Bump OSD font min version to 2 (@shellixyz)
Users must upgrade OSD Fonts to Version 2 (or later).
Delayed safehome (@tonyyng)
Safehome does not now replace the arming location until it is needed. If you cancel RTH or recover from RX failsafe, the original arming location is restored as the home location. Under normal circumstances, „distance to home“ will revert to range from the arming location.
Switched RTH Preset Altitude Override (@breadoven)
Provides stick options to override configured RTH climb and/or turn behaviour. See the
nav_rth_alt_control_override setting description for details.
Renamed OSD SW and LEDLOW to OSD/LEDS OFF (@MrD-RC)
Modes names were changed to be more user friendly. When
OSD OFF is enabled, OSD will be turned off. When
LED OFF is enabled, LEDs will be turned off.
Fixed wing RTH Spiral Climb Option (@breadoven)
Yeap, now when
nav_rth_climb_first is set to
ON_FW_SPIRAL, Fixed Wing will keep litering and gaining altitude until it reaches desired altitude. Previously, it was climbing while flying straight in random direction
Do not slow down in WP mission when approaching a waypoint (@DzikuVx)
nav_mc_wp_slowdown is set to
OFF, Waypoint missions on Multirotors will be smoother as the NAV engine will not try to slow down before entering the waypoint and then accelerate towards the next waypoint. INAV will rather enter WP with normal speed, switch to the next waypoint and then adjust heading while flying.
Configure speed source for DJI OSD (@DzikuVx)
The default behavior of the DJI OSD speed element was to display a ground speed.
osd_speed_source can be set to GROUND, AIR or 3D speed depending on the preference
Ability to trim pitch angle for level flight (@DzikuVx)
- The flight controller trimming for level flight on Fixed Wings is no longer a recommended way to do so
- Board ROLL and PITCH setting should be changed only when the flight controller is not installed parallel to the wings plane
- pitch trim should be done using
fw_level_pitch_trimmeans airplane nose should be raised 5 deg from level
- Flight mode
AUTO LEVELwill automatically trim the pitch angle when ANGLE or HORIZON flight modes are used
vtx_smartaudio_early_akk_workaround option (@RomanLut)
If your old AKK VTX is not working, use
vtx_smartaudio_early_akk_workaround to fix it!
Added option to output servos on PWM and SBUS (@IVData)
Option for local plus codes on osd (@avsaase)
This adds the option to remove the first 2, 4, or 6 digits from the OSD plus code. Doing so requires a reference location (for example your current location when using Google Maps on your phone) within ~800, ~40, and ~2km, respectively.
Changed default settings for fixed wing throttle smoothing in navigation modes (@Airwide)
Throttle smoothing in the navigation modes on fixed wing aircraft is now enabled by default. This results in smoother throttle management and more efficient cruising.
Improved flight performance on planes with rudder (@avsaase)
In ACRO mode, you can mitigate the problem of the rudder fighting bank-and-yank turns by disabling the I-term when the bank angle is above a given threshold. Set the desired bank angle threshold on the Mechanics tab under PID tuning. 10 degrees is a good starting point. In the navigation modes, rudder handling is improved. As a consequence of this improvement, TURN ASSIST can no longer be used in ACRO mode.
INAV 3.0 supports, as an experimental feature, external BNO055 connected as either I2C or Serial device. Data from BNO055 can be used to display Artificial Horizon in OSD, Heading in OSD or drive the self-leveling ANGLE and HORIZON modes. Secondary IMU will not be used for navigation yet!
Via #4442 it is now possible to limit maximum altitude for both Fixed Wings and Multirotors.
nav_max_altitude sets the max altitude in centimeters. Bear in mind, limit is active only with Altitude Hold mode and does not affect manual and acro flight modes
General Purpose PID controllers
INAV 3.0 comes with 4 general-purpose, user-programmable PID controllers that can be integrated with Logic Conditions and Global Variables. Why? Because why not! With the ability to override RC channels with Logic Conditions you can program your own heading, speed, altitude, whatever control.