Commit Graph

194 Commits

Author SHA1 Message Date
Tom Pittenger ec8f82422a Plane: move loiter heading init for auto into auto helper, and properly reset it in loiter mode enter 2020-04-08 09:11:54 +10:00
Tom Pittenger f397c168e8 Plane: refactor loiter heading exit logic 2020-04-08 09:11:54 +10:00
Peter Barker 74dbcac40e ArduPlane: log disarm method 2020-02-22 12:16:29 +11:00
Michael du Breuil ee96ec7f0d Plane: Support new AP_Vehicle::set_mode 2019-10-25 08:48:22 +08:00
Michael du Breuil 562b155f63 Plane: Remove unused geofence enable reason 2019-09-23 17:31:33 -06:00
Andrew Tridgell 6572700baa Plane: fixed an issue with landing on rising ground
when landing on rising ground we don't want to use the terrain look
fwd correction for the flare calculation as otherwise we will flare
too early (and thus too high)
2019-09-16 12:52:00 +10:00
Peter Barker b12f620233 Plane: fix format string warnings 2019-09-02 21:00:59 +10:00
Peter Barker 400aa53654 Plane: move arming-related functionality into parent classes
Logging moves up
arming via mavlink moves up
arming via switch moves up
2019-05-30 07:37:30 +09:00
Pierre Kancir 65b4ba0539 ArduPlane: use past_interval_finish_line and line_path_proportion from Location 2019-04-23 09:20:43 +10:00
Pierre Kancir d8990a002e Plane: update locations_are_same to same_latlon_as 2019-04-08 08:05:05 -07:00
Pierre Kancir 3f5999a6ad ArduPlane: move location_update to Location and rename to offset_bearing 2019-04-06 09:10:28 +11:00
Pierre Kancir 58328da5f3 ArduPlane: move get_bearing_cd to Location and rename to get_bearing_to 2019-04-06 09:10:28 +11:00
Tom Pittenger 0270c57530 Plane: massive refactor and creation of Mode class 2019-04-02 16:28:52 +11:00
Peter Barker 29258f6752 Plane: rely on AP_Mission to emit GCS text 2019-04-02 11:07:58 +11:00
Peter Barker a372428ec5 Plane: use sanitize method rather than location_sanitize function 2019-04-02 10:19:38 +11:00
Andrew Tridgell 3907466f9d Plane: added TKOFF_TIMEOUT parameter
this allows for a timeout on auto-takeoff. This can be combined with
other takeoff parameters to allow the user to abort a hand-launch
after the motor has started without GCS interaction.

