Commit Graph

90 Commits

Author SHA1 Message Date
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
Samuel Tabor 64460be0d0 AP_Soaring: Implement vario based on acceleration rather than differentiated airspeed. 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 Hall 850eee2f84 AP_Soaring: move to airspeed_estimate with pointer 2020-01-14 22:34:37 -07:00
Peter Barker a5ff46950c AP_Soaring: move include of logger to .cpp file 2019-07-09 10:57:20 +10:00
Peter Barker 61e261caf5 AP_Soaring: remove definition of 'N' macro in favour of scoped variable 2019-06-27 14:40:44 +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
Peter Barker 1331e6ca14 AP_Soaring: const some accessors 2018-05-29 13:00:40 +10:00
Michael du Breuil b757354c88 AP_Soaring: Use RC_Channels instead of hal.rcin 2018-04-11 21:47:07 +01:00
Peter Barker c93aea24c6 AP_Soaring: correct compiler warnings
In file included from ../../libraries/AP_Soaring/AP_Soaring.cpp:1:
../../libraries/AP_Soaring/AP_Soaring.h:32:34: warning: private field
'_aparm' is not used [-Wunused-private-field]
    const AP_Vehicle::FixedWing &_aparm;
2018-03-02 09:26:37 +09:00
murata 8070c13963 AP_Soaring: delete \n from the log using gcs().send_text 2018-02-02 09:41:23 +09:00
Peter Barker 196f94aaae AP_Soaring: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Andrew Tridgell 0e27d4bd6f AP_Soaring: fixed Log_Write call 2017-06-07 20:10:20 +10:00
samuelctabor f6b3c00b19 AP_Soaring: Fix initialisers in SoaringController. In-line method to get altitude in Variometer. 2017-06-07 20:10:11 +10:00
samuelctabor 4cbff71689 AP_Soaring: Separate the vario functionality into a seperate class from the soaring/thermalling functionality. 2017-06-07 20:10:03 +10:00
Dr.-Ing. Amilcar Do Carmo Lucas b4244efb87 AP_Soaring: Use SI units conventions in parameter units
Follow the rules from:
http://physics.nist.gov/cuu/Units/units.html
http://physics.nist.gov/cuu/Units/outside.html
and
http://physics.nist.gov/cuu/Units/checklist.html
one further constrain is that only printable (7bit) ASCII characters are allowed
2017-05-17 18:07:25 +10:00
Andrey Kolobov 9f2f070439 AP_Soaring: adding const qualifiers to some of soaring controller's methods 2017-03-14 08:53:11 +11:00
Andrew Tridgell 2b2fed735b AP_Soaring: fixed SOAR logging 2017-03-14 08:53:10 +11:00
Andrey Kolobov 42f5b5a232 AP_Soaring: fixes for matrixN changes 2017-03-14 08:53:10 +11:00
Andrew Tridgell 819c70494f AP_Soaring: added SOAR_ENABLE_CH parameter 2017-03-14 08:53:10 +11:00
Andrey Kolobov ea534f0445 AP_Soaring: added AP_Soar library, formerly known as SoaringController 2017-03-14 08:20:48 +11:00