Commit Graph

22876 Commits

Author SHA1 Message Date
Paul Riseborough
410b5825fb AP_NavEKF3: Enable use of EKF-GSF yaw estimate
AP_NavEKF3: Add emergency yaw reset using a Gussian Sum Filter estimate

AP_NavEKF3: Reduce default minimum GPS velocity noise for Copters

Enables fail-safe to be set with more sensitivity and improves tracking accuracy.
Origin values were set using typical GPS performance for receivers on sale 6 years ago. Receiver performance has improved since then.

AP_NavEKF3: Prevent constant mag anomaly yaw resets

Prevents constant magnetic anomaly induced resets that can be triggered when flying with vehicle generated magnetic interference.
Allows for two resets per takeoff. Allowance for two resets is required, becasue a large ground based magnetic yaw anomaly can cause a sufficiently large yaw innovation that two resets in close succession are required.

AP_NavEKF3: Add option to fly without magnetometer

AP_NavEKF3: Rework emergency yaw reset logic

Use a separate external accessor function to request the yaw reset.
Allow reset requests to remain active for a defined period of time.
Tidy up reset function to split out accuracy check.

AP_NavEKF3: Fix vulnerability to lane switch race condition

Prevents the situation where a lane switch results in a lane being selected that does not have the correct yaw. This can occur if the primary lane becomes unhealthy before the external failsafe monitor has time to react.

AP_NavEKF3: Fix EKF_MAG_CAL = 6 behaviours

Fix bug causing the yaw alignment to be performed at startup before the GSF had a valid estimate.
Fix bug causing emergency yaw message to be output for a normal reset.
Fix vulnerability to reported negative yaw variance.
Remove duplicate timer checks.

AP_NavEKF3: Update EK3_MAG_CAL documentation

AP_NavEKF3: Relax yaw gyro bias convergence check when not using mag

AP_NavEKF3: Reduce yaw drift in hover with no yaw sensor

Uses the GSF yaw estimate if available which is better than the EKF's own yaw when no yaw sensor is available.
2020-04-24 09:43:22 +10:00
Paul Riseborough
6bb7c55bba AP_NavEKF: Add yaw estimator class using Gaussian Sum Filter
AP_NavEKF: Simplify centripetal accel correction
2020-04-24 09:43:22 +10:00
Peter Barker
eee0f028ba AP_Logger: fix examples
Having a valid AP_Scheduler is now a requirement
2020-04-23 11:33:41 +09:00
Andrew Tridgell
4ec1717361 HAL_ChibiOS: enable IMU temp control on CUAV-X7 2020-04-23 09:05:52 +10:00
Andrew Tridgell
56b0dddb7c HAL_ChibiOS: set IMU temp on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell
5892e6421e HAL_ChibiOS: enable DRDY on ADIS16470 on CUAV-X7 2020-04-23 07:28:13 +10:00
Andrew Tridgell
ffe773ff6f HAL_ChibiOS: use DRDY pin for ADIS16470 on mRoNexus 2020-04-23 07:28:13 +10:00
Andrew Tridgell
5c6749ee54 AP_InertialSensor: use wait_pin() to wait for DRDY pin if available 2020-04-23 07:28:13 +10:00
Andrew Tridgell
450871cde1 HAL_ChibiOS: added wait_pin() implementation 2020-04-23 07:28:13 +10:00
Andrew Tridgell
34df438560 AP_HAL: added wait_pin() API
for waiting on data-ready lines
2020-04-23 07:28:13 +10:00
Andrew Tridgell
8e977183fe HAL_ChibiOS: added mRoNexus 2020-04-23 07:28:13 +10:00
Randy Mackay
6f8176c71e GCS_MAVLink: remove ahrs3 2020-04-22 14:11:17 +09:00
Mark Whitehorn
dbfbe50737 SITL: update flightaxis defaults 2020-04-22 12:36:03 +10:00
Randy Mackay
47c7c8fb53 RC_Channel: rover option param desc gets Viso Align 2020-04-22 10:34:18 +09:00
Peter Barker
653b554a31 SITL: add simulated mavlink-attached rangefinder 2020-04-21 20:44:59 +10:00
Peter Barker
185bc68476 AP_HAL_SITL: add simulated mavlink-attached rangefinder 2020-04-21 20:44:59 +10:00
Andrew Tridgell
6be519fb0d HAL_ChibiOS: added alt-config for UART4 on omnibusf4pro 2020-04-21 18:42:12 +10:00
Andrew Tridgell
6347d0adb0 AP_GPS: leave uart2 config enabled when using uart2 MB setup 2020-04-21 15:30:54 +10:00
Andrew Tridgell
f3a5d915f3 AP_GPS: allow for larger average delta on MB rover than normal 2020-04-21 15:30:54 +10:00
Andrew Tridgell
36098c3221 AP_GPS: improved delay health threshold
allow for missing frames without showing unhealthy on GCS
2020-04-21 15:30:54 +10:00
Andrew Tridgell
3397ed766d AP_GPS: enable ublox moving baseline compilation option
disable for HAL_MINIMIZE_FEATURES and if max receivers 1. This fixes
the f103-GPS AP_Periph build
2020-04-21 15:30:54 +10:00
Andrew Tridgell
ae2132d861 AP_GPS: added check for Z error in moving baseline ublox
this ensures we don't get bad yaw from having the right distance but
incorrect Z offset for the currently expected roll/pitch
2020-04-21 15:30:54 +10:00
Andrew Tridgell
7027eecd34 AP_GPS: added GPS_DRV_OPTIONS
this allows for configuration of moving baseline with either uart1 or
uart2 for the RTCM data. Using uart2 requires an extra cable between
the two modules, but requires less uart bandwidth which is good when
DMA channels are low. Using uart2 also avoids the rtcmv3 parser, which
saves memory
2020-04-21 15:30:54 +10:00
Andrew Tridgell
9a6de209ab AP_GPS: ensure that PVT and RELPOSNED msgs time align
this ensures we wait until we have a matching PVT and RELPOSNED
message before we report new data. If we stop receiving RELPOSNED
messages then disable yaw support
2020-04-21 15:30:54 +10:00
Andrew Tridgell
3fbeae613b AP_GPS: fixed moving baseline yaw calculation
this reverts #13955 and instead applies the correct fix, which is to
subtract the angle instead of adding.
2020-04-21 15:30:54 +10:00
Randy Mackay
3195a7cccd AC_Circle: z-axis target only updated during terrain following
This allows the circle flight mode to externally control the altitude target
2020-04-21 11:39:38 +09:00
murata
2af70f5e60 AP_Arming: Display mag field value 2020-04-21 10:51:48 +09:00
Randy Mackay
35dcb0d752 AP_NavEKF2: CorrectExtNavForSensorOffset made const 2020-04-21 10:21:23 +10:00
Randy Mackay
7470bc9994 AP_NavEKF3: CorrectGPSForAntennaOffset made const
also reduce scope of call to slightly reduce CPU load
2020-04-21 10:21:23 +10:00
Randy Mackay
85704e4989 AP_NavEKF2: CorrectGPSForAntennaOffset made const
also reduce scope of call to slightly reduce CPU load
2020-04-21 10:21:23 +10:00
Peter Barker
87108b86c8 AP_NavEKF3: add documentation for XKFM message 2020-04-21 09:48:43 +10:00
Peter Barker
a83c25cfa7 AP_Logger: add documentation for EKF messages
NKF0, NKF1, NKF2, NKF3, NKF4, NKF5, NKQ

