Commit Graph

62 Commits

Author SHA1 Message Date
Samuel Tabor 3ead096329 AP_Soaring: Initialize filter to the current filtered measurement 2021-08-25 19:00:46 +10:00
Andrew Tridgell ab89a94d22 AP_Soaring: mark logger Write() calls as streaming where appropriate 2021-08-18 10:20:03 +10:00
Samuel Tabor 4564992b47 AP_Soaring: Add an override-disable flag to update_active_state to support e.g. mission landing sequence. 2021-08-04 06:52:56 +10:00
Samuel Tabor 326b65c7ad AP_Soaring: Vario filter cleanup and convert in-line filters to LowPassFilter instances 2021-07-02 15:31:27 +10:00
Samuel Tabor 0c381435cc AP_Soaring: Reduce the number of messages emmitted. 2021-06-30 18:21:03 +10:00
Andrew Tridgell fbbb4a1183 AP_Soaring: fixed filter constructor calls
fixes valgrind error from copy of filter objects on the stack
2021-06-08 11:14:52 +10:00
Samuel Tabor e78d6fee0a AP_Soaring: Ensure minimum cruise times are respected when RC switch position is changed. 2021-04-12 18:38:10 +10:00
Samuel Tabor d578b4d3db AP_Soaring: Fix incorrect use of aparm.loiter_radius. 2021-03-19 17:00:08 +11:00
Tom Pittenger a5d33cacb5 AP_Soaring: add units to param SOAR_THML_BANK 2021-01-29 11:20:09 -08:00
Samuel Tabor 4ec1e55833 AP_Soaring: Add SOAR_THML_BANK parameter and associated logic. 2021-01-29 11:20:09 -08:00
Samuel Tabor b6f92989a7 AP_Soaring: Only compile if HAL_SOARING_ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor f926dc62ed AP_Soaring: Reduce default value for minimum cruise time. 2020-09-10 09:18:52 -07:00
Samuel Tabor 861b57cb09 AP_Soaring: Add EXIT_COMMANDED status used when pilot changes switch position when thermalling. 2020-09-08 16:54:45 -07:00
Samuel Tabor 18b33a439d AP_Soaring: Allow continued thermalling in manual mode changes RC switch position. 2020-08-19 13:38:56 +10:00
Samuel Tabor 4726e670d5 AP_Soaring: Fix description of SOAR_MAX_DRIFT. 2020-07-31 10:26:50 -07:00
Samuel Tabor 611217f63e AP_Soaring: Use RC aux function rather than read RC directly. 2020-07-21 09:38:04 +10:00
Samuel Tabor b21f9030b7 AP_Soaring: Update parameter ranges. 2020-06-02 10:36:51 -07:00
Peter Barker 69093aa7b1 AP_Soaring: stop taking AHRS as constructor argument
... use singleton instead
2020-05-05 17:35:14 +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 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 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 2260fda4ec AP_Soaring: Detect changes in active parameter/switch position. 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 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 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 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 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
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
Tom Pittenger 52ae093a97 AP_Soaring: add reason to exit Thermal loiter 2020-04-08 09:11:54 +10:00
Peter Barker e85a4dcd7d AP_Soaring: remove empty Units: parameter doc entries
These break parameter generation
2020-02-19 15:09:16 +11:00
Peter Barker a5ff46950c AP_Soaring: move include of logger to .cpp file 2019-07-09 10:57:20 +10:00
Pierre Kancir 51437ccc53 AP_Soaring: use get_distance_NE instead of location_diff 2019-04-08 08:00:52 -07:00
Dr.-Ing. Amilcar do Carmo Lucas 31a32c7ea0 AP_Soaring: replace location_offset() and get_distance() function calls with Location object member function calls
This allows removing duplicated code
2019-02-28 11:44:09 +11:00
Peter Barker 6fc76a32af GLOBAL: use AP::logger() and strip redundant Log_ from methods 2019-01-18 18:08:20 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00