Commit Graph
63 Commits
Author SHA1 Message Date
Peter Barker eb54baa586 AP_Landing: avoid use of Location .alt field
various changes to avoid use of the Location .alt field, which should be private.

Introduces several new helper functions on Location to help with this
2025-07-22 17:46:53 +10:00
rubenp02 de70b8b09e AP_Landing: Add is_on_final public method
Introduced the is_on_final public method, which determines if the
landing is at the pre-flare stage or later, so the aircraft is on final
for landing. Similar to the existing is_flaring and is_on_approach
methods.
2025-05-14 16:42:12 +01:00
Andrew Tridgell cf443a889c AP_Landing: fixed assumption of AMSL WPs
the AP_Landing library assumed AMSL waypoints for both prev_WP_loc and
next_WP_loc. This led to an incorrect glide slope for a NAV_LAND fixed
wing landing when the landing WP is terrain relative.

This change fixes the code to handle either an AGL or AMSL location,
which are the only two location types used in plane
2025-05-14 09:52:20 +10:00
Andrew Tridgell c2038ee18e AP_Landing: convert MIN_GNDSPEED_CM to MIN_GROUNDSPEED 2024-01-23 15:00:30 +11:00
Andrew Tridgell ed13b97526 AP_Landing: change TRIM_ARSPD_CM to AIRSPEED_CRUISE 2024-01-23 15:00:30 +11:00
Peter Barker a5ccb1d312 AP_Landing: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Tom Pittenger 7a9c6eea9c AP_Landing: move wind helper functions to AP_AHRS 2023-12-26 10:20:23 +11:00
Peter Barker 6df3f18440 AP_Landing: correct compilation when GCS library not available 2023-12-12 11:41:47 +11:00
Henry Wurzburg c33ef034b4 AP_Landing: set FW landing speed if not set 2023-07-04 10:24:30 +10:00
Peter Barker 034671b969 AP_Landing: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Ryan Beall 1d70180809 AP_Landing: Add Landing Max Throttle Option 2023-01-24 10:19:56 +11:00
Ryan Beall 2a4c453cb0 AP_Landing: Correct WIND_COMP gain to percent 2023-01-24 10:19:56 +11:00
Ryan Beall 5b00c9b030 AP_Landing: Add Headwind Compensation Param
Remove git action
2023-01-24 10:19:56 +11:00
Ryan Beall 738c189d5e AP_Landing: increase airspeed landing constraint to Max Airspeed 2023-01-24 10:19:56 +11:00
murata 42a2a51dc7 AP_Landing: Change from division to multiplication 2023-01-06 11:31:09 -08:00
Peter Barker 3d641fab8d AP_Landing: make and use AP_LANDINGGEAR_ENABLED 2022-12-14 18:30:23 +11:00
Peter Barker 979f7a0cae AP_Landing: assign values to each of the slope approach stages
these are logged so should be defined
2022-11-30 08:16:49 +11:00
Paul Riseborough 9f806cad80 AP_Landing: Make flare extension aim point compensation tuneable 2022-11-18 05:43:59 +11:00
Paul Riseborough 60ec5f5076 AP_Landing: use TECS landing sink rate estimate in flare distance calc 2022-11-18 05:43:59 +11:00
Peter Barker 28a9622a1e AP_Landing: change namespace of MultiCopter and FixedWing params
this stops the libraries knowing anything about AP_Vehicle
2022-11-09 19:04:37 +11:00
Henry Wurzburg 50591d1adf AP_Landing: change logging to be designated as streaming 2022-08-05 10:16:18 +10:00
Peter Barker 8ec0eed749 AP_Landing: stop libraries including AP_Logger.h in .h files
AP_Logger.h is a nexus of includes; while this is being improved over
time, there's no reason for the library headers to include AP_Logger.h
as the logger itself is access by singleton and the structures are in
LogStructure.h

This necessitated moving The PID_Info structure out of AP_Logger's
namespace.  This cleans up a pretty nasty bit - that structure is
definitely not simply used for logging, but also used to pass pid
information around to controllers!