XKF0, XKF1, XKF2, XKF3, XKF4, XKF5, XKFD, XKQ, XKV1, XKV2
2020-04-21 09:48:43 +10:00
Peter Barker
cda0d14f57 SITL: add documentation for SITL and SMOO message 2020-04-21 09:48:43 +10:00
Rishabh
6a98ab569e AC_PosControl: Replace update_vel_controller_xy() with update_xy_controller() 2020-04-21 09:22:45 +10:00
Andrew Tridgell
7e835d1037 AP_RCProtocol: fixed buffer overflow in st24 parser
found using random data injection in SITL
2020-04-21 06:02:29 +10:00
Peter Barker
59c02816b8 AP_HAL_SITL: find dumpstack when run from vehicle subdirectory 2020-04-20 14:25:08 +10:00
murata
bd688ef412 AP_ToshibaCAN: Using the maximum number of ESCs definition
AP_ToshibaCAN: Using the maximum number of ESCs definition
2020-04-20 10:12:57 +09:00
Andrew Tridgell
02aebfcd6f AP_Baro: fixed build warning 2020-04-20 07:10:21 +10:00
Andrew Tridgell
6dafa82c7c AP_FlashStorage: fixed build warning 2020-04-19 13:36:24 +10:00
Peter Barker
b490f20f3d AP_Param: panic if defaults file load fails 2020-04-18 21:51:16 +10:00
Andy Piper
f3b240533f AP_HAL_ChibiOS: eliminate EKF2 from fmuv2 build 2020-04-18 20:18:30 +10:00
Mark Whitehorn
874c293911 AP_Logger: expand description of GPS.spd 2020-04-18 15:33:43 +10:00
Randy Mackay
33d29feab9 AP_VisualOdom: T265 supports vision-position-delta
implementation is the same for both backends so move to AP_VisualOdom_Backend
2020-04-18 08:07:20 +09:00
Peter Barker
870159c14f AP_Logger: add times-full to MAV log structure 2020-04-17 22:21:14 +10:00
Peter Barker
8b9281eaa1 GCS_MAVLink: log number of times message not sent due to no space 2020-04-17 22:21:14 +10:00
Peter Barker
908dfa58f3 AP_Logger: remove unused FORMATS stage in DFLogStart messagewriter 2020-04-17 21:42:15 +10:00
Andrew Tridgell
db8fdeebeb HAL_ChibiOS: fixed Hott telem half duplex handling
this fixes an issue with single byte writes with half duplex. It isn't
an elegent solution, but nicely separates the different types of half
duplex operation
2020-04-17 17:52:28 +10:00
Patrick José Pereira
6672155e24 AP_FlashStorage: Fix test for AP_FLASHSTORAGE_MULTI_WRITE
AP_FLASHSTORAGE_MULTI_WRITE is not defined

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 16:00:39 +10:00
Patrick José Pereira
c83ce93165 AP_HAL_Linux: Add missing wscript for GPIOTest
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:59:25 +10:00
Patrick José Pereira
4018a79f83 AP_Baro: Fix scope of HAL_INS_MPU60x0_NAME
`read_calibration_data` is defined but only used inside the
definition scope.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-04-17 15:58:38 +10:00
Andrew Tridgell
cac455ff2d HAL_ChibiOS: added another uart to omnibusf4v6
for RC telemetry such as Hott telem
2020-04-17 11:23:06 +10:00
Andrew Tridgell
f721fb1743 AP_Hott_Telem: fixed GPS display for mz-32
thanks to Ralf Helbing
2020-04-17 11:23:06 +10:00
Peter Barker
41ada7f8f4 GCS_MAVLink: document the payload-space macros 2020-04-17 10:20:49 +10:00
Randy Mackay
03441f2250 AC_Circle: remove _rangefinder_use parameter
We will reuse the WPNAV_RFND_USE parameter indirectly
2020-04-16 17:30:29 +09:00
Randy Mackay
f3e2b182a1 AC_WPNav: add rangefinder_used accessor 2020-04-16 17:30:29 +09:00
Randy Mackay
658bb646ca AC_Circle: support terrain altitudes 2020-04-16 17:30:29 +09:00
vierfuffzig
7c7b199bbd AP_HAL_ChibiOS: add I2C / USART3 ALT_CONFIG for omnibusf4pro 2020-04-16 08:42:24 +10:00
Randy Mackay
22c9081c83 AP_NavEKF3: minor comment fix 2020-04-15 19:35:30 +09:00
Peter Barker
678d6f43c5 AP_Logger: use existing LoggerMessageWriter to log uploaded missions
Instead of creating a MessageWriter explicitly to log uploaded missions
we fiddle the state of the one stored in the startup message writer.