The 4m/s threshold is a bit arbitrary. We could make that a parameter
in the future if it is needed
2019-03-18 14:48:08 +11:00
Dr.-Ing. Amilcar do Carmo Lucas f430fd14f6 Plane: 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 c24759d3df Plane: use abs not fabsf for integers 2019-02-20 19:23:54 +11:00
Peter Barker 0858847294 Plane: remove redundant send_ekf_origin 2019-02-15 08:28:45 +11:00
Peter Barker b6bf8d8368 Plane: make setting of home boolean in preparation for sanity checks 2019-02-15 08:28:45 +11:00
Peter Barker 4f249db8bc Plane: move responsibility for parachute deployment up 2019-02-13 09:25:27 +09:00
Peter Barker 30671a6743 Plane: move handling of command-int MAV_CMD_DO_SET_HOME up
Plane: eliminate set_home shim around AP_AHRS::set_home
2019-02-13 09:42:26 +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 acafb0f3c1 Plane: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Michael du Breuil 47dfafd670 Plane: Ensure that the plane is an appropriate distance out before starting the approach 2018-12-18 10:11:22 +11:00
Michael du Breuil 05484c3987 Plane: Support a different landing airspeed for fw quadplane landings 2018-12-18 10:11:22 +11:00
Michael du Breuil 1a45755ffd Plane: Support a different landing radius for quadplane fw approach 2018-12-18 10:11:22 +11:00
Michael du Breuil f1154a6e7c Plane: Pass the mission command around rather then fetching it 2018-12-18 10:11:22 +11:00
Michael du Breuil 8e906e0ba0 Plane: Add support for a loiter to alt approach to VTOL landing 2018-11-10 18:58:54 +11:00
Peter Barker 7890fbeaa1 Plane: let AP_Mission handle common camera commands 2018-10-30 15:37:18 +11:00
Peter Barker 1653b34b2b Plane: move servorelayevents mission handling into AP_Mission 2018-10-30 15:37:18 +11:00
Peter Barker dc6a03f5e0 Plane: mission library handles gripper 2018-10-30 15:37:18 +11:00
Michael du Breuil f9e56f9d12 Plane: Respect frame type on VTOL_TAKEOFF commands
allow missioncommands to fail to start
2018-09-11 06:42:00 +10:00
Peter Barker 22306c370b Plane: factor out a Plane::set_home 2018-05-29 14:38:45 +10:00
Peter Barker ad600fff68 Plane: split home-set and home-locked state 2018-05-29 14:38:45 +10:00
Peter Barker 1545b9b161 Plane: remove arguments to send_home and send_ekf_origin 2018-05-17 20:42:36 +10:00
Peter Barker 052b76d017 Plane: move Log_Write_Home_And_Origin into AP_AHRS 2018-05-17 10:13:42 +10:00
Przemek Lekston e5a9ac84e7 [Plane] Fix verify_loiter_heading acceptance criteria. 2018-03-20 10:25:35 -07:00
Peter Barker 7fd859da65 Plane: move home state into AP_AHRS 2018-03-19 10:32:37 +09:00
David Ingraham a6aeebad4b Plane: Add support for AP_Gripper 2018-03-01 14:14:43 +11:00
Peter Barker c5ae01fc6d Plane: use GPS singleton 2017-12-27 00:58:02 +00:00
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
Andrew Tridgell af893ddde7 Plane: implement Q_OPTIONS
this allows for NAV_TAKEOFF to be treated as NAV_VTOL_TAKEOFF in
quadplanes, and for level flight to be maintained during quadplane
transitions
2017-10-30 16:30:10 +11:00
Tom Pittenger 8adacfeea3 Plane: always log MODE and include reason when logging is enabled 2017-10-25 21:18:29 +11:00
Randy Mackay 3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker 2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker 1be52495f1 Plane: eliminate global static GCS_MAVLINK::send_home_all 2017-07-11 23:48:39 +01:00
Peter Barker 250f315678 Plane: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Michael du Breuil 92cdb54176 Plane: Fix a fly away when aborting a landing
DO_LAND_START -> LAND waypoints in sequence would cause a perpetual abort state
due to the sticky nature of the abort states. If we restart a landing on
purpose while doing an abort, then we can move onto trying to land again.
2017-06-17 09:10:27 +10:00
Michael du Breuil 649ef0fc16 Plane: Only consider a takeoff as begun if the safety switch has been pressed 2017-03-23 16:55:47 -07:00
Michael du Breuil 9e893eacd1 Plane: Change some user facing statustexts 2017-03-08 00:59:56 -08:00
Tom Pittenger 4ccd59f394 Plane: allow exiting loiter_to_alt in cases where you get stuck
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Tom Pittenger 9abb0bba7f Plane: use abs() instead of labs() for int16 2017-01-30 10:43:54 -08:00
Michael du Breuil 2326eee9a0 Plane: Move loiter_radius to vehicle 2017-01-30 10:43:54 -08:00
Tom Pittenger 650e694eb1 Plane: move landing.reset to landing.do_land() 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
Tom Pittenger b570c11e26 AP_Landing: allow separate handling for verify_land() vs verify_abort() 2017-01-26 13:11:43 -08:00
Tom Pittenger 9a250c3bf4 Plane: clarify some variable names and protect against divide-by-zero 2017-01-06 17:35:44 -08:00
Eugene Shamaev ac2880db7c Plane: waypoint logic change for overflow/underflow 2017-01-06 17:35:44 -08:00
Tom Pittenger 83f0a8114b Plane: use a common reset for uniform landing wipe 2016-12-14 04:32:30 -08:00
Tom Pittenger b299b9c0bb Plane: abstract out init_start_nav_cnd work to landing lib
This reverts commit 1380a35f70.
2016-12-06 03:45:14 -08:00
Andrew Tridgell 1380a35f70 Revert "Plane: abstract out init_start_nav_cnd work to landing lib"
This reverts commit e2288d5262.

