Code Monkey home page Code Monkey logo

sick_scan's Introduction

IMPORTANT: This repository will not be maintained further. The sources have been completely transferred to the repository https://github.com/SICKAG/sick_scan_xd. The repository will be deleted after 12/31/2022 in 2023 without further notice.

sick_scan

This stack provides a ROS driver for the SICK lidar and radar sensors mentioned in the following list. The SICK MRS6124 is a multi-layer, multi-echo 3D laser scanner that is geared towards rough outdoor environments.

Remark

During the last years we have developed different repositories within the driver development with the projects sick_scan, sick_scan2 and sick_scan_base, with which many lidars and radars of our company can be used under ROS1, ROS2 and generically under C++. For harmonization, due to customer requests and to increase clarity, we decided to combine these developments in the future. As a result of this work, at the end of 2021 we have created the repository sick_scan_xd, where we will continue future developments. We recommend using this new repository for development so that you can continue to benefit from our improvements and additions to our drivers.

Table of Contents

Supported Hardware

This driver should work with all of the following products.

ROS Device Driver for SICK lidar and radar sensors - supported scanner types:

device name part no. description tested?
MRS6124 6065086 24 layer max. range: 200 m, ang. resol. 0.13 [deg] hor., 0.0625 [deg] ver. ✔ [stable]
Scan-Rate: 10 Hz
MRS1104 1081208 4 layer max. range: 64 m, ang. resol. 0.25 [deg] hor., 2.50 [deg] ver. ✔ [stable]
Scan-Rate: 50 Hz, 4x12.5 Hz
LMS1104 1092445 1 layer max. range: 64 m, ang. resol. 0.25 [deg] ✔ [stable]
Scan-Rate: 150 Hz, 4x37.5 Hz
TiM240 1104981 1 layer max. range: 10 m, ang. resol. 1.00 [deg], 240 [deg] ✔ [prototype]
Scan-Rate: 14.5 Hz
TiM433 prototype 1 layer range: 0.05 m ... 15 m, ang. resol. 0.33 [deg], 240 [deg] ✔ [prototype]
Scan-Rate: 15.0 Hz
TiM443 prototype 1 layer range: 0.05 m ... 15 m, ang. resol. 0.33 [deg], 240 [deg] ✔ [prototype]
Scan-Rate: 15.0 Hz
TiM551 1060445 1 layer max. range: 10 m, ang. resol. 1.00[deg] ✔ [stable]
Scan-Rate: 15 Hz
TiM561 1071419 1 layer max. range: 10 m, ang. resol. 0.33 [deg] ✔ [stable]
Scan-Rate: 15 Hz
TiM571 1079742 1 layer max. range: 25 m, ang. resol. 0.33 [deg] ✔ [stable]
Scan-Rate: 15 Hz
TiM771S 1105052 1 layer max. range: 25 m, ang. resol. 0.33 [deg] ✔ [stable]
Scan-Rate: 15 Hz
TiM781 1096807 1 layer max. range: 25 m, ang. resol. 0.33 [deg] ✔ [stable]
Scan-Rate: 15 Hz
TiM781S 1096363 1 layer max. range: 25 m, ang. resol. 0.33 [deg] ✔ [stable]
Scan-Rate: 15 Hz
LMS511-10100 PRO e.g. 1046135 1 layer max. range: 80 m, ang. resol. 0.167 [deg] ✔ [stable]
Scan-Rate: 100 Hz
LMS1xx-Family e.g. 1041114 1 layer max. range: 28 m, ang. resol. 0.25 [deg] ✔ [stable]
Scan-Rate: 15 Hz
NAV310 e.g. 1052928 1 layer max. range: 250 m, ang. resol. 0.125 [deg] ✔ [stable]
Scan-Rate: 8 Hz
NAV210+NAV245 e.g. 1074308 1 layer max. range: 100 m, ang. resol. 0.25 [deg] ✔ [stable]
Scan-Rate: 25 Hz
LMS4xxx-Family e.g. 1091423 1 layer max. range: 3 m, ang. resol. 0,0833 [deg] ✔ [stable]
Scan-Rate: 600 Hz
Opening angle: +/- 50 [deg]
RMS3xx 8021530 Radar Sensor ✔ [stable]

IMU Support

Devices of the MRS6xxx and MRS1xxx series are available with an optionally built-in IMU. Further information on the implementation and use of the experimental Imu support can be found on the Imu page.

Start Node

Use the following command to start ROS node:

  • For MRS6124:
roslaunch sick_scan sick_mrs_6xxx.launch
  • For MRS1104:
roslaunch sick_scan sick_mrs_1xxx.launch
  • For LMS1104:
roslaunch sick_scan sick_lms_1xxx.launch
  • For TiM240-prototype:
roslaunch sick_scan sick_tim_240.launch
  • For TiM4xx-family:
roslaunch sick_scan sick_tim_4xx.launch
  • For TiM5xx-family:
roslaunch sick_scan sick_tim_5xx.launch
  • For TiM7xx-family (no safety scanner):
roslaunch sick_scan sick_tim_7xx.launch
  • For TiM7xxS-family (safety scanner):
roslaunch sick_scan sick_tim_7xxS.launch
  • For LMS1xx-family:
roslaunch sick_scan sick_lms_1xx.launch
  • For LMS5xx-family:
roslaunch sick_scan sick_lms_5xx.launch
  • For LMS4xxx-family:
roslaunch sick_scan sick_lms_4xxx.launch
  • For NAV210:
roslaunch sick_scan sick_nav_2xx.launch
  • For NAV245:
roslaunch sick_scan sick_nav_2xx.launch
  • For NAV310:
roslaunch sick_scan sick_nav_3xx.launch
  • For RMS3xx-family:
roslaunch sick_scan sick_rms_3xx.launch (under
opment)

Starting Scanner with Specific Ip Address

To start the scanner with a specific IP address, the launch command can be used for most launch files as follows. The hostname is the ip-address of the scanner:

roslaunch <launch-file> hostname:=<ip-address>

e.g.

roslaunch sick_scan sick_tim_5xx.launch hostname:=192.168.0.71

Start Multiple Nodes

Take the launchfile "sick_tim_5xx_twin.launch" as an example. Rempping the scan and cloud topics is essential to distinguish the scanndata and provide TF information.

Parameter

The use of the parameters can be looked up in the launch files. This is also recommended as a starting point.

Common parameters

  • scanner_type Name of the used scanner. Usually this is also the name of the launch file. This entry is used to differentiate between the various scanner properties within the software code.

  • hostname IP-address of the scanner (default: 192.168.0.1)

  • port IP-port of the scanner (default: 2112)

  • min_ang Start angle in [rad]

  • max_ang End angle in [rad]

  • use_binary_protocol Switch between SOPAS Binary and SOPAS ASCII protocol

  • intensity Enable or disable transport of intensity values

  • intensity_resolution_16bit If true, the intensity values is transferred as 16 bit value. If false, as 8 bit value.

  • min_intensity If min_intensity > 0, all range values in a LaserScan message are set to infinity, if their intensity value is below min_intensity

  • cloud_topic Topic name of the published pointcloud2 data

  • frame_id Frame id used for the published data

Further useful parameters and features

  • timelimit Timelimit in [sec] for max. wait time of incoming sensor reply

  • sw_pll_only_publish If true, the internal Software PLL is fored to sync the scan generation time stamp to a system timestamp

  • Angle compensation: For highest angle accuracy the NAV-Lidar series supports an angle compensation mechanism.

  • Field monitoring: The LMS1xx, LMS5xx, TiM7xx and TiM7xxS families have extended settings for field monitoring.

Sopas Mode

This driver supports both COLA-B (binary) and COLA-A (ASCII) communication with the laser scanner. Binary mode is activated by default. Since this mode generates less network traffic. If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed. This requires a restart of the TCP-IP connection, which can extend the start time by up to 30 seconds. There are two ways to prevent this:

  1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
  2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
  3. Setting "use_binary_protocol" to "False" activates COLA-A and disables COLA-B (default)

Bugs and Feature Requests

  • Stability issues: Driver is experimental for the RMS3xx
  • Sopas protocol mapping: -- All scanners: COLA-B (Binary)
  • Software should be further tested, documented and beautified
  • Setting of "topic" should not be hardcoded to /cloud in the future. This allows the simultaneous operation of several scanners. Each point cloud can then be converted using its own TF transformation.

Tools

Various tools exist in the repository to improve the operation of the scanners. It is also recommended to read the following section "Troubleshooting". Overview of the tools:

  • Search for scanner in the network: Use the Python3 tool "sick_generic_device_finder.py" in the tools/sick_generic_device_finder directory. The tools will output the IP addresses of the connected scanners and some more information about the scanner.
    Call it with python3, i.e. python3 sick_generic_device_finder.py
  • Setting new IP address: With the help of the parameter "new_IP" a new IP address can be assigned when calling the node sick_scan. The launch file sick_new_ip.launch in the launch directory shows an example of how to use this parameter.
  • Converting of pointclouds to images: With the tool pcl_converter.cpp one can convert pointcloud2-data to image. That is especial convenient for 24-layers scanners like the MRS6124.
  • Setting up a brand new scanner: To set up a brand new scanner, it is recommended to use the two tools "sick_generic_device_finder.py" to find the scanner in the network and the launch file sick_new_ip.launch to set a new IP address. If further settings are to be saved that cannot be made via ROS parameters, we recommend using the Windows tool "Sopas ET" from SICK.
  • Unit tests: For a quick unit test after installation without the sensor hardware, a test server is provided to simulate a scanner. See emulator for further details.

Troubleshooting

  1. Check Scanner IP in the launch file.
  2. Check Ethernet connection to scanner with netcat e.g. nc -z -v -w5 $SCANNERIPADDRESS 2112. For further details about setting up the correct ip settings see IP configuration
  3. View node startup output wether the IP connection could be established
  4. Check the scanner status using the LEDs on the device. The LED codes are described in the above mentioned operation manuals.
  5. Further testing and troubleshooting informations can found in the file test/readme_testplan.txt
  6. If you stop the scanner in your debugging IDE or by other hard interruption (like Ctrl-C), you must wait until 60 sec. before the scanner is up and running again. During this time the MRS6124 reconnects twice. If you do not wait this waiting time you could see one of the following messages:
    • TCP connection error
    • Error-Message 0x0d
  7. Amplitude values in rviz: If you see only one color in rviz try the following: Set the min/max-Range of intensity display in the range [0...200] and switch on the intensity flag in the launch file
  8. In case of network problems check your own ip address and the ip address of your laser scanner (by using SOPAS ET).
    • List of own IP-addresses: ifconfig|grep "inet addr"
    • Try to ping scanner ip address (used in launch file)
  9. If the driver stops during init phase please stop the driver with ctrl-c and restart (could be caused due to protocol ASCII/Binary cola-dialect).

FAQ

Support

  • In case of technical support please open a new issue. For optimal support, add the following information to your request:
  1. Scanner model name,
  2. Ros node startup log,
  3. Sopas file of your scanner configuration. The instructions at http://sickusablog.com/create-and-download-a-sopas-file/ show how to create the Sopas file.
  • In case of application support please use https://supportportal.sick.com .
  • Issue Handling: Issues, for which no reply was received from the questioner for more than 7 days, are closed by us because we assume that the user has solved the problem.