This has the advantage of being much more likely to log the entire
mission (as the buffer constraint is removed), and with the addition of
a time-remaining check much less likely to cause a timing glitch.
2020-04-15 16:24:40 +10:00
Peter Barker
856b635e89 AP_Mount: convert Solo gimbal messages to TimeUS from TimeMS
Also remove unused gimbal3 message entirely
2020-04-15 16:11:04 +10:00
Peter Barker
d8582d864a AP_Logger: convert Solo gimbal messages to TimeUS from TimeMS
Also remove unused gimbal3 message entirely
2020-04-15 16:11:04 +10:00
Peter Barker
acba2a78f6 AP_Logger: add message validation check against duplicate labels 2020-04-14 12:30:58 +10:00
Peter Barker
ec7bde2be4 SITL: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
4245ee6543 RC_Channel: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
1b99cfb10a AP_Vehicle: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
b7a03ae5ad AP_RangeFinder: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
d390126b93 AP_Rally: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
d19f8db06f AP_NavEKF3: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
f1fc05d357 AP_NavEKF2: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
efbf929bc0 AP_InertialSensor: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
e67347f011 AP_HAL_SITL: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
7d7a7d126c AP_Follow: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
e1f8af1653 AP_BattMonitor: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
6046aa3625 AP_Airspeed: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
e545a429a0 AC_Fence: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Barker
002d47447e AC_Avoidance: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Randy Mackay
3ccb3c69a6 SITL: add vicon position offsets 2020-04-14 10:28:03 +10:00
Randy Mackay
2164293cc0 AP_VisualOdom: remove sensor position from call to ahrs writeExtNavData 2020-04-14 10:28:03 +10:00
Randy Mackay
79afc70cdb AP_AHRS: remove writeExtNavData sensOffset argument
EKF pulls this directly from AP_VisualOdom
2020-04-14 10:28:03 +10:00
Randy Mackay
8749f30c64 AP_NavEKF2: external nav pos offsets from AP_VisualOdom library 2020-04-14 10:28:03 +10:00
Randy Mackay
c39fef6c56 GCS_MAVLink: pass vision-position-estimate reset_counter to AP_VisualOdom handler 2020-04-14 10:28:03 +10:00
Randy Mackay
3557104787 AP_VisualOdom: log corrected position instead of raw position 2020-04-14 10:28:03 +10:00
Randy Mackay
6622927a23 AP_VisualOdom: support position resets 2020-04-14 10:28:03 +10:00
Randy Mackay
83e48b575e AP_VisualOdom: add SCALE parameter
Applied to positions from vision-position-estimate messages
2020-04-14 10:28:03 +10:00
Randy Mackay
852325c8e4 AP_VisualOdom: remove unused method declarations 2020-04-14 10:28:03 +10:00
Randy Mackay
ccf96cf0a5 AP_VisualOdom: rename MAV to MAVLink in TYPE param desc 2020-04-14 10:28:03 +10:00
Randy Mackay
4f639481c1 AP_Logger: VISP msg adds reset_counter 2020-04-14 10:28:03 +10:00
Randy Mackay
fb7e68c53a AP_NavEKF2: writeExtNavData reset handles system time wrap 2020-04-14 10:28:03 +10:00
Andrew Tridgell
74f33d57c5 HAL_ChibiOS: avoid unnecessary H7 flash writes 2020-04-14 10:02:51 +10:00
Andrew Tridgell
8dabd6cefc HAL_ChibiOS: expect a long delay on flash page erase
this prevents the display of errors on flash page erase
2020-04-14 10:02:51 +10:00
Andrew Tridgell
4b236e52b2 HAL_ChibiOS: added MatekH743 port 2020-04-14 10:02:51 +10:00
Andrew Tridgell
2165fd66f1 HAL_ChibiOS: define FLASH_RESERVE_END_KB 2020-04-14 10:02:51 +10:00
Andrew Tridgell
8e83783b18 AP_FlashStorage: support H7 flash storage
this generalises AP_FlashStorage to support the 32 byte write
restrictions of the STM32H7
2020-04-14 10:02:51 +10:00
Andrew Tridgell
5125fc1a64 HAL_SITL: added checks for flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell
efe78fe3e1 AP_HAL: allow SITL to emulate 3 different types of flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell
e1792f89db AP_HAL: fixed default HAL_STORAGE_SIZE for flash storage 2020-04-14 10:02:51 +10:00
Andrew Tridgell
c0039c85e0 HAL_SITL: emulate sector size for flash storage properly 2020-04-14 10:02:51 +10:00
Peter Barker
2988c70627 AP_FlashStorage: clarify space-available-for-write check 2020-04-14 10:02:51 +10:00
Andy Piper
c4217f329b AP_RPM: allow harmonic notch driver to appear as RPM values. 2020-04-14 09:43:16 +10:00
Henry Wurzburg
e5319397b4 AP_HAL_ChibiOS: eliminate EKF2 from F4 builds not using HAL_MINIMIZE_FEATURES 2020-04-14 09:19:28 +10:00
Andrew Tridgell
5c399fce41 AP_AHRS: auto-switch to EK3/EK2 if selected option disabled
if we have an EKF backend selected and that backend doesn't exist then
auto-switch to the other backend.

