Commit Graph

202 Commits

Author SHA1 Message Date
Andrew Tridgell
52f61c7ac1 Plane: make FENCE_AUTOENABLE an AP_Enum 2020-12-02 18:33:07 +11:00
Andrew Tridgell
e5d580412e Plane: fixed usage of rangefinder in landing with RNGFND_LANDING=0
this fixes two places where rangefinder can affect landing when
RNGFND_LANDING=0
2020-11-03 10:08:00 +11:00
Iampete1
2820228ad6 Plane: only do_change_speed within FBW min and max 2020-10-13 10:21:52 +11:00
Andy Piper
b649afe9e5 Plane: make mount/gimbal inclusion configurable per-board 2020-08-04 09:18:14 +10:00
Tom Pittenger
c7c9461fc0 Plane: update ModeReasons to not use UNKNOWN reason 2020-07-28 11:52:39 -07:00
Michael du Breuil
43526e718e Plane: Remove the use of RTL_RADIUS from LOITER_UNLIM mission items 2020-06-19 11:10:29 -07:00
Tom Pittenger
0a5021fdcf Plane: bugfix: never reset auto_state.sink_rate 2020-05-23 18:49:12 -07:00
Tom Pittenger
394fbb1a50 Plane: unified soaring exit behavior: auto heads to next wp, cruise continues cruise heading, FBW to home 2020-04-08 09:11:54 +10:00
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