Installation

In the following instructions, replace <rosdistro> with the name of your ROS distro (e.g., indigo).

From Binaries

The driver is released at longer intervals as a binary package and can therefore be installed via the package manager. To be able to use all new functions of the driver, the driver should be built from the sources published in this reposity:

sudo apt-get install ros-<rosdistro>-sick-scan

From Source

source /opt/ros/<rosdistro>/setup.bash
mkdir -p ~/ros_catkin_ws/src/
cd ~/ros_catkin_ws/src/
git clone git://github.com/SICKAG/sick_scan.git
cd ..
catkin_make install
source ~/ros_catkin_ws/install/setup.bash

Development branch

A "devel" branch is also maintained for the very latest developments and tests. Add-ons and support for brand new scanners are usually first tested in this branch and can be checked out as needed as follows:

source /opt/ros/<rosdistro>/setup.bash
mkdir -p ~/ros_catkin_ws/src/
cd ~/ros_catkin_ws/src/
git clone -b devel --single-branch git://github.com/SICKAG/sick_scan.git
cd ..
catkin_make install
source ~/ros_catkin_ws/install/setup.bash

Quick Start

roslaunch sick_scan sick_mrs6xxx.launch
rosrun rviz rviz
publish to point cloud

Testing

The sick_scan_test program was developed for testing the driver. This program checks elementary properties of the scanner. In a first implementation stage, the shots per scan are checked. The test program works according to the following principle:

  1. The parameters from an original launch file are read.
  2. These parameters are modified according to the instructions in the test control file.
  3. The modified parameters including all other parameter settings from the original launch file are copied to a test launch file.
  4. The test launch file is started.
  5. The parameters are checked.
  6. The result of the check is transferred to a result file. The basic procedure can be seen in the following figure: Alt text More information about the structure of the individual files in the test run can be found here:

Keywords

MRS1000 MRS1104 LMS1000 LMS1104 MRS6000 MRS6124 RMS3xx RMS320 ROS LiDAR SICK LiDAR SICK Laser SICK Laserscanner SICK Radar LMS1xx MRS1xxx LMS1xxx MRS6xxx TiM5xx TiM551 TiM561 TiM571 TiM781 TiM781S LMS5xx LMS511 NAV210 NAV245 NAV310

Creators

Michael Lehning

on behalf of SICK AG


Lehning Logo

sick_scan's People

Contributors

1r0b1n0 avatar beseetek avatar dniewinski avatar jdb6za avatar lkseng avatar meyerj avatar michael1309 avatar mitchallain avatar rostest avatar saikishor avatar tiagomalheiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sick_scan's Issues

Unable to connect to remote host: Connection refused

Hello,

I'm having trouble getting the driver started
I'm using the MRS6214 and when I try the startup sequence:

source ~/ros_catkin_ws/install/setup.bash
roslaunch sick_scan sick_mrs_6xxx.launch

I get a bunch of errors related to not being able to connect to the scanner.
The scanner works in windows/sopas and is set to binary.
The static IP Address is 169.254.10.247 and is pingable and set in the launchfile in the install folder.

When I use telnet with the port 2112 ( or any port ) I get this error message:
Unable to connect to remote host: Connection refused

I Would really appreciate some help and thank you for the hard work.
Kind regards.

Here is the Launch Error Log:


... logging to /home/mert/.ros/log/32faa446-8a8c-11e8-b505-a402b94d4cfc/roslaunch-mert-hp-4008.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://mert-hp:43115/

SUMMARY

PARAMETERS

  • /rosdistro: melodic
  • /rosversion: 1.14.2
  • /sick_mrs_6xxx/filter_echos: 0
  • /sick_mrs_6xxx/hostname: 169.254.10.247
  • /sick_mrs_6xxx/max_ang: 1.047197333
  • /sick_mrs_6xxx/min_ang: -1.047197333
  • /sick_mrs_6xxx/port: 2112
  • /sick_mrs_6xxx/range_max: 250.0
  • /sick_mrs_6xxx/range_min: 0.1
  • /sick_mrs_6xxx/scanner_type: sick_mrs_6xxx
  • /sick_mrs_6xxx/timelimit: 5

NODES
/
sick_mrs_6xxx (sick_scan/sick_generic_caller)

ROS_MASTER_URI=http://localhost:11311

process[sick_mrs_6xxx-1]: started with pid [4023]
[ INFO] [1531919555.254069396]: sick_generic_caller V. 001.002.004
[ INFO] [1531919555.254113876]: Program arguments: /home/mert/ros_catkin_ws/install/lib/sick_scan/sick_generic_caller
[ INFO] [1531919555.254120863]: Program arguments: __name:=sick_mrs_6xxx
[ INFO] [1531919555.254126256]: Program arguments: __log:=/home/mert/.ros/log/32faa446-8a8c-11e8-b505-a402b94d4cfc/sick_mrs_6xxx-1.log
[ INFO] [1531919555.264481030]: Start initialising scanner ...
1531919555.2852 ERROR: Tcp::open: Failed to open TCP connection to 169.254.10.247, aborting.
[ INFO] [1531919555.286518386]: Parameter setting for <active_echo: 0>
[ INFO] [1531919555.487762772]: Sending : sMN SetAccessMode \x03\xf4\x72\x47\x44
1531919555.4881 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919560.588075899]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919560.588309246]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919560.588619553]: Receiving:
[ERROR] [1531919560.588750416]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode rGD

[ INFO] [1531919560.589169193]: Sending : sMN SetAccessMode 3 F4724744
1531919560.5894 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919565.674493837]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919565.674679380]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919565.674993895]: Receiving:
[ERROR] [1531919565.675117585]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode 3 F4724744

[ERROR] [1531919565.675316904]: Error Access Mode
[ INFO] [1531919565.875951792]: Sending : sWN EIHstCola 1
1531919565.8768 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919570.962011663]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919570.962234894]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919570.962511368]: Receiving:
[ERROR] [1531919570.962677447]: SOPAS Communication -Error unexpected Sopas Answer for request sWN EIHstCola 1

[ERROR] [1531919570.963022872]: Command or Error message not defined
[ERROR] [1531919570.963423426]: Failed to init scanner Error Code: 1
Waiting for timeout...
If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.
This requires a restart of the TCP-IP connection, which can extend the start time by up to 30 seconds. There are two ways to prevent this:

  1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
  2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
    [ INFO] [1531919570.963624697]: Start initialising scanner ...
    1531919570.9637 Warning: Tcp::write: Failed to send data to socket.
    [ERROR] [1531919591.291788207]: no answer received after 20000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919591.292003459]: sendSOPASCommand: no full reply available for read after 20000 ms

SOPAS - Error stopping streaming scan data!
[ WARN] [1531919591.292354916]: Disconnecting TCP-Connection.
sick_scan driver exiting.
1531919591.3688 ERROR: Tcp::open: Failed to open TCP connection to 169.254.10.247, aborting.
[ INFO] [1531919591.369652872]: Parameter setting for <active_echo: 0>
[ INFO] [1531919591.570222409]: Sending : sMN SetAccessMode \x03\xf4\x72\x47\x44
1531919591.5704 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919596.679550839]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919596.679779643]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919596.680097456]: Receiving:
[ERROR] [1531919596.680277886]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode rGD

[ INFO] [1531919596.680751625]: Sending : sMN SetAccessMode 3 F4724744
1531919596.6809 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919601.798979606]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919601.799166075]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919601.799435947]: Receiving:
[ERROR] [1531919601.799548973]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode 3 F4724744

[ERROR] [1531919601.799714836]: Error Access Mode
[ INFO] [1531919602.000323345]: Sending : sWN EIHstCola 1
1531919602.0008 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919607.107489181]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919607.107558892]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919607.107664840]: Receiving:
[ERROR] [1531919607.107772479]: SOPAS Communication -Error unexpected Sopas Answer for request sWN EIHstCola 1

[ERROR] [1531919607.107873752]: Command or Error message not defined
[ERROR] [1531919607.108023517]: Failed to init scanner Error Code: 1
Waiting for timeout...
If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.
This requires a restart of the TCP-IP connection, which can extend the start time by up to 30 seconds. There are two ways to prevent this:

  1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
  2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
    [ INFO] [1531919607.108087595]: Start initialising scanner ...
    1531919607.1081 Warning: Tcp::write: Failed to send data to socket.
    [ERROR] [1531919627.501259120]: no answer received after 20000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919627.501478584]: sendSOPASCommand: no full reply available for read after 20000 ms

SOPAS - Error stopping streaming scan data!
[ WARN] [1531919627.501816551]: Disconnecting TCP-Connection.
sick_scan driver exiting.
1531919627.5669 ERROR: Tcp::open: Failed to open TCP connection to 169.254.10.247, aborting.
[ INFO] [1531919627.567818815]: Parameter setting for <active_echo: 0>
[ INFO] [1531919627.768394657]: Sending : sMN SetAccessMode \x03\xf4\x72\x47\x44
1531919627.7686 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919632.899033507]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919632.899249976]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919632.899673187]: Receiving:
[ERROR] [1531919632.899869936]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode rGD

[ INFO] [1531919632.900283260]: Sending : sMN SetAccessMode 3 F4724744
1531919632.9004 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919637.988197792]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919637.988362691]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919637.988461671]: Receiving:
[ERROR] [1531919637.988519595]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode 3 F4724744

[ERROR] [1531919637.988583583]: Error Access Mode
[ INFO] [1531919638.188817697]: Sending : sWN EIHstCola 1
1531919638.1890 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1531919643.247958756]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919643.248154441]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1531919643.248464719]: Receiving:
[ERROR] [1531919643.248574454]: SOPAS Communication -Error unexpected Sopas Answer for request sWN EIHstCola 1

[ERROR] [1531919643.248731648]: Command or Error message not defined
[ERROR] [1531919643.248952400]: Failed to init scanner Error Code: 1
Waiting for timeout...
If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.
This requires a restart of the TCP-IP connection, which can extend the start time by up to 30 seconds. There are two ways to prevent this:

  1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
  2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
    [ INFO] [1531919643.249096371]: Start initialising scanner ...
    1531919643.2494 Warning: Tcp::write: Failed to send data to socket.
    [ERROR] [1531919663.538088686]: no answer received after 20000 ms. Maybe sopas mode is wrong.

[ERROR] [1531919663.538336646]: sendSOPASCommand: no full reply available for read after 20000 ms

SOPAS - Error stopping streaming scan data!
[ WARN] [1531919663.538698792]: Disconnecting TCP-Connection.
sick_scan driver exiting.
1531919663.6688 ERROR: Tcp::open: Failed to open TCP connection to 169.254.10.247, aborting.
[ INFO] [1531919663.671406449]: Parameter setting for <active_echo: 0>
[ INFO] [1531919663.871700499]: Sending : sMN SetAccessMode \x03\xf4\x72\x47\x44
1531919663.8718 Warning: Tcp::write: Failed to send data to socket.
^C[sick_mrs_6xxx-1] killing on exit
1531919668.9829 Warning: Tcp::write: Failed to send data to socket.
1531919674.2948 Warning: Tcp::write: Failed to send data to socket.
1531919679.3635 Warning: Tcp::write: Failed to send data to socket.
[sick_mrs_6xxx-1] escalating to SIGTERM
shutting down processing monitor...
... shutting down processing monitor complete
done