This fixes MatekF405-Wing which has EKF2 disabled and was falling back
to DCM
2020-04-14 09:15:43 +10:00
Peter Barker
c36e06e7fa AP_Compass: add documentation for COFS, compass-learning message 2020-04-14 07:34:59 +10:00
Peter Barker
54292c5443 AP_Tuning: add documentation for PRTN message 2020-04-14 07:34:59 +10:00
Peter Barker
061c3ecb7f AP_RCProtocol: add documentation for RCDA message 2020-04-14 07:34:59 +10:00
Peter Barker
767c010332 AP_Logger: add documentation for WENC, CESC, PRX, ADSB, BCN, BCL, OABR, OADF 2020-04-14 07:34:59 +10:00
murata
124d8c7fdf AP_HAL_ChibiOS: Changing the timeout detection 2020-04-14 07:32:46 +10:00
murata
10b7988092 AP_Baro: Fix timestamp wrapping 2020-04-14 07:30:58 +10:00
Randy Mackay
9f81da1bf9 AP_NavEKF2: minor comment fix 2020-04-13 14:39:53 +09:00
Andrew Tridgell
db4f1a1473 HAL_ChibiOS: enable ADIS16470 on SPI1 2020-04-13 15:26:02 +10:00
CUAVcaijie
942b2fd29f HAL_ChibiOS: Added support for CUAV X7 flight controller 2020-04-13 15:26:02 +10:00
Andrew Tridgell
d772289b0d AP_InertialSensor: added driver for ADIS16470 2020-04-13 11:57:04 +10:00
Peter Barker
ede87d49f6 AP_InternalError: add a bit for infinite recursion in switch_full_sector 2020-04-12 09:43:13 +10:00
Peter Barker
a2b4713008 AP_FlashStorage: protect against infinite recursion in switch_full_sector 2020-04-12 09:43:13 +10:00
Peter Barker
851d9ae1ef AP_Compass: log message information for MMC3416 2020-04-12 08:36:48 +10:00
Peter Barker
c3b8db95b8 AP_Logger: add DSTL log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
d23d4768f1 AP_Landing: add LAND log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
e5b634cdd0 AP_IOMCU: add IOMC log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
88d61b9d3c AP_Follow: add FOLL log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
194d3c280f AP_EFI: add EFI log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
f9c4976f93 AP_BoardConfig: add HEAT log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
1a148afe1b AC_AutoTune: add ATDE log message documentation 2020-04-12 08:36:48 +10:00
Peter Barker
afc0fbc516 AC_AttitudeControl: add CTRL log message documentation 2020-04-12 08:36:48 +10:00
Andrew Tridgell
1f8cd830ea AP_NavEKF3: fixed use of tabs 2020-04-11 21:14:31 +10:00
Paul Riseborough
f68f355852 AP_NavEKF3: Fix timestamp wrapping 2020-04-11 21:14:31 +10:00
Paul Riseborough
33ab1a7b15 AP_NavEKF3: Ensure yaw fusion commences when starting from rest 2020-04-11 21:14:31 +10:00
Paul Riseborough
a3725e2581 AP_NavEKF3: Fix bug in calculation of rotation order 2020-04-11 21:14:31 +10:00
Paul Riseborough
eeac0a05b9 AP_NavEKF3: Improvements to on ground movement check
Reduce sensitivity and log test ratios.
Reduce base logging rate to 5Hz and log when status changes.
2020-04-11 21:14:31 +10:00
Paul Riseborough
ebb8bb4f6f AP_NavEKF3: Enable use of yaw fusion before external yaw sensor starts 2020-04-11 21:14:31 +10:00
Andrew Tridgell
83ad1c17a8 AP_AHRS: disable DCM yaw consistency check when using external yaw
when EKF3 is using an external (typically GPS) supplied yaw then we
don't expect DCM to have the right yaw so should not do the DCM yaw
consistency check
2020-04-11 21:14:31 +10:00
Andrew Tridgell
3ae0b0d446 AP_NavEKF3: added using_external_yaw() method
needed by AHRS for attitudes_consistent() check
2020-04-11 21:14:31 +10:00
Andrew Tridgell
6f04fae4a0 AP_NavEKF3: added fallback to mag option with external yaw
this allows for a magnetometer to be used as a fallback yaw source in
flight when using an external yaw source such as a GPS. The
magnetometer bias is learned while the GPS yaw is available and
fallback is only done if the mag yaw and GPS yaw are consistent when
fallback is enabled

