iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.09k stars 1.46k forks source link

Delayed / averaging sensors causing strange behaviour - Flying wrong direction #3359

Closed povlhp closed 6 years ago

povlhp commented 6 years ago

I have a video here clearly showing delayed OSD output - or more likely 10s averaging. https://youtu.be/j-Gj1-ygebg

Bix3, Omnibus F4 Pro, built-in OSD, iNav 1.9.1. No compass.

But it seems like these delayed values are also used for navigation, which can be pretty bad. I have my plane coming home in RTH mode. Turned on 250 meters away after flying like 45 degrees right of target for 10s. Almost straight line. Home pointer is fine.

Plane turns left, too much to the left as the averaging makes it overshoot the direction. Flies to like 160m left of home. Now it finds out it is too much to the left, so it keeps banking right, and does a narrow 270 degrees turn, keeping the home arrow pointing right, and at some point it starts moving all the way to the left. Ending up flying away from home. I get scared and starts giving throttle and correct the flight. OSD shows no airspeed, but with delay it shows the real 70+ km/h = 20+ m/s. When I get the plane turned around and pointing home, the home distance still increases, and the pointer is still the wrong way, until I have a stable heading for 10s.

OSD shows the issue on this video, RTH completely misjudging direction. First 3-4 secs are same image due to my cut on a non-keyframe https://youtu.be/rObMzWoJC8o

Can't find an obvious setting to change averaging period.

I imagine a compass will help. I can also imagine RTH keep overshooting and never retun to home.

povlhp commented 6 years ago

An update. I use an M8N clone from HGLRC. Supposedly M8N can deliver heading with 0.3 degrees position. Or is this only with compass ?

The OS delay is all values, which I find strange.

digitalentity commented 6 years ago

Config dump and blackbox? Looks like a tuning/setting issue to me. OSD data is not delayed, airplane response to direction change is - usually the case when airplane don't have enough control authority to turn fast enough in automatic modes or navigation PIDs are messed up.,

povlhp commented 6 years ago

If you look at the first video, you see delayed OSD. 10s from impact until OSD stops counting down. 2nd video clearly shows the same.

I think the issue is the late update of data, maybe something in the M8N clone or communications with it.

Here is screenshot of the path, it clearly has authoritative control. The 270-ish turn is registered as using a single car lane only. That is 10m diameter. So plenty of authority (as can bee seen from 2nd video) 35114098_10156489249397070_8350154870036103168_n

Blackbox here. Config not available right now. Will come later when I am home (@1800 CEST) LOG00008.TXT

Again, I think it has something to do with either filtering/smoothing of GPS data, or a delay/buffering somewhere. It is very clear that the OSD is like 10s out of sync (delayed) compared to actual plane direction/movements. Thus video is important.

I opened another one with less data as #3316, just close this as duplicate. I no longer think the OSD is delayed, I think OSD is displaying what the FC thinks is correct data. But the FC i using old stale data, or some heavily postprocessed data.

2 people on Facebook seems to have experienced strange home pointer direction as well on RTH. Might be related.

povlhp commented 6 years ago

Just one comment, if we are using average/delayed data, then flying north, away from home, switching to RTH could in theory do a turn ending north again, as when it is pointing sourth towards home, it still has the delayed data from when it was north, and will continue its turn. So it might never fly home, or be very bad at it.

Image above, home is down left of bottom of image. Line coming in top left of image is RTH using old direction data. so it keeps turning left away from home. The small "loop" on the line is when it finally discovers that the target is no longer to the left, but is quickly moving to the right. Keeps turning on old data.

I assume Blackbox log will be of no help here, as it logs the perceived data / position ? And if that is somehow delayed 10s, then only the video with OSD overlay will help, and iNav will think it did everything right.

povlhp commented 6 years ago

Another comment, when launching, OSD speed is not moving above 0 m/s for the first 7 seconds or so. Same goes for DST to home. It launches/flies stabilized,but that is onboard gyro, not GPS. So again, that helps confirm my theory that it is navigational data from GPS that is somehow delayed, buffered, cached, filtered, averaged or whatever. Plane flies nice when I fly in horizon, angle or manual. Only GPS navigation untrustworthy.

digitalentity commented 6 years ago

Replace the GPS module.

On Wed, Jun 13, 2018, 10:14 Povl H. Pedersen notifications@github.com wrote:

Another comment, when launching, OSD speed is not moving above 0 m/s for the first 7 seconds or so. Same goes for DST to home. It launches/flies stabilized,but that is onboard gyro, not GPS. So again, that helps confirm my theory that it is navigational data from GPS that is somehow delayed, buffered, cached, filtered, averaged or whatever. Plane flies nice when I fly in horizon, angle or manual. Only GPS navigation untrustworthy.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/iNavFlight/inav/issues/3359#issuecomment-396853795, or mute the thread https://github.com/notifications/unsubscribe-auth/AKi_m1BYxuChnMmro_syKKcVmC_BbNfYks5t8MnzgaJpZM4UlOjd .

povlhp commented 6 years ago

I accept that replacing the GPS would be natural in troubleshooting. Will do that. I wonder why 2 persons more had the same issue. Will ask them on facebook, maybe we can narrow it down to the HGLRC mini GPS module

povlhp commented 6 years ago

One report on Facebook is using FuriousFPV GPS module, same as HGLRC. Other RTFQ M8N (not sure of size). Now that we know what to look for, we will all look for delayed OSD, and repeatability hereof. Might not happen all the time. So all with chinese M8N clones.

Plans is to test / evaluate my module before replacing it. Both with OSD, and with uCenter. See if it is consistent. I have my logic analyzer I could use as well to grab the traffic as a last step. Think it is important to localize the issue, and warn.

povlhp commented 6 years ago

Could not provoke the error today. Tried many times in garden walking around. Home pointer always correct (if turned on facing north). Walk/run and stop, and speed was 0 within 3 secs.

Multiple power cycles. Maybe I had cold start as difference when I went out.

