Commit Graph

26597 Commits

Author SHA1 Message Date
Randy Mackay
54d6cf15e5 AP_NavEKF2: init rngOnGnd to 5cm to avoid div-by-zero 2021-08-28 17:10:29 +09:00
Pierre Kancir
e5ea7e6196 AP_InertialSensor: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 17:10:29 +09:00
Pierre Kancir
c4b7f6ddcf AP_Baro: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 17:10:29 +09:00
Pierre Kancir
4866ffc597 AP_Compass: fix externalAHRS detection
'A = B >= C' kind. The expression is calculated as following: 'A = (B >= C)'
2021-08-28 17:10:29 +09:00
Andrew Tridgell
659c9fb10d HAL_ChibiOS: switch to minimum scheduling delta of 10us
this avoids an issue with the ChibiOS 20.3 virtual timer
implementation that can result in a scheduling slip equal to the
system timer period.

Andy has been suggesting this change for a while. I resisted it as I
thought it would impact on soft-serial parsing, but it turns out it
doesn't.

Fixes issue #18383
2021-08-28 17:10:29 +09:00
Andy Piper
eebcfb78c1 AP_HAL_ChibiOS: use hardware serial inversion pins on F4 boards that support it
change mamba F405 to active high as per betaflight
2021-08-28 17:10:29 +09:00
Randy Mackay
b1e5e21d6d AP_HAL_ChibiOS: swap Pixhawk4 blue and red LEDs 2021-08-28 17:10:29 +09:00
Andrew Tridgell
70e041d611 AC_AttitudeControl: this fixes an issue with Z accel initialisation
tailsitter quadplanes were climbing a lot on transition from fixed
wing to Q modes. Leonard tracked it down to a bug in the Z accel init
2021-08-28 17:10:29 +09:00
Andrew Tridgell
03de8e752a SITL: prevent flip over of RF9 quadplanes on reboot
send a zero channel mask until we are initialised
2021-08-28 17:10:29 +09:00
Hwurzburg
bd583452c7 AP_OSD: fixes bug introduced by #16477 2021-08-14 11:05:38 +09:00
Pierre Kancir
2a808dc53c AP_Beacon: fix comparison order to prevent using wrong beacon_instance first 2021-08-14 11:05:38 +09:00
Randy Mackay
87212e0fbf AP_NavEKF3: remove unused EK3_GSF_DELAY param 2021-08-14 11:05:38 +09:00
Randy Mackay
6ec43eefff AP_NavEKF2: remove unused EK2_GSF_DELAY param 2021-08-14 11:05:38 +09:00
Tatsuya Yamaguchi
b584adff59 AC_Avoid: use proximity_avoidance_enabled function 2021-08-14 11:05:38 +09:00
Tatsuya Yamaguchi
8eda43e697 AC_Avoid: confirm USE_PROXIMITY_SENSOR to check if proximity is enabled 2021-08-14 11:05:38 +09:00
Tatsuya Yamaguchi
2bebd8341f AC_Avoidance: handle upward proximity enable and disable 2021-08-14 11:05:38 +09:00
Andy Piper
c6247433df AP_Vehicle: output rcout banner when initialization is done
move down ready message
2021-08-14 11:05:38 +09:00
Andy Piper
761fc57a18 AP_HAL_ChibiOS: output initializing from PWM banner when not available 2021-08-14 11:05:38 +09:00
Pierre Kancir
53d69de164 AP_ESC_Telem: prevent possible overrun 2021-08-14 11:05:38 +09:00
Pierre Kancir
050e18cd03 AP_ESC_TELEM: prevent overrun, esc_index should be < to ESC_TELEM_MAX_ESCS 2021-08-14 11:05:38 +09:00
Pierre Kancir
2d0e359065 AP_ESC_Telem: fix out of bound access 2021-08-14 11:05:38 +09:00
Pierre Kancir
6e9e529967 AP_OSD: check for nullptr before using it 2021-08-14 11:05:38 +09:00
Leonard Hall
0c48848d31 AP_Math: Spelling fix 2021-08-14 11:05:38 +09:00
Leonard Hall
f5dd8a9982 AC_AttitudeControl: AC_PosControl: support Control: Refactor to use Jerk 2021-08-14 11:05:38 +09:00
Leonard Hall
b25dab9c9b AC_WPNav: support Control: Refactor to use Jerk 2021-08-14 11:05:38 +09:00
Leonard Hall
dac064e51c AP_Math: Control: Refactor to use Jerk 2021-08-14 11:05:38 +09:00
Leonard Hall
61982815cd AP_Math: Control: protect against divide by zero 2021-08-14 11:05:38 +09:00
Leonard Hall
b8cc90688e AC_WPNav: Fix Angle Vel units on function 2021-08-14 11:05:38 +09:00
Leonard Hall
dfcc6ce612 AC_AttitudeControl: Fix Angle Vel units on function 2021-08-14 11:05:38 +09:00
Leonard Hall
2436330da1 AP_Hal_ChibiOS: Skyviper Parameters PSC_VELXY_FLTE 2021-08-14 11:05:38 +09:00
Leonard Hall
6b72b1fd31 AC_AttitudeControl: AC_PosControl: fix PID filter names FILT -> FLTE, D_FILT -> FLTD 2021-08-14 11:05:37 +09:00
Leonard Hall
51dbf271f9 AC_PID: fix PID filter names FILT -> FLTE, D_FILT -> FLTD
Follow used guided but references the maximum velocity settings. As Guided does not set maximum velocities these values come back as zero. So we need to reference WP_Nav to get safe maximums.
2021-08-14 11:05:37 +09:00
Andrew Tridgell
1422c283b0 AP_GPS: added doc message for bit 2 of DRV_OPTIONS 2021-08-14 11:05:37 +09:00
Andrew Tridgell
74f89cfbce AP_GPS: added GPS_DRV_OPTIONS bit for forcing ublox GPS to 115200
this may help with some GPS modules
2021-08-14 11:05:37 +09:00
Andy Piper
91d0a44524 AP_HAL_ChibiOS: probe for compasses on FlywooF745 2021-08-14 11:05:37 +09:00
Randy Mackay
6670a48811 AP_NavEKF3: skip GSF reset count check if source actively changed
also only fail all compass on emergency reset
2021-08-14 11:05:37 +09:00
Andrew Tridgell
37533db6f1 AP_NavEKF3: fixed output LLH to account for IMU offset
thanks to Paul and Randy
2021-08-14 11:05:37 +09:00
Leonard Hall
5c16e81f8f AC_AttitudeControl: Support thrust to weight of 10:1 2021-08-14 11:05:37 +09:00
Andy Piper
7bad54f638 AP_Motors: remove tri yaw servo from motor mask 2021-08-14 11:05:37 +09:00
Andrew Tridgell
d88d811ab3 AP_GPS: added arming checks for yaw available on ublox RTK rover 2021-08-14 11:05:37 +09:00
bugobliterator
cc4fc42ed0 AP_RangeFinder: use separate register_driver method while contructing CAN Driver 2021-08-14 11:05:37 +09:00
bugobliterator
d27acbce2d AP_EFI: use separate register_driver method while contructing CAN Driver 2021-08-14 11:05:37 +09:00
bugobliterator
ae0d11a26d AP_BattMonitor: use separate register_driver method while contructing CAN Driver 2021-08-14 11:05:37 +09:00
bugobliterator
1bac7283ab AP_CANSensor: create a separate register driver method 2021-08-14 11:05:37 +09:00
Andrew Tridgell
ddbcfafe30 AP_AHRS: build fix 2021-07-23 10:19:50 +09:00
Paul Riseborough
d90c67a079 AP_NavEKF3: Revert IMU and wind speed process noise parameter defaults
These give noisier state estimates, but are more robust to rapid changes in IMU biases.
TODO implement a means of using the modified parameters when there are more than one EKF instance running with IMU's that are sampling at a higher rate.
2021-07-23 10:19:50 +09:00
Paul Riseborough
28224c001a AP_NavEKF3: retune wind process noise for better airspeed fault detection 2021-07-23 10:19:50 +09:00
Paul Riseborough
5a3f785798 AP_NavEKF3: Fix bug preventing copter wind estimation at low speed
Also re-tunes process noise default for smoother wind velocity state estimates.
2021-07-23 10:19:50 +09:00
Paul Riseborough
4b4bb18f50 AP_NavEKF3: Revert EK3_BETA_MASK parameter extension
These are not required due to use of bit 7 in FLIGHT_OPTIONS to achieve the same function.
2021-07-23 10:19:50 +09:00
Paul Riseborough
a98583e0ca AP_NavEKF3: Rework non-airspeed wind estimation
Faster wind estimation when not using airspeed with acceptable noise in wind velocity estimates.
2021-07-23 10:19:50 +09:00
Paul Riseborough
51a1b9ae9a AP_NAvEKF3: use #define value for bad IMU hold time 2021-07-23 10:19:50 +09:00
Paul Riseborough
edd75e3981 AP_NavEKF3: Increase lower state variance limit when vibration affected
This makes state corrections from GPS and baro observations more aggressive
2021-07-23 10:19:50 +09:00
Paul Riseborough
6166b666b6 AP_NavEKF3: Use sensor variance when checking for bad IMU 2021-07-23 10:19:50 +09:00
Paul Riseborough
835b97f5e8 AP_NavEKF3: Make bad IMU status more persistent 2021-07-23 10:19:50 +09:00
Paul Riseborough
3ce5633701 AP_AHRS: Add accessor function for vibration affected status
AP_AHRS: fix rebase build error
2021-07-23 10:19:50 +09:00
Paul Riseborough
a220ca20a6 AP_NavEKF3: Add accessor function for vibration affected status 2021-07-23 10:19:50 +09:00
Paul Riseborough
e7ff7f629d AP_NavEKF3: Don't update accel bias states if vibration affected 2021-07-23 10:19:50 +09:00
Paul Riseborough
82f585a515 AP_NavEKF3: Use large accel process noise when IMU data is bad 2021-07-23 10:19:50 +09:00
Paul Riseborough
7b40e89463 AP_NavEKF3: Adjust gyro bias process noise tuning
NEw value is a compromise between roll/pitch angle and horizontal state velocity estimation errors and the noise in the gyro bias estimate
2021-07-23 10:19:50 +09:00
Paul Riseborough
082f8e42f6 AP_NavEKF3: Allow smaller dvel bias state variances for improved tuning 2021-07-23 10:19:50 +09:00
Paul Riseborough
315d9ef9d8 AP_NavEKF3: Retune IMU process noise
Required to achieve equivalent fusion noise and weighting on IMU vs other sources to previous param defaults with the old covariance prediction equations.
2021-07-23 10:19:50 +09:00
Paul Riseborough
344f2d0eb7 AP_NavEKF3: Make gyro bias learning less noisy 2021-07-23 10:19:50 +09:00
Paul Riseborough
fcf7a7c8f7 AP_NavEKF3: Fix bug preventing learning of XY IMU dvel bias in flight 2021-07-23 10:19:49 +09:00
Paul Riseborough
4096e75b15 AP_NavEKF3: Change powf(x,2) to sq(x) 2021-07-23 10:19:49 +09:00
Paul Riseborough
5cb4cf870d AP_NavEKF3: Update covariance prediction equations 2021-07-23 10:19:49 +09:00
Paul Riseborough
14edac7e5c AP_NavEKF3: Use alternate form for quaternion to rotmat equations in derivation 2021-07-23 10:19:49 +09:00
Andrew Tridgell
c2e221dd09 AP_Math: fix uses of single precision 2021-07-23 10:19:49 +09:00
Randy Mackay
e4684f65dc AR_WPNav: integrate PathPlanner returning path_planner_used
Rover does not need to handle the results differently based on the planner used
2021-07-23 10:19:49 +09:00
Randy Mackay
0c9fbf9456 AC_WPNav_OA: minor formatting and comment fixes 2021-07-23 10:19:49 +09:00
Randy Mackay
b95c6b5e5d AC_WPNav_OA: separate handlers for results from Dijkstra's and BendyRuler
also bendy ruler uses pos controller
2021-07-23 10:19:49 +09:00
Randy Mackay
c991ff4318 AC_Avoidance: BendyRuler returned destination are shortened 2021-07-23 10:19:49 +09:00
Randy Mackay
075c05baea AC_Avoidance: bendy ruler format fixes 2021-07-23 10:19:49 +09:00
Randy Mackay
0b26bace7f AC_Avoidance: OA_PathPlanner returns which planner was used
this replaces get_bendy_type
2021-07-23 10:19:49 +09:00
Randy Mackay
980909deb5 AC_Avoidance: BendyRuler returns which type was used
also make serach_xxx_path methods private
2021-07-23 10:19:49 +09:00
Randy Mackay
400731df1b AP_Common: add Location::linear_interpolate_alt 2021-07-23 10:19:49 +09:00
Andy Piper
74a8891099 AP_BLHeli: ensure correct rotation through telemetry ESCs 2021-07-23 10:19:49 +09:00
Pierre Kancir
3cee86e63f AC_WPNav: remove unused variable following https://github.com/ArduPilot/ardupilot/pull/18076 2021-07-23 10:19:49 +09:00
Leonard Hall
6f5d2008e3 AC_PosControl: Add MAX(bla,0) because safe_sqrt isn't safe 2021-07-23 10:19:49 +09:00
Leonard Hall
6f26ca6b65 WP_Nav: Return Crosstrack error 2021-07-23 10:19:49 +09:00
Leonard Hall
d6df47fd06 AC_AttitudeControl: AC_PosControl: calculate cross track 2021-07-23 10:19:49 +09:00
Randy Mackay
fce7db0d18 AC_WPNav: use get_terrain_margin instead of constant 2021-07-23 10:19:49 +09:00
Randy Mackay
33ec14ce70 AC_WPNav: add TER_MARGIN param 2021-07-23 10:19:49 +09:00
Leonard Hall
767281dc76 AC_AttitudeControl: AC_PosControl: Auto Terain following update 2021-07-23 10:19:49 +09:00
Leonard Hall
4bbc69ef6e AC_WPNav: Auto Terain following update 2021-07-23 10:19:49 +09:00
Andy Piper
a9187a50cf AP_HAL_ChibiOS: only control widest pulse for dshot and oneshot 2021-07-23 10:19:48 +09:00
Leonard Hall
a765e266f4 AC_AttitudeControl: Allow yaw rate reset to be de-selected 2021-07-23 10:19:48 +09:00
Hwurzburg
4664ed6d7d RC_Channel: fix ELRS systems spamming CRSF mode/rate messages 2021-07-23 10:19:48 +09:00
Hwurzburg
a09f38b195 AP_RCTelemetry: fix ELRS systems spamming CRSF mode/rate messages 2021-07-23 10:19:48 +09:00
Andy Piper
2ef5a9170e AP_RCTelemetry: correct firmware string length for CRSF 2021-07-23 10:19:48 +09:00
Leonard Hall
82ba9e06a1 AC_WPNav: Remove unused function 2021-07-23 10:19:48 +09:00
Leonard Hall
05f21d7665 AC_AttitudeControl: Add accessor for yaw slew limit 2021-07-23 10:19:48 +09:00
Leonard Hall
49da46af16 AC_AttitudeControl: AC_PosControl: support accel only input in the vertical 2021-07-23 10:19:48 +09:00
Leonard Hall
b2032ee2e3 AC_AttitudeControl: AC_PosControl: support terrain following 2021-07-23 10:19:48 +09:00
Leonard Hall
d9c0670dcd AC_WPNav: seperate kinimatic shaping from pid limit setting 2021-07-23 10:19:47 +09:00
Leonard Hall
5f7607bbf0 AC_AttitudeControl: AC_PosControl: seperate kinimatic shaping from pid limit setting 2021-07-23 10:19:47 +09:00
Leonard Hall
2075e2ffc4 AC_AttitudeControl: Add terain following to guided 2021-07-23 10:19:47 +09:00
Randy Mackay
d22f8fbc35 AC_WPNav: get_terrain_offset and get_vector_NEU made public 2021-07-23 10:19:47 +09:00
Leonard Hall
80b90a7ac3 AC_WPNav: move code to generate terrain following kinematic path 2021-07-23 10:19:47 +09:00
Leonard Hall
9244183798 AC_AttitudeControl: AC_PosControl: Support Accel only input 2021-07-23 10:19:47 +09:00
Leonard Hall
612b00ef00 AC_AttitudeControl: AC_PosControl: Change input_pos_xyz name 2021-07-23 10:19:47 +09:00