Commit Graph

133 Commits

Author SHA1 Message Date
Michael du Breuil 8e8ce6be35 AP_Landing: Fix unconditional use of airspeed estimate, even when it was invalid 2019-03-19 11:42:54 +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
Peter Barker 4ec11f608d AC_Landing: use abs not fabsf for integers 2019-02-20 19:23:54 +11:00
Peter Barker cdfe8c11d5 AP_Landing: remove pointless includes 2019-02-19 09:16:26 +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
Peter Barker e8da58201a AP_Landing: adjust for location flags being moved out of union 2019-01-16 11:45:29 +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
Michael du Breuil 1e699a53f6 AP_Landing: Fix misspelling in deepstall docs 2018-08-01 09:24:26 +10: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
Andrew Tridgell 645508224f AP_Landing: removed create() method for objects
See discussion here:

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

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Michael du Breuil 012ddbefac AP_Landing: Support absolute altitude deepstalls 2017-11-19 16:48:17 +01:00
Michael du Breuil 338d745de1 AP_Landing: Implement is_on_approach for deepstall
(Fixes a disarm in flight)
2017-11-04 10:07:16 +11:00
Michael du Breuil 2b4cf54797 AP_Landing: Deepstall: Small style fixes 2017-10-17 14:37:11 -07:00
Michael du Breuil d166832de4 AP_Landing: Deepstall implement log(), reset all integrators 2017-10-17 14:37:11 -07:00
Michael du Breuil df8049778e AP_Landing: Support CCW deepstall 2017-10-17 14:37:11 -07:00
Michael du Breuil 0007e5eb80 AP_Landing: Support scaling aileron controls 2017-10-17 14:37:11 -07:00
Lucas De Marchi c745908b14 AP_Landing: add static create method 2017-09-26 03:01:21 +01:00
Michael du Breuil eb9dd8c5a2 AP_Landing: Fix an error when computing the course offset for deepstall 2017-09-25 15:34:25 -07:00
Michael du Breuil 40f49733ea AP_Landing: Support usage for termination 2017-09-13 13:15:08 -07:00
Lucas De Marchi b37ca322f1 AP_Landing: use FALLTHROUGH define
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
Michael du Breuil e092a83ca2 AP_Landing: Deepstall: Allow requiring a minimum altitude to abort a landing 2017-07-17 08:43:50 -07:00
Michael du Breuil 202b40562f Landing: Fix bad deepstall parameter group 2017-07-17 08:43:50 -07:00
Peter Barker cc150f75c7 AP_Landing: eliminate GCS_MAVLINK::send_statustext_all 2017-07-11 23:53:53 +01:00
Michael du Breuil 0b26908359 Landing: Disarm on land for deepstall 2017-06-19 17:02:23 -07:00
Michael du Breuil 3534d0a0eb AP_Landing: Fix missing doc for LAND_TYPE 2017-06-13 20:06:41 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas d1f9633ed2 AP_Landing: Improve the PWM parameters descriptions 2017-06-06 11:06:26 +10:00
Michael du Breuil 26ff1acf55 Landing: Deepstall print travel distances
The distances are used for doing log analysis on the prediction numbers.
2017-05-24 15:22:27 -07:00
Michael du Breuil 1e735324d4 AP_Landing: Add MAVLink reporting interface 2017-05-24 15:22:27 -07:00
Dr.-Ing. Amilcar Do Carmo Lucas 2a16c20ce1 AP_Landing: 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
Michael du Breuil 64fb09fb38 AP_Landing: Add an interface to poll if we should be setting fly_forward in AHRS 2017-05-15 14:50:29 -07:00
Michael du Breuil d80aecfd2d AP_Landing: Deepstall: Recompute approach heading until breakout
Also enforces a minimum approach length, which is needed to ensure that the
aircraft doesn't do a 180 degree turn part way through the approach to land
on the target.
2017-05-15 14:50:29 -07:00
Michael du Breuil 9c6fc1f122 AP_Landing: Correct deepstall param doc strings 2017-04-18 18:51:32 -07:00
Michael du Breuil a0cb34db57 AP_Landing: Leverage new nav_controller loiter radius interface 2017-04-06 08:26:04 +10:00
Eugene Shamaev 41fe4d0515 AP_Landing: fix to remove reorder warning 2017-03-20 07:32:36 +11:00
Andrew Tridgell e7024d9203 AP_Landing: restructure parameters into a structure 2017-03-02 12:38:59 +11:00
Michael du Breuil 547d06febf AP_Landing: Add deepstall support 2017-03-02 12:38:59 +11:00
Michael du Breuil 8b20577b74 AP_Landing: Add a servo override interface and PID logging interface 2017-03-02 12:38:59 +11: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
Tom Pittenger 61bc0a6206 Plane: check stage==LAND instead of landing.in_progress 2017-01-26 13:11:44 -08:00
Michael du Breuil 3e66dd10d7 Plane: Move landing stages inside AP_Landing and refactor 2017-01-26 13:11:44 -08:00
Michael du Breuil e9ec1d3a30 AP_Landing: Internalize the flight mode slope stages 2017-01-26 13:11:44 -08:00
Tom Pittenger b570c11e26 AP_Landing: allow separate handling for verify_land() vs verify_abort() 2017-01-26 13:11:43 -08:00
Tom Pittenger 6c0296ba13 AP_Landing: shadow copy of plane flight_stage into landing
.. and describe stages without using specific stage name
2017-01-26 13:11:43 -08:00
Tom Pittenger 063f517424 Plane, TECS, AP_Landing: rename stage LAND_ABORT to ABORT_LAND
this will reduce confusion when searching for FLIGHT_LAND_* and you get a bunch of takeoff related hits. It will also make more sense when the landing library fully manages the FLIGHT_LAND stage entirely because it will not mange FLIGHT_LAND_ABORT
2016-12-30 23:50:03 -08:00
Tom Pittenger 502768c979 AP_Landing: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
Tom Pittenger 3e2098192b AP_Landing: add is_complete() accessor 2016-12-14 04:32:30 -08:00
Tom Pittenger f09007cbe9 AP_Landing: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger 7daf1a87be AP_Landing: non-functional change - re-organizing header declarations 2016-12-14 04:32:30 -08:00
Tom Pittenger e061e1734c AP_Landing: abstract land abort request method 2016-12-14 04:32:30 -08:00
Tom Pittenger 03b5523b43 AP_Landing: abstract out init_start_nav_cnd work to landing lib
This reverts commit 3e89580383 and fixes it
2016-12-06 03:45:17 -08:00
Andrew Tridgell 3e89580383 Revert "AP_Landing: abstract out init_start_nav_cnd work to landing lib"
This reverts commit 8d8775125a.

