Commit Graph

39 Commits

Author SHA1 Message Date
Rishabh 6ceee23b85 AP_Proximity: Add parameter to allow manually setting range to sensors 2022-02-03 09:10:55 +09:00
Rishabh 5e5ca6e02a AP_Proximity: Check for stray faces and add new param for filter cut off freq 2021-04-05 14:09:17 +09:00
Randy Mackay 1fad5d46e7 AP_Proximity: add #if HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Rishabh e9c0e50185 AP_Proximity: Filter out land detected by sensors 2021-03-09 11:02:26 +09:00
Rishabh 044e1850d4 AP_Proximity: Add a low pass filter per face for distances 2021-03-08 16:33:20 +09:00
Peter Barker 9a66a1564c AP_Proximity: only send distance_sensor messages if valid data seen
In the case you only have a forward-pointing LIDAR we'd send messages
for each of the other orientations from proximty's horizontal-distances
array, chewing up bandwidth and processing time.
2021-02-23 10:02:47 +09:00
Rishabh 8cab737bdd AP_Proximity: Follow NED convention 2021-02-12 16:48:16 +09:00
Rishabh de67e2b70c AP_Proximity: refactor changes done for 3-D Boundary 2021-02-01 14:34:13 +09:00
Randy Mackay ad899de78c AP_Proximity: backend uses modified Boundary_3D interface 2021-02-01 14:34:13 +09:00
Rishabh 4fce715a9a AP_Proximity: Shift methods to Proximity_Boundary_3D class and support 3D Boundary 2021-02-01 14:34:13 +09:00
Randy Mackay 4381eff482 AP_Proximity: simplify get_horizontal_distances
no need to fill in missing orientations.  This is only used for reporting to the ground stations
2020-10-06 20:52:29 +11:00
Randy Mackay 63a21c6c12 AP_Proximity: add correct_angle_for_orientation to backend 2020-10-06 20:52:29 +11:00
Peter Barker 574f3a30f9 AP_Proximity: correct output of DISTANCE_SENSOR message 2020-08-17 11:20:12 +10:00
Rishabh 8e586bc67d AP_Proximity: Check for valid reading before pushing to OA DB 2020-07-10 15:48:59 +09:00
Rishabh 9b5922786e AP_Proximity: Push 3D data into OA_DB 2020-06-19 09:45:34 +09:00
Andras Schaffer 43bef1ac9e AP_Proximity: fix proximity ignored zone calulation
It seems there was a typo in the checking of proximity ignored zones.
2020-06-03 16:11:55 +09:00
Randy Mackay dac84f4a9d AP_Proximity: integrate oadb ekf-offset change 2020-01-01 13:38:41 +09:00
Randy Mackay 449b8d124b AP_Proximity: remove unused get_horizontal_distance 2020-01-01 13:38:41 +09:00
Randy Mackay 1d6519af72 AP_Proximity: always use 8 sectors and fix ignore areas 2020-01-01 13:38:41 +09:00
Randy Mackay 1d79ff11b8 AP_Proximity: integrate oadb::queue_push argument swap 2020-01-01 13:38:41 +09:00
Randy Mackay f60ec91993 AP_Proximity: remove unnecessary const from database_push
also shorten current_vehicle_bearing argument to just current_heading
2020-01-01 13:38:41 +09:00
Peter Barker 8fe16f5627 AP_Proximity: use enum class for status 2019-10-31 11:58:15 +08:00
Tom Pittenger b8dcdca909 AP_Proximity: add Object Avoidance Database, remove old Sector->Location converter 2019-08-02 09:50:13 -06:00
Randy Mackay 9c3812e384 AP_Proximity: move copy_locations to backend
also remove unused get_locations
also fix comment for copy_locations method
2019-06-11 13:13:22 +09:00
Tom Pittenger b792fe4b26 AP_Proximity: add Location* object and accessors 2019-06-11 13:13:22 +09:00
Peter Barker dbbf09d018 AP_Proximity: minor performance enhancements 2019-05-28 09:19:48 +10:00
khancyr f60e7df309 AP_Proximity: correct missing use of PROXIMITY_MAX_DIRECTION 2017-07-14 18:59:36 +01:00
Pierre Kancir 38540b4dcc AP_Proximity: add PROXIMITY_MAX_DIRECTION and PROXIMITY_SENSOR_ID_START 2017-06-08 01:22:07 +01:00
Randy Mackay 3ad5c3775e AP_Proximity: rename get_distances to get_horizontal_distances
Also fix existing bug in return
2017-04-20 18:11:43 +09:00
Randy Mackay 74f1899aeb AP_Proximity: boundary_points requires only one valid distance
Object avoidance is possible with just one valid distance
Boundary is initialised in new init_boundary function to be 100m from
vehicle
If sectors do not have valid distance measurements, we use the distance
from adjacent sectors.  This conveniently leads to a concave shaped
boundary that keeps the vehicle from travelling into the dataless sector.
2017-01-11 21:48:23 +09:00
Randy Mackay fbbd13db75 AP_Proximity: add get_object methods for use with non-GPS avoidance 2016-12-20 19:47:56 +09:00
Randy Mackay 54a87ad35c AP_Proximity: set minimum boundary distance
AC_Avoidance will not stop if it thinks the vehicle is on or outside the polygon.  Setting a minimum distance ensures the vehicle is always within the polygon.
2016-11-27 15:05:48 +09:00
Randy Mackay 57ae14ab4c AP_Proximity: add get distances, distance_max, distance_min
These are used to send distance-sensor messages to the ground station
2016-11-27 15:05:45 +09:00
Randy Mackay 6293fa1595 AP_Proximity: add boundary points for object avoidance
This returns a fence which can be used for object avoidance by AC_Avoidance
2016-11-27 15:05:35 +09:00
Randy Mackay 26332251f5 AP_Proximity: add ignore areas
Only SF40c uses these ignore areas for now at least.
It is safe to increase the eeprom locations for the 2nd proximity instance because we only define a single instance.
2016-11-27 15:05:27 +09:00
Randy Mackay 87dea46f5d AP_Proximity: add get_closet_object for use in pre-arm checks 2016-11-27 12:03:06 +09:00
Randy Mackay f594a5a7d6 AP_Proximity: move sectors to backend
This prepares for sectors to be re-used by the SITL driver
2016-11-27 12:03:01 +09: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
Randy Mackay c3087edbe8 AP_Proximity: add library and SF40C driver 2016-10-13 20:21:07 +09:00