Commit Graph

65 Commits

Author SHA1 Message Date
Iampete1 f5172cdecf AC_Avoid: hide params with enable flag 2020-09-14 08:54:13 +09:00
Rishabh 0b112981f9 AC_Avoid: Back away if vehicle breaches margin to obstacle/fence 2020-08-05 15:37:04 +09:00
Rishabh 0b8f722dbd AC_Avoid: Remove extra margin used in stop behaviour in circular fences 2020-07-15 15:50:18 +09:00
Rishabh 6e693596d6 AC_Avoid: Do not show unused param in Rover 2020-07-15 15:50:18 +09:00
Rishabh 4ec8602de2 AC_Avoid: Remove unnecessary sanity checks 2020-06-17 16:43:27 +09:00
Peter Barker 002d47447e AC_Avoidance: rename APMrover2 to Rover 2020-04-14 09:50:34 +09:00
Peter Hall 556d90ca0c AC_Avoidance: keep track of velocity liminting status 2020-02-04 10:24:33 +09:00
Peter Barker 0d624785f3 AC_Avoid: adjust for proximity status namespace change 2019-10-31 11:58:15 +08:00
Randy Mackay 9aeac012d2 AC_Avoid: add support for complex fence types
AP_OABendyRuler: support exclusion polygons

AP_OADijkstra: support exclusion polygons

AC_Avoid: adjust_velocity supports exclusion polygons

AC_Avoidance: handle fence::get_boundary_points returning nullptr instead of setting num_points to zero

AC_Avoidance: Dijkstra's works with only exclusion polygons

AC_Avoidance: Dijkstra: check for fence counts instead of polyfence validity

We really only care whether fences can be returned - and they won't be
returned unless they are valid

AC_Avoidance: BendyRuler: just try to get inclusion fence rather than checking validity

AC_Avoidance: BendyRuler supports exclusion circles

AC_Avoid: Dijkstra support for exclusion circles

AC_Avoid: BendyRuler support for inclusion circles

AC_Avoid: stop an inclusion/exclusion circular fences

AC_Avoid: stop at inclusion/exclusion circular fences

AC_Avoid: fixes to Dijkstra's use of inclusion/exclusion circles and polygons

AP_Avoidance: take semaphores when interacting with AHRS and polyfence