Here is my complete config: `# dump

version

INAV/OMNIBUSF4PRO 1.9.1 Apr 21 2018 / 13:12:44 (03a5c1922)

resources

mixer

mixer AIRPLANE

mmix reset

servo mix

smix reset

servo

servo 0 1000 2000 1500 100 -1 servo 1 1000 2000 1500 100 -1 servo 2 1000 2000 1575 100 -1 servo 3 1000 2000 1469 -100 -1 servo 4 1000 2000 1469 -100 -1 servo 5 1000 2000 1597 100 -1 servo 6 1000 2000 1500 100 -1 servo 7 1000 2000 1500 100 -1

feature

feature -RX_PPM feature -VBAT feature -TX_PROF_SEL feature -MOTOR_STOP feature -SERVO_TILT feature -SOFTSERIAL feature -GPS feature -TELEMETRY feature -CURRENT_METER feature -3D feature -RX_PARALLEL_PWM feature -RX_MSP feature -RSSI_ADC feature -LED_STRIP feature -DASHBOARD feature -BLACKBOX feature -CHANNEL_FORWARDING feature -TRANSPONDER feature -AIRMODE feature -SUPEREXPO feature -VTX feature -RX_SPI feature -PWM_SERVO_DRIVER feature -PWM_OUTPUT_ENABLE feature -OSD feature -FW_LAUNCH feature -TRACE feature VBAT feature TX_PROF_SEL feature MOTOR_STOP feature GPS feature BLACKBOX feature AIRMODE feature PWM_OUTPUT_ENABLE feature OSD

beeper

beeper RUNTIME_CALIBRATION beeper HW_FAILURE beeper RX_LOST beeper RX_LOST_LANDING beeper DISARMING beeper ARMING beeper ARMING_GPS_FIX beeper BAT_CRIT_LOW beeper BAT_LOW beeper GPS_STATUS beeper RX_SET beeper ACTION_SUCCESS beeper ACTION_FAIL beeper READY_BEEP beeper MULTI_BEEPS beeper DISARM_REPEAT beeper ARMED beeper SYSTEM_INIT beeper ON_USB beeper LAUNCH_MODE beeper CAM_CONNECTION_OPEN beeper CAM_CONNECTION_CLOSED

map

map AETR

name

name -

serial

serial 20 1 115200 38400 0 115200 serial 0 1 115200 38400 0 115200 serial 2 2 115200 38400 0 115200 serial 5 64 115200 38400 0 115200

led

led 0 0,0::C:0 led 1 0,0::C:0 led 2 0,0::C:0 led 3 0,0::C:0 led 4 0,0::C:0 led 5 0,0::C:0 led 6 0,0::C:0 led 7 0,0::C:0 led 8 0,0::C:0 led 9 0,0::C:0 led 10 0,0::C:0 led 11 0,0::C:0 led 12 0,0::C:0 led 13 0,0::C:0 led 14 0,0::C:0 led 15 0,0::C:0 led 16 0,0::C:0 led 17 0,0::C:0 led 18 0,0::C:0 led 19 0,0::C:0 led 20 0,0::C:0 led 21 0,0::C:0 led 22 0,0::C:0 led 23 0,0::C:0 led 24 0,0::C:0 led 25 0,0::C:0 led 26 0,0::C:0 led 27 0,0::C:0 led 28 0,0::C:0 led 29 0,0::C:0 led 30 0,0::C:0 led 31 0,0::C:0

color

color 0 0,0,0 color 1 0,255,255 color 2 0,0,255 color 3 30,0,255 color 4 60,0,255 color 5 90,0,255 color 6 120,0,255 color 7 150,0,255 color 8 180,0,255 color 9 210,0,255 color 10 240,0,255 color 11 270,0,255 color 12 300,0,255 color 13 330,0,255 color 14 0,0,0 color 15 0,0,0

mode_color

mode_color 0 0 1 mode_color 0 1 11 mode_color 0 2 2 mode_color 0 3 13 mode_color 0 4 10 mode_color 0 5 3 mode_color 1 0 5 mode_color 1 1 11 mode_color 1 2 3 mode_color 1 3 13 mode_color 1 4 10 mode_color 1 5 3 mode_color 2 0 10 mode_color 2 1 11 mode_color 2 2 4 mode_color 2 3 13 mode_color 2 4 10 mode_color 2 5 3 mode_color 3 0 8 mode_color 3 1 11 mode_color 3 2 4 mode_color 3 3 13 mode_color 3 4 10 mode_color 3 5 3 mode_color 4 0 7 mode_color 4 1 11 mode_color 4 2 3 mode_color 4 3 13 mode_color 4 4 10 mode_color 4 5 3 mode_color 5 0 9 mode_color 5 1 11 mode_color 5 2 2 mode_color 5 3 13 mode_color 5 4 10 mode_color 5 5 3 mode_color 6 0 6 mode_color 6 1 10 mode_color 6 2 1 mode_color 6 3 0 mode_color 6 4 0 mode_color 6 5 2 mode_color 6 6 3 mode_color 6 7 6 mode_color 6 8 0 mode_color 6 9 0 mode_color 6 10 0

aux

aux 0 0 1 1500 2100 aux 1 1 3 950 1100 aux 2 3 3 1500 1700 aux 3 9 3 1475 1700 aux 4 8 3 1900 2100 aux 5 10 3 1300 1500 aux 6 27 4 1900 2100 aux 7 0 0 900 900 aux 8 0 0 900 900 aux 9 0 0 900 900 aux 10 0 0 900 900 aux 11 0 0 900 900 aux 12 0 0 900 900 aux 13 0 0 900 900 aux 14 0 0 900 900 aux 15 0 0 900 900 aux 16 0 0 900 900 aux 17 0 0 900 900 aux 18 0 0 900 900 aux 19 0 0 900 900

adjrange

adjrange 0 0 0 900 900 0 0 adjrange 1 0 0 900 900 0 0 adjrange 2 0 0 900 900 0 0 adjrange 3 0 0 900 900 0 0 adjrange 4 0 0 900 900 0 0 adjrange 5 0 0 900 900 0 0 adjrange 6 0 0 900 900 0 0 adjrange 7 0 0 900 900 0 0 adjrange 8 0 0 900 900 0 0 adjrange 9 0 0 900 900 0 0 adjrange 10 0 0 900 900 0 0 adjrange 11 0 0 900 900 0 0

rxrange

rxrange 0 1000 2000 rxrange 1 1000 2000 rxrange 2 1000 2000 rxrange 3 1000 2000

master

set looptime = 2000 set gyro_sync = ON set align_gyro = DEFAULT set gyro_hardware_lpf = 188HZ set gyro_lpf_hz = 60 set moron_threshold = 32 set gyro_notch1_hz = 0 set gyro_notch1_cutoff = 1 set gyro_notch2_hz = 0 set gyro_notch2_cutoff = 1 set vbat_adc_channel = 2 set rssi_adc_channel = 3 set current_adc_channel = 1 set airspeed_adc_channel = 0 set acc_notch_hz = 0 set acc_notch_cutoff = 1 set align_acc = DEFAULT set acc_hardware = MPU6000 set acc_lpf_hz = 15 set acczero_x = 172 set acczero_y = -84 set acczero_z = -196 set accgain_x = 4102 set accgain_y = 4081 set accgain_z = 4025 set rangefinder_hardware = NONE set rangefinder_median_filter = OFF set align_mag = DEFAULT set mag_hardware = NONE set mag_declination = 0 set magzero_x = 0 set magzero_y = 0 set magzero_z = 0 set mag_calibration_time = 30 set align_mag_roll = 0 set align_mag_pitch = 0 set align_mag_yaw = 0 set baro_hardware = BMP280 set baro_median_filter = ON set pitot_hardware = NONE set pitot_use_median_filter = ON set pitot_noise_lpf = 0.600 set pitot_scale = 1.000 set receiver_type = SERIAL set mid_rc = 1500 set min_check = 1100 set max_check = 1900 set rssi_channel = 10 set rssi_scale = 100 set rssi_invert = OFF set rc_smoothing = ON set serialrx_provider = IBUS set serialrx_inverted = OFF set rx_spi_rf_channel_count = 0 set spektrum_sat_bind = 0 set rx_min_usec = 885 set rx_max_usec = 2115 set serialrx_halfduplex = OFF set blackbox_rate_num = 3 set blackbox_rate_denom = 4 set blackbox_device = SDCARD set sdcard_detect_inverted = ON set min_throttle = 1150 set max_throttle = 1850 set min_command = 1000 set motor_pwm_rate = 400 set motor_pwm_protocol = STANDARD set failsafe_delay = 5 set failsafe_recovery_delay = 5 set failsafe_off_delay = 200 set failsafe_throttle = 1000 set failsafe_throttle_low_delay = 0 set failsafe_procedure = RTH set failsafe_stick_threshold = 50 set failsafe_fw_roll_angle = -200 set failsafe_fw_pitch_angle = 100 set failsafe_fw_yaw_rate = -45 set failsafe_min_distance = 0 set failsafe_min_distance_procedure = DROP set align_board_roll = 0 set align_board_pitch = -28 set align_board_yaw = 0 set gimbal_mode = NORMAL set vbat_scale = 1100 set vbat_max_cell_voltage = 420 set vbat_min_cell_voltage = 330 set vbat_warning_cell_voltage = 350 set battery_capacity = 0 set battery_capacity_warning = 0 set battery_capacity_critical = 0 set battery_capacity_unit = MAH set current_meter_scale = 265 set current_meter_offset = 0 set current_meter_type = ADC set yaw_motor_direction = 1 set yaw_jump_prevention_limit = 200 set 3d_deadband_low = 1406 set 3d_deadband_high = 1514 set 3d_neutral = 1460 set servo_center_pulse = 1500 set servo_pwm_rate = 50 set servo_lpf_hz = 20 set flaperon_throw_offset = 200 set tri_unarmed_servo = ON set reboot_character = 82 set imu_dcm_kp = 2500 set imu_dcm_ki = 50 set imu_dcm_kp_mag = 10000 set imu_dcm_ki_mag = 0 set small_angle = 180 set fixed_wing_auto_arm = OFF set disarm_kill_switch = ON set auto_disarm_delay = 5 set gps_provider = UBLOX set gps_sbas_mode = AUTO set gps_dyn_model = AIR_1G set gps_auto_config = ON set gps_auto_baud = ON set gps_ublox_use_galileo = OFF set gps_min_sats = 6 set deadband = 5 set yaw_deadband = 5 set pos_hold_deadband = 20 set alt_hold_deadband = 50 set 3d_deadband_throttle = 50 set fw_autotune_overshoot_time = 100 set fw_autotune_undershoot_time = 200 set fw_autotune_threshold = 50 set fw_autotune_ff_to_p_gain = 10 set fw_autotune_ff_to_i_tc = 600 set inav_auto_mag_decl = ON set inav_gravity_cal_tolerance = 5 set inav_use_gps_velned = ON set inav_reset_altitude = FIRST_ARM set inav_max_surface_altitude = 200 set inav_w_z_surface_p = 3.500 set inav_w_z_surface_v = 6.100 set inav_w_z_baro_p = 0.350 set inav_w_z_gps_p = 0.200 set inav_w_z_gps_v = 0.500 set inav_w_xy_gps_p = 1.000 set inav_w_xy_gps_v = 2.000 set inav_w_z_res_v = 0.500 set inav_w_xy_res_v = 0.500 set inav_w_acc_bias = 0.010 set inav_max_eph_epv = 1000.000 set inav_baro_epv = 100.000 set nav_disarm_on_landing = OFF set nav_use_midthr_for_althold = OFF set nav_extra_arming_safety = OFF set nav_user_control_mode = ATTI set nav_position_timeout = 5 set nav_wp_radius = 100 set nav_wp_safe_distance = 10000 set nav_auto_speed = 2500 set nav_auto_climb_rate = 500 set nav_manual_speed = 3000 set nav_manual_climb_rate = 200 set nav_landing_speed = 200 set nav_land_slowdown_minalt = 500 set nav_land_slowdown_maxalt = 2000 set nav_emerg_landing_speed = 500 set nav_min_rth_distance = 500 set nav_rth_climb_first = ON set nav_rth_climb_ignore_emerg = OFF set nav_rth_tail_first = OFF set nav_rth_allow_landing = NEVER set nav_rth_alt_mode = AT_LEAST set nav_rth_abort_threshold = 50000 set nav_rth_altitude = 3500 set nav_mc_bank_angle = 30 set nav_mc_hover_thr = 1500 set nav_mc_auto_disarm_delay = 2000 set nav_fw_cruise_thr = 1400 set nav_fw_min_thr = 1200 set nav_fw_max_thr = 1700 set nav_fw_bank_angle = 20 set nav_fw_climb_angle = 20 set nav_fw_dive_angle = 15 set nav_fw_pitch2thr = 10 set nav_fw_loiter_radius = 5000 set nav_fw_land_dive_angle = 2 set nav_fw_launch_velocity = 300 set nav_fw_launch_accel = 1863 set nav_fw_launch_max_angle = 45 set nav_fw_launch_detect_time = 40 set nav_fw_launch_thr = 1700 set nav_fw_launch_idle_thr = 1000 set nav_fw_launch_motor_delay = 500 set nav_fw_launch_spinup_time = 100 set nav_fw_launch_min_time = 0 set nav_fw_launch_timeout = 5000 set nav_fw_launch_max_altitude = 0 set nav_fw_launch_climb_angle = 18 set telemetry_switch = OFF set telemetry_inverted = OFF set frsky_default_latitude = 0.000 set frsky_default_longitude = 0.000 set frsky_coordinates_format = 0 set frsky_unit = METRIC set frsky_vfas_precision = 0 set report_cell_voltage = OFF set hott_alarm_sound_interval = 5 set smartport_uart_unidir = OFF set smartport_fuel_unit = MAH set ibus_telemetry_type = 0 set ltm_update_rate = NORMAL set ledstrip_visual_beeper = OFF set osd_video_system = 0 set osd_row_shiftdown = 0 set osd_units = METRIC set osd_stats_energy_unit = MAH set osd_rssi_alarm = 20 set osd_time_alarm = 10 set osd_alt_alarm = 100 set osd_artificial_horizon_reverse_roll = OFF set osd_crosshairs_style = DEFAULT set osd_left_sidebar_scroll = NONE set osd_right_sidebar_scroll = NONE set osd_sidebar_scroll_arrows = OFF set osd_main_voltage_pos = 2092 set osd_main_voltage_decimals = 1 set osd_rssi_pos = 2433 set osd_flytimer_pos = 311 set osd_ontime_pos = 279 set osd_flymode_pos = 2444 set osd_throttle_pos = 2113 set osd_vtx_channel_pos = 200 set osd_crosshairs_pos = 2048 set osd_artificial_horizon_pos = 2248 set osd_horizon_sidebars_pos = 2248 set osd_current_draw_pos = 2145 set osd_mah_drawn_pos = 2177 set osd_wh_drawn_pos = 161 set osd_bat_remaining_capacity_pos = 193 set osd_bat_remaining_percent_pos = 225 set osd_craft_name_pos = 84 set osd_gps_speed_pos = 2103 set osd_gps_sats_pos = 2400 set osd_gps_lon_pos = 2063 set osd_gps_lat_pos = 2052 set osd_home_dir_pos = 2414 set osd_home_dist_pos = 2081 set osd_altitude_pos = 2135 set osd_vario_pos = 2231 set osd_vario_num_pos = 2296 set osd_pid_roll_pos = 322 set osd_pid_pitch_pos = 354 set osd_pid_yaw_pos = 386 set osd_power_pos = 47 set osd_air_speed_pos = 163 set osd_ontime_flytime_pos = 2423 set osd_rtc_time_pos = 407 set osd_messages_pos = 2465 set osd_gps_hdop_pos = 320 set osd_main_cell_voltage_pos = 44 set osd_throttle_auto_thr_pos = 70 set osd_heading_graph_pos = 82 set osd_efficiency_mah_pos = 161 set osd_efficiency_wh_pos = 161 set i2c_speed = 400KHZ set debug_mode = NONE set acc_task_frequency = 500 set attitude_task_frequency = 250 set async_mode = NONE set throttle_tilt_comp_str = 0 set input_filtering_mode = OFF set mode_range_logic_operator = OR set stats = OFF set stats_total_time = 0 set stats_total_dist = 0 set stats_total_energy = 0 set tz_offset = 0 set display_force_sw_blink = OFF

profile

profile 1

set mc_p_pitch = 40 set mc_i_pitch = 30 set mc_d_pitch = 23 set mc_p_roll = 40 set mc_i_roll = 30 set mc_d_roll = 23 set mc_p_yaw = 85 set mc_i_yaw = 45 set mc_d_yaw = 0 set mc_p_level = 20 set mc_i_level = 15 set mc_d_level = 75 set fw_p_pitch = 20 set fw_i_pitch = 30 set fw_ff_pitch = 15 set fw_p_roll = 20 set fw_i_roll = 30 set fw_ff_roll = 15 set fw_p_yaw = 45 set fw_i_yaw = 5 set fw_ff_yaw = 15 set fw_p_level = 20 set fw_i_level = 5 set fw_d_level = 75 set max_angle_inclination_rll = 600 set max_angle_inclination_pit = 600 set dterm_lpf_hz = 40 set yaw_lpf_hz = 30 set dterm_setpoint_weight = 0.000 set fw_iterm_throw_limit = 165 set fw_reference_airspeed = 1000.000 set fw_turn_assist_yaw_gain = 1.000 set dterm_notch_hz = 0 set dterm_notch_cutoff = 1 set pidsum_limit = 500 set yaw_p_limit = 300 set iterm_ignore_threshold = 200 set yaw_iterm_ignore_threshold = 50 set rate_accel_limit_roll_pitch = 0 set rate_accel_limit_yaw = 10000 set heading_hold_rate_limit = 90 set nav_mc_pos_z_p = 50 set nav_mc_pos_z_i = 0 set nav_mc_pos_z_d = 0 set nav_mc_vel_z_p = 100 set nav_mc_vel_z_i = 50 set nav_mc_vel_z_d = 10 set nav_mc_pos_xy_p = 65 set nav_mc_pos_xy_i = 120 set nav_mc_pos_xy_d = 10 set nav_mc_vel_xy_p = 40 set nav_mc_vel_xy_i = 15 set nav_mc_vel_xy_d = 100 set nav_mc_heading_p = 60 set nav_fw_pos_z_p = 50 set nav_fw_pos_z_i = 0 set nav_fw_pos_z_d = 0 set nav_fw_pos_xy_p = 75 set nav_fw_pos_xy_i = 5 set nav_fw_pos_xy_d = 8 set nav_fw_heading_p = 60 set thr_mid = 50 set thr_expo = 0 set tpa_rate = 0 set tpa_breakpoint = 1500 set fw_tpa_time_constant = 0 set rc_expo = 70 set rc_yaw_expo = 20 set roll_rate = 20 set pitch_rate = 15 set yaw_rate = 9 set manual_rc_expo = 70 set manual_rc_yaw_expo = 20 set manual_roll_rate = 100 set manual_pitch_rate = 100 set manual_yaw_rate = 100`

