SICKAG / sick_scan_xd

Based on the sick_scan drivers for ROS1, sick_scan_xd merges sick_scan, sick_scan2 and sick_scan_base repositories. The driver supports both Linux (native, ROS1, ROS2) and Windows (native and ROS2).
Apache License 2.0
105 stars 86 forks source link

Read Error when getting datagram: 1 #383

Closed hwulfmeyer closed 2 months ago

hwulfmeyer commented 2 months ago

Hello,

I am getting the following errors when running the C++ minimum_sick_scan_api_client with our LRS4000 (Firmware version 1.6.0.25R)

[Error]: Read Error when getting datagram: 1
[Error]: Read Error when getting datagram: 1
[Error]: ## ERROR SickScanMonitor::checkState(): read timeout after 30.0008 sec, timeout (15 sec) exceeded.

full logs: https://gist.github.com/hwulfmeyer/e5105643a1354a389d6d6e8b7bc9ee18

Note: I upped the timeout to 15s from the default 5s and upped the sleep in the C++ test to 60s. With the default timeout and sleep values the same error(s) occur.

Any help would be massively appreciated. Thank you.

rostest commented 2 months ago

Thanks for your feedback. The logfile shows a successful lidar initialization, but no scan data is being received. Can you see the pointcloud with SOPAS ET

In rare cases the start time required to fully change into operational mode might exceed 30 seconds. Please increase the timeouts to 120 seconds in the launchfile and run the test over a longer period:

        <param name="read_timeout_millisec_default" type="int" value="120000"/>
        <param name="read_timeout_millisec_startup" type="int" value="120000"/>
        <param name="read_timeout_millisec_kill_node" type="int" value="150000"/>
hwulfmeyer commented 2 months ago

The problem was, that in the settings of the LiDAR the measurement data output was set to the wrong protocol. "Compact" instead of "LMDscandata".

rostest commented 2 months ago

Thank you very much for this interesting and important information!