Peter Barker
107c424a5c
AP_Proximity: LightWareSF40C_v09 uses intermediate serial class
2020-02-19 11:12:37 +09:00
Peter Barker
97320e8938
AP_Proximity: TeraRangerTowerEvo uses intermediate serial class
2020-02-19 11:12:37 +09:00
Peter Barker
0d4e72622e
AP_Proximity: RPLidarA2 uses intermediate serial class
2020-02-19 11:12:37 +09:00
Peter Barker
788e466c90
AP_Proximity: LightWareSF40C used intermediate serial class
2020-02-19 11:12:37 +09:00
Peter Barker
fcdb833f46
AP_Proximity: add intermediate AP_Proximity_Backend_Serial class
2020-02-19 11:12:37 +09:00
Rajat Singhal
dccb95efce
AP_Proximity: Fix Airsim Proximity sector update
...
Distance equals least distance in that sector rather than last point sampled
2020-01-08 09:10:54 +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
10108819b1
AP_Proximity: sf40c combines seven readings for oadb
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
3942fa2541
AP_Proximity: remove unused include from AP_Proximity_MAV
2019-12-09 11:25:02 +09:00
Peter Barker
cff648caf6
AP_Proximity: remove unused AP_AHRS.h include
2019-12-05 22:41:49 +11:00
Peter Barker
8785cc26e8
AP_Proximity: make Status enum class
2019-12-05 16:05:07 +11:00
Randy Mackay
49069c7ad5
AP_Proximity: new lightware SF40C driver
...
New driver using latest streaming interface
Old driver left in place because older devices cannot be updated
2019-11-15 12:25:53 +08:00
Randy Mackay
a747610fc1
AP_Proximity: backup lightware SF40C driver to v09
2019-11-15 12:25:53 +08:00
Peter Barker
0e6f3afe51
AP_Proximity: adjust for renaming of RangeFinder files
2019-11-12 07:14:37 +08:00
Peter Barker
39863bf0b4
AP_Proximity: remove empty constructors
...
Well, some of them were only essentially empty
2019-10-31 11:58:15 +08:00
Peter Barker
5b2689a7a8
AP_Proximity: use rangefinder singleton
2019-10-31 11:58:15 +08:00
Peter Barker
8fe16f5627
AP_Proximity: use enum class for status
2019-10-31 11:58:15 +08:00
Peter Barker
f5f6eb8231
AP_Proximity: correct checking of valid instance in various getters
2019-10-31 11:58:15 +08:00
Peter Barker
de7e3acc29
AP_Proximity: use enum class for proximity type
...
Removes verbiage from AP_Proximity.cpp
2019-10-31 11:58:15 +08:00
Peter Barker
4962b7a98e
AP_Proximity: stop passing serial manager around, use singleton
2019-10-31 11:58:15 +08:00
Andrew Tridgell
c7fce7568e
AP_Proximity: use strtof instead of atof
...
we don't need double precision
2019-10-28 15:53:16 +11:00
Peter Barker
25fd04d402
AP_Proximity: declare RangeFinder as a class to avoid circular include issue
2019-10-08 11:26:04 +11:00
Andrew Tridgell
1a34fccc71
AP_Proximity: fixed incorrect use of fabs()
2019-10-01 08:12:07 +09:00
Peter Barker
a0c6ff95e4
AP_Proximity: polyfence valid() has been renamed
2019-09-28 07:58:48 +09:00
Peter Barker
5fe16d5250
AP_Proximity: cope with polyfence holding boundary points
2019-09-28 07:58:48 +09:00
Randy Mackay
398f427830
AP_Proximity: fix rangefinder backends cm to m conversion
2019-09-19 08:43:11 +09:00
Randy Mackay
2d128e0079
AP_Proximity: remove unused var from AriSimSITL
2019-09-10 09:15:56 +10:00
Andrew Tridgell
a4258639c8
AP_Proximity: use strtol instead of sscanf
2019-08-27 15:40:43 +10:00
Rajat Singhal
4af8813014
AP_Proximity: Add license info in Airsim lidar backend
2019-08-15 20:03:31 +10:00
Rajat Singhal
8f1c9759b8
AP_Proximity: Add AirSimSITL lidar sensor
2019-08-04 07:57:46 +10:00
Tom Pittenger
6d1362d569
AP_Proximity: allow MAV driver to accept negative increments and sanity check distances
2019-08-02 09:50:13 -06:00
Tom Pittenger
b8dcdca909
AP_Proximity: add Object Avoidance Database, remove old Sector->Location converter
2019-08-02 09:50:13 -06:00
Pierre Kancir
5b745aa1f1
AP_Proximity: pass mavlink_message_t by const reference
2019-07-16 20:51:42 +10: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
d617904726
AP_Proximity: remove dangling update_instance declaration
2019-06-04 19:36:57 +09:00
Tom Pittenger
c67a585b68
AP_Proximity: increase angular resoluion to mavlink packet OBSTACLE_DISTANCE
2019-05-29 18:22:53 -07:00
Randy Mackay
2061621951
AP_Proximity: default YAW_CORR to 0
...
The default of 22 was good when the Lightware SF40C was our only proximity sensor but not good now that we have numerous options
2019-05-29 11:17:28 +09:00
Randy Mackay
ff3d3d256c
AP_Proximity: RPLidarA2 supports yaw-correction and orientation params
2019-05-29 11:17:28 +09:00
Peter Barker
dbbf09d018
AP_Proximity: minor performance enhancements
2019-05-28 09:19:48 +10:00
Peter Barker
b086b39f89
AP_Proximity: add AP::proximity() singleton getter
2019-05-22 07:48:02 -06:00
Pierre Kancir
72e4e69add
AP_Proximity: move location_update to Location and rename to offset_bearing
2019-04-06 09:10:28 +11:00
murata
fb544cab78
AP_Proximity: Change from method reference to macro
2019-03-28 12:02:55 +11:00
Peter Barker
19d8ffb4e4
AP_Proximity: stop passing through old fence contains_return_point parameter
2019-02-04 16:52:42 +09:00
Dmitri Ranfft
221c4ca3cc
AP_Proximity: Removed the 3 bit limitation for the enumeration
2019-02-04 11:08:54 +09:00
Randy Mackay
12d6799aaa
AP_Proximity: fix morse sector calc
2018-12-14 09:18:23 +09:00
Randy Mackay
f7f50d84c9
AP_Proximity: minor typo fix
2018-12-14 09:18:23 +09:00
Peter Barker
3a7ab5f67e
AP_Proximity: rename send_extended_status1 to send_sys_status
2018-12-10 12:52:41 +09:00
Andrew Tridgell
e883c6392f
AP_Proximity: added a MorseSITL sensor
...
this interfaces with the laser scanner in morse
2018-12-04 18:29:41 +11:00
Peter Barker
e0ab431ebd
AP_Proximity: add override keyword where required
2018-11-08 11:30:12 +11:00
Randy Mackay
7fa592e673
AP_Proximity: increase MAV driver timeout to 500ms
...
this comes after testing with ROS/mavros and discovering the update rate is only 4hz
2018-10-26 14:38:04 +09:00
Raouf
8bfb1d2445
AP_Proximity: add support for OBSTACLE_DISTANCE message
2018-10-02 10:37:13 +09:00
pierre-louis.k
bf274cd9db
AP_Proximity: Change min and max range to support both 60m and 600Hz
2018-08-25 10:22:11 +09:00
Mateusz Sadowski
08332102fe
AP_Proximity: Fix sensor order on TeraRanger Tower Evo
2018-08-25 10:22:11 +09:00
Mateusz Sadowski
4b8b8347f2
AP_Proximity: Correctly handle TeraRanger Tower Evo initialization
2018-08-25 10:22:11 +09:00
Mateusz Sadowski
f1b550647d
AP_Proximity: Change TeraRanger Tower Evo sequence mode to Tower
2018-08-25 10:22:11 +09:00
Mateusz Sadowski
2ca567f409
AP_Proximity: Add support for TeraRanger Tower Evo
2018-08-25 10:22:11 +09:00
Peter Barker
e7e0ee0b50
AP_Proximity: add methods covering sensor health, enable and present
2018-06-26 10:25:28 +10:00
Patrick José Pereira
50613c3800
AP_Proximity: Use SITL singleton
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-06-26 00:02:01 +01:00
Michael du Breuil
f8b10aaa53
AP_Proximity: Make singleton and add an interface to check what type is loaded
2018-05-16 23:21:41 +01:00
Randy Mackay
436f514142
AP_Proximity: resolve compiler warning and format fix
2018-05-15 10:16:30 +09:00
Michael du Breuil
636782375e
AP_Proximity: Revert an excessive scan introduced in #8375
...
Also removes 2 unneeded initilizers, and removes an unneeded runtime
check
2018-05-14 10:53:21 +09:00
Michael du Breuil
00c512c7e2
AP_Proximity: Small fixups to the rangefinder backend
2018-05-12 09:24:04 +09:00
Peter Barker
0c14a309f7
AP_Proximity: correct debugginf for RPLidarA2
2018-04-10 16:25:54 +09:00
Peter Barker
51991fdd76
AP_Proximity: fix compilation warning in LightWare driver
...
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp: In member
function ‘void AP_Proximity_LightWareSF40C::request_new_data()’:
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp:235:6:
warning:
‘__builtin___snprintf_chk’ output may be truncated before the last
format
character [-Wformat-truncation=]
void AP_Proximity_LightWareSF40C::request_new_data()
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
from ../../libraries/AP_Common/AP_Common.h:179,
from ../../libraries/AP_HAL/UARTDriver.h:5,
from ../../libraries/AP_HAL/HAL.h:11,
from ../../libraries/AP_HAL/AP_HAL_Main.h:19,
from ../../libraries/AP_HAL/AP_HAL.h:8,
from
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp:16:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note:
‘__builtin___snprintf_chk’ output between 10 and 16 bytes into a
destination
of size 15
__bos (__s), __fmt, __va_arg_pack ());
^
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp: In member
function ‘bool
AP_Proximity_LightWareSF40C::send_request_for_distance()’:
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp:275:6:
warning:
‘__builtin___snprintf_chk’ output may be truncated before the last
format
character [-Wformat-truncation=]
bool AP_Proximity_LightWareSF40C::send_request_for_distance()
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:862:0,
from ../../libraries/AP_Common/AP_Common.h:179,
from ../../libraries/AP_HAL/UARTDriver.h:5,
from ../../libraries/AP_HAL/HAL.h:11,
from ../../libraries/AP_HAL/AP_HAL_Main.h:19,
from ../../libraries/AP_HAL/AP_HAL.h:8,
from
../../libraries/AP_Proximity/AP_Proximity_LightWareSF40C.cpp:16:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:65:44: note:
2018-04-04 18:04:57 +09:00
Holger Steinhaus
5af02dde59
AP_Proximity: fix possible overflow/truncation issue
2018-03-16 22:37:16 +01:00
Peter Barker
e7d48977ba
AP_Proximity: compiler warning fixes
...
In file included from
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.cpp:30:
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:88:10: warning:
private field '_payload_data' is not used [-Wunused-private-field]
bool _payload_data;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:91:10: warning:
private field '_skip' is not used [-Wunused-private-field]
bool _skip;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:92:10: warning:
private field '_rp_reset' is not used [-Wunused-private-field]
bool _rp_reset;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:95:13: warning:
private field '_element_len' is not used [-Wunused-private-field]
uint8_t _element_len[2];
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:96:13: warning:
private field '_element_num' is not used [-Wunused-private-field]
uint8_t _element_num;
^
5 warnings generated.
2018-03-02 09:26:37 +09:00
Steven Josefs
6e0ff8b169
AP_Proximity: add support for RP Lidar A2
...
This is a 360degree lidar with up to 16m range
2017-09-18 08:28:11 +09:00
Peter Barker
e0bea597c0
AP_Proximity: use rangefinder backend accessors
2017-08-15 18:30:45 +01:00
khancyr
f60e7df309
AP_Proximity: correct missing use of PROXIMITY_MAX_DIRECTION
2017-07-14 18:59:36 +01:00
Randy Mackay
d636e85eac
AP_Proximity: SF40c driver treats zero distances as invalid
2017-07-08 14:09:17 +09: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
33ef3bd51d
AP_Proximity: MAV driver gets distance validity check
2017-06-06 20:41:54 +09:00
Randy Mackay
0b7ec0dc64
AP_Proximity: validate range finder distances
2017-05-31 16:26:42 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
adc919c7fc
AP_Proximity: 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
Dr.-Ing. Amilcar Do Carmo Lucas
6c14f498f7
AP_Proximity: Add missing @RebootRequired: True
2017-05-15 21:51:19 +09: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
09e3d6b7f0
AP_Proximity_MAV: healthy if either horiz or vert positions received
2017-04-20 18:11:43 +09:00
Randy Mackay
fd94ab43fa
AP_Proximity: minor fix to param description
...
No functional change
2017-03-01 14:59:44 +09:00
Randy Mackay
a093bcb05f
AP_Proximity: add rangefinder driver
...
This allows avoidance using upward or forward facing range finders
2017-02-27 15:18:09 +09:00
Luis Rodrigues
27c5aca6b5
AP_Proximity: add support for TeraRangerTower
2017-02-03 14:27:52 +09:00
Randy Mackay
a47e215a8e
AP_Proximity: add get_upward_distance
...
This allow support for upward facing proximity sensor received through a DISTANCE_SENSOR message.
Also added SITL test
2017-01-18 09:35:47 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
bebb128d22
AP_Proximity: Add missing parameter units
2017-01-16 19:07:27 +00:00
Randy Mackay
6aeef76768
AP_Proximity: fix get_boundary_points in case of multiple sensors
2017-01-16 16:38:18 +09:00
Randy Mackay
7c7144fd8f
AP_Proximity: minor comment spelling fix
2017-01-11 21:48:23 +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
a0a8472a44
AP_Proximity: fix consumption of distance-sensor messages
2017-01-11 21:48:23 +09:00
Randy Mackay
d4daa10045
AP_Proximity: add MAV type to parameter descriptions
2017-01-10 11:00:00 +09:00
murata
c2521dd650
AP_Proximity: Change sprintf method to secure snprintf method.
2017-01-07 02:33:46 +00:00
Dr.-Ing. Amilcar Do Carmo Lucas
8419045aea
Spell in comments
2017-01-06 10:57:39 -08:00
Randy Mackay
e497dedf35
AP_Proximity: add MAV type
...
This accepts DISTANCE_SENSOR messages from eight sectors around the vehicle
2016-12-27 08:37:48 +09:00
Randy Mackay
2076da3a72
AP_Proximity: minor comment fix
...
No functional change
2016-12-24 13:55:28 +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