mrduncan626 commented 6 years ago

Since you are not using a compass, then iNav has to calculate a direction vector and speed based on individual GPS data points. So, depending on your GPS data rate and the number of data points iNav requires to calculate a direction vector and spped, this could be the cause of the OSD data delay. I thought most GPS default data rate was 5Hz. However, I would think GPS data rates set to 1Hz or greater could cause OSD data delays.

povlhp commented 6 years ago

I understand the GPS data must be used to calculate say a vector. This would need at least 2 data points, preferable far enough from each other to sufficiently overcome drift-like errors. The problem here is different, likely caused be some bad state in the M8N clones. We are now at least 4 persons on FB that have experienced homepointer is very bad (typically seen as opposite direction).

I am the only one of the 4 that has OSD / DVR video. And on the video, it is clear that we have a very slow update rate. Lets say 10s delay. Seems pretty constant that speed, homepointer etc is displayed as perfect data for where the quad was exactly 10s ago. Even lattitude/longtitude goes up/down close to 10s off.

Since we do not buffer data that long on the F4, it is only a few bytes, and thus few messages. And they will be pulled from the main loop faster than they arrive.

So the conclusion for now, is that the issue is with the GPS modules hitting some strange state.

stale[bot] commented 6 years ago

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.

stale[bot] commented 6 years ago

Automatically closing as inactive.