This also learns the Z gyro bias until first yaw alignment when
MAG_CAL is EXTERNAL_YAW_FALLBACK. This prevents large gyro bias
building while waiting for GPS lock
2020-04-11 21:14:31 +10:00
Andrew Tridgell
a3100251a8 AP_NavEKF3: use enum class for EK3_MAG_CAL values
and use effective_magCal() everywhere for consistency
2020-04-11 21:14:31 +10:00
Andrew Tridgell
e8fb082a9a HAL_SITL: fixed simulation of roll/pitch of moving baseline ublox 2020-04-11 21:14:31 +10:00
Andrew Tridgell
b90b4f9157 HAL_SITL: implement moving baseline for ublox
this allows testing of the moving baseline dual ublox code
2020-04-11 21:14:31 +10:00
Andrew Tridgell
778532d556 SITL: added SIM_GPS2_HDG and rationalise the GPS position variables 2020-04-11 21:14:31 +10:00
Andrew Tridgell
ff112a726b AP_Battery: fixed bug in SUI driver
fixed bug in total voltage
2020-04-10 11:46:01 +10:00
bugobliterator
a31f2e5d90 hwdef: add validation checks for CubeOrange 2020-04-10 07:04:21 +10:00
bugobliterator
ef91f1634b HAL_ChibiOS: add support for adding board validation test 2020-04-10 07:04:21 +10:00
bugobliterator
8a77ddf8c6 AP_BoardConfig: run validation test if declared under hwdef 2020-04-10 07:04:21 +10:00
Randy Mackay
1ba036169f AP_VisualOdom: align sensor displays yaw shift in 0 to 360 range 2020-04-09 19:41:08 +09:00
Randy Mackay
9fd39f3768 AP_Math: alternative quaternion rotation test 2020-04-09 19:41:08 +09:00
Randy Mackay
26e4dd6fef AP_Math: correct quaternion::from_rotation for pitch-180 2020-04-09 19:41:08 +09:00
Randy Mackay
dc2e0f328b AP_VisualOdom: fix handle_vision_position_delta_msg
position and angle deltas were swapped when passed into the EKF
time passed into the EKF was scaled as usec when it should be sec
2020-04-09 19:41:08 +09:00
Randy Mackay
c18fce6714 AP_Math: add quaternion rotation test 2020-04-09 19:41:08 +09:00
Randy Mackay
d1aa3858f0 AP_Vehicle: add visual odometry 2020-04-09 19:41:08 +09:00
Randy Mackay
1b1687f43d AP_Arming: integrate visual odometry pre_arm_check 2020-04-09 19:41:08 +09:00
Randy Mackay
2f5a8fd6b9 RC_Channel: add aux function for visodom-calibrate 2020-04-09 19:41:08 +09:00
Randy Mackay
9769f08fd9 GCS_MAVLink: visual odometry build fixes 2020-04-09 19:41:08 +09:00
Randy Mackay
a9c1eb5af4 GCS_MAVLink: fill in sys_status vision position bits 2020-04-09 19:41:08 +09:00
Randy Mackay
a1ddd55ea5 GCS_MAVlink: AP_integrate of rename to handle_vision_position_delta_msg 2020-04-09 19:41:08 +09:00
Randy Mackay
728e8b45a9 GCS_MAVLink: use AP_VisualOdom to handle vision-position-estimate messages 2020-04-09 19:41:08 +09:00
Randy Mackay
aa720b0ae6 AP_VisualOdom: pre-arm failure string prefix moved to AP_Arming 2020-04-09 19:41:08 +09:00
Randy Mackay
3d75dc7815 AP_VisualOdom: add HAL_VISUALODOM_ENABLED 2020-04-09 19:41:08 +09:00
Randy Mackay
8f94a0cfb0 AP_VisualOdom: integrate IntelT265 backend 2020-04-09 19:41:08 +09:00
Randy Mackay
f0e11d9a5c AP_VisualOdom: add IntelT265 backend 2020-04-09 19:41:08 +09:00
Randy Mackay
a41b169635 AP_VisualOdom: front-end implements handle_vision_position_estimate with eulers 2020-04-09 19:41:08 +09:00
Randy Mackay
3530d5b348 AP_VisualOdom: MAV driver implements handle_vision_position_estimate 2020-04-09 19:41:08 +09:00
Randy Mackay
c78b1ab3bf AP_VisualOdom: rename handle_vision_position_delta_msg 2020-04-09 19:41:08 +09:00
Randy Mackay
b519d285a6 AP_VisualOdom: get_orientation made public
also remove unnecessary friends
2020-04-09 19:41:08 +09:00
Randy Mackay
c36dfc448d AP_VisualOdom: handle_msg directly updates EKF 2020-04-09 19:41:08 +09:00
Randy Mackay
0eb1ef1f08 AP_VisualOdom: add handle_vision_position_estimate
also add pre_arm_check
2020-04-09 19:41:08 +09:00
Randy Mackay
1cf9655b4a AP_VisualOdom: TYPE param becomes enable flag and reboot required 2020-04-09 19:41:08 +09:00
Randy Mackay
61a06bbb04 AP_Math: add quaternion rotate, from_rotation and invert 2020-04-09 19:41:08 +09:00
Randy Mackay
338548c5eb AP_Math: move HALF_SQRT_2 def to rotation.h
This allows it to be used by the Quaternion class
2020-04-09 19:41:08 +09:00
Randy Mackay
b0b78e974b AP_AHRS: add get_quaternion 2020-04-09 19:41:08 +09:00
Randy Mackay
e1c623183e AP_AHRS: minor comment fix and move var_info lower 2020-04-09 19:41:08 +09:00
Randy Mackay
24bb4876a8 AP_AHRS: move is_ext_nav_used_for_yaw to parent 2020-04-09 19:41:08 +09:00
Randy Mackay
c0187fe05f AP_Logger: add log message description for VISO 2020-04-09 19:41:08 +09:00
Randy Mackay
f18be824ea AP_Logger: add VISP message 2020-04-09 19:41:08 +09:00
chobits
63320f140a AP_Logger: constraints time spend in header writing, more complete 2020-04-09 19:17:17 +10:00
chobits
b829384fdf AP_Logger: constraints time spended in header writing 2020-04-09 19:17:17 +10:00
Andrew Tridgell
dd4cf6ccdd AP_Compass: change RM3100 device ID
changed scale factor means users need to recalibrate
2020-04-08 11:21:51 +10:00
Andrew Tridgell
18c3efc377 AP_Compass: fixed scaling of RM3100
scale factor was off by 200/256, resulting in COMPASS_SCALE of about
1.28

