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
Andrew Tridgell
d5c55e0dfe
AC_Avoidance: 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
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
Lucas De Marchi
e68c5a4668
AC_Avoidance: add static create method
2017-09-26 03:01:21 +01: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
e7f2c9870a
AC_Avoid: add accessor for proximity enabled
2016-12-20 19:48:07 +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
Randy Mackay
1b582b2009
AC_Avoid: avoidance for non-GPS flight modes
2016-12-20 19:47:58 +09:00
Randy Mackay
b46cc623a0
AC_Avoidance: adjust_velocity_polygon accepts body-frame points
2016-11-27 15:05:42 +09:00
Randy Mackay
55d79d9a32
AC_Avoidance: proximity sensor method re-uses polygon fence boundary code
2016-11-27 15:05:41 +09:00
Randy Mackay
cdee68174d
AC_Avoidance: rename adjust_velocity_polygon_fence
2016-11-27 15:05:39 +09:00
Randy Mackay
79280036de
AC_Avoidance: rename adjust_velocity_circle_fence method
2016-11-27 15:05:38 +09:00
Randy Mackay
40c4e75ae7
AC_Avoidance: remove unnecessary const float arguments
2016-11-27 15:05:36 +09:00
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Randy Mackay
4808664fb6
AC_Avoidance: allow use of AP_Proximity
2016-10-13 20:21:07 +09:00
murata
36b5d43efb
AC_Avoid: delete variable that is only used once in a simple calculation
2016-10-05 16:25:57 +09:00
Randy Mackay
f27cf8d388
AC_Avoidance: add adjust_velocity that accepts Vector3f for convenience
...
We should actually modify this function to scale back the z axis in order to avoid breaching the vertical fence. Currently breaching the vertical fence is handled within the position controller which is inconsistent.
2016-07-25 20:24:37 +09:00
Peter Barker
692ff22453
AC_Avoid: move closest_point to AP_Math
2016-07-25 20:24:37 +09:00
Daniel Ricketts
865aad7598
AC_Avoid: add support for stopping at polygon fence
2016-06-25 15:55:55 +09:00
Randy Mackay
26a6234a29
AC_Avoid: do not attempt to stop at circular fence if already breached
2016-06-25 15:55:55 +09:00
Randy Mackay
c6f9889a25
AC_Avoid: constify get_max_speed
...
Also get_stopping_distance and get_margin
2016-06-25 15:55:55 +09:00
Randy Mackay
a427768087
AC_Avoidance: reduce maximum acceleration to 1m/s/s
...
This makes the vehicle slow very gently as it approaches the edge of the fence
2016-06-22 11:38:15 +09:00
Daniel Ricketts
ff7bc7c0cb
AC_Avoidance: add library to stop at circular fence
2016-06-22 11:38:15 +09:00