Displaying MRS1xxx Pointcloud2 and Laserscan-Messages in rviz

With the MRS1xxx the Pointcloud2 is published under the topic "laser". For debugging purposes, the data of the different elevation angles and echoes are also published as separate laser scan messages. To display this data in rviz, the launch file test_003_mrs1xxx_tf_show.launch was created as an example.
In the example in the launch file, the origin for the laser scan messages is moved 5m in X direction for better visibility. Each elevation angle is also displayed at a distance of 1m. This is intended as a purely debug help and does not correspond to a physical representation. It should be noted that the elevation angles 2.5°,-2.5°,-5° span a cone as a laser scan and do not lie on a spatial plane. It is therefore strongly recommended to use the Pointcloud2 message for algorithm development, as correct 3D measuring points are exported here.

You can find an example screenshot in the attachment. For a better setup you can extract the rviz-Config-file from the zip-file and load this into rviz.

rviz_screenshot

multilayer_demo.zip

ERROR with MRS1XXXX

Hi guys,

I have this error if I start the launch file:

[ INFO] [1515076997.947821166]: sick_generic_caller V. 001.000.000
[ INFO] [1515076997.947862275]: Program arguments: /home/ilja/017_sick_ws/devel/lib/sick_scan/sick_generic_caller
[ INFO] [1515076997.947875709]: Program arguments: __name:=sick_mrs_1xxx
[ INFO] [1515076997.947885039]: Program arguments: __log:=/home/ilja/.ros/log/a046d38e-f159-11e7-a1a3-00055d09d397/sick_mrs_1xxx-1.log
[ INFO] [1515076997.971388806]: Waiting 5 seconds for device to connect.
[ INFO] [1515076997.971730968]: Succesfully connected to 192.168.1.55:2111
[ INFO] [1515076997.972407794]: Parameter setting for <active_echo: 0>
[ INFO] [1515076997.972534838]: Sending : sMN SetAccessMode 3 F4724744
[ INFO] [1515076997.975378463]: Receiving: sAN SetAccessMode 1
[ INFO] [1515076997.975438278]: Sending : sMN LMCstopmeas
[ INFO] [1515076997.999387585]: Receiving: sAN LMCstopmeas 0
[ INFO] [1515076997.999464507]: Sending : sWN SetActiveApplications 1 FEVL 0
[ INFO] [1515076998.000134267]: Receiving: sWA SetActiveApplications
[ INFO] [1515076998.000197227]: Sending : sWN SetActiveApplications 1 RANG 1
[ INFO] [1515076998.001052662]: Receiving: sWA SetActiveApplications
[ INFO] [1515076998.001113753]: Sending : sRI 0
[ INFO] [1515076998.002140249]: Receiving: sRA DeviceIdent 8 MRS1xxxx 8 1.3.0.0R
[ INFO] [1515076998.002200203]: Sending : sRN SerialNumber
[ INFO] [1515076998.003320055]: Receiving: sRA SerialNumber 8 17470011
[ INFO] [1515076998.003374157]: Deviceinfo sRA DeviceIdent 8 MRS1xxxx 8 1.3.0.0R found and supported by this driver.
[ INFO] [1515076998.003416951]: Sending : sRN FirmwareVersion
[ INFO] [1515076998.004436720]: Receiving: sRA FirmwareVersion 9 V 1.3.0.0
[ INFO] [1515076998.004501858]: Sending : sRN SCdevicestate
[ INFO] [1515076998.005580743]: Receiving: sRA SCdevicestate 2
[ERROR] [1515076998.005639405]: Laser reports error state : sRA SCdevicestate 2
[ERROR] [1515076999.006802088]: sendSOPASCommand: failed attempt to read from socket: 125: Operation canceled
[ERROR] [1515076999.006855579]: sendSOPASCommand: no full reply available for read after 1s
[ERROR] [1515076999.006890173]: SOPAS - Error rebooting scanner
[ INFO] [1515076999.006966029]: Sending : sRN ODoprh
[ERROR] [1515076999.006984847]: sendSOPASCommand: socket not open
[ INFO] [1515076999.007028953]: Receiving:
[ERROR] [1515076999.007052371]: SOPAS Communication -Error unexpected Sopas Answer for request sRN ODoprh

[ERROR] [1515076999.007076984]: Error reading operation hours
[ INFO] [1515076999.007131312]: Sending : sRN ODpwrc
[ERROR] [1515076999.007152344]: sendSOPASCommand: socket not open
[ INFO] [1515076999.007183658]: Receiving:
[ERROR] [1515076999.007204944]: SOPAS Communication -Error unexpected Sopas Answer for request sRN ODpwrc

[ERROR] [1515076999.007234094]: Error reading operation power on counter
[ INFO] [1515076999.007287398]: Sending : sRN LocationName
[ERROR] [1515076999.007307739]: sendSOPASCommand: socket not open
[ INFO] [1515076999.007339295]: Receiving:
[ERROR] [1515076999.007359976]: SOPAS Communication -Error unexpected Sopas Answer for request sRN LocationName

[ERROR] [1515076999.007387786]: Error reading Locationname
[ WARN] [1515076999.007421179]: Location command not supported.

[ INFO] [1515076999.008342175]: Sending : sRN LMPoutputRange
[ERROR] [1515076999.008366846]: sendSOPASCommand: socket not open
[ INFO] [1515076999.008402680]: Receiving:
[ERROR] [1515076999.008425305]: SOPAS Communication -Error unexpected Sopas Answer for request sRN LMPoutputRange

[ INFO] [1515076999.008464262]: MIN_ANG: -2.400 [rad] -137.500 [deg]
[ INFO] [1515076999.008488861]: MAX_ANG: 2.400 [rad] 137.500 [deg]
[ INFO] [1515076999.008542727]: Sending : sWN LMPoutputRange 1 9C4 FFF8C088 22B6B8
[ERROR] [1515076999.008563299]: sendSOPASCommand: socket not open
[ INFO] [1515076999.008602658]: Receiving:
[ERROR] [1515076999.008624005]: SOPAS Communication -Error unexpected Sopas Answer for request sWN LMPoutputRange 1 9C4 FFF8C088 22B6B8

[ INFO] [1515076999.008677604]: Sending : sRN LMPoutputRange
[ERROR] [1515076999.008698474]: sendSOPASCommand: socket not open
[ INFO] [1515076999.008736688]: Receiving:
[ERROR] [1515076999.008757165]: SOPAS Communication -Error unexpected Sopas Answer for request sRN LMPoutputRange

[ INFO] [1515076999.008814783]: Sending : sWN LMDscandatacfg 07 00 1 0 0 00 00 0 0 0 0 1
[ERROR] [1515076999.008835590]: sendSOPASCommand: socket not open
[ INFO] [1515076999.008868760]: Receiving:
[ERROR] [1515076999.008889595]: SOPAS Communication -Error unexpected Sopas Answer for request sWN LMDscandatacfg 07 00 1 0 0 00 00 0 0 0 0 1

[ INFO] [1515076999.009476326]: Sending : sWN FREchoFilter 1
[ERROR] [1515076999.009500138]: sendSOPASCommand: socket not open
[ INFO] [1515076999.009534967]: Receiving:
[ERROR] [1515076999.009557541]: SOPAS Communication -Error unexpected Sopas Answer for request sWN FREchoFilter 1

[ INFO] [1515076999.009620557]: Sending : sMN LMCstartmeas
[ERROR] [1515076999.009641957]: sendSOPASCommand: socket not open
[ INFO] [1515076999.009676373]: Receiving:
[ERROR] [1515076999.009696971]: SOPAS Communication -Error unexpected Sopas Answer for request sMN LMCstartmeas

[ INFO] [1515076999.009748052]: Sending : sMN Run
[ERROR] [1515076999.009768864]: sendSOPASCommand: socket not open
[ INFO] [1515076999.009800831]: Receiving:
[ERROR] [1515076999.009818613]: SOPAS Communication -Error unexpected Sopas Answer for request sMN Run

[ INFO] [1515076999.009868467]: Sending : sRN SCdevicestate
[ERROR] [1515076999.009884193]: sendSOPASCommand: socket not open
[ INFO] [1515076999.009903973]: Receiving:
[ERROR] [1515076999.009916288]: SOPAS Communication -Error unexpected Sopas Answer for request sRN SCdevicestate

[ INFO] [1515076999.009949832]: STATE:

[ INFO] [1515076999.009967064]: Waiting for scanner ready state since 0 secs
[ INFO] [1515077000.010123397]: Sending : sRN SCdevicestate
[ERROR] [1515077000.010148778]: sendSOPASCommand: socket not open
[ INFO] [1515077000.010189941]: Receiving:
[ERROR] [1515077000.010200525]: SOPAS Communication -Error unexpected Sopas Answer for request sRN SCdevicestate

Does anybody have an idea?

Best regards,
Ilja

ERROR in: sudo apt-get install ros-<rosdistro>-sick_scan

this command is wrong, when you run

apt search ros-ROS_DISTRO

for the distro melodic it returns the package as sick-scan and not sick_scan, as a result this command only works as:

sudo apt-get install ros-melodic-sick-scan

there are also several errors that come up as a result, I'm assuming, where ROS cannot launch the drivers either as sick_scan or sick-scan while following the quick-start guide

package_listing_melodic

Multiple sick tim 561 with the same ip address have mismatched data

Hi, I have nine sick tim 561 on nine mobile robots, one on each. At first, I configured all these nine lidars with the same IP address 192.168.1.1 with SOPAS, so I can have the same launch file for all these nine robots. However, when I started these nine robots, I found lidar #1 detected points obviously from another lidar #2. And this happened for all lidars.

Is it because of my mis-configuration, or is it common sense to avoid the same local ip address for sick tim lidars under one router?

Thanks.

Devel and master branch do not work with MRS1104C

I have MRS1104C-111011 with software version – V1.4.0.0R. It works with SOPAS correctly.

If I use this driver of release version 0.0.13, it starts with warnings and errors but works correctly. I actually read in previous issues that it is because the MRS1xxx does not support some legacy commands.

If I use the master branch, I have an error every time “Timeout during waiting for new datagram” and don’t get data on topics. I tried to change settings of this driver, reboot the lidar and increase timeout but every time have the same error. Maybe I have to change some other settings or change settings on MRS1104C.

If I use the devel branch, it sometimes starts correctly, but sometimes crashes while starting.

Here is the output of driver for each version of the driver.
v 0.0.13: v0013.txt
master: branch-master.txt
devel: branch-devel.txt

Using ROS node name to define lidar type

The issue in a nutshell is that the ROS node name is being used to specify the type of laser that sick_generic_caller is connecting to.

Given the provided launch file, everything works as expected with 1 lidar ...

