Closed NGFPV closed 2 years ago
The altitude displayed is relative to TO and you have RTH set to AT LEAST (default) which means the plane is returning at the altitude when RTH is selected, which is >50m RTH altitude that's been set so it maintains this altitude until home. When it reaches home and starts to loiter it descends to the RTH home altitude, set at 50m. It will do this at 5m/s (nav_auto_climb_rate) which is pretty high for a plane making it appear to fall out of the sky. However, if you'd left it and the arming altitude was zero then it would have levelled off at 50m rather than hitting the ground. It's the RTH home altitude that's probably causing this, been changed from the default of 0 (disabled) to 50m.
This issue / pull request has been automatically marked as stale because it has not had any activity in 60 days. The resources of the INAV team are limited, and so we are asking for your help. This issue / pull request will be closed if no further activity occurs within two weeks.
Please double-check that nobody reported the issue before by using search in this bug tracker.
PLEASE DELETE THE TEXT ABOVE AFTER READING AND UNDERSTANDING IT
Current Behavior
I recently started switching planes from iNav 2.5 to iNav 2.6, and it seems my 2.6 planes want to lawn dart rather than loiter around home after RTH. I have another switch set for NavAltHold + NavPosHold, and when I trip that, my Zohd Drift circles happily in place. But when I trip RTH, if navigates home with the throttle at about 1.7 amps, switches to Loitering Around Home, cuts the throttle to 1 amp (not enough to maintain altitude when I'm flying in Acro mode), and the plane spirals rapidly toward the ground. I have confirmed this behavior in two copies of the Zohd Drift and also with my Zohd Dart 250. In Advanced Tuning, I have set Land After RTH to Only on Failsafe.
Is this a bug in iNav 2.6, or is there are setting I'm missing somewhere?
Here is a video to demonstrate the behavior. Loitering At Home at 00:21, position and altitude Hold at 00:52, Loitering Around Home again at 1:40. As you can see, it would have driven straight into the ground if I hadn't canceled RTH and rescued it. https://youtu.be/mFzaP-zWWyI
Steps to Reproduce
Trip RTH Mode, allow plane to loiter around Home
Expected behavior
Plane should maintain altitude and circle around the Home point. Instead, it circles but cuts the throttle too low to maintain altitude, then spirals rapidly towards the ground.
Suggested solution(s)
Loitering Around Home, iNav should adjust throttle and controls to maintain altitude, as it does with AltHold Mode. This used to work in iNav 2.5.
Additional context
GCC-9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
Here is my DIFF file:
diff
version
INAV/MATEKF411SE 2.6.0 Dec 4 2020 / 12:09:36 (cada68e4)
GCC-9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599]
start the command batch
batch start
resources
mixer
mmix reset
mmix 0 1.000 0.000 0.000 0.000
servo mix
smix reset
smix 0 0 1 100 0 -1 smix 1 1 0 100 0 -1 smix 2 2 0 100 0 -1 smix 3 1 16 -60 0 -1 smix 4 2 16 60 0 -1
servo
servo 0 1000 2100 1500 55 servo 1 1000 2000 1500 -70 servo 2 1000 2000 1500 -70
safehome
logic
gvar
feature
feature MOTOR_STOP feature GPS feature PWM_OUTPUT_ENABLE
beeper
map
serial
serial 0 2 115200 115200 0 115200 serial 30 2048 115200 115200 0 115200
led
color
mode_color
aux
aux 0 0 0 1900 2100 aux 1 1 1 1875 2100 aux 2 2 1 1625 1775 aux 3 3 3 1300 1700 aux 4 11 3 1300 1700 aux 5 10 3 1900 2075 aux 6 12 1 1225 1375 aux 7 36 2 1900 2100 aux 8 37 4 1875 2100 aux 9 42 6 1400 1600 aux 10 43 6 1925 2100
adjrange
rxrange
temp_sensor
wp
wp 0 invalid
osd_layout
osd_layout 0 0 25 3 V osd_layout 0 1 1 10 V osd_layout 0 6 22 2 V osd_layout 0 7 13 1 V osd_layout 0 8 9 11 V osd_layout 0 9 13 2 H osd_layout 0 10 19 1 V osd_layout 0 11 2 11 V osd_layout 0 12 1 12 V osd_layout 0 13 2 7 V osd_layout 0 14 1 3 V osd_layout 0 15 16 12 V osd_layout 0 20 1 2 V osd_layout 0 21 1 1 V osd_layout 0 22 15 8 V osd_layout 0 23 23 12 V osd_layout 0 25 23 5 V osd_layout 0 26 25 7 V osd_layout 0 28 23 11 H osd_layout 0 30 1 4 V osd_layout 0 34 21 6 H osd_layout 0 35 8 12 H osd_layout 0 36 8 12 H osd_layout 0 38 2 11 H osd_layout 0 40 23 11 V osd_layout 0 41 13 11 H osd_layout 0 42 12 11 H osd_layout 0 46 1 7 H osd_layout 0 47 23 4 H osd_layout 0 63 14 12 H osd_layout 0 86 8 12 V osd_layout 0 87 8 2 H osd_layout 0 105 27 1 V osd_layout 1 1 2 12 V osd_layout 1 15 14 12 V osd_layout 1 20 19 1 V osd_layout 1 21 1 1 V osd_layout 1 22 14 1 V osd_layout 1 23 22 12 V osd_layout 1 30 2 2 V osd_layout 2 1 1 12 H osd_layout 2 15 16 12 H osd_layout 2 20 19 0 H osd_layout 2 21 1 10 H osd_layout 2 22 10 12 H osd_layout 2 23 24 12 H
master
set acc_hardware = MPU6000 set acczero_x = 76 set acczero_y = -22 set acczero_z = -139 set accgain_x = 4118 set accgain_y = 4059 set accgain_z = 4025 set mag_hardware = NONE set baro_hardware = BMP280 set pitot_hardware = NONE set serialrx_provider = CRSF set motor_pwm_protocol = STANDARD set failsafe_procedure = RTH set failsafe_mission = OFF set align_board_pitch = 50 set platform_type = AIRPLANE set model_preview_type = 14 set small_angle = 180 set applied_defaults = 3 set gps_sbas_mode = WAAS set nav_wp_radius = 3000 set nav_rth_climb_first = OFF set nav_rth_allow_landing = FS_ONLY set nav_rth_altitude = 5000 set nav_rth_home_altitude = 5000 set nav_fw_control_smoothness = 2 set nav_fw_launch_timeout = 20000 set osd_video_system = NTSC set osd_units = IMPERIAL set osd_alt_alarm = 122 set i2c_speed = 800KHZ set name = Drift set vtx_band = 3 set vtx_channel = 3 set vtx_power = 4 set vtx_low_power_disarm = ON
profile
profile 1
set nav_fw_pos_xy_p = 55 set rc_expo = 30 set rc_yaw_expo = 70 set roll_rate = 30 set pitch_rate = 15 set yaw_rate = 10
battery_profile
battery_profile 1
set battery_capacity = 3500 set battery_capacity_warning = 1050 set battery_capacity_critical = 700
end the command batch
batch end
Write your command here