AC_Avoid: Dijkstra's fix for some_fences_enabled inclusion circles
2019-09-28 07:58:48 +09:00
Peter Barker 3a7f1b882e AC_Avoidance: cope with polyfence holding boundary points 2019-09-28 07:58:48 +09:00
Randy Mackay 0a86bbdc9a AC_Avoidance: add license to cpp file 2019-06-11 13:13:22 +09:00
Randy Mackay 607f996232 AC_Avoid: restructure logic of adjust_velocity_circle_fence 2019-06-08 09:35:36 +09:00
Randy Mackay e846840a52 AC_Avoid: fix stopping at circular fence 2019-06-08 09:35:36 +09:00
Peter Barker 35d4555be0 AC_Avoid: improve documentation of AVOID_ENABLE options 2019-06-07 17:37:00 +09:00
Peter Barker e9160cd9d5 AC_Avoid: correct iteration through edges 2019-06-04 09:06:07 +09:00
Peter Barker cd6e5b48a1 AC_Avoid: move check for zero-desired-velocity into adjust_velocity_polygon
This is the method which divides by the length of this vector; the
check belongs in here.
2019-06-04 09:06:07 +09:00
Peter Barker de9fa4c730 AC_Avoid: call Polygon_outside directly; avoids losing first point 2019-05-29 15:34:02 +10:00
Peter Barker 4be3a48275 AC_Avoid: adjust for renamed get_polygon_points 2019-05-29 15:34:02 +10:00
Peter Barker 43152a416c AC_Avoid: stop taking references to ahrs, fence, proximity and beacon 2019-05-22 07:48:02 -06:00
Peter Barker 413ef5a3b4 AC_Avoid: add singleton 2018-10-30 12:10:42 +11:00
Randy Mackay 7aae970ae7 AC_Avoid: constify a few local variables 2018-10-26 14:38:04 +09:00
Randy Mackay b7f3140441 AC_Avoid: stop includes margin for intersection calc
the simpler stop feature (as opposed to slide) was not including the margin when looking for intersections with the boundary meaning it could slow too late
2018-10-26 14:38:04 +09:00
JIMWAR 97b5af60f8 AC_Avoid: fix adjust_velocity_polygon
adjust_velocity_polygon function ignoring boundary[0]
2018-10-24 15:37:14 +09:00
murata 3577def8fd AC_Avoid: use elseif because value does not change 2018-04-23 19:45:50 +09:00
murata 29b1a6ed41 AC_Avoid: fix comment 2018-04-23 19:45:37 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 8ae4047a00 AC_Avoidance: NFC small renames and comment improvements 2018-03-06 09:30:56 +09:00
Randy Mackay be804aa74e AC_Avoid: limit velocity and get-max-speed become public
this allows AP_Follow to use these function
2018-03-05 15:08:08 +09:00
Randy Mackay ebf405e53d AC_Avoid: reduce min and default DIST_MAX values 2018-01-25 11:16:01 +09:00
Randy Mackay a1bf9d66f0 AC_Avoid: default behaviour to stop for Rovers 2018-01-22 17:18:41 +09:00
Randy Mackay ae4ded86a8 AC_Avoid: get_max_speed supports linear acceleration
Also get_stopping_distance supports linear deceleration
2018-01-22 17:18:41 +09:00
Randy Mackay dfaabb543c AC_Avoid: add adjust_speed
this method accepts a heading and speed instead of a velocity vector
2018-01-22 17:18:41 +09:00
Randy Mackay 9d74d82ff6 AC_Avoid: add stopping behaviour 2018-01-22 17:18:41 +09:00
Leonard Hall f48b14b810 AC_Avoidance: accept dt and pass to sqrt controller 2018-01-16 12:13:48 +09:00
Peter Barker c4734484e7 AC_Avoid: take an AP_AHRS in place of an AP_AHRS_NavEKF 2017-12-08 11:27:37 +09:00
Peter Barker a1c982be4a AC_Avoid: work in metres to avoid extra work 2017-12-08 11:27:37 +09:00
Peter Barker 0fe45ef6b6 AC_Avoid: eliminate get_position and get_alt_above_home 2017-12-08 11:27:37 +09:00
Peter Barker 54010451bf AC_Avoid: check result of AHRS calls
Work in metres to avoid computation
2017-12-08 11:27:37 +09:00
khancyr b44ba29a05 AC_Avoidance: replace AP_InertialNav by AHRS 2017-12-08 11:27:37 +09:00
Shingo Matsuura 7b0f6edf31 AC_Avoidance: add adjust velocity by beacon fence 2017-06-14 16:07:32 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas 823bee8a31 AC_Avoidance: 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
Randy Mackay 35a965ebc5 AC_Avoidance: add configurable margin
vehicle will attempt to stop MARGIN meters from objects in GPS modes
2017-04-20 18:11:43 +09:00
Randy Mackay 7a7f8eb7c1 AC_Avoidance: only stop below alt-fence if fence is enabled 2017-03-06 18:02:03 +09:00
Randy Mackay 7b3af58634 AC_Avoidance: fix AVOID_ANGLE_MAX parameter description 2017-02-28 15:33:59 +09:00
Randy Mackay 49f4afc2a1 AC_Avoidance: add 2m margin to upward avoidance 2017-02-27 09:48:29 +09:00
Jacob Walser 5829d4b645 AC_Avoidance: Refactor fence.get_safe_alt() to fence.get_safe_alt_max() 2017-02-21 11:26:14 +11:00
Randy Mackay e799e3a342 AC_Avoidance: stop based on upward facing proximity sensor 2017-01-18 09:35:47 +09:00
Randy Mackay 2133fd94ca AC_Avoidance: adjust_velocity_z uses inav get_hgt_ctrl_limit
inertial navigation's get_hgt_ctrl_limit provides an altitude-above-ekf-origin limit while flying with optical flow
2017-01-18 09:35:47 +09:00
Randy Mackay f73efd5249 AC_Avoidance: add adjust_velocity_z
This allows reducing the climb rate to slow the vehicle's climb so it does not breach the altitude fence
2017-01-18 09:35:47 +09:00
Randy Mackay 12dd6e11fb AC_Avoidance: constify get_position 2017-01-18 09:35:47 +09:00
Randy Mackay b114d3928e AC_Avoid: fix distance to lean angle logic
Fixes from PR review including
(a) make some local variables const
(b) rename angle_max to veh_angle_max
(c) fix distance_to_lean_pct logic so distance of zero returns maximum lean angle
2016-12-20 19:48:04 +09:00