The SICKLaserServer provides a client-server interface to the SICK
laser scanner. This allows a number of processes to access the data.
Quite a bit of effort has gone into optimising the data transfer from
the SICKLaserServer to its clients. The configuration and
transformations describing the position of the scanner are transferred
separately to the scan data, and only if they have changed.
SICKLaserServer accepts the following command-line arguments.
-0 | -1 | -2 | -3
Specify the serial port to use for serial communications with the
SICK laser scanner. Corresponds to /dev/ttyS[0-3].
-b <baud>
Specify the baud rate to use for serial communications with the
SICK laser scanner.
-C <config>
Use configuration name config. See here for more information about
namespaces.
-d <level>
Specify the debug level. See here
for more information on debugging.
-D <device>
Specify the serial port to use for serial communications with the
SICK laser scanner.
-f <datafile>
Read saved laser scan data from the file datafile and replay it.
-I
Use intensity mode. This provides 3 bits of intensity
information as well as range information. Anything with a positive
intensity reading is likely to be a reflector.
-l
Instead of reading data from the laser scanner, get the data from
another SICKLaserServer. Allows efficient transfer of the laser data
over the wireless network.
-L
Use pull communications with the laser scanner. Periodically
request a new scan from the SICK laser scanner, instead of asking the
SICK to send data continuously.
-n
Use the Nomad XR4000 robot server to get the data, instead of
reading from the SICK directly. Not tested recently.
-N <range_noise>
In simulation mode (see -s and -q arguments), this specifies the
amount of noise to be added or subtracted from range readings, in
metres.
-p <port>
Tell the server to use a particular TCP port number. This is to
allow use of the SICKLaserServer without the NameServer, if so
desired.
-P
Tell the server that the SICK is mounted on top of a pan-tilt
unit. Additional transformations are used. Not tested.
-q <map_file>
Simulate a laser scanner. The file map_file contains a line map
of the environment to be simulated. SICKLaserServer connects to a
server named MobileRobotSimulator to get the position of the robot for
simulation.
-r
Use "Special Robotics Mode" when communicating with the SICK
laser scanner. This uses the three field bits for each reading for
extra range information. Allows maximum range of 32m, instead of 8m.
-R <robot>
Use robot name robot. See here
for more information about namespaces.
-s
Simulate a laser scanner. The default "line.map" file is used
for the line map of the environment to be simulated. SICKLaserServer
connects to a server named MobileRobotSimulator to get the position of
the robot for simulation. See the -q option to specify your own map
file name.
-S <server_name>
Set the name for this server to register with the NameServer
under. Default "LaserServer".
-t <type>
If type is 'l' or 'L', a SICK LMS scanner is assumed (the
default). If type is 'p' or 'P', a SICK PLS scanner is assumed.
-T <min_period>
Specify the minimum period between client data requests. Default
0.3 seconds.