doesn't build
2016-12-06 17:32:10 +11:00
Tom Pittenger 8d8775125a AP_Landing: abstract out init_start_nav_cnd work to landing lib 2016-12-05 18:43:47 -08:00
Tom Pittenger 2d8c9c5129 AP_Landing: added missing break 2016-12-05 18:43:15 -08:00
Tom Pittenger 725a9c40a6 AP_Landing: fixed compiler warnings
- init variable out of order, callbacks were declared first
2016-12-05 16:15:20 -08:00
Tom Pittenger 608da33d80 AP_Landing: merged GCS text for aborted landing 2016-12-02 17:40:01 -08:00
Tom Pittenger 3a9ad24907 AP_Landing: compute wind_alignment and half of head-wind
Determine how aligned heading_deg is with the wind. Return result
is 1.0 when perfectly aligned heading into wind, -1 when perfectly
aligned with-wind, and zero when perfect cross-wind. There is no
distinction between a left or right cross-wind. Wind speed is ignored
2016-12-02 15:35:28 -08:00
Tom Pittenger d4d186058d AP_Landing: move jump_to_landing_sequence() to AP_Mission 2016-11-25 19:07:30 -08:00
Tom Pittenger 1a70e2f353 AP_Landing: new param LAND_TYPE to split current behavior into AP_Landing_Slope.cpp 2016-11-25 19:07:30 -08:00
Tom Pittenger fe4cd7bbbd AP_Landing: set landing params as private and use accessors 2016-11-25 19:07:30 -08:00
Tom Pittenger 98ae77d6a3 AP_Landing: Migrate the rest of "LAND_" params from Plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger d53b177877 AP_Landing: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 8f36fe7705 AP_Landing: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger fc84c61672 AP_Landing: add const to all possible vars in function calls 2016-11-25 19:07:30 -08:00
Tom Pittenger fc2f518f31 Plane: revert auto_state.checked_for_autoland back to Plane 2016-11-25 19:07:30 -08:00
Tom Pittenger 3814b5a38b AP_Landing: resorted functions so they line up with plane/landing for easier compare 2016-11-25 19:07:30 -08:00
Tom Pittenger 75e625fd30 AP_landing: port the rest of plane/landing.cpp 2016-11-25 19:07:30 -08:00
Tom Pittenger 9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger 10027b21d6 Plane/AP_Landing: port setup_landing_glide_slope() 2016-11-25 19:07:30 -08:00
Tom Pittenger d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger 896b931a7c Plane: Move auto_state variables to AP_landing members 2016-11-25 19:07:30 -08:00
Tom Pittenger 61b02cb41d AP_Landing: add new library for fixed wing landing abstraction 2016-11-25 19:07:30 -08:00