thanks to Arace for noticing
2020-04-08 11:21:51 +10:00
Peter Barker
5e4cbb0a3f AP_EFI: correct duplicate-label problem in EFI2 log message 2020-04-08 11:17:41 +10:00
Samuel Tabor
4a39a43c10 AP_Soaring: Add log documentation. 2020-04-08 09:11:54 +10:00
Samuel Tabor
b9daae062c AP_Soaring: Use enum class rather than typedef enum for states and hide details of these. 2020-04-08 09:11:54 +10:00
Samuel Tabor
3228cc3309 AP_TECS: Update descriptions of pitch feed-forward parameters. 2020-04-08 09:11:54 +10:00
Samuel Tabor
6e75890bd9 AP_Soaring: Add a low pass of target position from EKF before using it. 2020-04-08 09:11:54 +10:00
Samuel Tabor
f23efdd13b AP_Soaring: Make vario time constant public. 2020-04-08 09:11:54 +10:00
Samuel Tabor
d04c6cb02e TECS: Don't override the speedweight to 0 if synthetic airspeed is in use. 2020-04-08 09:11:54 +10:00
Samuel Tabor
56649fa8eb AP_Soaring: Fix too-long status message. 2020-04-08 09:11:54 +10:00
Samuel Tabor
d54c7f1b7a AP_Soaring: Fix bug when no soaring activation RC channel set. 2020-04-08 09:11:54 +10:00
Samuel Tabor
fbd0df81a7 AP_Soaring: Report changes in active status. 2020-04-08 09:11:54 +10:00
Samuel Tabor
e1f7122566 AP_Soaring: Improve tracking of enabled/disabled status. 2020-04-08 09:11:54 +10:00
Samuel Tabor
5ac801b2ac AP_Soaring: Use 64 bit variable for time to avoid overflow. 2020-04-08 09:11:54 +10:00
Samuel Tabor
2260fda4ec AP_Soaring: Detect changes in active parameter/switch position. 2020-04-08 09:11:54 +10:00
Samuel Tabor
fdf7eae01c AP_Soaring: Adjust initial EKF values and limit R to 40.0m. 2020-04-08 09:11:54 +10:00
Samuel Tabor
ff1725b549 AP_Soaring: Make enable channel 3 position. PWM above 1400us allows most soaring features, but above 1700us is required before any automatic switch to LOITER mode. 2020-04-08 09:11:54 +10:00
Samuel Tabor
1160c59a89 AP_Soaring: Remove dsp bias and log this. 2020-04-08 09:11:54 +10:00
Samuel Tabor
c28c573da1 AP_Soaring: Also log acceleration. 2020-04-08 09:11:54 +10:00
Samuel Tabor
7555f5abf8 AP_Soaring: Fix incorrect trig function and log the expected sink. 2020-04-08 09:11:54 +10:00
Samuel Tabor
17f1fa9600 AP_Soaring: Fix use of double precision sqrt. 2020-04-08 09:11:54 +10:00
Samuel Tabor
7d3ff28974 AP_Soaring: Correct bug with reversed arguments. 2020-04-08 09:11:54 +10:00
Samuel Tabor
16b7de4029 AP_Soaring: Cleanup variometer. 2020-04-08 09:11:54 +10:00
Samuel Tabor
62a34e0f8d AP_Soaring: Calculate filter time constant based on airspeed and loiter radius, using 3x circline rate. 2020-04-08 09:11:54 +10:00
Samuel Tabor
2b40182b34 AP_Soaring: Reduce drift feed-forward by ratio of climb rate to thermal core strength. This is consistent with assumption that each packet of air, rising at core strength, is convected with the ambient wind speed. 2020-04-08 09:11:54 +10:00
Samuel Tabor
15cef55e97 SITL: Make thermal drift relative to 100m alt to avoid so much change with wind speed and direction." 2020-04-08 09:11:54 +10:00
Samuel Tabor
8072f6b858 AP_Soaring: Make the trigger VSPEED take account of thermalling sink. 2020-04-08 09:11:54 +10:00
Samuel Tabor
650b464831 AP_Soaring: Move drift check to separate function and check drift with reference to mission segment, allowing drift in right direction. LOITER target, not current position, is now used. 2020-04-08 09:11:54 +10:00
Samuel Tabor
45cb663d73 AP_Math: Add template for Vector2f::projected. 2020-04-08 09:11:54 +10:00
Samuel Tabor
fab74f8927 AP_Soaring: Calculate expected thermalling sink live and avoid divide by zero by limiting airspeed to that corresponding to CL max (generously assumed 1.5 for glider). 2020-04-08 09:11:54 +10:00
Samuel Tabor
75f772b269 AP_Soaring: Add SOAR_MAX_RADIUS parameter, that defines when a RTL will be used when exiting LOITER. 2020-04-08 09:11:54 +10:00
Samuel Tabor
684ee11fc3 AP_TECS: Add flags to indicate gliding flight, and use these with AP_Soaring. 2020-04-08 09:11:54 +10:00
Samuel Tabor
dc8c062fbe AP_TECS: Correct an error in the SEBdot FF term. 2020-04-08 09:11:54 +10:00
Samuel Tabor
247738518e AP_TECS: Add a feed-forward term from adjusted demanded airspeed to nav pitch. 2020-04-08 09:11:54 +10:00
Samuel Tabor
a27c99fab9 AP_TECS: Return the adjusted demanded airspeed. The aspd_error mavlink message now shows the rate-limited airspeed. 2020-04-08 09:11:54 +10:00
Samuel Tabor
ae27f96361 SITL: Make soaring thermals slanted. 2020-04-08 09:11:54 +10:00
Samuel Tabor
013628bd1d Plane: Soaring - better reporting of exit due to drift. 2020-04-08 09:11:54 +10:00
Samuel Tabor
e1b2360781 AP_Soaring: Add a maximum allowable drift distance when thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor
936d4232c9 AP_Soaring: Add a 60s first order filter on climb rate. If this becomes negative exit thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor
30249e8006 AP_Soaring: Add a check of whether altitude has been lost overall when thermalling. 2020-04-08 09:11:54 +10:00
Samuel Tabor
5082c9be8b SITL: Add plane-soaring type, including parameters, mission, simulated thermals and glider sim settings. 2020-04-08 09:11:54 +10:00
Tom Pittenger
f24095e9ed AP_Soaring: inhibit msg spam when lingering in loiter waiting for heading to line up 2020-04-08 09:11:54 +10:00
Samuel Tabor
3211c03f58 AP_Soaring: Remove unused methods, clean up and log position in N/E rather than Lat/Lng.
Fix
2020-04-08 09:11:54 +10:00
Samuel Tabor
152c1507e0 AP_Soaring: Make the EKF states the actual NE position of the thermal, rather than the position relative to aircraft. 2020-04-08 09:11:54 +10:00
Samuel Tabor
d7abd296ef AP_Soaring: Avoid calculations in lat/lng. 2020-04-08 09:11:54 +10:00
Samuel Tabor
0cccc8dc29 AP_Soaring: Fix issue with loiter radius being saved as zero due to initialisation order. This caused incorrect calculation of thermal climb potential and cases of staying in thermals that should have been abandoned. 2020-04-08 09:11:54 +10:00
Samuel Tabor
c135b00b7b AP_Soaring: Remove redundant check for new vario data. 2020-04-08 09:11:54 +10:00
Samuel Tabor
64460be0d0 AP_Soaring: Implement vario based on acceleration rather than differentiated airspeed. 2020-04-08 09:11:54 +10:00
Tom Pittenger
f6396d7a6d Plane: add reason to exit Thermal loiter and adjust LOW alt reaon to cause RTL 2020-04-08 09:11:54 +10:00
Tom Pittenger
52ae093a97 AP_Soaring: add reason to exit Thermal loiter 2020-04-08 09:11:54 +10:00
Michael du Breuil
73c5c2e1bb AP_Arming: Check that sticks are neutral 2020-04-07 14:01:12 -07:00
Michael du Breuil
2b9aa9bc21 RC_Channel: Add option bit for arming checking the throttle input (opt-in)
Also adds interface to find out what channel is used for rudder arming
2020-04-07 14:01:12 -07:00
murata
7ec0cb47a5 AP_Compass: const extern hal reference 2020-04-07 20:45:51 +09:00
murata
f83f6c71e4 AP_Logger: const extern hal reference 2020-04-07 20:45:51 +09:00
murata
264a90bb45 AP_Logger: Change to coding style (NFC)
AP_Logger: Change to coding style (NFC)
2020-04-07 20:37:33 +09:00
Rishabh
76b4e42bca AP_Logger: Logger documentation TimeUS and typo fix 2020-04-07 18:57:01 +10:00
Rishabh
fe4d1f9316 AC_AutoTune: Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Rishabh
b0134460e5 AP_NavEKF:Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Rishabh
eeb55f8b16 TECS: Logger documentation TimeUS fix 2020-04-07 18:57:01 +10:00
Peter Barker
59dfaad749 SITL: provide method to retrieve desired speedup 2020-04-07 14:51:32 +10:00
Peter Barker
78e432af0c AP_HAL_SITL: do not let outbound queue length to grow too far
This basically limits our loop rate to whatever is listening on uartA
can handle in terms of mavlink traffic.
2020-04-07 14:51:32 +10:00
Peter Barker
7028eb8d24 AP_HAL_SITL: provide method to get amount of data still pending in outbound system queues 2020-04-07 14:51:32 +10:00
bugobliterator
9d7022514e HAL_SITL: ensure that unique id string end in null char 2020-04-07 09:40:05 +10:00
Andy Piper
b8878380d6 AP_Camera: add RunCam device type 2 documentation 2020-04-06 20:27:32 +10:00
Andy Piper
e3d22b9d27 AP_Camera: if exiting a RunCam submenu reset the submenu index to the top 2020-04-06 20:15:38 +10:00
Andrew Tridgell
be674fc36c AP_NavEKF3: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-04-06 17:30:29 +10:00
Andrew Tridgell
c9755cf9e6 AP_NavEKF2: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-04-06 17:30:29 +10:00
Peter Barker
2ed550966d AP_Logger: correct units for velocity on OF log message 2020-04-06 10:46:45 +10:00
Peter Barker
64c973b592 SITL: add documentation for AirSim ASM1,ASM2 log messages 2020-04-06 10:46:45 +10:00
Peter Barker
e477f6c840 AC_PosControl: add documentation for PSC log message 2020-04-06 10:46:45 +10:00
Peter Barker
33f17d7739 AP_Logger: document ARSP,ASP2,CAM,TRIG,POWR,TERR,CSV,CMD,OF,AHR2 2020-04-06 10:46:45 +10:00
Peter Barker
3fb61c4cf0 AP_Logger: add documentation for more log messages
ERR,DSF,EV,SIM,ORGN,POS,LGR,MON,TSYN,IMU,IMUT
2020-04-05 12:49:19 +10:00
Peter Barker
09152cd254 AP_Logger: correct time field name on DMS 2020-04-05 12:49:19 +10:00
Peter Barker
50c60aa8f2 AP_Logger: add documentation for ACC1,ACC2,ACC3,DMS,GPA,GPA2,GPS2,GYR1,GYR2,GYR3,MAVC,PM 2020-04-05 10:12:03 +10:00
Peter Barker
a92206d090 AP_Logger: log dataflash-over-mavlink timestamp in micros rather than millis
... like the vast majority of our dataflash messages
2020-04-05 10:10:49 +10:00
Andrew Tridgell
376116c99b HAL_ChibiOS: fixed skyviper-journey build 2020-04-04 10:47:15 +11:00
Peter Barker
e41ea5a273 AP_Logger: add docco for BAR2,BAR3,MSG,RAD,RALY,RFND,RPM,RSSI 2020-04-04 10:05:15 +11:00
Mark Whitehorn
442fa60651 APM_Control: validate parameter ARSPD_FBW_MIN 2020-04-02 19:43:06 -07:00
Randy Mackay
9c8a5a7392 AP_Math: add comments above some quaternion methods
thanks to jchallinger
2020-04-03 10:16:07 +09:00