Commit Graph

123 Commits

Author SHA1 Message Date
Randy Mackay f67cdf5a81 AC_Avoidance: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Randy Mackay 526065a6a4 AP_OAPathPlanner: minor format fix 2021-03-22 20:40:59 +09:00
Randy Mackay a6800b8c47 AC_Avoidance: minor PathPlanner format fix 2021-03-17 15:01:46 +09:00
Rishabh 98287a1b2f AC_Avoid: Use previous avoidance vel for limiting accel 2021-02-16 20:08:00 +09:00
Rishabh cbf57af1f3 AC_Avoid: Limit acceleration while simple avoidance is active 2021-02-16 20:08:00 +09:00
Rishabh 865f3cda79 AC_Avoid: Add param to switch off proximity avoidance based on alt 2021-02-16 20:08:00 +09:00
Rishabh 74bda4952d AC_Avoid: Return early if velocity is unchanged in proximity avoidance 2021-02-12 16:48:16 +09:00
Patrick José Pereira e4fb439a96 AC_Avoidance: Add missing const in member functions
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-03 18:45:14 +11:00
Rishabh 37a14a78df AC_Avoid: Refactor changes for 3-D avoidance 2021-02-01 14:34:13 +09:00
Rishabh 5092bc2f6d AC_Avoid: Simplify accessing boundary 2021-02-01 14:34:13 +09:00
Rishabh d359c5ddf2 AC_Avoid: Let user take control if they are backing away at a greater speed than what we have calculated 2021-02-01 14:34:13 +09:00
Rishabh 91132d00d9 AC_Avoid: Add deadzone to backaway code 2021-02-01 14:34:13 +09:00
Rishabh ad6e013171 AC_Avoid: Support 3D Simple Avoidance and Bacakway 2021-02-01 14:34:13 +09:00
Leonard Hall 4e2c7880c5 AC_Avoidance: use AP_Math control functions 2021-01-20 18:19:40 +11:00
Rishabh 68b6ecc59c AC_Avoid: Mark OA_OPTIONS as a Rover-Only param 2020-11-09 08:37:47 +09:00
Iampete1 f5172cdecf AC_Avoid: hide params with enable flag 2020-09-14 08:54:13 +09:00
Rishabh caf5bfed59 AC_Avoid: Added new OA type (Dijkstra + BendyRuler fusion) 2020-08-26 15:43:46 +09:00
Rishabh b62455fd3f AC_Avoid: Extend BendyRuler to search for paths up and down 2020-08-24 08:53:20 +09:00
Rishabh 79a4b8fa32 AC_Avoid: Add feature to reject obstacles near home loc 2020-08-24 08:49:17 +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 7dd7565d14 AC_Avoid: Improve BendyRuler hesitancy by avoiding significant bearing change 2020-06-24 11:42:20 +09:00
Rishabh 47e4e9f7c9 AC_Avoid: Store 3D data in OA_DB and use 3D distance in BendyRuler 2020-06-19 09:45:34 +09:00
Rishabh 15f25aa2a5 AC_Avoid: Skip unnecessary retries to build inner fences 2020-06-17 16:44:57 +09:00
Rishabh 4ec8602de2 AC_Avoid: Remove unnecessary sanity checks 2020-06-17 16:43:27 +09:00
Rishabh 34b17d0993 AC_Avoid: Check if origin is set before any obstacle avoidance algorithm is run 2020-06-17 08:26:50 +09:00
Rishabh 44f0aef5e9 AP_OAPathPlanner: Add param to reset WP origin while recovering from Bendy 2020-05-30 08:55:45 +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
Andrew Tridgell 48486d259f AC_Avoidance: make all semaphores recursive
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Randy Mackay 2e02ee1df8 AP_OADatabase: send_adsb uses vehicle's current altitude 2020-01-01 13:38:41 +09:00
Randy Mackay 985a15709a AP_OADatabase: available regardless of hal-minimize-features
In Copter with minimize feature set the entire AP_PathPlanning feature including the database are unavailable
Rover has enough space for the database even with minimise features set
2020-01-01 13:38:41 +09:00
Randy Mackay 50b4dd2599 AP_OAPathPlanner: slow updates to 1hz, timeout to 3sec 2020-01-01 13:38:41 +09:00
Randy Mackay 28e707466b AP_OABendyRuler: integrate oadb ekf-offset change 2020-01-01 13:38:41 +09:00
Randy Mackay fe5ba3ccdb AP_OADatabase: replace Location with offset from origin 2020-01-01 13:38:41 +09:00
Randy Mackay 37f2fc3ffe AP_OABendyRuler: integrate static object radius 2020-01-01 13:38:41 +09:00
Randy Mackay 674d631fb1 AP_OADatabase: calculate object radius based on distance and beam width
also all object database items are normal importance
2020-01-01 13:38:41 +09:00
Randy Mackay 1ba5f4626d AP_OADatabase: remove unnecessary const on arguments
also swap order of angle and distance arguments to be consistent with proximity library
2020-01-01 13:38:41 +09:00
Peter Barker 0d624785f3 AC_Avoid: adjust for proximity status namespace change 2019-10-31 11:58:15 +08:00
Randy Mackay 0d032ecd86 AC_Avoidance: add enabled and margin accessors 2019-09-28 11:13:14 +09: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 f3b0148719 AP_OADijkstra: cope with polyfence holding boundary points 2019-09-28 07:58:48 +09:00
Peter Barker dfca32a2af AP_OABendyRuler: cope with polyfence holding boundary points 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 aba4a1fdc8 AC_Avoidance: remove OADatabase check that can never be true 2019-09-10 09:15:56 +10:00
Randy Mackay a8fd04ddf9 AC_Avoidance: Dijkstra's returns oa-not-required if path has been completed 2019-08-17 09:42:43 +09:00
Randy Mackay 452be5fd94 AC_Avoidance: Dijkstra skips calcs if current loc is same as destination 2019-08-17 09:42:43 +09:00
Randy Mackay bed21b43e1 AP_OAPathPlanner: minor fix to return original origin and dest upon failure
this has no functional effect because the consumers are not using the origin_new and destination_new unless the ret_state was OA_SUCCESS
2019-08-17 09:42:43 +09:00
Randy Mackay a1a2733926 AC_Avoidance: reduce OA path planner look ahead and margin param defaults 2019-08-09 15:51:26 +09:00