<launch>
<node name="sick_tim_5xx" pkg="sick_scan" type="sick_generic_caller">
#Parameters
</node>
</launch>

The issue arises when we want to run multiple of the same type. The standard way to configure multiple ros nodes (and avoid using the discouraged anonymous parameter), is by changing this node name such that each node name is unique.

<launch>
<node name="sick_tim_5xx_1" pkg="sick_scan" type="sick_generic_caller">
#Parameters
</node>
<node name="sick_tim_5xx_2" pkg="sick_scan" type="sick_generic_caller">
#Parameters
</node>
</launch>

The above approach however will fail with the error Scanner not supported. Instead, the type of laser that that the caller is attempting to connect to, should be specified in a ros parameter and not using the node name. Alternatively, there could be multiple nodes, 1 for each type of laser.

PointCloud2 data has to much information

Firstly I want to say thank you for your work. I have been using your repository with the MRS6000 SICK LiDAR with no issues for the past few weeks.

My issue arose when I wanted to transform the LiDAR data from my laser frame to my map frame it was taking approximately 0.4 seconds on my system. I noticed that when I used ROS's readPoints function located at /ros/lunar/lib/python2.7/dist-packages/sensor_msgs that it returned 88704 points instead of 22176 points. After further investigation I found that the height listed on the PointCloud2 message is 96 not 24, 4 times larger which results in 4 times as many points as expected.

Is the PointCloud2 message returning the same set of points 4 times? Or does each set of points represent something different, e.g. echos?

I created a work around where I created my own readPoints function where i changed

for v in range(height):

to

for v in range(0,height,4):

Will this effect the quality of the data I am receiving?

sRN STlms

the following command:

sRN STlms
sRA STlms 3 0 8 01:21:53 A 01.01.1970 0 0 0

i get the laser status is "3", i look up your readme

Undefined: 0
Initialization: 1
Configuration: 2
Lower case: 3
Rotating: 4
In preparation: 5
Ready: 6
Measurement active: 7

i want to know about 3(Lower case) ? why does laser ouput status 3?

i look forward your reply

SICK MRS6124 header stamp is in the future

Hi Developer,

I am using ros Kinetic Kame and have installed the debian package for this using

sudo apt-get install ros-kinetic-sick-scan

and am experiencing that the PointCloud2 message that is produced is on average 4300 seconds in the future? The issue is when using a static_transform_publisher from the tf library to provide the transform from laser->base_link, i receive this error

Transform [sender=unknown_publisher]
For frame [laser_link]: No transform to fixed frame [base_link]. TF error: [Lookup would require extrapolation into the future. Requested time 1563407610.392146348 but the latest data is at time 1563404409.628742959, when looking up transform from frame [laser_link] to frame [base_link]]

I wrote a quick analysis node to test the time differences and there is a huge difference between the PointCloud2 message and ros::Time::now(). When I republish the message with the correct time stamp, the visualization is correct from the base_link frame.

#include <ros/ros.h>
#include <sensor_msgs/PointCloud2.h>

ros::Publisher cloud_pub;

void publisher_analysis(const sensor_msgs::PointCloud2::ConstPtr& msg){
    ros::Time msg_time = msg->header.stamp;
    ros::Time now = ros::Time::now();
    ros::Duration diff = now - msg_time;
    ROS_INFO("msg: %f\tnow: %f\tDifference %f",msg_time.toSec(), now.toSec(), diff.toSec() );
    sensor_msgs::PointCloud2 new_msg = *msg;
    new_msg.header.stamp = ros::Time::now();
    cloud_pub.publish(new_msg);
}

int main(int argc, char** argv){
    ros::init(argc, argv, "analysis_tool");
	ros::NodeHandle n;

    ros::Subscriber subs = n.subscribe<sensor_msgs::PointCloud2>("/cloud", 10, &publisher_analysis);
    cloud_pub = n.advertise<sensor_msgs::PointCloud2>("/cloud_corrected", 10);
    ros::spin();
}

Here is a sample terminal message to demonstrate the readout I am experiencing

[ INFO] [1563407656.560052456]: msg: 1563411944.716735  now: 1563407656.559996  Difference -4288.156739
[ INFO] [1563407656.661517240]: msg: 1563411966.456520  now: 1563407656.661473  Difference -4309.795047
[ INFO] [1563407656.762293701]: msg: 1563411984.364266  now: 1563407656.762240  Difference -4327.602026
[ INFO] [1563407656.858648356]: msg: 1563411919.840781  now: 1563407656.858621  Difference -4262.982160
[ INFO] [1563407656.965505452]: msg: 1563411902.182181  now: 1563407656.965480  Difference -4245.216702
[ INFO] [1563407657.062846706]: msg: 1563411964.189110  now: 1563407657.062805  Difference -4307.126304

Perhaps my LIDAR has an old setting? or perhaps there is a firmware update? (you said in another issue that the first beam of every scan would fix an issue in Q1 of 2019 update)

I don't want to submit a fix to the source as I am not sure how the overall source works. To fix my problem I added

cloud_.header.stamp = ros::Time::now();

to line 3337 of sick_scan_common.cpp

Tim561-20500101: "The time_increment, scan_time and angle_increment values reported by the scanner are inconsistent! "

[ WARN] [1529475586.849910849]: The time_increment, scan_time and angle_increment values reported by the scanner are inconsistent! Expected time_increment: 0.000185185, reported time_increment: 0.000061728. Perhaps you should set the parameter time_increment to the expected value. This message will print every 60 seconds.

Tim561-20500101 running with "sick_tim_5xx.launch", it's turn out to be a 1° laser_sacn msg returned, wasn't the expected 0.33° laser_sacn msg.

this [WARN] didn't dispear, until you added <param name="time_increment" type="double" value="0.000185185" /> to launch file.

no answer received after 2000 ms. Maybe sopas mode is wrong.

Hi, I'm trying to use the driver for mrs6124, but roslaunch gives the error as below:

[ INFO] [1522075082.550742490]: Start initialising scanner ...
[ INFO] [1522075082.584104032]: Parameter setting for <active_echo: 0>
[ INFO] [1522075082.784523439]: Sending  : sMN SetAccessMode \x03\xf4\x72\x47\x44
[ERROR] [1522075084.806660905]: no answer received after 2000 ms. Maybe sopas mode is wrong.

[ERROR] [1522075084.806721003]: sendSOPASCommand: no full reply available for read after 1s
[ INFO] [1522075084.806823203]: Receiving: <STX><ETX>
[ERROR] [1522075084.806858226]: SOPAS Communication -Error unexpected Sopas Answer for request <STX><STX><STX><STX>sMN SetAccessMode <ETX>rGD

[ INFO] [1522075084.806980677]: Sending  : sMN SetAccessMode 3 F4724744
[ INFO] [1522075084.817277696]: Receiving: <STX>sAN SetAccessMode 1<ETX>
[ INFO] [1522075085.017781561]: Sending  : sWN EIHstCola 1
[ INFO] [1522075085.028183130]: Receiving: <STX>sWA EIHstCola<ETX>
[FATAL] [1522075085.028697912]: Failed to init scanner: 1
[ INFO] [1522075085.028967663]: Start initialising scanner ...

I'm quite new with sick sensors. Is there a option where I can change sopas mode as the error message suggests?

Thanks

Melodic Release

We are moving our development over to Melodic and we would like to be able to use a binary version of this driver. Any ETA on a release for Melodic?

False laser data

I am using SICK LMS101 and sick_lms_1xx node to read laser data. However, i am getting false data towards the left side of the SICK sensor as shown in the image.
Screenshot from 2019-09-10 10-22-49

I am using the following configuration:

<node name="sick_lms_1xx" pkg="sick_scan" type="sick_generic_caller" respawn="false">
    <param name="intensity" type="bool" value="False" />
    <param name="intensity_resolution_16bit" type="bool" value="false" />
    <param name="min_ang" type="double" value="-1.658" />
    <param name="max_ang" type="double" value="1.658" />
    <param name="frame_id" type="str" value="$(arg sick_laser_frame_id)" />
    <param name="use_binary_protocol" type="bool" value="false" />
    <param name="scanner_type" type="string" value="sick_lms_1xx"/>
    <param name="range_max" type="double" value="18.0" />
    <param name="range_min" type="double" value="0.5" />
    <param name="hostname" type="string" value="$(arg ip_sick)" />
    <param name="port" type="string" value="2112" />
    <param name="timelimit" type="int" value="1" />
</node>

LMS-111 Error: Sopas answer mismatch (sWNLMPoutputRange)

Hi,

I'm trying to use the driver with a LMS-111. When launching the first time after a power-down I always get this error:

[ERROR] [1560261863.146976851][/sick_left_lms111_driver][/tmp/binarydeb/ros-melodic-sick-scan-0.0.16/driver/src/sick_scan_common.cpp:751]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX>sWNLMPoutputRange 1 1388 FFF24460 2932E0<ETX>Answer= >>>sFA 4<<<

When I restart the node without powering off in between the error doesn't appear again. It only occurs when launched the first time.

The launch file I use looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<launch>
  <arg name="host" />
  <arg name="frame_id" />
  <arg name="name" default="sick_lms111_driver" />
  <arg name="topic" default="scan_raw" />

  <node name="$(arg name)" pkg="sick_scan" type="sick_generic_caller">
    <param name="frame_id" type="str" value="$(arg frame_id)" />
    <param name="use_binary_protocol" type="bool" value="False" />
    <param name="scanner_type" type="string" value="sick_lms_1xx"/>
    <param name="range_max" type="double" value="20.0" />
    <param name="hostname" type="string" value="$(arg host)" />
    <param name="port" type="string" value="2112" />
    <param name="timelimit" type="int" value="5" />

    <remap from="scan" to="$(arg topic)" />
  </node>
</launch>

I've checked and the output on that port 2112 should be set to ASCII mode.

Do you know what could be causing this error?

Best,
Jacob

Error after closing the node

Hi,
i am experiencing a random error sometimes when i close the node.
i'm using 2 nodes for 2 lms151 lasers on a mobile platform, sometimes after i close the nodes i cannot open them anymore and my computer cannot communicate anymore with both the lasers.
If i check ifconfig i see that the communication is still active and that the packages are being dropped as errors.
After the error occurs i cannot ping the lasers and dmesg shows me :"igb 0000:01:00.1 eth2: malformed Tx packet detected and dropped, LVMMC:0xffffffff""
After this i reboot the computer and everything goes back to normal.
I run the nodes as superuser cause they are part of a biggen launchfile in which i need to be superuser.
Thanks for the help.

Read Lidar fingerprint

Dear SICK Team,

thanks for creating this driver. I want to read a finger print of the sick configuration and SICK Firmware that is running on the scanner. Do you see any way how I can get this information out of your system from the ROS side or any other communication?
I want to use this information to create a system fingerprint with all the configurations that are running at the moment on my system.

Kind regards
Tobias

Field breach feature not working in MRS1104c

I made an application in SOPAS tool for generating an output on i/o pins of laser whenever a field breach happens in a pre-defined field. It works fine when i start the laser. But whenever if i launch the ros package of the scanner, the package works but the breach feature is not working.