There are a lot of patches in here because AP_Logger.h, acting as a
nexus, was providing transitive header file inclusion in many (some
unlikely!) places.
2022-04-08 19:18:38 +10:00
Iampete1 1c195d01b8 AP_Landing: remove SpdHgt and use TECS direct 2021-11-13 08:05:39 +11:00
Samuel Tabor 266fbabb6f AP_Landing: Fix slope calculation. 2021-11-10 06:55:14 +11:00
Samuel Tabor 27f0320452 AP_Landing_Slope: Log height used for flare timing. 2021-08-19 17:59:33 +10:00
Andrew Tridgell d9d53d380d AP_Landing: implement continue after land for fixed wing landings
this makes touch and go missions possible
2020-06-02 09:12:22 +09:00
Peter Barker d23d4768f1 AP_Landing: add LAND log message documentation 2020-04-12 08:36:48 +10:00
Michael du Breuil 17cec7cf2b AP_Landing: Directly include needed headers 2019-08-28 13:13:03 +10:00
Michael du Breuil f6f432a785 AP_Landing: Fix AP_GPS.h include, use a ref to the singleton 2019-06-18 10:02:05 +10:00
Pierre Kancir 8168b3c8e4 AP_Landing: use past_interval_finish_line and line_path_proportion from Location 2019-04-23 09:20:43 +10:00
Pierre Kancir 12a357ffd7 AP_Landing: move location_update to Location and rename to offset_bearing 2019-04-06 09:10:28 +11:00
Pierre Kancir 288ae80a59 AP_Landing: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 003a346ee2 AP_Landing: 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
Tom Pittenger 1c33c3f50d AP_Landing: unify singleton naming to _singleton and get_singleton() 2019-02-10 19:09:58 -07: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
Andrew Tridgell 9285e9df20 Revert "AP_Landing: yaw correction on landing"
This reverts commit 4f9c492f78.

That commit was causing the landing issue here:

https://github.com/ArduPilot/ardupilot/issues/9993

reverting until we find the correct fix
2018-12-12 15:51:37 +11:00
DOMINATOR\Eugene 4f9c492f78 AP_Landing: yaw correction on landing 2018-11-18 13:40:15 -08:00
Eugene Shamaev 2c8d96145f AP_Landing: Check deployment of gear 2018-11-17 20:31:01 -08:00
Andrew Tridgell 48e27ab242 AP_Landing: fixed use of double precision maths
and rename log() to Log() to prevent name collision with libm function
2018-05-07 11:43:23 +10:00
Peter Barker a4584431a2 AP_Landing: use GPS singleton 2017-12-27 00:58:02 +00:00
Peter Barker cc150f75c7 AP_Landing: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Michael du Breuil c10fe2e7a4 AP_Landing: Add more interfaces from vehicle code
Fixs up some documentation about expected return values
2017-03-02 12:38:59 +11:00
Lucas De Marchi 8b0c427802 AP_Landing: add double casts to printf-like function 2017-02-06 09:27:22 -08:00
Tom Pittenger da48b24a5c AP_Landing: add logging as new "LAND" field 2017-01-26 13:11:45 -08:00
Tom Pittenger 644f75942b AP_Landing: refactor bool variables into flag stucts 2017-01-26 13:11:45 -08:00
Tom Pittenger bdafc2c025 AP_Landing: re/move complete flag into backend
the complete flag was only ever true during FLIGHT_LAND_FINAL so we just check for that now instead
2017-01-26 13:11:45 -08:00
Michael du Breuil 4cf1c74c62 AP_Landing + Plane: Check for land complete before requesting disarm 2017-01-26 13:11:44 -08:00
Tom Pittenger 2ccd91d88f AP_Landing: rename stage enum 2017-01-26 13:11:44 -08:00
Tom Pittenger 650e694eb1 Plane: move landing.reset to landing.do_land() 2017-01-26 13:11:44 -08:00