doesn't build
2016-12-06 17:32:02 +11:00
Tom Pittenger e2288d5262 Plane: abstract out init_start_nav_cnd work to landing lib 2016-12-05 18:44:02 -08:00
Tom Pittenger 1b0a263761 Plane: remove landing.cpp entirely 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 f556f705e6 Plane: move various g params to aparms 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 0ffeed644c Plane: remove define RANGEFINDER_ENABLED - always enabled 2016-11-25 19:07:30 -08:00
Tom Pittenger d12a55f33c Plane: fixed spelling
fixed spellling in gcs msg
2016-11-11 01:17:59 -08:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Pierre Kancir 64a2fca812 Arduplane: simply invalid cmd msg 2016-09-27 07:45:48 -07:00
Pierre Kancir 04ee4141e0 ArduPlane: uniformize verify_command
Add all handle message,
Change MAV_CMD_NAV_ROI to MAV_CMD_DO_SET_ROI
Reformate comments,
2016-09-27 07:45:48 -07:00
Andrew Tridgell 33f17588b2 Plane: added auto fence enable on VTOL takeoff
fixes issue#724
2016-08-29 18:04:42 +10:00
Tom Pittenger b187e1f9a6 Plane: add reason to set_mode() 2016-08-17 22:38:54 -07:00
Andrew Tridgell 37f71bc6d6 AP_Mission: support DO_ENGINE_CONTROL 2016-07-25 10:06:03 +10:00
Andrew Tridgell 327a057ee0 Plane: added internal combustion engine support
this allows for automatic engine start and restart
2016-07-25 10:06:03 +10:00
Grant Morphett b8011fd46c Rover|Plane: Just fixing a spelling mistake. 2016-07-22 08:23:07 +10:00
Tom Pittenger 26efd90603 Plane: allow landing height adjustment on wp before land (aka approach wp) 2016-07-20 22:29:31 -07:00
Tom Pittenger f048aafb76 Plane: store auto land slope
- also changed order of landing slope calc but is functionally the same
2016-05-17 15:39:05 -07:00
Tom Pittenger 7af888633d Plane: 3of3 add loiter_xtrack option flag for post-loiter navigation
0 to crosstrack from center of waypoint, 1 to crosstrack from tangent exit location
2016-05-16 11:50:54 -07:00
Ricardo de Almeida Gonzaga 1fad971851 ArduPlane: Fix typos 2016-05-13 19:20:07 -03:00
Andrew Tridgell 12e0012b16 Plane: allow for NAV_LOITER_UNLIM and NAV_LOITER_TIME in quadplane 2016-05-11 15:57:41 +10:00
Andrew Tridgell 691d4b6ca7 Plane: added local reached_loiter_target()
this distinguishes between VTOL and fixed wing loiter targets
2016-05-11 05:55:26 +10:00
Andrew Tridgell 4666b25258 Plane: initial implementation of QRTL for quadplane RTL 2016-04-30 14:34:47 +10:00
Michael du Breuil de1e299754 Plane: Remove support for CONDITION_CHANGE_ALT 2016-04-30 10:56:05 +09:00
Michael du Breuil 731c68f273 Plane: Change mode to RTL on end of mission rather then staying in auto
Deleted commands_process as it had 2 lines of useful code left, and was cleaner to move the remaining two lines into the caller case
2016-04-29 13:12:18 +10:00
Andrew Tridgell 76400a9959 Plane: support DO_VTOL_TRANSITION as a mission item 2016-04-23 21:03:46 +10:00
Tom Pittenger 2ba9a04bf5 Plane: smooth-out the end of takeoff pitch by reducing takeoff pitch min via TKOFF_PLIM_SEC
@Description: This parameter reduces the pitch minimum limit of an auto-takeoff just a few seconds before it reaches the target altitude. This reduces overshoot by allowing the flight controller to start leveling off a few seconds before reaching the target height. When set to zero, the mission pitch min is enforced all the way to and through the target altitude, otherwise the pitch min slowly reduces to zero in the final segment. This is the pitch_min, not the demand. The flight controller should still be commanding to gain altitude to finish the takeoff but with this param it is not forcing it higher than it wants to be. (+1 squashed commits)
2016-04-21 22:54:17 -07:00
Tom Pittenger 183369b92a Plane: take advantage of L1 stale flag and correctly inhibit flight stage if not lined up on approach 2016-04-21 21:30:58 -07:00
Tom Pittenger 6a83ad419a Plane: moved update_flight_stage() inside setup_glide_slope()
the glide_slope gets calculated every time there's a major event such as mission item change or wp_proportion change so its good to update the flight stage then too because.
also logging stage when stage changes, might as well get an extra data point in there when it's timely
2016-04-21 21:30:51 -07:00
Andrew Tridgell 2a1985d0f9 Plane: fixed loiter radius at end of mission 2016-04-21 22:29:29 +10:00
Tom Pittenger 6718241dad cleanup comments 2016-03-29 05:32:28 -07:00
Tom Pittenger f3638f421e Plane: fix short loiters exiting early 2016-03-10 15:42:18 +11:00
Tom Pittenger bf5005103c Plane: allow loiter waypoints to have a zero lat/lng or alt to mean use current 2016-03-02 08:49:11 -08:00
Tom Pittenger be3941efdf Plane: unify loiter mission items to require heading to next wp
- except loiter_unlimited because it never exits
2016-03-02 08:48:25 -08:00
Tom Pittenger 9e452838ab Plane: loiter missions to default to loiter_radius if mission says 0 or 1.
- except loiter_unlim which uses RTL_loiter, although I'm not sure why.
2016-02-29 10:12:20 -08:00