Is there anyway to check encoder value from ROS LMS1xx & LMS5xx?

Hello, I'm currently using LMS151 with rotary encoder connected for the project.

Telegram Listing shows I can get the amount of encoder, speed, and position.

The problem is I can't find where to get this data from the code. Can you give me a hint?

Thanks

Auto detect ethernet

Am currently using a Sick_Tim 571. Each time I restart the robot, I'd have to unplug and plug back in the ethernet to my computer, select the ethernet connection in Network Manager before I can get it working. Is there something like a udev rule I can have to ensure that I can run the sick lidar on start up?

I am on Ros Kinetic and the connection to my laptop is via a usb-ethernet adapter

Linux Release of SOPAS ET

I know this isn't directly related to this driver, but it was the easiest way to contact you regarding this issue. Any chance there will be a Linux release of the SOPAS Engineering Tool?

/cloud topic missing multiple echo data with SICK MRS1000

When launching SICK MRS1000 scanner with
roslaunch sick_scan test_003_mrs1xxx_tf_show.launch
I am able to see data from all the echoes (parsed from /scan topic) but the data from later (2nd and 3rd) echoes is not present in the /cloud topic. I guess the later echoes should be also in /cloud topic because the topic data has place for the later echoes (size of /cloud/data is three times bigger with "filter_echoes=1" than if getting just first echo with "filter_echoes=0"). The problem seems to be that the x,y,z values are for some reason always zero.

Nodelet

I was wondering if there has been any work completed to implement this package in nodelet form? As it stands it isn't super practical to use the current implementation.

Cheers!

Failed to connect to 192.168.0.4:2112

Hello, I am using MRS1000 SICK Laser on ROS on Ubuntu.
I set the ip address as 192.168.0.4 and netmask as 255.255.255.0 in System setting>>Network.
Use Ethernet to connect with LiDAR.
But it didn't work.

SOPAS - Error stopping streaming scan data!
sick_scan driver exiting.
[ INFO] [1517387043.694532699]: Waiting 5000 seconds for device to connect.
[ERROR] [1517387043.694580180]: Failed to connect to 192.168.0.4:2112
[FATAL] [1517387043.694595424]: Could not connect to host 192.168.0.4:2112
[FATAL] [1517387043.694615298]: Failed to init device: 1
[ERROR] [1517387043.694646521]: write error for command: �sEN LMDscandata 0�

What's wrong? Could you please help me?

A possible mistake about parse code

In sick_scan_common.cpp, line 3109. I think it should be
elevationAngleDegree = -elevationAngleDegree / 180.0 * M_PI instead of
elevationAngleDegree = elevationAngleDegree / 180.0 * M_PI
for the calculation after it.
If not, the present code recognize MRS1104 scanner's 4 lines as -2.5, 0, 2.5 and 5 degree, which is not correspond to its documents(-5, -2.5, 0 and 2.5 degree).

What is the most recommended SLAM package to use on MRS1xxx LiDAR?

I want to be able to use SLAM to map an area, save the map with the capability of restoring it at anytime, and ultimately tell my robot (which contains encoder-based servo motors ) to drive to a specific location in the map itself.

I previously tampered with a turtlebot3 and its SLAM capabilities, and i was wondering if there exists a package that best offers these functionalities for the LiDAR.

Error unexpected Sopas answer for request sWN SetActiveApplications

Hi everyone i just received the mrs1000 LiDAR and i'm having some problems. I'm running the launch file by entering: roslaunch sick_scan sick_mrs_1xxx.launch but i'm facing quite a bit of errors. Could you please help me?

Here is the behavior within my terminal:

ros-vm@ROS-vm:~/catkin_ws/src/sick_scan/launch$ roslaunch sick_scan sick_mrs_1xxx.launch
... logging to /home/ros-vm/.ros/log/c477f7dc-7bbb-11e8-beb2-0800274a3ab6/roslaunch-ROS-vm-2325.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro.py is deprecated; please use xacro instead
started roslaunch server http://localhost:39475/

SUMMARY

PARAMETERS

  • /robot_description: <?xml version="1....
  • /rosdistro: melodic
  • /rosversion: 1.14.2
  • /sick_mrs_1xxx/hostname: 192.168.0.1
  • /sick_mrs_1xxx/intensity_resolution_16bit: False
  • /sick_mrs_1xxx/max_ang: 2.3998277
  • /sick_mrs_1xxx/min_ang: -2.3998277
  • /sick_mrs_1xxx/port: 2112
  • /sick_mrs_1xxx/scanner_type: sick_mrs_1xxx
  • /sick_mrs_1xxx/timelimit: 5

NODES
/
sick_mrs_1xxx (sick_scan/sick_generic_caller)

ROS_MASTER_URI=http://localhost:11311

process[sick_mrs_1xxx-1]: started with pid [2343]
[ INFO] [1530290727.003895157]: sick_generic_caller V. 001.002.001
[ INFO] [1530290727.003985764]: Program arguments: /home/ros-vm/catkin_ws/devel/lib/sick_scan/sick_generic_caller
[ INFO] [1530290727.004012680]: Program arguments: __name:=sick_mrs_1xxx
[ INFO] [1530290727.004029852]: Program arguments: __log:=/home/ros-vm/.ros/log/c477f7dc-7bbb-11e8-beb2-0800274a3ab6/sick_mrs_1xxx-1.log
[ INFO] [1530290727.016150117]: Start initialising scanner ...
[ INFO] [1530290727.043051528]: Parameter setting for <active_echo: 0>
[ INFO] [1530290727.243853840]: Sending : sMN SetAccessMode \x03\xf4\x72\x47\x44
[ INFO] [1530290727.255578714]: Receiving: sAN SetAccessMode \x01
[ INFO] [1530290727.458298011]: Sending : sWN EIHstCola \x01
[ INFO] [1530290727.469194857]: Receiving: sWA EIHstCola
[ INFO] [1530290727.670414146]: Sending : sMN LMCstopmeas
[ INFO] [1530290727.703497948]: Receiving: sAN LMCstopmeas \x00
[ INFO] [1530290727.904011287]: Sending : sWN SetActiveApplications \x01\x20\x46\x45\x56\x4c\x20\x00
[ INFO] [1530290727.916623526]: Receiving: sFA\x00\x45
[ERROR] [1530290727.916850355]: Error Sopas answer mismatch Error unexpected Sopas Answer for request "sWN SetActiveApplications FEVL 5Answer= >>>sFA\x00\x45<<<

[ERROR] [1530290727.917062333]: Command or Error message not defined
[ INFO] [1530290728.118791900]: Sending : sWN SetActiveApplications \x01\x20\x52\x41\x4e\x47\x20\x01
[ INFO] [1530290728.131115200]: Receiving: sFA\x00\x45
[ERROR] [1530290728.131560221]: Error Sopas answer mismatch Error unexpected Sopas Answer for request "sWN SetActiveApplications RANG 7Answer= >>>sFA\x00\x45<<<

[ERROR] [1530290728.131687105]: Command or Error message not defined
[ INFO] [1530290728.332318527]: Sending : sRI 0
[ INFO] [1530290728.343563829]: Receiving: sFA\x00\x03
[ERROR] [1530290728.343697775]: Error Sopas answer mismatch Error unexpected Sopas Answer for request sRI 0xAnswer= >>>sFA\x00\x03<<<

[ERROR] [1530290728.343803174]: Error reading device ident
[ INFO] [1530290728.544384533]: Sending : sRN SerialNumber
[ INFO] [1530290728.554818372]: Receiving: sRA SerialNumber \x00\x08\x31\x37\x34\x35\x30\x30\x32\x33
[ WARN] [1530290728.554976773]: Device ??? V-1.-1 found and maybe unsupported by this driver.
[ WARN] [1530290728.555022895]: Full SOPAS answer: Command or Error message not defined
[ INFO] [1530290728.756571314]: Sending : sRN FirmwareVersion
[ INFO] [1530290728.767168275]: Receiving: sRA FirmwareVersion \x00\x09\x56\x20\x31\x2e\x33\x2e\x31\x2e\x30
[ INFO] [1530290728.967667563]: Sending : sRN SCdevicestate
[ INFO] [1530290728.978611015]: Receiving: sRA SCdevicestate \x00
[ INFO] [1530290729.179266167]: Sending : sRN ODoprh
[ INFO] [1530290729.189693093]: Receiving: sRA ODoprh \x00\x00\x00\xf8
[ INFO] [1530290729.391517477]: Sending : sRN ODpwrc
[ INFO] [1530290729.401865706]: Receiving: sRA ODpwrc \x00\x00\x00\x02
[ INFO] [1530290729.604090387]: Sending : sRN LocationName
[ INFO] [1530290729.615077248]: Receiving: sRA LocationName \x00\x0b\x53\x4e\x20\x31\x37\x34\x35\x30\x30\x32\x33
[sick_mrs_1xxx-1] process has died [pid 2343, exit code -11, cmd /home/ros-vm/catkin_ws/devel/lib/sick_scan/sick_generic_caller __name:=sick_mrs_1xxx __log:=/home/ros-vm/.ros/log/c477f7dc-7bbb-11e8-beb2-0800274a3ab6/sick_mrs_1xxx-1.log].
log file: /home/ros-vm/.ros/log/c477f7dc-7bbb-11e8-beb2-0800274a3ab6/sick_mrs_1xxx-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
ros-vm@ROS-vm:~/catkin_ws/src/sick_scan/launch$

No IMU values posted to topic /imu

Hello, I am trying to SLAM using the IMU values ​​provided by my SICK MRS1000 sensor, but when I run "rostopic echo /imu", no data is posted in this topic. My SOPAS setting is set to ranging, RSSI parameter is enabled, communication is set to binary.
I added these parameters to my node:

I'm trying to use gmapping node but without the IMU values it's not possible.
Thanks for help

LMS511-20100 PRO compatibility

I am trying to use this driver with the LMS511-20100 PRO device.

  • I have verified that the firmware is recent enough (v1.80.1, which is enough according to the telegram listing p. 6)
  • The SOPAS ET also shows the scans

However, the ROS node only manages to exchange configuration data with the sensor, the connection times out while waiting for the Scan data.

started roslaunch server http://carrera-Inspiron-3470:37347/

SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /sick_lms_5xx/frame_id: cloud
 * /sick_lms_5xx/hostname: 192.168.178.75
 * /sick_lms_5xx/intensity: True
 * /sick_lms_5xx/intensity_resolution_16bit: False
 * /sick_lms_5xx/max_ang: 1.658062789
 * /sick_lms_5xx/min_ang: -1.658062789
 * /sick_lms_5xx/port: 2112
 * /sick_lms_5xx/range_max: 100.0
 * /sick_lms_5xx/scanner_type: sick_lms_5xx
 * /sick_lms_5xx/timelimit: 5
 * /sick_lms_5xx/use_binary_protocol: True

NODES
  /
    sick_lms_5xx (sick_scan/sick_generic_caller)

