-
Notifications
You must be signed in to change notification settings - Fork 164
Description
Currently, there is was (commented out in #317) a warning about using the fields
parameter, as this is the way to go.
"No params for the Sick S300 fieldset were specified --> will using default, but it's deprecated now, please adjust parameters!!!"
However, this is not properly implemented. The driver only supports one field, which defeates the purpose of this parameter. Also, this parameter is nowhere documented.
EDIT answering @ipa-fxm's question below
To be set in the laser yamls (e.g. here)
Old config (without fields
param):
"New" config (with fields
param and quite some trial-and-error):
fields:
"1":
start_angle: -0.75
stop_angle: 0.0
scale: 1.0
"2":
start_angle: 0.0
stop_angle: 0.75
scale: 1.0
What needs to be done:
- check that the max scan fields is 5 in this file.
- check the numbering in the params in this file
- this
getScan
function seems to only handle the last / one field. However, all configured fields come in one telegram. - the retrieved fields (which can be arbitrary ranges within [-135°, 135°] without overlaps but with gaps) need to be combined correctly to in the
publishLaserScan
function which is not done as well.
All in all, my guess is this feature has been implemented without any tests, has never been used, and probably is even unnecessary.
Implementing this correctly would lead to a full driver covering much of the possibilities of the scanner. However, in ROS, this is imo not required. We can easily get the fields we want without having to configure the scanner by using the cob_scan_filter
(or, prefereably, the laser_filters
).