auto-starting new master
process[master]: started with pid [27064]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 80cd4df8-98bf-11e9-a466-7440bb669aff
process[rosout-1]: started with pid [27077]
started core service [/rosout]
process[sick_lms_5xx-2]: started with pid [27080]
[ INFO] [1561628388.635597677]: sick_generic_caller V. 001.003.018
[ INFO] [1561628388.635702190]: Program arguments: /home/carrera/ros_workspace/devel/lib/sick_scan/sick_generic_caller
[ INFO] [1561628388.635741878]: Program arguments: __name:=sick_lms_5xx
[ INFO] [1561628388.635766187]: Program arguments: __log:=/home/carrera/.ros/log/80cd4df8-98bf-11e9-a466-7440bb669aff/sick_lms_5xx-2.log
[ INFO] [1561628388.687573896]: Found sopas_protocol_type param overwriting default protocol:
[ INFO] [1561628388.687649963]: Binary protocol activated
[ INFO] [1561628388.687687535]: Start initialising scanner [Ip: 192.168.178.75] [Port: 2112]
[ INFO] [1561628388.754458974]: Publishing laserscan-pointcloud2 to cloud
[ INFO] [1561628388.771312146]: Parameter setting for <active_echo: 0>
[ INFO] [1561628388.972265947]: Sending  : <STX><STX><STX><STX><Len=0023>sMN SetAccessMode 0x03 0xf4 0x72 0x47 0x44 CRC:<0xb3>
[ INFO] [1561628388.977205522]: Receiving: <STX>sAN SetAccessMode \x01<ETX>
[ INFO] [1561628389.177832408]: Sending  : <STX><STX><STX><STX><Len=0015>sWN EIHstCola 0x01 CRC:<0x09>
[ INFO] [1561628389.180351792]: Receiving: <STX>sWA EIHstCola <ETX>
[ INFO] [1561628389.380970419]: Sending  : <STX><STX><STX><STX><Len=0019>sRN FirmwareVersion CRC:<0x24>
[ INFO] [1561628389.383774925]: Receiving: <STX>sRA FirmwareVersion \x00\x09\x56\x31\x2e\x38\x30\x2e\x31\x20\x20<ETX>
[ INFO] [1561628389.584454158]: Sending  : <STX><STX><STX><STX><Len=0017>sRN SCdevicestate CRC:<0x30>
[ INFO] [1561628389.587045913]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[ INFO] [1561628389.787704937]: Sending  : <STX><STX><STX><STX><Len=0010>sRN ODoprh CRC:<0x41>
[ INFO] [1561628389.790249458]: Receiving: <STX>sRA ODoprh \x00\x00\x02\xe4<ETX>
[ INFO] [1561628389.992744883]: Sending  : <STX><STX><STX><STX><Len=0010>sRN ODpwrc CRC:<0x52>
[ INFO] [1561628389.995109682]: Receiving: <STX>sRA ODpwrc \x00\x00\x00\x24<ETX>
[ INFO] [1561628390.196151839]: Sending  : <STX><STX><STX><STX><Len=0016>sRN LocationName CRC:<0x55>
[ INFO] [1561628390.198597626]: Receiving: <STX>sRA LocationName \x00\x0b\x53\x4e\x20\x31\x39\x31\x32\x31\x30\x37\x33<ETX>
[ INFO] [1561628390.200412487]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMPoutputRange CRC:<0x5e>
[ INFO] [1561628390.202827123]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x06\x83\xff\xff\x3c\xb0\x00\x1c\x3a\x90<ETX>
[ INFO] [1561628390.202948240]: Angle resolution of scanner is 0.16670 [deg]  (in 1/10000th deg: 0x683)
[ INFO] [1561628390.202993736]: MIN_ANG:   -1.658 [rad]  -95.000 [deg]
[ INFO] [1561628390.203019947]: MAX_ANG:    1.658 [rad]   95.000 [deg]
[ INFO] [1561628390.203128499]: Sending  : <STX><STX><STX><STX><Len=0033>sWN LMPoutputRange 0x00 0x01 0x00 0x00 0x06 0x83 0xff 0xff 0x3c 0xb0 0x00 0x1c 0x3a 0x90 CRC:<0xc5>
[ INFO] [1561628390.205467923]: Receiving: <STX>sWA LMPoutputRange <ETX>
[ INFO] [1561628390.205622923]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMPoutputRange CRC:<0x5e>
[ INFO] [1561628390.207967062]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x06\x83\xff\xff\x3c\xb0\x00\x1c\x3a\x90<ETX>
[ INFO] [1561628390.208085994]: Angle resolution of scanner is 0.16670 [deg]  (in 1/10000th deg: 0x683)
[ INFO] [1561628390.210879157]: MIN_ANG (after command verification):   -1.658 [rad]  -95.000 [deg]
[ INFO] [1561628390.210936437]: MAX_ANG (after command verification):    1.658 [rad]   95.000 [deg]
[ INFO] [1561628390.210981492]: LMS 5xx detected overwriting output channel flag ID
[ INFO] [1561628390.211013171]: LMS 5xx detected overwriting resolution flag (only 8 bit supported)
[ INFO] [1561628390.211148542]: Sending  : <STX><STX><STX><STX><Len=0032>sWN LMDscandatacfg 0x01 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x01 CRC:<0x42>
[ INFO] [1561628390.213475927]: Receiving: <STX>sWA LMDscandatacfg <ETX>
[ INFO] [1561628390.213626819]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMDscandatacfg CRC:<0x67>
[ INFO] [1561628390.216030863]: Receiving: <STX>sRA LMDscandatacfg \x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01<ETX>
[ INFO] [1561628390.218778720]: Sending  : <STX><STX><STX><STX><Len=0016>sMN LMCstartmeas CRC:<0x68>
[ INFO] [1561628390.221183741]: Receiving: <STX>sAN LMCstartmeas \x00<ETX>
[ INFO] [1561628390.221348258]: Sending  : <STX><STX><STX><STX><Len=0007>sMN Run CRC:<0x19>
[ INFO] [1561628390.223717597]: Receiving: <STX>sAN Run \x01<ETX>
[ INFO] [1561628390.223873229]: Sending  : <STX><STX><STX><STX><Len=0017>sEN LMDscandata 0x01 CRC:<0x33>
[ INFO] [1561628390.226185308]: Receiving: <STX>sEA LMDscandata \x01<ETX>
[ WARN] [1561628410.230353418]: Timeout during waiting for new datagram
[ERROR] [1561628410.230449886]: Read Error when getting datagram: 1.

It seems that the sensor acknowledges the request EA LMDscandata, but the excpected telegram stream does not come through.

I realise this device is not officially supported, but I expect there are no changes in the protocol between the different lms5xx sensors, right?

Error during launching process (LMS1104C)

Dear Michael,

I cannot launch LMS1104c and get error message as picture in attachment.
error message
(Driver of LMS5xx works well so I think it means I use correct procedure to launch it)

Is there any further setting steps we missed?

I list information of LMS we use below.
model name: LMS1104C-111031S01
firmware version: 1.4.0.0R

Furthemore, I notice that driver status is "stable" but comment in launch file "lms1xxx" is "FOR FUTURE USE. NOT SUPPORTED NOW." . Is the driver still not available?

Please let me know if you need further information.

Sincerely Yours
pid0501r

Error during launching process with driver LMS5XX

I have been trying to get the scan data from the sensor LMS511-10100 but whenever I launch I am getting the following error:


Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://egypt:41511/

SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.12
 * /sick_lms_5xx/hostname: 192.168.0.1
 * /sick_lms_5xx/intensity: True
 * /sick_lms_5xx/intensity_resolution_16bit: False
 * /sick_lms_5xx/max_ang: 1.658062789
 * /sick_lms_5xx/min_ang: -1.658062789
 * /sick_lms_5xx/port: 2112
 * /sick_lms_5xx/range_max: 100.0
 * /sick_lms_5xx/scanner_type: sick_lms_5xx
 * /sick_lms_5xx/timelimit: 5
 * /sick_lms_5xx/use_binary_protocol: True

NODES
  /
    sick_lms_5xx (sick_scan/sick_generic_caller)

auto-starting new master
process[master]: started with pid [10204]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 3cd37a84-1efb-11e9-a66f-b86b23e49ec3
process[rosout-1]: started with pid [10217]
started core service [/rosout]
process[sick_lms_5xx-2]: started with pid [10227]
[ INFO] [1548240002.320133878]: sick_generic_caller V. 001.001.001
[ INFO] [1548240002.320182711]: Program arguments: /opt/ros/kinetic/lib/sick_scan/sick_generic_caller
[ INFO] [1548240002.320198790]: Program arguments: __name:=sick_lms_5xx
[ INFO] [1548240002.320208939]: Program arguments: __log:=/home/pal/.ros/log/3cd37a84-1efb-11e9-a66f-b86b23e49ec3/sick_lms_5xx-2.log
[ INFO] [1548240002.335761219]: Found sopas_protocol_type param overwriting default protocol:
[ INFO] [1548240002.335812793]: Binary protocol activated
[ INFO] [1548240002.335839401]: Start initialising scanner ...
[sick_lms_5xx-2] process has died [pid 10227, exit code -11, cmd /opt/ros/kinetic/lib/sick_scan/sick_generic_caller __name:=sick_lms_5xx __log:=/home/pal/.ros/log/3cd37a84-1efb-11e9-a66f-b86b23e49ec3/sick_lms_5xx-2.log].
log file: /home/pal/.ros/log/3cd37a84-1efb-11e9-a66f-b86b23e49ec3/sick_lms_5xx-2*.log

TCP connection result

nc -z -v -w5 192.168.0.1 2112
Connection to 192.168.0.1 2112 port [tcp/*] succeeded!

I found my sensor IP to be 192.168.0.1 and I used the same in my hostname address, but I am not successful to get the data in ros topic.

Any idea what could be wrong?

SICK MRS6124 doesn't filter points <min_range.

Hi,

I am using the SICK MRS6124 with this package and have experienced a problem in that the LIDAR occasionally provides a PointCloud2 data point at (0,0) relative to the origin frame. In the user manual for this LIDAR it states it has a working range of 0.5m - 200m. On the SOPAS software they do filter points under 0.5m however this package does not filter the points for <0.5m. This is causing problems for me integrating the LIDAR with Costmap_2D as the false data points at <0.5m are being registered as obstacles.

Are you able to integrate a depth filter for this LIDAR that filters points to the specifications of the user manual? In the meantime are you able to recommend a depth filter package?

Unable to run catkin_make install without a crash

Hello,
I am currently attempting to use a tim561 along with a Raspberry Pi 3 b. On the Raspberry Pi I am using Lubuntu and ROS kinetic. I am following the instructions for installing however whenever I run catkin_make install, or simply catkin_make it freezes the Pi such that I have to reboot it by unplugging it.
Knowing where it will freeze, I can stop catkin_make and I get the error message that I will paste below. I will also include the last two lines from the compilation.
Is it possible that the Pi is simply not powerful enough to run this install? Or do I need to install some other packages beforehand?
Thanks.

[ 63%] Building CXX object sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common.cpp.o
[ 65%] Building CXX object sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common_tcp.cpp.o
^CTraceback (most recent call last):
File "/opt/ros/kinetic/bin/catkin_make", line 296, in
sick_scan/CMakeFiles/sick_scan_lib.dir/build.make:350: recipe for target 'sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common_tcp.cpp.o' failed
sys.exit(main())
make[2]: *** [sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common_tcp.cpp.o] Interrupt
File "/opt/ros/kinetic/bin/catkin_make", line 240, in main
run_command(cmd, make_path)
File "/opt/ros/kinetic/lib/python2.7/dist-packages/catkin/builder.py", line 239, in run_command
sick_scan/CMakeFiles/sick_scan_lib.dir/build.make:86: recipe for target 'sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common.cpp.o' failed
make[2]: *** [sick_scan/CMakeFiles/sick_scan_lib.dir/driver/src/sick_scan_common.cpp.o] Interrupt
CMakeFiles/Makefile2:4343: recipe for target 'sick_scan/CMakeFiles/sick_scan_lib.dir/all' failed
make[1]: *** [sick_scan/CMakeFiles/sick_scan_lib.dir/all] Interrupt
proc.wait()
File "/usr/lib/python2.7/subprocess.py", line 1392, in wait
Makefile:138: recipe for target 'all' failed
make: *** [all] Interrupt
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call
return func(*args)
KeyboardInterrupt

Simulation of tim sick 561

I have been trying to simulate the working of my lidar sensor in rviz and gazebo without actually connecting the actual lidar. I just wanted to know is it actually possible to do it and if yes, where can I find the relevant package for the purpose?

Thank you

Mismatch Answer for request

Hi, I'm using the Sick Tim561 but I'm getting some errors about mismatched receiving data.

[ INFO] [1519902665.057816909]: sick_generic_caller V. 001.000.000
[ INFO] [1519902665.057865329]: Program arguments: /home/jason/catkin_ws/devel/lib/sick_scan/sick_generic_caller
[ INFO] [1519902665.057880402]: Program arguments: __name:=sick_tim_5xx
[ INFO] [1519902665.057901153]: Program arguments: __log:=/home/jason/.ros/log/4f775858-1ba1-11e8-ab10-40e230b7438b/sick_tim_5xx-1.log
[ INFO] [1519902665.108508552]: Waiting 5 seconds for device to connect.
[ INFO] [1519902665.109140562]: Succesfully connected to 169.254.147.31:2112
[ INFO] [1519902665.112302860]: Parameter setting for <active_echo: 0>
[ INFO] [1519902665.113221578]: Sending  : <STX>sMN SetAccessMode 3 F4724744<ETX>
[ INFO] [1519902665.114861162]: Receiving: <STX>sAN SetAccessMode 0<ETX>
[ INFO] [1519902665.115121659]: Sending  : <STX>sRI 0<ETX>
[ INFO] [1519902665.116331987]: Receiving: <STX>sRA 0 6 TiM561 E V2.51-21.08.15<ETX>
[ INFO] [1519902665.116502498]: Sending  : <STX>sRN SerialNumber<ETX>
[ INFO] [1519902665.117688083]: Receiving: <STX>sRA SerialNumber 8 16160456<ETX>
[ INFO] [1519902665.117857385]: Device sRA 0 6 TiM561 E V2.51-21.08.15 V2.51 found and supported by this driver.
[ INFO] [1519902665.117900501]: Sending  : <STX>sRN FirmwareVersion<ETX>
[ INFO] [1519902665.119004736]: Receiving: <STX>sRA FirmwareVersion 5 V2.51<ETX>
[ INFO] [1519902665.119125622]: Sending  : <STX>sRN SCdevicestate<ETX>
[ INFO] [1519902665.120252132]: Receiving: <STX>sRA SCdevicestate 1<ETX>
[ INFO] [1519902665.120362655]: Sending  : <STX>sRN ODoprh<ETX>
[ INFO] [1519902665.121370058]: Receiving: <STX>sRA ODoprh 926<ETX>
[ INFO] [1519902665.122476449]: Sending  : <STX>sRN ODpwrc<ETX>
[ INFO] [1519902665.123492466]: Receiving: <STX>sRA ODpwrc AC<ETX>
[ INFO] [1519902665.124303196]: Sending  : <STX>sRN LocationName<ETX>
[ INFO] [1519902665.125313578]: Receiving: <STX>sRA LocationName B not defined<ETX>
[ INFO] [1519902665.126706839]: Sending  : <STX>sRN LMPoutputRange<ETX>
[ INFO] [1519902665.127775322]: Receiving: <STX>sRA LMPoutputRange 1 D05 FFF92230 225510<ETX>
[ INFO] [1519902665.127895884]: Angle resolution of scanner is 0.33330 [deg]  (in 1/10000th deg: 0xD05)
[ INFO] [1519902665.127943784]: MIN_ANG:   -2.356 [rad] -135.000 [deg]
[ INFO] [1519902665.127974137]: MAX_ANG:    2.356 [rad]  135.000 [deg]
[ INFO] [1519902665.128076715]: Sending  : <STX>sWN LMPoutputRange 1 D05 FFF92230 225510<ETX>
[ INFO] [1519902665.129118943]: Receiving: <STX>sFA A<ETX>
[ERROR] [1519902665.129199884]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX>sWN LMPoutputRange 1 D05 FFF92230 225510<ETX>Answer= >>>sFA A<<<

[ INFO] [1519902665.129354974]: Sending  : <STX>sRN LMPoutputRange<ETX>
[ INFO] [1519902665.130838426]: Receiving: <STX>sRA LMPoutputRange 1 D05 FFF92230 225510<ETX>
[ INFO] [1519902665.134955948]: MIN_ANG (after command verification):   -2.356 [rad] -135.000 [deg]
[ INFO] [1519902665.135001713]: MAX_ANG (after command verification):    2.356 [rad]  135.000 [deg]
[ INFO] [1519902665.135080329]: Sending  : <STX>sWN LMDscandatacfg 01 00 0 0 0 00 00 0 0 0 0 1<ETX>
[ INFO] [1519902665.140032978]: Receiving: <STX>sFA A<ETX>
[ERROR] [1519902665.140099638]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX>sWN LMDscandatacfg 01 00 0 0 0 00 00 0 0 0 0 1<ETX>Answer= >>>sFA A<<<

[ INFO] [1519902665.140177784]: Sending  : <STX>sMN LMCstartmeas<ETX>
[ INFO] [1519902665.143431745]: Receiving: <STX>sFA 1<ETX>
[ERROR] [1519902665.143640411]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX>sMN LMCstartmeas<ETX>Answer= >>>sFA 1<<<

[ INFO] [1519902665.143790125]: Sending  : <STX>sMN Run<ETX>
[ INFO] [1519902665.145054790]: Receiving: <STX>sAN Run 1<ETX>
[ INFO] [1519902665.145127281]: Sending  : <STX>sEN LMDscandata 1<ETX>
[ INFO] [1519902665.146271269]: Receiving: <STX>sEA LMDscandata 1<ETX>

I did change Intensity to FALSE in the parameters because I don have RSSI enabled. I read in the scanner documents those sFA A and sFA 1 are Access errors. Any idea what is causing this and where I can change that?`

No data being published to /scan topic using sick_mrs_6xxx.launch MRS6124

I am using this package with the MRS6124 and thePointcloud2 data is publishing correctly but using the launch file sick_mrs_6xxx.launch (I changed the IP to my IP) the /scan topic doesn't publish any data? Is this a configuration setting I need to set or is there an extra parameter I need to use? I understand Pointcloud2 data is more accurate though I require the sensor_msgs/LaserScan data for the slam_gmapping package.

initialization deadlocks, node relies on SIGTERM when closing roslaunch

Hello,

your driver node will not close/exit properly because of your blocking init() function. You rely on another process just SIGTERM'ing your node instead of returning from your main thread the proper way.

... also having those 2 cascaded while loops might not be a good design.

while (ros::ok())
{
    s = new sick_scan::SickScanCommonTcp(hostname, port, timelimit, parser, colaDialectId);
    result = s->init();
    while (ros::ok() && (result == sick_scan::ExitSuccess))
    {
      ros::spinOnce();
      result = s->loopOnce();
    }
    if (result == sick_scan::ExitFatal)
      return result;
  }

a better way would be something like this (just a mockup):

s = new sick_scan::SickScanCommonTcp(hostname, port, timelimit, parser, colaDialectId);
while (ros::ok())
{
   result = s->initNonBlocking();
   if(result == sick_scan::ExitSuccess)
        break;
}

while (ros::ok() && result == sick_scan::ExitSuccess)
{
    // is ros spin really necessary? you dont even have incoming messages?! ... but its fine i guess ...
    ros::spinOnce();
    // this is fine
    result = s->loopOnce();
}

return result;

SICK TiM571 incorrect angular resolution

Hello,

I am trying to incorporate both a SICK TiM561 and a TiM571 into a robotic application. We have prior experience with the TiM561 scanners, and have always seen the measurement data at the 0.333 deg advertised angular resolution.

However, working with TiM571, I am seeing only 271 data points (1 deg resolution) even though the CoLa messages displayed by the driver are showing a 0.333 deg resolution.

Here is the console output with just a sick_generic_caller node and param scanner_type set to sick_tim_5xx.

mallain@mallain-L5590:~$ roslaunch ultra_3_support horz_tim.launch 
... logging to /home/mallain/.ros/log/2f0c5816-c8d4-11e9-8f4d-283a4d224fff/roslaunch-mallain-L5590-10949.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://mallain-L5590:36419/

SUMMARY
========

PARAMETERS
 * /horizontal_eoat_tim571/cloud_topic: horizontal_eoat/c...
 * /horizontal_eoat_tim571/frame_id: horizontal_eoat_tim
 * /horizontal_eoat_tim571/hostname: 192.168.1.124
 * /horizontal_eoat_tim571/intensity: False
 * /horizontal_eoat_tim571/max_ang: 2.35619449
 * /horizontal_eoat_tim571/min_ang: -2.35619449
 * /horizontal_eoat_tim571/port: 2112
 * /horizontal_eoat_tim571/range_max: 25.0
 * /horizontal_eoat_tim571/scanner_type: sick_tim_5xx
 * /horizontal_eoat_tim571/skip: 0
 * /horizontal_eoat_tim571/timelimit: 5
 * /horizontal_eoat_tim571/use_binary_protocol: True
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    horizontal_eoat_tim571 (sick_scan/sick_generic_caller)

auto-starting new master
process[master]: started with pid [10959]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 2f0c5816-c8d4-11e9-8f4d-283a4d224fff
process[rosout-1]: started with pid [10972]
started core service [/rosout]
process[horizontal_eoat_tim571-2]: started with pid [10989]
[ INFO] [1566914927.019781988]: sick_generic_caller V. 001.003.020
[ INFO] [1566914927.019820243]: Program arguments: /opt/ros/kinetic/lib/sick_scan/sick_generic_caller
[ INFO] [1566914927.019828711]: Program arguments: scan:=horizontal_eoat/scan
[ INFO] [1566914927.019836969]: Program arguments: __name:=horizontal_eoat_tim571
[ INFO] [1566914927.019843803]: Program arguments: __log:=/home/mallain/.ros/log/2f0c5816-c8d4-11e9-8f4d-283a4d224fff/horizontal_eoat_tim571-2.log
[ INFO] [1566914927.033453962]: Found sopas_protocol_type param overwriting default protocol:
[ INFO] [1566914927.033496559]: Binary protocol activated
[ INFO] [1566914927.033513829]: Start initialising scanner [Ip: 192.168.1.124] [Port: 2112]
[ INFO] [1566914927.073069777]: Publishing laserscan-pointcloud2 to horizontal_eoat/cloud
[ INFO] [1566914927.083415071]: Parameter setting for <active_echo: 0>
[ INFO] [1566914927.283779798]: Sending  : <STX><STX><STX><STX><Len=0023>sMN SetAccessMode 0x03 0xf4 0x72 0x47 0x44 CRC:<0xb3>
[ INFO] [1566914927.289631347]: Receiving: <STX>sAN SetAccessMode \x01<ETX>
[ INFO] [1566914927.489992656]: Sending  : <STX><STX><STX><STX><Len=0015>sWN EIHstCola 0x01 CRC:<0x09>
[ INFO] [1566914927.492378673]: Receiving: <STX>sWA EIHstCola <ETX>
[ INFO] [1566914927.692759631]: Sending  : <STX><STX><STX><STX><Len=0019>sRN FirmwareVersion CRC:<0x24>
[ INFO] [1566914927.695308035]: Receiving: <STX>sRA FirmwareVersion \x00\x05\x56\x32\x2e\x36\x31<ETX>
[ INFO] [1566914927.895655475]: Sending  : <STX><STX><STX><STX><Len=0017>sRN SCdevicestate CRC:<0x30>
[ INFO] [1566914927.898134892]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[ INFO] [1566914928.098552894]: Sending  : <STX><STX><STX><STX><Len=0010>sRN ODoprh CRC:<0x41>
[ INFO] [1566914928.101070161]: Receiving: <STX>sRA ODoprh \x00\x00\x05\x51<ETX>
[ INFO] [1566914928.304597787]: Sending  : <STX><STX><STX><STX><Len=0010>sRN ODpwrc CRC:<0x52>
[ INFO] [1566914928.307059238]: Receiving: <STX>sRA ODpwrc \x00\x00\x00\x22<ETX>
[ INFO] [1566914928.510300459]: Sending  : <STX><STX><STX><STX><Len=0016>sRN LocationName CRC:<0x55>
[ INFO] [1566914928.512805187]: Receiving: <STX>sRA LocationName \x00\x0e\x48\x6f\x72\x69\x7a\x6f\x6e\x74\x61\x6c\x20\x54\x69\x4d<ETX>
[ INFO] [1566914928.516145511]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMPoutputRange CRC:<0x5e>
[ INFO] [1566914928.518674561]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x0d\x05\xff\xf9\x22\x30\x00\x22\x55\x10<ETX>
[ INFO] [1566914928.518963301]: Angle resolution of scanner is 0.33330 [deg]  (in 1/10000th deg: 0xD05)
[ INFO] [1566914928.519065858]: MIN_ANG:   -2.356 [rad] -135.000 [deg]
[ INFO] [1566914928.519150151]: MAX_ANG:    2.356 [rad]  135.000 [deg]
[ INFO] [1566914928.519352780]: Sending  : <STX><STX><STX><STX><Len=0033>sWN LMPoutputRange 0x00 0x01 0x00 0x00 0x0d 0x05 0xff 0xf9 0x22 0x30 0x00 0x22 0x55 0x10 CRC:<0x01>
[ INFO] [1566914928.520646069]: Receiving: <STX>sWA LMPoutputRange <ETX>
[ INFO] [1566914928.520780272]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMPoutputRange CRC:<0x5e>
[ INFO] [1566914928.522107398]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x0d\x05\xff\xf9\x22\x30\x00\x22\x55\x10<ETX>
[ INFO] [1566914928.522249266]: Angle resolution of scanner is 0.33330 [deg]  (in 1/10000th deg: 0xD05)
[ INFO] [1566914928.527811058]: MIN_ANG (after command verification):   -2.356 [rad] -135.000 [deg]
[ INFO] [1566914928.527964581]: MAX_ANG (after command verification):    2.356 [rad]  135.000 [deg]
[ INFO] [1566914928.528214704]: Sending  : <STX><STX><STX><STX><Len=0032>sWN LMDscandatacfg 0x01 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x01 CRC:<0x42>
[ INFO] [1566914928.530691159]: Receiving: <STX>sWA LMDscandatacfg <ETX>
[ INFO] [1566914928.530890395]: Sending  : <STX><STX><STX><STX><Len=0018>sRN LMDscandatacfg CRC:<0x67>
[ INFO] [1566914928.532155112]: Receiving: <STX>sRA LMDscandatacfg \x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x01<ETX>
[ INFO] [1566914928.537595391]: Sending  : <STX><STX><STX><STX><Len=0016>sMN LMCstartmeas CRC:<0x68>
[ INFO] [1566914928.539955892]: Receiving: <STX>sAN LMCstartmeas \x00<ETX>
[ INFO] [1566914928.540152799]: Sending  : <STX><STX><STX><STX><Len=0007>sMN Run CRC:<0x19>
[ INFO] [1566914928.545962559]: Receiving: <STX>sAN Run \x01<ETX>
[ INFO] [1566914928.546135096]: Sending  : <STX><STX><STX><STX><Len=0017>sEN LMDscandata 0x01 CRC:<0x33>
[ INFO] [1566914928.550736391]: Receiving: <STX>sEA LMDscandata \x01<ETX>
[ WARN] [1566914928.793440249]: The time_increment, scan_time and angle_increment values reported by the scanner are inconsistent! Expected time_increment: 0.000185185, reported time_increment: 0.000061728. Perhaps you should set the parameter time_increment to the expected value. This message will print every 60 seconds.

Yet when I check the angle_increment:

mallain@mallain-L5590:~$ rostopic echo -n 1 /horizontal_eoat/scan/angle_increment
0.0174532923847

On request, I can provide the launch file for this output, and a launch file and console output for the TiM561, which is producing the correct angular resolution.

Ubuntu 16.04
ROS Kinetic

ros topic "/scan" has no frame_id

I have set parameters in the launch file, for example, angle_max、angle_max etc.But, there are angle_min and frame_id have no the value which has been set. When I echo the topic "/scan", the frame id display empty. So, I want to know how to set my parameters and get parameter from topic. Thank you very match!

No data of topic /scan sick_lms_5xx

Hi,
I have set IP address with LMS5XX by GUI software. And, I could see laser scan data by the monitor. But, when I start the launch file and echo the topic "/scan", I could not get laser scan data. I got the following logs,
PARAMETERS

  • /rosdistro: kinetic
  • /rosversion: 1.12.14
  • /sick_lms_5xx/hostname: 10.158.51.32
  • /sick_lms_5xx/intensity: True
  • /sick_lms_5xx/intensity_resolution_16bit: False
  • /sick_lms_5xx/max_ang: 1.658062789
  • /sick_lms_5xx/min_ang: -1.658062789
  • /sick_lms_5xx/port: 2112
  • /sick_lms_5xx/range_max: 100.0
  • /sick_lms_5xx/scanner_type: sick_lms_5xx
  • /sick_lms_5xx/timelimit: 5
  • /sick_lms_5xx/use_binary_protocol: True

NODES
/
sick_lms_5xx (sick_scan/sick_generic_caller)

ROS_MASTER_URI=http://10.158.51.29:11311

process[sick_lms_5xx-1]: started with pid [24395]
[ INFO] [1550722702.086664959]: sick_generic_caller V. 001.003.000
[ INFO] [1550722702.086692882]: Program arguments: /home/qomolo/Documents/rosbag_dir/xuhui/sick_ws/devel/lib/sick_scan/sick_generic_caller
[ INFO] [1550722702.086716148]: Program arguments: __name:=sick_lms_5xx
[ INFO] [1550722702.086722743]: Program arguments: __log:=/home/qomolo/.ros/log/eeb27d7c-357b-11e9-bf32-78d00424d2f4/sick_lms_5xx-1.log
[ INFO] [1550722702.097072508]: Found sopas_protocol_type param overwriting default protocol:
[ INFO] [1550722702.097100779]: Binary protocol activated
[ INFO] [1550722702.097112719]: Start initialising scanner [Ip: 10.158.51.32] [Port: 2112]
[ INFO] [1550722702.115367444]: Publishing laserscan-pointcloud2 to cloud
1550722831.5599 ERROR: Tcp::open: Failed to open TCP connection to 10.158.51.32, aborting.
[ INFO] [1550722831.562960441, 8561.610000000]: Parameter setting for <active_echo: 0>
[ INFO] [1550722831.761597736, 8561.810000000]: Sending : <Len=0x385875968>sMN SetAccessMode 0x030xf40x720x470x440xb3
1550722831.7617 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1550722837.077645091, 8567.080000000]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1550722837.077713629, 8567.080000000]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1550722837.077920499, 8567.080000000]: Receiving:
[ERROR] [1550722837.077960882, 8567.080000000]: SOPAS Communication -Error unexpected Sopas Answer for request <Len=0x385875968>sMN SetAccessMode 0x030xf40x720x470x440xb3

[ INFO] [1550722837.078136507, 8567.080000000]: Sending : sMN SetAccessMode 3 F4724744
1550722837.0782 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1550722842.395589192, 8572.360000000]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1550722842.395642207, 8572.360000000]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1550722842.395740799, 8572.360000000]: Receiving:
[ERROR] [1550722842.395776243, 8572.360000000]: SOPAS Communication -Error unexpected Sopas Answer for request sMN SetAccessMode 3 F4724744

[ERROR] [1550722842.395837867, 8572.360000000]: Error Access Mode
[ INFO] [1550722842.593395393, 8572.560000000]: Sending : sWN EIHstCola 1
1550722842.5934 Warning: Tcp::write: Failed to send data to socket.
[ERROR] [1550722847.910055973, 8577.830000000]: no answer received after 5000 ms. Maybe sopas mode is wrong.

[ERROR] [1550722847.910115626, 8577.830000000]: sendSOPASCommand: no full reply available for read after 5000 ms
[ INFO] [1550722847.910209830, 8577.830000000]: Receiving:
[ERROR] [1550722847.910255128, 8577.830000000]: SOPAS Communication -Error unexpected Sopas Answer for request sWN EIHstCola 1

[ERROR] [1550722847.910328478, 8577.830000000]: Command or Error message not defined
[ERROR] [1550722847.910402470, 8577.830000000]: Failed to init scanner Error Code: 1
Waiting for timeout...
If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.
This requires a restart of the TCP-IP connection, which can extend the start time by up to 30 seconds. There are two ways to prevent this:

  1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
  2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
    [ INFO] [1550722847.910455437, 8577.830000000]: Start initialising scanner [Ip: 10.158.51.32] [Port: 2112]
    [ WARN] [1550722847.910498577, 8577.830000000]: Disconnecting TCP-Connection.
    sick_scan driver exiting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.