Giter VIP home page Giter VIP logo

sick_scan2's Issues

sick_scan2 update & release for dashing

Upon building sick_scan2 node in ROS Dashing, there are several deprecation warnings. It would be great to have this node then released into the ROS Debian buildfarm.

Warnings:

/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp: In function ‘int mainGenericLaser(int, char**, std::__cxx11::string)’:
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:182:58: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
           node->set_parameter_if_not_set(paramArr[i], val);

                                                          ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common_tcp.h:45,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_generic_laser.h:8,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:73:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:225:52: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
   node->set_parameter_if_not_set("name",scannerName);

                                                    ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common_tcp.h:45,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_generic_laser.h:8,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:73:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:226:53: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
   node->set_parameter_if_not_set("hostname",hostname);

                                                     ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common_tcp.h:45,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_generic_laser.h:8,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:73:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:227:45: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = std::__cxx11::basic_string<char>; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
   node->set_parameter_if_not_set("port",port);

                                             ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common_tcp.h:45,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_generic_laser.h:8,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_laser.cpp:73:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp: In constructor ‘sick_scan::SickScanCommon::SickScanCommon(sick_scan::SickGenericParser*)’:
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:231:59: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = double; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
    node->set_parameter_if_not_set(PARAM_MIN_ANG, min_angle);
                                                           ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:59:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:232:59: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = double; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
    node->set_parameter_if_not_set(PARAM_MAX_ANG, max_angle);
                                                           ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:59:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:264:83: warning: ‘std::shared_ptr<PublisherT> rclcpp::Node::create_publisher(const string&, const rmw_qos_profile_t&, std::shared_ptr<_Up>) [with MessageT = sensor_msgs::msg::LaserScan_<std::allocator<void> >; AllocatorT = std::allocator<void>; PublisherT = rclcpp::Publisher<sensor_msgs::msg::LaserScan_<std::allocator<void> > >; std::__cxx11::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t]’ is deprecated: use create_publisher(const std::string &, const rclcpp::QoS &, ...) instead [-Wdeprecated-declarations]
         pub_ = getMainNode()->create_publisher<sensor_msgs::msg::LaserScan>("scan");
                                                                                   ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_scan_common.cpp:59:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:96:1: note: declared here
 Node::create_publisher(
 ^~~~
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_caller.cpp: In function ‘int main(int, char**)’:
/home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_caller.cpp:173:46: warning: ‘void rclcpp::Node::set_parameter_if_not_set(const string&, const ParameterT&) [with ParameterT = int; std::__cxx11::string = std::__cxx11::basic_string<char>]’ is deprecated: use declare_parameter() instead [-Wdeprecated-declarations]
     node->set_parameter_if_not_set("ABC",1000);

                                              ^
In file included from /opt/ros/dashing/include/rclcpp/node.hpp:1206:0,
                 from /opt/ros/dashing/include/rclcpp/executors/single_threaded_executor.hpp:28,
                 from /opt/ros/dashing/include/rclcpp/executors.hpp:22,
                 from /opt/ros/dashing/include/rclcpp/rclcpp.hpp:144,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common.h:51,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_scan_common_tcp.h:45,
                 from /home/robo/ros2_ws/src/sick_scan2/include/sick_scan/sick_generic_laser.h:8,
                 from /home/robo/ros2_ws/src/sick_scan2/driver/src/sick_generic_caller.cpp:75:
/opt/ros/dashing/include/rclcpp/node_impl.hpp:306:1: note: declared here
 Node::set_parameter_if_not_set(
 ^~~~

sick_scan2 packages

Hello,
I have some issues to install sick_scan2 packages while following the steps writen in the github : https://github.com/SICKAG/sick_scan2.
These are the steps :
image

After all the previous instructions, when I arrive to this following instruction :
colcon build --cmake-args " -DBUILD_WITH_LDMRS_SUPPORT=$BUILD_WITH_LDMRS_SUPPORT"

I have this error :
image

What is needed to correct this issue ? Do I need to install some specific packages ?

Configuration :
I’m actually on ROS2 Foxy Fiztroy on ubuntu 20.04.

Thank you for your time !

Support USB-Connection

Hi, we have 2 Sick Tim 571 and we would like to connect them via USB to the main computer. The simple reason is, that we have multiple free USB slots, but only one Network connection slot and we don't want to add an Network HUB as well.

The sick-tim package supports USB connection, but this package is not available in ROS2. Since the source code of this package is very similar, it shouldn't be too hard to port this functionality. Are the currently any plans to do so and would you be interested in a pull-request if we decide to port it by our self?

Currently, we run the sick-tim driver on ROS Noetic and use the ROS1 bridge only for the scan topics.

min_ang and max_ang params - Not respected by the package!

Hi team,
We are using sick_tim_571 2D laser scanner under ROS foxy for our robots.
In our application, we need to change the min_ang and max_ang parameters to cover s specific angle for our scanning.
We change the parameters in sick_tim_5xx.yaml.
No matter what we enter for max and min angle, these parameters are not respected and laser scanner angle coverage is not changed.
After each modification, we build the package.
Please let us know if you have any solution to this issue.

This is our param file:
sick_scan2: # configuration for sick_scan2_tim_5xx: For compatibility with ros versions previous to foxy, node and parameter name changed to sick_scan2 for all supported scanner. The type of scanner is configured by scanner_name only.
ros__parameters:
hostname : ""
frame_id : "cloud"
scanner_name : "sick_tim_5xx"
port : 2112
min_ang : -1.0
max_ang : 1.0

Scanner Connection Error Code: 1

The ROS 2 Driver connection

I am using the MRS1000 on ROS2, the sick_scan2 connection is not working when I launch sick_mrs_1xxx.launch.py for the first time. Relaunching it I am able to connect, I need to relauch twice at least to establish a connection.

Sensor Model: MRS1000
Version: 2.2.1
Serial Number: 21050060

root@xxx-proto:~# ros2 launch sick_scan2 sick_mrs_1xxx.launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2021-10-08-09-35-10-742875-xxx-proto-7313
[INFO] [launch]: Default logging verbosity is set to INFO
/home/xxx/sick_scan_ws/install/sick_scan2/share/sick_scan2/launch/sick_mrs_1xxx.launch.py:13: 
UserWarning: The parameter 'node_executable' is deprecated, use 'executable' instead node=Node(
[INFO] [sick_generic_caller-1]: process started with pid [7315]
[sick_generic_caller-1] [INFO] [1633685710.879919007] [sick_scan2]: sick_generic_caller V. 001.009.000
[sick_generic_caller-1] [INFO] [1633685710.880115497] [sick_scan2]: Program arguments: /home/xxx/sick_scan_ws/install/sick_scan2/lib/sick_scan2/sick_generic_caller
[sick_generic_caller-1] [INFO] [1633685710.880157387] [sick_scan2]: Program arguments: --ros-args
[sick_generic_caller-1] [INFO] [1633685710.880193421] [sick_scan2]: Program arguments: -r
[sick_generic_caller-1] [INFO] [1633685710.880225582] [sick_scan2]: Program arguments: __node:=sick_scan2
[sick_generic_caller-1] [INFO] [1633685710.880255632] [sick_scan2]: Program arguments: --params-file
[sick_generic_caller-1] [INFO] [1633685710.880285969] [sick_scan2]: Program arguments: /home/xxx/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_mrs_1xxx.yaml
[sick_generic_caller-1] [INFO] [1633685710.880315795] [sick_scan2]: sick_generic_caller: scanner_name: sick_mrs_1xxx, hostname: 192.168.11.33, port: 2112
[sick_generic_caller-1] [INFO] [1633685710.880464762] [sick_scan2]: Start initialising scanner ...
[sick_generic_caller-1] [INFO] [1633685710.880509500] [sick_scan2]: hostname: 192.168.11.33
[sick_generic_caller-1] [INFO] [1633685710.880540574] [sick_scan2]: Port    : 2112
[sick_generic_caller-1] [INFO] [1633685710.885994992] [sick_scan2]: Parameter setting for <active_echo: 0>
[sick_generic_caller-1] [INFO] [1633685710.886108470] [sick_scan2]: Command: <STX>sMN SetAccessMode 3 F4724744<ETX>
[sick_generic_caller-1] [INFO] [1633685710.886229340] [sick_scan2]: Sending  : sMN SetAccessMode \x03\xf4\x72\x47\x44
[sick_generic_caller-1] [INFO] [1633685710.907107860] [sick_scan2]: Receiving: <STX>sAN SetAccessMode \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685710.907273564] [sick_scan2]: Command: <STX>sWN EIHstCola 1<ETX>
[sick_generic_caller-1] [INFO] [1633685710.907363841] [sick_scan2]: Sending  : sWN EIHstCola \x01
[sick_generic_caller-1] [INFO] [1633685710.927647675] [sick_scan2]: Receiving: <STX>sWA EIHstCola <ETX>
[sick_generic_caller-1] [INFO] [1633685710.927815620] [sick_scan2]: Command: <STX>sMN LMCstopmeas<ETX>
[sick_generic_caller-1] [INFO] [1633685710.927907208] [sick_scan2]: Sending  : sMN LMCstopmeas
[sick_generic_caller-1] [INFO] [1633685710.938160939] [sick_scan2]: Receiving: <STX>sAN LMCstopmeas \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685710.938323091] [sick_scan2]: Command: <STX>sWN SetActiveApplications 1 FEVL 0<ETX>
[sick_generic_caller-1] [INFO] [1633685710.938430329] [sick_scan2]: Sending  : sWN SetActiveApplications \x00\x01\x46\x45\x56\x4c\x00
[sick_generic_caller-1] [INFO] [1633685710.949949051] [sick_scan2]: Receiving: <STX>sWA SetActiveApplications <ETX>
[sick_generic_caller-1] [INFO] [1633685710.950110339] [sick_scan2]: Command: <STX>sWN SetActiveApplications 1 RANG 1<ETX>
[sick_generic_caller-1] [INFO] [1633685710.950216457] [sick_scan2]: Sending  : sWN SetActiveApplications \x00\x01\x52\x41\x4e\x47\x01
[sick_generic_caller-1] [INFO] [1633685710.960449674] [sick_scan2]: Receiving: <STX>sWA SetActiveApplications <ETX>
[sick_generic_caller-1] [INFO] [1633685710.960660661] [sick_scan2]: Command: <STX>sRN DeviceIdent<ETX>
[sick_generic_caller-1] [INFO] [1633685710.960805180] [sick_scan2]: Sending  : sRN DeviceIdent
[sick_generic_caller-1] [INFO] [1633685710.971243944] [sick_scan2]: Receiving: <STX>sRA DeviceIdent \x00\x08\x4d\x52\x53\x31\x78\x78\x78\x43\x00\x08\x32\x2e\x32\x2e\x31\x2e\x30\x52<ETX>
[sick_generic_caller-1] [INFO] [1633685710.971498485] [sick_scan2]: Command: <STX>sRN SerialNumber<ETX>
[sick_generic_caller-1] [INFO] [1633685710.971596410] [sick_scan2]: Sending  : sRN SerialNumber
[sick_generic_caller-1] [INFO] [1633685710.981962403] [sick_scan2]: Receiving: <STX>sRA SerialNumber \x00\x08\x32\x31\x31\x38\x30\x30\x33\x34<ETX>
[sick_generic_caller-1] [INFO] [1633685710.982283379] [sick_scan2]: Command: <STX>sRN FirmwareVersion<ETX>
[sick_generic_caller-1] [INFO] [1633685710.982398520] [sick_scan2]: Sending  : sRN FirmwareVersion
[sick_generic_caller-1] [INFO] [1633685710.992683453] [sick_scan2]: Receiving: <STX>sRA FirmwareVersion \x00\x09\x56\x20\x32\x2e\x32\x2e\x31\x2e\x30<ETX>
[sick_generic_caller-1] [INFO] [1633685710.992891783] [sick_scan2]: Command: <STX>sRN SCdevicestate<ETX>
[sick_generic_caller-1] [INFO] [1633685710.992985580] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685711.003191181] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685711.003405527] [sick_scan2]: Laser is busy
[sick_generic_caller-1] [INFO] [1633685711.003462938] [sick_scan2]: Command: <STX>sRN ODoprh<ETX>
[sick_generic_caller-1] [INFO] [1633685711.003551199] [sick_scan2]: Sending  : sRN ODoprh
[sick_generic_caller-1] [INFO] [1633685711.013814466] [sick_scan2]: Receiving: <STX>sRA ODoprh \x00\x00\x05\xab<ETX>
[sick_generic_caller-1] [INFO] [1633685711.014071343] [sick_scan2]: Command: <STX>sRN ODpwrc<ETX>
[sick_generic_caller-1] [INFO] [1633685711.014162963] [sick_scan2]: Sending  : sRN ODpwrc
[sick_generic_caller-1] [INFO] [1633685711.024478393] [sick_scan2]: Receiving: <STX>sRA ODpwrc \x00\x00\x00\x07<ETX>
[sick_generic_caller-1] [INFO] [1633685711.024784617] [sick_scan2]: Command: <STX>sRN LocationName<ETX>
[sick_generic_caller-1] [INFO] [1633685711.025012852] [sick_scan2]: Sending  : sRN LocationName
[sick_generic_caller-1] [INFO] [1633685711.035259606] [sick_scan2]: Receiving: <STX>sRA LocationName \x00\x0b\x53\x4e\x20\x32\x31\x31\x38\x30\x30\x33\x34<ETX>
[sick_generic_caller-1] [INFO] [1633685711.035540933] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1633685711.045867115] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xf8\xc0\x88\x00\x22\xb6\xb8<ETX>
[sick_generic_caller-1] [INFO] [1633685711.046092342] [sick_scan2]: Angle resolution of scanner is 0.25000 [deg]  (in 1/10000th deg: 0x9C4)
[sick_generic_caller-1] [INFO] [1633685711.046179707] [sick_scan2]: MIN_ANG:   -2.356 [rad] -135.000 [deg]
[sick_generic_caller-1] [INFO] [1633685711.046228893] [sick_scan2]: MAX_ANG:    2.356 [rad]  135.000 [deg]
[sick_generic_caller-1] [INFO] [1633685711.046375652] [sick_scan2]: Sending  : sWN LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xeb\x66\x91\x00\x14\x99\x70
[sick_generic_caller-1] [INFO] [1633685711.056837138] [sick_scan2]: Receiving: <STX>sFA\x00\x04<ETX>
[sick_generic_caller-1] [INFO] [1633685711.057101855] [sick_scan2]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX><STX><STX><STX>!sWN LMPoutputRange ���f��p�Answer= >>>sFA\x00\x04<<<
[sick_generic_caller-1]
[sick_generic_caller-1] [INFO] [1633685711.057263271] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1633685711.067568268] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xf8\xc0\x88\x00\x22\xb6\xb8<ETX>
[sick_generic_caller-1] [INFO] [1633685711.067754230] [sick_scan2]: Angle resolution of scanner is 0.25000 [deg]  (in 1/10000th deg: 0x9C4)
[sick_generic_caller-1] [INFO] [1633685711.067814425] [sick_scan2]: MIN_ANG (after command verification in device reference frame):   -0.829 [rad]  -47.500 [deg]
[sick_generic_caller-1] [INFO] [1633685711.067873276] [sick_scan2]: MAX_ANG (after command verification in device reference frame):    3.971 [rad]  227.500 [deg]
[sick_generic_caller-1] [INFO] [1633685711.067924126] [sick_scan2]: MRS 1xxx detected overwriting resolution flag (only 8 bit supported)
[sick_generic_caller-1] [INFO] [1633685711.068042820] [sick_scan2]: Sending  : sWN LMDscandatacfg \x07\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01
[sick_generic_caller-1] [INFO] [1633685711.078399660] [sick_scan2]: Receiving: <STX>sWA LMDscandatacfg <ETX>
[sick_generic_caller-1] [INFO] [1633685711.078748350] [sick_scan2]: Sending  : sRN LMDscandatacfg
[sick_generic_caller-1] [INFO] [1633685711.089597534] [sick_scan2]: Receiving: <STX>sRA LMDscandatacfg \x07\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01<ETX>
[sick_generic_caller-1] [INFO] [1633685711.089833610] [sick_scan2]: Sending  : sWN FREchoFilter \x00
[sick_generic_caller-1] [INFO] [1633685711.100131663] [sick_scan2]: Receiving: <STX>sWA FREchoFilter <ETX>
[sick_generic_caller-1] [INFO] [1633685711.100307960] [sick_scan2]: Command: <STX>sMN LMCstartmeas<ETX>
[sick_generic_caller-1] [INFO] [1633685711.100390012] [sick_scan2]: Sending  : sMN LMCstartmeas
[sick_generic_caller-1] [INFO] [1633685711.110636255] [sick_scan2]: Receiving: <STX>sAN LMCstartmeas \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685711.110811911] [sick_scan2]: Command: <STX>sMN Run<ETX>
[sick_generic_caller-1] [INFO] [1633685711.110886091] [sick_scan2]: Sending  : sMN Run
[sick_generic_caller-1] [INFO] [1633685711.121358201] [sick_scan2]: Receiving: <STX>sAN Run \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685711.121641191] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685711.131956749] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685711.132239387] [sick_scan2]: Waiting for scanner ready state since 0 secs
[sick_generic_caller-1] [INFO] [1633685712.132591110] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685712.143175001] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685712.143507945] [sick_scan2]: Waiting for scanner ready state since 1 secs
[sick_generic_caller-1] [INFO] [1633685713.143914029] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685713.154455806] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685713.154762797] [sick_scan2]: Waiting for scanner ready state since 2 secs
[sick_generic_caller-1] [INFO] [1633685714.155236234] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685714.165780891] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685714.166102667] [sick_scan2]: Waiting for scanner ready state since 3 secs
[sick_generic_caller-1] [INFO] [1633685715.166443479] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685715.176900515] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685715.177229204] [sick_scan2]: Waiting for scanner ready state since 4 secs
[sick_generic_caller-1] [INFO] [1633685716.177930312] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685716.189489451] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685716.189688533] [sick_scan2]: Waiting for scanner ready state since 5 secs
[sick_generic_caller-1] [INFO] [1633685717.190032365] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685717.200371956] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685717.201861119] [sick_scan2]: Waiting for scanner ready state since 6 secs
[sick_generic_caller-1] [INFO] [1633685718.202681797] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685718.213218741] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685718.213751824] [sick_scan2]: Waiting for scanner ready state since 7 secs
[sick_generic_caller-1] [INFO] [1633685719.214785239] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685719.225471470] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685719.225684505] [sick_scan2]: Waiting for scanner ready state since 8 secs
[sick_generic_caller-1] [INFO] [1633685720.225932942] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685720.236362585] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685720.236645095] [sick_scan2]: Waiting for scanner ready state since 9 secs
[sick_generic_caller-1] [INFO] [1633685721.237108190] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685721.247862041] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685721.248231851] [sick_scan2]: Waiting for scanner ready state since 10 secs
[sick_generic_caller-1] [INFO] [1633685722.248761211] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685722.259311404] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685722.259506901] [sick_scan2]: Waiting for scanner ready state since 11 secs
[sick_generic_caller-1] [INFO] [1633685723.259788399] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685723.270313342] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685723.270860346] [sick_scan2]: Waiting for scanner ready state since 12 secs
[sick_generic_caller-1] [INFO] [1633685724.271493787] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685724.282082509] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685724.282386685] [sick_scan2]: Waiting for scanner ready state since 13 secs
[sick_generic_caller-1] [INFO] [1633685725.282764679] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685725.293977785] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685725.294152322] [sick_scan2]: Waiting for scanner ready state since 14 secs
[sick_generic_caller-1] [INFO] [1633685726.294415869] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685726.304756995] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685726.304938732] [sick_scan2]: Waiting for scanner ready state since 15 secs
[sick_generic_caller-1] [INFO] [1633685727.305154203] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685727.315514882] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685727.315822993] [sick_scan2]: Waiting for scanner ready state since 16 secs
[sick_generic_caller-1] [INFO] [1633685728.316078072] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685728.326470528] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685728.326676747] [sick_scan2]: Waiting for scanner ready state since 17 secs
[sick_generic_caller-1] [INFO] [1633685729.326958570] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685729.337989362] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685729.338242430] [sick_scan2]: Waiting for scanner ready state since 18 secs
[sick_generic_caller-1] [INFO] [1633685730.338725470] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685730.349344177] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685730.349903533] [sick_scan2]: Waiting for scanner ready state since 19 secs
[sick_generic_caller-1] [INFO] [1633685731.350430885] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685731.362135790] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685731.362482144] [sick_scan2]: Waiting for scanner ready state since 20 secs
[sick_generic_caller-1] [INFO] [1633685732.362904777] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685732.373355571] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685732.373687492] [sick_scan2]: Waiting for scanner ready state since 21 secs
[sick_generic_caller-1] [INFO] [1633685733.374118372] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685733.384686676] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685733.384871198] [sick_scan2]: Waiting for scanner ready state since 22 secs
[sick_generic_caller-1] [INFO] [1633685734.385152044] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685734.395474992] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685734.395675290] [sick_scan2]: Waiting for scanner ready state since 23 secs
[sick_generic_caller-1] [INFO] [1633685735.395913181] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685735.407184657] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685735.407375450] [sick_scan2]: Waiting for scanner ready state since 24 secs
[sick_generic_caller-1] [INFO] [1633685736.407667990] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685736.418675036] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685736.419071120] [sick_scan2]: Waiting for scanner ready state since 25 secs
[sick_generic_caller-1] [INFO] [1633685737.419658897] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685737.430356744] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685737.430754556] [sick_scan2]: Waiting for scanner ready state since 26 secs
[sick_generic_caller-1] [INFO] [1633685738.431135753] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685738.442292502] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685738.442477760] [sick_scan2]: Waiting for scanner ready state since 27 secs
[sick_generic_caller-1] [INFO] [1633685739.442757438] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685739.453227881] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685739.454304735] [sick_scan2]: Waiting for scanner ready state since 28 secs
[sick_generic_caller-1] [INFO] [1633685740.454947334] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685740.465340877] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685740.465779715] [sick_scan2]: Waiting for scanner ready state since 29 secs
[sick_generic_caller-1] [INFO] [1633685741.466439426] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685741.477064821] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685741.477405189] [sick_scan2]: Waiting for scanner ready state since 30 secs
[sick_generic_caller-1] [INFO] [1633685742.480147011] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685742.490673136] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685742.490891323] [sick_scan2]: Waiting for scanner ready state since 31 secs
[sick_generic_caller-1] [INFO] [1633685743.491136018] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685743.501612637] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685743.501890315] [sick_scan2]: Waiting for scanner ready state since 32 secs
[sick_generic_caller-1] [INFO] [1633685744.502168090] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685744.512597891] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685744.512927603] [sick_scan2]: Waiting for scanner ready state since 33 secs
[sick_generic_caller-1] [INFO] [1633685745.513393602] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685745.523985715] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685745.524154651] [sick_scan2]: Waiting for scanner ready state since 34 secs
[sick_generic_caller-1] [INFO] [1633685746.524414807] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685746.534823134] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685746.535136814] [sick_scan2]: Waiting for scanner ready state since 35 secs
[sick_generic_caller-1] [INFO] [1633685747.535616107] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685747.546118070] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685747.546292991] [sick_scan2]: Waiting for scanner ready state since 36 secs
[sick_generic_caller-1] [INFO] [1633685748.546672270] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685748.557529131] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685748.558063302] [sick_scan2]: Waiting for scanner ready state since 37 secs
[sick_generic_caller-1] [INFO] [1633685749.558648758] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685749.569335083] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685749.569790337] [sick_scan2]: Waiting for scanner ready state since 38 secs
[sick_generic_caller-1] [INFO] [1633685750.570251522] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685750.580774510] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685750.580987449] [sick_scan2]: Waiting for scanner ready state since 39 secs
[sick_generic_caller-1] [INFO] [1633685751.581393773] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685751.592860392] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685751.593045201] [sick_scan2]: Waiting for scanner ready state since 40 secs
[sick_generic_caller-1] [INFO] [1633685752.593285332] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685752.604229429] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685752.604423391] [sick_scan2]: Waiting for scanner ready state since 41 secs
[sick_generic_caller-1] [INFO] [1633685753.604883299] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685753.616600651] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685753.617271180] [sick_scan2]: Waiting for scanner ready state since 42 secs
[sick_generic_caller-1] [INFO] [1633685754.617803147] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685754.628348248] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685754.628595589] [sick_scan2]: Waiting for scanner ready state since 43 secs
[sick_generic_caller-1] [INFO] [1633685755.628889742] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685755.639394105] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685755.639752139] [sick_scan2]: Waiting for scanner ready state since 44 secs
[sick_generic_caller-1] [INFO] [1633685756.639993321] [sick_scan2]: TIMEOUT WHILE STARTING SCANNER
[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[sick_generic_caller-1] Deviceinfo MRS1xxxC V2.2.1.0R found and supported by this driver.Device ??? V-1.-1 found and maybe unsupported by this driver.Full SOPAS answer: Command or Error message not definedFailed to init scanner Error Code: 1
[sick_generic_caller-1] Waiting for timeout...
[sick_generic_caller-1] If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.
[sick_generic_caller-1] 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:
[sick_generic_caller-1] 1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.
[sick_generic_caller-1] 2. Use the parameter "use_binary_protocol" to overwrite the default settings of the driver.
[sick_generic_caller-1] Receive signum: 2
[ERROR] [sick_generic_caller-1]: process[sick_generic_caller-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [sick_generic_caller-1]: sending signal 'SIGTERM' to process[sick_generic_caller-1]
[ERROR] [sick_generic_caller-1]: process has died [pid 7315, exit code -15, cmd '/home/xxx/sick_scan_ws/install/sick_scan2/lib/sick_scan2/sick_generic_caller --ros-args -r __node:=sick_scan2 --params-file /home/xxx/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_mrs_1xxx.yaml'].
root@xxx-proto:~# ros2 launch sick_scan2 sick_mrs_1xxx.launch.py
[INFO] [launch]: All log files can be found below /root/.ros/log/2021-10-08-09-36-06-720432-xxx-proto-7542
[INFO] [launch]: Default logging verbosity is set to INFO
/home/xxx/sick_scan_ws/install/sick_scan2/share/sick_scan2/launch/sick_mrs_1xxx.launch.py:13: UserWarning: The parameter 'node_executable' is deprecated, use 'executable' instead
  node=Node(
[INFO] [sick_generic_caller-1]: process started with pid [7545]
[sick_generic_caller-1] [INFO] [1633685766.858293641] [sick_scan2]: sick_generic_caller V. 001.009.000
[sick_generic_caller-1] [INFO] [1633685766.858507348] [sick_scan2]: Program arguments: /home/xxx/sick_scan_ws/install/sick_scan2/lib/sick_scan2/sick_generic_caller
[sick_generic_caller-1] [INFO] [1633685766.858552214] [sick_scan2]: Program arguments: --ros-args
[sick_generic_caller-1] [INFO] [1633685766.858588824] [sick_scan2]: Program arguments: -r
[sick_generic_caller-1] [INFO] [1633685766.858621210] [sick_scan2]: Program arguments: __node:=sick_scan2
[sick_generic_caller-1] [INFO] [1633685766.858652763] [sick_scan2]: Program arguments: --params-file
[sick_generic_caller-1] [INFO] [1633685766.858683165] [sick_scan2]: Program arguments: /home/xxx/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_mrs_1xxx.yaml
[sick_generic_caller-1] [INFO] [1633685766.858713278] [sick_scan2]: sick_generic_caller: scanner_name: sick_mrs_1xxx, hostname: 192.168.11.33, port: 2112
[sick_generic_caller-1] [INFO] [1633685766.858823236] [sick_scan2]: Start initialising scanner ...
[sick_generic_caller-1] [INFO] [1633685766.858861478] [sick_scan2]: hostname: 192.168.11.33
[sick_generic_caller-1] [INFO] [1633685766.858893479] [sick_scan2]: Port    : 2112
[sick_generic_caller-1] [INFO] [1633685766.862441335] [sick_scan2]: Parameter setting for <active_echo: 0>
[sick_generic_caller-1] [INFO] [1633685766.863452362] [sick_scan2]: Command: <STX>sMN SetAccessMode 3 F4724744<ETX>
[sick_generic_caller-1] [INFO] [1633685766.863605425] [sick_scan2]: Sending  : sMN SetAccessMode \x03\xf4\x72\x47\x44
[sick_generic_caller-1] [INFO] [1633685766.884924052] [sick_scan2]: Receiving: <STX>sAN SetAccessMode \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685766.886974586] [sick_scan2]: Command: <STX>sWN EIHstCola 1<ETX>
[sick_generic_caller-1] [INFO] [1633685766.888378144] [sick_scan2]: Sending  : sWN EIHstCola \x01
[sick_generic_caller-1] [INFO] [1633685766.900607840] [sick_scan2]: Receiving: <STX>sWA EIHstCola <ETX>
[sick_generic_caller-1] [INFO] [1633685766.903126813] [sick_scan2]: Command: <STX>sMN LMCstopmeas<ETX>
[sick_generic_caller-1] [INFO] [1633685766.908256060] [sick_scan2]: Sending  : sMN LMCstopmeas
[sick_generic_caller-1] [INFO] [1633685766.920099144] [sick_scan2]: Receiving: <STX>sAN LMCstopmeas \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685766.920271185] [sick_scan2]: Command: <STX>sWN SetActiveApplications 1 FEVL 0<ETX>
[sick_generic_caller-1] [INFO] [1633685766.920384758] [sick_scan2]: Sending  : sWN SetActiveApplications \x00\x01\x46\x45\x56\x4c\x00
[sick_generic_caller-1] [INFO] [1633685766.931879185] [sick_scan2]: Receiving: <STX>sWA SetActiveApplications <ETX>
[sick_generic_caller-1] [INFO] [1633685766.932059322] [sick_scan2]: Command: <STX>sWN SetActiveApplications 1 RANG 1<ETX>
[sick_generic_caller-1] [INFO] [1633685766.932170592] [sick_scan2]: Sending  : sWN SetActiveApplications \x00\x01\x52\x41\x4e\x47\x01
[sick_generic_caller-1] [INFO] [1633685766.942423997] [sick_scan2]: Receiving: <STX>sWA SetActiveApplications <ETX>
[sick_generic_caller-1] [INFO] [1633685766.942591590] [sick_scan2]: Command: <STX>sRN DeviceIdent<ETX>
[sick_generic_caller-1] [INFO] [1633685766.942872244] [sick_scan2]: Sending  : sRN DeviceIdent
[sick_generic_caller-1] [INFO] [1633685766.953186996] [sick_scan2]: Receiving: <STX>sRA DeviceIdent \x00\x08\x4d\x52\x53\x31\x78\x78\x78\x43\x00\x08\x32\x2e\x32\x2e\x31\x2e\x30\x52<ETX>
[sick_generic_caller-1] [INFO] [1633685766.953541094] [sick_scan2]: Command: <STX>sRN SerialNumber<ETX>
[sick_generic_caller-1] [INFO] [1633685766.953845717] [sick_scan2]: Sending  : sRN SerialNumber
[sick_generic_caller-1] [INFO] [1633685766.964183414] [sick_scan2]: Receiving: <STX>sRA SerialNumber \x00\x08\x32\x31\x31\x38\x30\x30\x33\x34<ETX>
[sick_generic_caller-1] [INFO] [1633685766.964462884] [sick_scan2]: Command: <STX>sRN FirmwareVersion<ETX>
[sick_generic_caller-1] [INFO] [1633685766.964602539] [sick_scan2]: Sending  : sRN FirmwareVersion
[sick_generic_caller-1] [INFO] [1633685766.974886890] [sick_scan2]: Receiving: <STX>sRA FirmwareVersion \x00\x09\x56\x20\x32\x2e\x32\x2e\x31\x2e\x30<ETX>
[sick_generic_caller-1] [INFO] [1633685766.975094068] [sick_scan2]: Command: <STX>sRN SCdevicestate<ETX>
[sick_generic_caller-1] [INFO] [1633685766.975258685] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685766.985699875] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685766.985898093] [sick_scan2]: Laser is busy
[sick_generic_caller-1] [INFO] [1633685766.985945680] [sick_scan2]: Command: <STX>sRN ODoprh<ETX>
[sick_generic_caller-1] [INFO] [1633685766.986022355] [sick_scan2]: Sending  : sRN ODoprh
[sick_generic_caller-1] [INFO] [1633685766.996284049] [sick_scan2]: Receiving: <STX>sRA ODoprh \x00\x00\x05\xab<ETX>
[sick_generic_caller-1] [INFO] [1633685766.996487611] [sick_scan2]: Command: <STX>sRN ODpwrc<ETX>
[sick_generic_caller-1] [INFO] [1633685766.996581952] [sick_scan2]: Sending  : sRN ODpwrc
[sick_generic_caller-1] [INFO] [1633685767.006865567] [sick_scan2]: Receiving: <STX>sRA ODpwrc \x00\x00\x00\x07<ETX>
[sick_generic_caller-1] [INFO] [1633685767.007049928] [sick_scan2]: Command: <STX>sRN LocationName<ETX>
[sick_generic_caller-1] [INFO] [1633685767.007244786] [sick_scan2]: Sending  : sRN LocationName
[sick_generic_caller-1] [INFO] [1633685767.017561490] [sick_scan2]: Receiving: <STX>sRA LocationName \x00\x0b\x53\x4e\x20\x32\x31\x31\x38\x30\x30\x33\x34<ETX>
[sick_generic_caller-1] [INFO] [1633685767.017801758] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1633685767.029429632] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xf8\xc0\x88\x00\x22\xb6\xb8<ETX>
[sick_generic_caller-1] [INFO] [1633685767.029760560] [sick_scan2]: Angle resolution of scanner is 0.25000 [deg]  (in 1/10000th deg: 0x9C4)
[sick_generic_caller-1] [INFO] [1633685767.029818579] [sick_scan2]: MIN_ANG:   -2.356 [rad] -135.000 [deg]
[sick_generic_caller-1] [INFO] [1633685767.029915864] [sick_scan2]: MAX_ANG:    2.356 [rad]  135.000 [deg]
[sick_generic_caller-1] [INFO] [1633685767.031374849] [sick_scan2]: Sending  : sWN LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xeb\x66\x91\x00\x14\x99\x70
[sick_generic_caller-1] [INFO] [1633685767.041631294] [sick_scan2]: Receiving: <STX>sFA\x00\x04<ETX>
[sick_generic_caller-1] [INFO] [1633685767.041802087] [sick_scan2]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX><STX><STX><STX>!sWN LMPoutputRange ���f��p�Answer= >>>sFA\x00\x04<<<
[sick_generic_caller-1]
[sick_generic_caller-1] [INFO] [1633685767.041930221] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1633685767.052184874] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x09\xc4\xff\xf8\xc0\x88\x00\x22\xb6\xb8<ETX>
[sick_generic_caller-1] [INFO] [1633685767.052365651] [sick_scan2]: Angle resolution of scanner is 0.25000 [deg]  (in 1/10000th deg: 0x9C4)
[sick_generic_caller-1] [INFO] [1633685767.052423926] [sick_scan2]: MIN_ANG (after command verification in device reference frame):   -0.829 [rad]  -47.500 [deg]
[sick_generic_caller-1] [INFO] [1633685767.052466840] [sick_scan2]: MAX_ANG (after command verification in device reference frame):    3.971 [rad]  227.500 [deg]
[sick_generic_caller-1] [INFO] [1633685767.052509978] [sick_scan2]: MRS 1xxx detected overwriting resolution flag (only 8 bit supported)
[sick_generic_caller-1] [INFO] [1633685767.052683235] [sick_scan2]: Sending  : sWN LMDscandatacfg \x07\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01
[sick_generic_caller-1] [INFO] [1633685767.062971298] [sick_scan2]: Receiving: <STX>sWA LMDscandatacfg <ETX>
[sick_generic_caller-1] [INFO] [1633685767.063345205] [sick_scan2]: Sending  : sRN LMDscandatacfg
[sick_generic_caller-1] [INFO] [1633685767.073680246] [sick_scan2]: Receiving: <STX>sRA LMDscandatacfg \x07\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01<ETX>
[sick_generic_caller-1] [INFO] [1633685767.074011655] [sick_scan2]: Sending  : sWN FREchoFilter \x00
[sick_generic_caller-1] [INFO] [1633685767.084311878] [sick_scan2]: Receiving: <STX>sWA FREchoFilter <ETX>
[sick_generic_caller-1] [INFO] [1633685767.084525777] [sick_scan2]: Command: <STX>sMN LMCstartmeas<ETX>
[sick_generic_caller-1] [INFO] [1633685767.084616245] [sick_scan2]: Sending  : sMN LMCstartmeas
[sick_generic_caller-1] [INFO] [1633685767.105015563] [sick_scan2]: Receiving: <STX>sAN LMCstartmeas \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685767.105234454] [sick_scan2]: Command: <STX>sMN Run<ETX>
[sick_generic_caller-1] [INFO] [1633685767.105749615] [sick_scan2]: Sending  : sMN Run
[sick_generic_caller-1] [INFO] [1633685767.116218647] [sick_scan2]: Receiving: <STX>sAN Run \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685767.116554472] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685767.126794245] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685767.127012847] [sick_scan2]: Waiting for scanner ready state since 0 secs
[sick_generic_caller-1] [INFO] [1633685768.127290952] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685768.138500789] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685768.138894600] [sick_scan2]: Waiting for scanner ready state since 1 secs
[sick_generic_caller-1] [INFO] [1633685769.139471238] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685769.150171866] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685769.150634385] [sick_scan2]: Waiting for scanner ready state since 2 secs
[sick_generic_caller-1] [INFO] [1633685770.151273225] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685770.162822662] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685770.163199545] [sick_scan2]: Waiting for scanner ready state since 3 secs
[sick_generic_caller-1] [INFO] [1633685771.163987952] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685771.174782184] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685771.175154554] [sick_scan2]: Waiting for scanner ready state since 4 secs
[sick_generic_caller-1] [INFO] [1633685772.175819970] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685772.186492468] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685772.187212504] [sick_scan2]: Waiting for scanner ready state since 5 secs
[sick_generic_caller-1] [INFO] [1633685773.187479779] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685773.197834980] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685773.198033518] [sick_scan2]: Waiting for scanner ready state since 6 secs
[sick_generic_caller-1] [INFO] [1633685774.198292688] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685774.208630865] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685774.209012516] [sick_scan2]: Waiting for scanner ready state since 7 secs
[sick_generic_caller-1] [INFO] [1633685775.209300478] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685775.220226684] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685775.220490729] [sick_scan2]: Waiting for scanner ready state since 8 secs
[sick_generic_caller-1] [INFO] [1633685776.220704599] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685776.231158974] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685776.231603156] [sick_scan2]: Waiting for scanner ready state since 9 secs
[sick_generic_caller-1] [INFO] [1633685777.231960096] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685777.243131530] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685777.243648067] [sick_scan2]: Waiting for scanner ready state since 10 secs
[sick_generic_caller-1] [INFO] [1633685778.244220177] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685778.254875681] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685778.255143407] [sick_scan2]: Waiting for scanner ready state since 11 secs
[sick_generic_caller-1] [INFO] [1633685779.255539339] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685779.266134424] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685779.266399397] [sick_scan2]: Waiting for scanner ready state since 12 secs
[sick_generic_caller-1] [INFO] [1633685780.266844667] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685780.277773753] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685780.278211535] [sick_scan2]: Waiting for scanner ready state since 13 secs
[sick_generic_caller-1] [INFO] [1633685781.278730720] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685781.289292491] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685781.289555640] [sick_scan2]: Waiting for scanner ready state since 14 secs
[sick_generic_caller-1] [INFO] [1633685782.289933689] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685782.300421025] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1633685782.300868279] [sick_scan2]: Waiting for scanner ready state since 15 secs
[sick_generic_caller-1] [INFO] [1633685783.301194061] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1633685783.311921344] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685783.312109705] [sick_scan2]: Scanner ready for measurement after 16 [sec]
[sick_generic_caller-1] [INFO] [1633685783.312179981] [sick_scan2]: Command: <STX>sEN LMDscandata 1<ETX>
[sick_generic_caller-1] [INFO] [1633685783.312270705] [sick_scan2]: Sending  : sEN LMDscandata \x01
[sick_generic_caller-1] [INFO] [1633685783.322704022] [sick_scan2]: Receiving: <STX>sEA LMDscandata \x01<ETX>
[sick_generic_caller-1] [INFO] [1633685783.322941634] [sick_scan2]: Starting scan data ....
[sick_generic_caller-1]
[sick_generic_caller-1] [INFO] [1633685783.323494173] [sick_scan2]: 1 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.341364979] [sick_scan2]: 2 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.361506456] [sick_scan2]: 3 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.383262030] [sick_scan2]: 4 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.401293195] [sick_scan2]: 5 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.421738080] [sick_scan2]: 6 / 6 Packet dropped Software PLL not yet locked.
[sick_generic_caller-1] [INFO] [1633685783.421895912] [sick_scan2]: Software PLL is expected to be ready now!

I worked on a workaround solution to loop 5 times to start a communication, but it is not the best solution:

int SickScanCommon::init()
	{
	int result = init_device();
	if (result != 0)
	{
	  printf("Failed to init device: %d", result);
	  return result;
	}
	int maxWaitForDeviceStateReady = 20; // 20 seconds
	int maxDeviceStateReadyAttempt = 5; // 5 attempts      
	for (int i = 1; i < maxDeviceStateReadyAttempt; i++)
	{
		printf("%d th attempt to start the scanner communication.  \n \n", i);
		result = init_scanner();
		int elapsedTime = i*maxWaitForDeviceStateReady;
		printf("Time elapsed for the scanner initalisation: %d \n \n", elapsedTime);
		if (result == 0)
		{
			break;
		}
	}    
	if (result != 0)
	{
	  printf("Failed to init scanner Error Code: %d\nWaiting for timeout...\n"
			 "If the communication mode set in the scanner memory is different from that used by the driver, the scanner's communication mode is changed.\n"
			 "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:\n"
			 "1. [Recommended] Set the communication mode with the SOPAS ET software to binary and save this setting in the scanner's EEPROM.\n"
			 "2. Use the parameter \"use_binary_protocol\" to overwrite the default settings of the driver.\n", result);
	}
	return result;
}

I think there is a problem around the LMCstartmeas procedure.

Sick_scan on W10

Hi,
does the driver can works on W10 ??
ROS2 is officialy supported by ubuntu 20.04 and W10 but is it the same for the driver ?
Thank you for the reply.

MRS6000 Support

Is there a timeline to add support for the MRS6000 lidar?

It seems to be supported in the source code but is lacking a launch file.

Parameter to configure sensor frame in scan message

The frame laser is quite common onboard a robot with multiple lidars. It would be very appreciated if the code supported grabbing a scan frame parameter, so that the Transforms could be reprojected into a specific lidar's frame ( allowing the use of multiple TIM's :). This could be done in a very similar manner to the min_angle and max_angle parameters:
https://github.com/SICKAG/sick_scan2/blob/master/driver/src/sick_scan_common.cpp#L246-L251

	double min_angle = node->declare_parameter(PARAM_MIN_ANG, -2.35619449);
	double max_angle = node->declare_parameter(PARAM_MAX_ANG, +2.35619449);

	cfg.min_ang = min_angle;
	cfg.max_ang = max_angle;
	cfg.frame_id = "laser";    // <---- requesting to make this configurable

Thank you for your effort on this repo!

C++17 compatibility

Not a troublemaker for now, but it might by worthy to keep in mind, there are several occurences in sick_scan2/driver/src/binPrintf.cpp (compiler warning, gcc version 11.2.0):
warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]

Setting IP Address of node at launch

How can I set the IP address of my Tim5 when I launch the ROS node?

ros2 launch sick_scan2 sick_tim_5xx.launch.py hostname:="192.168.1.1" does not seem to work.

The config yml file can be edited, but this limits the ability to use more than one scanner. How can I launch multiple nodes with different IP addresses?

bloom-release into ROS Eloquent

We've found this repository quite helpful, but have migrated to ROS Eloquent. Could you bloom-release this package into rosdistro eloquent? Thanks!

sick_scan2 (ROS2 Driver) changes the factory default configs and makes it no longer runable with ROS1

Hi all,
Recently, we have started our migration to ROS2 and we are using the sick_scan2 driver under Foxy version.
It turns out sick_scan2 driver somehow changes some default configs in the laser built-in software driver and makes it no longer runnable with the sick_scan1 (ROS1) driver.
After using sick_scan2, one must reset the laser config in order to make it runnable with sick_scan2.
We are using sick_tim_571 laser scanner in our robot.
Any instructions will be appreciated. Thanks!
Errors are attached!
Selection_437
Selection_437
Selection_436
Selection_434

Warning printout when running lidar

Report

  • Model: sick_tim_7xxS
  • ros2 foxy
  • commit hash: cdb099fcc944d3dc598b83c9368d935d9610b1c4

When running the sick lidar driver, I will occasionally receive these warning printouts. It seems that I might be using up the network bandwidth of my current setup. Hoping for some guidances to solve this. Thanks

Merge this repository back with sick_scan?

I'd like to discuss merging the code in this repository back into https://github.com/SICKAG/sick_scan . What it looks like happened here was that the code in the original sick_scan was copied to a new repository, then changes were made to port it to ROS 2. While this works, this is problematic for a couple of reasons:

  1. This way of doing forks doesn't create any specific link between the original code and this one. Thus, it is hard to know that they are related.
  2. Having it in a separate repository means that any updates to the ROS 1 driver will most likely not make it to the ROS 2 port either.

What I'd propose is to instead is to deprecate this repository and have a separate "ros2" branch on https://github.com/SICKAG/sick_scan. We can merge the code that has already been ported here onto that branch, and then continue doing the port incrementally as it makes sense. This fixes the first problem above, and at least makes it slightly more likely that any changes are propagated to both ROS 1 and ROS 2. This is also the workflow that we are recommending for porting ROS 2 packages in general.

Thoughts on this proposal?

adjustments user manual

Hi,

The sensor I use is the TIM571 and I was following the manual to get the device working. I came across some details, for the package didn't work straight out of the box for me.

'Default is "laser"' should be "cloud" according to me. The sensor TIM571 doesn't show anything in RVIZ with 'ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 world laser'. Should be 'ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 world cloud' I think.

Another thing: the "For a quick build, install and run test" comments work indeed. Very handy such ./makeall.bash and ./makeall.bash files. But for the demo above I had to add
-p "sw_pll_only_publisch:=False"
at 'ros2 run sick_scan2 sick_generic_caller --ros-args --params-file src/sick_scan2/config/sick_tim_5xx.yaml -p "hostname:=127.0.0.1" -p "port:=2112"'

Which ROS 2 driver package to use and develop

Hi @michael1309 and @puck-fzi,

I'm trying to get a better understanding of the driver packages hosted by SICKAG. There are some features like ROS 2 Composition, dynamic parameter reconfiguration ,etc that I would like to implement but unclear which package to target.

Based on the discussion here, the goal was to move the pure C++ library to sick_scan_base and merge this repo back into sick_scan. But it looks like sick_scan_base still has some ROS 1 dependencies and the merge has not happened.

I started using using this package but ran into some memory leak issues that seem to be addressed back in sick_scan_base but not here.

But from this latest comment, I learnt that the actively maintained driver package is now sick_scan_xd. So I tried building sick_scan_xd with the command colcon build --packages-select sick_scan --cmake-args " -DROS_VERSION=2" " -DLDMRS=0" --event-handlers console_direct+ as specified inthe README, but I run into the error below.

/home/yadu/ws_sick/src/sick_scan_xd/driver/src/sick_scan_common.cpp: In member function ‘virtual int sick_scan::SickScanCommon::init_scanner(rosNodePtr)’:
/home/yadu/ws_sick/src/sick_scan_xd/driver/src/sick_scan_common.cpp:2971:17: error: ‘ROS_INFO’ was not declared in this scope
 2971 |                 ROS_INFO("Prepare mLMPsetscancfg: Start Angle in 10000th deg in lidar notation: %10d", start_angle_in_10000th);

It looks like both the ROS 1 and ROS 2 library include the sick_scan_common.cpp translation unit (referring to the CMakeLists.txt file) but this logging implementation includes ROS 1 functions. Hence the compiler error above. It is also unclear if the memory leak issue is resolved in this package.

Lastly I came across the sick_safetyscanners2 package which has a much cleaner implementation of a ROS 2 node along with Lifecycle support. But it has its own sick_safescanners2_base package and does not not support the TIM range or laser scanners?

So I would like to know which package should I be using and developing off of?

It seems like it would be ideal if there is a pure C++ only "base" package and a second package for ROS drivers with ROS 1 and ROS 2 branches offering support for both TIM and other types of laser scanners. This way everyone can benefit from performance improvements and new features?

I'm looking forward to hearing from you. Thanks in advance.

Scanner Connection

The ROS 2 Driver connection

My issue is very similar to this one #28. So now I can connect by using the modified code with the (for loop) and actually the total time of connection could be systematically around 26 seconds, so it is not a problem of readiness for the scanner. Furthermore the configuration file (config/sick_mrs_1xxx.yaml) is edited as per adviced.

The only thing we can think of is that in the loop SickScanCommon::init_scanner() there is some initialization that doesn't take effect unless we pass it twice at least.

We are running the launch command in a docker image, we can provide the image and the logs if necessary to debug this, but we really would like that the nodes worked directly for us without any modifications.

Thanks in advance for your feedback

is it possible to run the code in ros2 dashing?

Hi,

Currently I have compliled this repository in ros2 dashing, I use sick LMS151, and when I run the launch file "sick_lms_1xx.launch.py", I just got the following output:

[INFO] [launch]: All log files can be found below /home/phymin/.ros/log/2020-10-13-16-59-19-014711-phymin-XPS-15-9550-13027
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [sick_generic_caller-1]: process started with pid [13037]

and nothing more information.

So I am wondering if the code is compatible with ros2 dashing, or should I change something? Hope someone could give me some clue, Thanks.

sick_scan2 packages building

Hi,

I have a MRS1104 and I have some problems to install sick_scan2 packages in spite following the instructions correctly.

While I'm trying to build with colcon I get these issues (1):
sickscan2_install_issue_1

So I edited the CMakelists.txt and I tried to comment the line 56:
find_package(PCL REQUIRED) # workaround https://github.com/ros2/rosidl/issues/402 : Do find_package(PCL) after calling rosidl_generate_interfaces in your CMakeLists.txt

And I get this error (2):
sickscan2_install_issue_2

And if I comment the line concerned I get some other issues, that's logical.
Do you have a solution in order to solve this problem ?

Thanks !

My configuration :
I've installed ROS2 Foxy Fiztroy into a VM with Ubuntu 20.04.3.
Lidar is connected to my laptop with its ethernet wire.

My CMakeLists.txt :

`###########################################################

ROS2 CMakeLists.txt for SICK-Scanner-Support

Project: sick_scan2

URL: https://github.com/SICKAG/sick_scan2

###########################################################

cmake_minimum_required(VERSION 3.5)

project(sick_scan2)

Default to C++14

if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()

TODO: Remove compiler warning from the code - currently suppressed

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wno-sign-compare )

add_compile_options(-Wall -Wextra -Wpedantic)

endif()

#uncomment this lines and change path accordingly
set(FastRTPS_INCLUDE_DIR /opt/ros/foxy/include)
set(FastRTPS_LIBRARY_RELEASE /opt/ros/foxy/lib/libfastrtps.so)
#to fix
#CMake Error at /snap/clion/126/bin/cmake/linux/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):

Could NOT find FastRTPS (missing: FastRTPS_INCLUDE_DIR FastRTPS_LIBRARIES)

find_package(Boost REQUIRED COMPONENTS system thread)

find_package(ament_cmake REQUIRED)

find_package(diagnostic_updater REQUIRED)

find_package(rclcpp REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(std_msgs REQUIRED)
find_package(tf2 REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(diagnostic_msgs REQUIRED)
find_package(tf2_ros REQUIRED)

add_definitions(-DUSE_DYN_RECONFIG=0)

if(BUILD_WITH_LDMRS_SUPPORT OR BUILD_WITH_LDMRS_SUPPORT MATCHES "true")
message(STATUS "Building sick_scan2 with LDMRS support")
add_definitions(-DLDMRS_SUPPORT=1)
find_package(rosidl_default_generators REQUIRED)
find_package(SickLDMRS REQUIRED)
rosidl_generate_interfaces(${PROJECT_NAME}
"msg/ldmrs/SickLdmrsObject.msg"
"msg/ldmrs/SickLdmrsObjectArray.msg"
DEPENDENCIES builtin_interfaces std_msgs geometry_msgs sensor_msgs
)
# find_package(PCL REQUIRED) # workaround ros2/rosidl#402 : Do find_package(PCL) after calling rosidl_generate_interfaces in your CMakeLists.txt
set(LDMRS_INCLUDES ${SICK_LDMRS_INCLUDE_DIRS} ${PCL_INCLUDE_DIRS})
set(LDMRS_SOURCES driver/src/ldmrs/sick_ldmrs_config.cpp driver/src/ldmrs/sick_ldmrs_driver.cpp driver/src/ldmrs/sick_ldmrs_node.cpp)
set(LDMRS_TARGET_DEPENDENCIES SickLDMRS)
message(STATUS "LDMRS_INCLUDES: ${LDMRS_INCLUDES}")
message(STATUS "LDMRS_SOURCES: ${LDMRS_SOURCES}")
message(STATUS "LDMRS_TARGET_DEPENDENCIES: ${LDMRS_TARGET_DEPENDENCIES}")
endif()

find_package(Boost REQUIRED COMPONENTS system thread) # rosidl_generate_interfaces overwrites ${Boost_LIBRARIES}. Workaround: Do find_package(Boost ) after calling rosidl_generate_interfaces in CMakeLists.txt

if(BUILD_WITH_TEST_SERVER OR BUILD_WITH_TEST_SERVER MATCHES "true")
message(STATUS "Building sick_scan2 with test server support")
set(TEST_SERVER_INCLUDES tools/test_server/include)
endif()

include_directories(include ${Boost_INCLUDE_DIR} ${LDMRS_INCLUDES} ${TEST_SERVER_INCLUDES})

add_library(sick_scan2_lib
driver/src/sick_generic_laser.cpp
driver/src/sick_generic_parser.cpp
driver/src/sick_scan_common_tcp.cpp
driver/src/sick_scan_common.cpp
driver/src/tcp/tcp.cpp
driver/src/tcp/Mutex.cpp
driver/src/tcp/SickThread.cpp
driver/src/tcp/errorhandler.cpp
driver/src/tcp/toolbox.cpp
driver/src/tcp/Time.cpp
driver/src/tcp/colaa.cpp
driver/src/tcp/colab.cpp
driver/src/binPrintf.cpp
driver/src/binScanf.cpp
driver/src/sick_scan_common_nw.cpp
driver/src/sick_generic_imu.cpp
driver/src/softwarePLL.cpp
${LDMRS_SOURCES}
)

ament_target_dependencies(
sick_scan2_lib
"Boost"
"rclcpp"
"sensor_msgs"
"std_msgs"
"geometry_msgs"
"diagnostic_msgs"
"tf2_ros"
${LDMRS_TARGET_DEPENDENCIES}
)

add_executable(sick_generic_caller
driver/src/sick_generic_caller.cpp
)

ament_target_dependencies(
sick_generic_caller
"Boost"
# "diagnostic_updater"
"rclcpp"
"sensor_msgs"
"std_msgs"
"geometry_msgs"
"diagnostic_msgs"
"tf2_ros"
${LDMRS_TARGET_DEPENDENCIES}
)

#add_executable(quat_test

tools/quat_test/quat_test.cpp

include/sick_scan/sick_generic_imu.h

include/sick_scan/softwarePLL.h)

#ament_target_dependencies(quat_test

"rclcpp"

"tf2"

)

if(BUILD_WITH_LDMRS_SUPPORT OR BUILD_WITH_LDMRS_SUPPORT MATCHES "true")
rosidl_target_interfaces(sick_scan2_lib ${PROJECT_NAME} "rosidl_typesupport_cpp")
rosidl_target_interfaces(sick_generic_caller ${PROJECT_NAME} "rosidl_typesupport_cpp")
target_link_libraries(sick_generic_caller sick_scan2_lib ${SICK_LDMRS_LIBRARIES} ${Boost_LIBRARIES})
else()
target_link_libraries(sick_generic_caller sick_scan2_lib)
endif()

if(BUILD_WITH_TEST_SERVER OR BUILD_WITH_TEST_SERVER MATCHES "true")
add_executable(test_server
tools/test_server/src/test_server.cpp
tools/test_server/src/test_server_cola_msg.cpp
tools/test_server/src/test_server_ldmrs_msg.cpp
tools/test_server/src/test_server_thread.cpp)
target_link_libraries(test_server sick_scan2_lib ${SICK_LDMRS_LIBRARIES} ${Boost_LIBRARIES})
ament_target_dependencies(test_server "rclcpp")
install(TARGETS
test_server
DESTINATION lib/${PROJECT_NAME})
install(DIRECTORY
tools/test_server/config
tools/test_server/launch
DESTINATION share/${PROJECT_NAME})
endif()

install(TARGETS
sick_generic_caller
DESTINATION lib/${PROJECT_NAME})

install(TARGETS
sick_scan2_lib
DESTINATION lib)

Install launch files.

install(DIRECTORY
launch
config
DESTINATION share/${PROJECT_NAME})

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()

ament_package()`

Launchfile isnt working with TiM 781S

Hi,
I am using a TiM781S and the launch file isnt working.
I tried it on: Ubuntu 20.04 with foxy.
I changed the hostname port and frame_id for the launchfile. The exact error is attached at the bottom.

Also the ros2 run command I used before isn't working anymore:
ros2 run sick_scan2 sick_generic_caller __hostname:=192.168.1.24 __port:=2113 __name:=sick_tim_7xxS __frame_id:=base_scan

Thanks in advance!
If you need more information just tell me and I'll provide it.

Here is my whole terminal print when I try the launch file:
[INFO] [launch]: All log files can be found below /root/.ros/log/2020-08-13-11-42-14-786077-AGV-Research-Rudi-128
[INFO] [launch]: Default logging verbosity is set to INFO
[WARNING] [launch_ros.actions.node]: Parameter file path is not a file: /home/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_tim_7xxS.yaml
[INFO] [sick_generic_caller-1]: process started with pid [130]
[sick_generic_caller-1] [ERROR] [1597318934.961745895] [rcl]: Failed to parse global arguments [sick_generic_caller-1]
[sick_generic_caller-1] >>> [rcutils|error_handling.c:108] rcutils_set_error_state()
[sick_generic_caller-1] This error state is being overwritten:
[sick_generic_caller-1]
[sick_generic_caller-1] 'Couldn't parse params file: '--params-file /home/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_tim_7xxS.yaml'. Error: Error opening YAML file, at /tmp/binarydeb/ros-foxy-rcl-yaml-param-parser-1.1.6/src/parser.c:1782, at /tmp/binarydeb/ros-foxy-rcl-1.1.6/src/rcl/arguments.c:391'
[sick_generic_caller-1]
[sick_generic_caller-1] with this new error message:
[sick_generic_caller-1]
[sick_generic_caller-1] 'context is zero-initialized, at /tmp/binarydeb/ros-foxy-rcl-1.1.6/src/rcl/context.c:51' [sick_generic_caller-1]
[sick_generic_caller-1] rcutils_reset_error() should be called after error handling to avoid this.
[sick_generic_caller-1] <<<
[sick_generic_caller-1] [ERROR] [1597318934.961879152] [rclcpp]: failed to finalize context: context is zero-initialized, at /tmp/binarydeb/ros-foxy-rcl-1.1.6/src/rcl/context.c:51
[sick_generic_caller-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLInvalidROSArgsError' [sick_generic_caller-1] what(): failed to initialize rcl: error not set
[ERROR] [sick_generic_caller-1]: process has died [pid 130, exit code -6, cmd '/home/sick_scan_ws/install/sick_scan2/lib/sick_scan2/sick_generic_caller --ros-args -r __node:=sick_scan2_tim_7xxS --params-file /home/sick_scan_ws/install/sick_scan2/share/sick_scan2/config/sick_tim_7xxS.yaml'].

Error when trying ros2 run...:
[WARN] [1597319344.805574338] [rcl]: Found remap rule '__name:=sick_tim_7xxS'. This syntax is deprecated. Use '--ros-args --remap __name:=sick_tim_7xxS' instead.
[INFO] [1597319344.842864412] [sick_tim_7xxS]: sick_generic_caller V. 002.000.000
[INFO] [1597319344.843244763] [sick_tim_7xxS]: Program arguments: /home/sick_scan_ws/install/sick_scan2/lib/sick_scan2/sick_generic_caller [INFO] [1597319344.843388440] [sick_tim_7xxS]: Program arguments: __hostname:=192.168.1.24
[INFO] [1597319344.843421084] [sick_tim_7xxS]: Program arguments: __port:=2113
[INFO] [1597319344.843473150] [sick_tim_7xxS]: Program arguments: __name:=sick_tim_7xxS
[INFO] [1597319344.843558944] [sick_tim_7xxS]: Program arguments: __frame_id:=base_scan
Scanner not supported.
terminate called after throwing an instance of 'std::__cxx11::basic_string<char, std::char_traits, std::allocator >*'

TIM551 USB

Hello,
I am wondering if there is a way to use the Scanner TIM551 not through Ethernet connection, but instead trough USB in ROS2.

In ROS1 I could choose to use the TCP connection or the USB protocol for data transfer, as described in the following launch file by commenting out the lines concerning the TCP configuration.
Launchfile ROS1 (melodic) TIM551

I would be very happy if someone could help me.
Kind regards and thanks in advance,
Simon

ROS node dying on startup

I have this issue when trying to startup the ROS 2 driver with my SICK mrs-1000, Basically I launch this command:
ros2 launch sick_scan2 sick_mrs_1xxx.launch.py
And I have this log:

[sick_generic_caller-1]
[sick_generic_caller-1] [INFO] [1656595978.772872531] [sick_scan2]: Sending  : sMN SetAccessMode 3 F4724744
[sick_generic_caller-1] [INFO] [1656595978.783116056] [sick_scan2]: Receiving: <STX>sAN SetAccessMode 1<ETX>
[sick_generic_caller-1] [INFO] [1656595978.783264993] [sick_scan2]: Command: <STX>sWN EIHstCola 1<ETX>
[sick_generic_caller-1] [INFO] [1656595978.783348966] [sick_scan2]: Sending  : sWN EIHstCola 1
[sick_generic_caller-1] [INFO] [1656595978.793544232] [sick_scan2]: Receiving: <STX>sWA EIHstCola<ETX>
[sick_generic_caller-1] [ERROR] [1656595978.793760853] [sick_scan2]: init failed: 1. shutting down
[sick_generic_caller-1] Not all nodes were finished before finishing the context
[sick_generic_caller-1] .Ensure `rcl_node_fini` is called for all nodes before `rcl_context_fini`,to avoid leaking.
[sick_generic_caller-1] terminate called without an active exception
[ERROR] [sick_generic_caller-1]: process has died [pid 27031, exit code -6, cmd '/opt/ros/foxy/lib/sick_scan2/sick_generic_caller --ros-args -r __node:=sick_scan2 --params-file /opt/ros/foxy/share/sick_scan2/config/sick_mrs_1xxx.yaml'].

For the environment in which this is happening it is an arm64 controller with Docker images with Ros foxy.

And normally the LiDAR is configured correctly with (COLA-B), so what could be the reason for the node to not initiate and dye directly like this?

Software gets stuck if run before the scanner is ready

I have an LMS511 connected to a pc which at boot automatically starts the drivers for the LMS. Now when drivers are started and the LMS is not available the program will crash and I can automatically relaunch it with a small wait time. I decided to make the wait conditional if I can ping the LMS, but the problem is the ping is available before the LMS software has started and can react to the requests of the Host pc drivers requests. The Driver then just gets stuck with following line:
Starting scan data ....

Here the complete log:

[sick_generic_caller-1] [INFO] [1634735866.008778732] [sick_scan2]: sick_generic_caller V. 001.009.000
[sick_generic_caller-1] [INFO] [1634735866.008885733] [sick_scan2]: Program arguments: /home/username/ros2_rolling/install/sick_scan2/lib/sick_scan2/sick_generic_caller
[sick_generic_caller-1] [INFO] [1634735866.008904234] [sick_scan2]: Program arguments: --ros-args
[sick_generic_caller-1] [INFO] [1634735866.008914425] [sick_scan2]: Program arguments: --params-file
[sick_generic_caller-1] [INFO] [1634735866.008923213] [sick_scan2]: Program arguments: /home/username/ros2_rolling/install/project/share/project/config/sensor/lms.yaml
[sick_generic_caller-1] [INFO] [1634735866.008931746] [sick_scan2]: sick_generic_caller: scanner_name: sick_lms_5xx, hostname: 192.168.254.26, port: 2112
[sick_generic_caller-1] [INFO] [1634735866.009088580] [sick_scan2]: Start initialising scanner ...
[sick_generic_caller-1] [INFO] [1634735866.009110512] [sick_scan2]: hostname: 192.168.254.26
[sick_generic_caller-1] [INFO] [1634735866.009120125] [sick_scan2]: Port    : 2112
[sick_generic_caller-1] [INFO] [1634735866.011899163] [sick_scan2]: Parameter setting for <active_echo: 0>
[sick_generic_caller-1] [INFO] [1634735866.011965556] [sick_scan2]: Command: <STX>sMN SetAccessMode 3 F4724744<ETX>
[sick_generic_caller-1] [INFO] [1634735866.012116664] [sick_scan2]: Sending  : sMN SetAccessMode \x03\xf4\x72\x47\x44
[sick_generic_caller-1] [INFO] [1634735866.022266965] [sick_scan2]: Receiving: <STX>sAN SetAccessMode \x01<ETX>
[sick_generic_caller-1] [INFO] [1634735866.022330002] [sick_scan2]: Command: <STX>sWN EIHstCola 1<ETX>
[sick_generic_caller-1] [INFO] [1634735866.022375754] [sick_scan2]: Sending  : sWN EIHstCola \x01
[sick_generic_caller-1] [INFO] [1634735866.032480084] [sick_scan2]: Receiving: <STX>sWA EIHstCola <ETX>
[sick_generic_caller-1] [INFO] [1634735866.032526548] [sick_scan2]: Command: <STX>sRN FirmwareVersion<ETX>
[sick_generic_caller-1] [INFO] [1634735866.032564412] [sick_scan2]: Sending  : sRN FirmwareVersion
[sick_generic_caller-1] [INFO] [1634735866.042629718] [sick_scan2]: Receiving: <STX>sRA FirmwareVersion \x00\x09\x53\x20\x31\x2e\x36\x30\x20\x20\x20<ETX>
[sick_generic_caller-1] [INFO] [1634735866.042678223] [sick_scan2]: Command: <STX>sRN SCdevicestate<ETX>
[sick_generic_caller-1] [INFO] [1634735866.042714334] [sick_scan2]: Sending  : sRN SCdevicestate
[sick_generic_caller-1] [INFO] [1634735866.052779890] [sick_scan2]: Receiving: <STX>sRA SCdevicestate \x00<ETX>
[sick_generic_caller-1] [INFO] [1634735866.052832321] [sick_scan2]: Laser is busy
[sick_generic_caller-1] [INFO] [1634735866.052850464] [sick_scan2]: Command: <STX>sRN ODoprh<ETX>
[sick_generic_caller-1] [INFO] [1634735866.052881343] [sick_scan2]: Sending  : sRN ODoprh
[sick_generic_caller-1] [INFO] [1634735866.062932892] [sick_scan2]: Receiving: <STX>sRA ODoprh \x00\x01\x80\x23<ETX>
[sick_generic_caller-1] [INFO] [1634735866.062979743] [sick_scan2]: Command: <STX>sRN ODpwrc<ETX>
[sick_generic_caller-1] [INFO] [1634735866.063015875] [sick_scan2]: Sending  : sRN ODpwrc
[sick_generic_caller-1] [INFO] [1634735866.073115359] [sick_scan2]: Receiving: <STX>sRA ODpwrc \x00\x00\x00\xb4<ETX>
[sick_generic_caller-1] [INFO] [1634735866.073172069] [sick_scan2]: Command: <STX>sRN LocationName<ETX>
[sick_generic_caller-1] [INFO] [1634735866.073212667] [sick_scan2]: Sending  : sRN LocationName
[sick_generic_caller-1] [INFO] [1634735866.083316595] [sick_scan2]: Receiving: <STX>sRA LocationName \x00\x0b\x6e\x6f\x74\x20\x64\x65\x66\x69\x6e\x65\x64<ETX>
[sick_generic_caller-1] [INFO] [1634735866.083397161] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1634735866.093501477] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x13\x88\x00\x00\x00\x00\x00\x1b\x77\x40<ETX>
[sick_generic_caller-1] [INFO] [1634735866.093546414] [sick_scan2]: Angle resolution of scanner is 0.50000 [deg]  (in 1/10000th deg: 0x1388)
[sick_generic_caller-1] [INFO] [1634735866.093564815] [sick_scan2]: MIN_ANG:   -1.658 [rad]  -95.000 [deg]
[sick_generic_caller-1] [INFO] [1634735866.093577960] [sick_scan2]: MAX_ANG:    1.658 [rad]   95.000 [deg]
[sick_generic_caller-1] [INFO] [1634735866.093628276] [sick_scan2]: Sending  : sWN LMPoutputRange \x00\x01\x00\x00\x13\x88\xff\xf1\x81\x11\x00\x0e\x7e\xf0
[sick_generic_caller-1] [INFO] [1634735866.103727849] [sick_scan2]: Receiving: <STX>sFA\x00\x04<ETX>
[sick_generic_caller-1] [INFO] [1634735866.103770502] [sick_scan2]: Error Sopas answer mismatch Error unexpected Sopas Answer for request <STX><STX><STX><STX>!sWN LMPoutputRange ~Answer= >>>sFA\x00\x04<<<
[sick_generic_caller-1] 
[sick_generic_caller-1] [INFO] [1634735866.103808226] [sick_scan2]: Sending  : sRN LMPoutputRange
[sick_generic_caller-1] [INFO] [1634735866.113909582] [sick_scan2]: Receiving: <STX>sRA LMPoutputRange \x00\x01\x00\x00\x13\x88\x00\x00\x00\x00\x00\x1b\x77\x40<ETX>
[sick_generic_caller-1] [INFO] [1634735866.113954275] [sick_scan2]: Angle resolution of scanner is 0.50000 [deg]  (in 1/10000th deg: 0x1388)
[sick_generic_caller-1] [INFO] [1634735866.113971923] [sick_scan2]: MIN_ANG (after command verification in device reference frame):    0.000 [rad]    0.000 [deg]
[sick_generic_caller-1] [INFO] [1634735866.114003303] [sick_scan2]: MAX_ANG (after command verification in device reference frame):    3.142 [rad]  180.000 [deg]
[sick_generic_caller-1] [INFO] [1634735866.114024522] [sick_scan2]: LMS 5xx detected overwriting output channel flag ID
[sick_generic_caller-1] [INFO] [1634735866.114034373] [sick_scan2]: LMS 5xx detected overwriting resolution flag (only 8 bit supported)
[sick_generic_caller-1] [INFO] [1634735866.114077855] [sick_scan2]: Sending  : sWN LMDscandatacfg \x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01
[sick_generic_caller-1] [INFO] [1634735866.124176559] [sick_scan2]: Receiving: <STX>sWA LMDscandatacfg <ETX>
[sick_generic_caller-1] [INFO] [1634735866.124236482] [sick_scan2]: Sending  : sRN LMDscandatacfg
[sick_generic_caller-1] [INFO] [1634735866.134338170] [sick_scan2]: Receiving: <STX>sRA LMDscandatacfg \x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x01<ETX>
[sick_generic_caller-1] [INFO] [1634735866.134398635] [sick_scan2]: Command: <STX>sMN LMCstartmeas<ETX>
[sick_generic_caller-1] [INFO] [1634735866.134434521] [sick_scan2]: Sending  : sMN LMCstartmeas
[sick_generic_caller-1] [INFO] [1634735866.144536092] [sick_scan2]: Receiving: <STX>sAN LMCstartmeas \x00<ETX>
[sick_generic_caller-1] [INFO] [1634735866.144584526] [sick_scan2]: Command: <STX>sMN Run<ETX>
[sick_generic_caller-1] [INFO] [1634735866.144622750] [sick_scan2]: Sending  : sMN Run
[sick_generic_caller-1] [INFO] [1634735866.154719084] [sick_scan2]: Receiving: <STX>sAN Run \x01<ETX>
[sick_generic_caller-1] [INFO] [1634735866.154767174] [sick_scan2]: Command: <STX>sEN LMDscandata 1<ETX>
[sick_generic_caller-1] [INFO] [1634735866.154802417] [sick_scan2]: Sending  : sEN LMDscandata \x01
[sick_generic_caller-1] [INFO] [1634735866.164896397] [sick_scan2]: Receiving: <STX>sEA LMDscandata \x01<ETX>
[sick_generic_caller-1] [INFO] [1634735866.164934567] [sick_scan2]: Starting scan data ....
[sick_generic_caller-1] 

Is there a way to a) either prevent the driver from getting stuck there or b) only start the driver when the LMS is ready? I thought waiting for the ping would achieve b) but that seems to not be the case, is there another programmatic way to check when the LMS is ready?

RADAR support

Is there a timeline for RMS300 with ROS2 support?

Is it possible to set all parameters via ros, which can be set in sopas?

There are some parameters I can not find how to set them via ros e.g. the echo filter or the particle filter, the mean filter, the fog filter and the multiecho handling. There are also others. Does ros only expose a subset of the options of the sensor? And if I change them in sopas will the change be reflected when running the sensor using the ros drivers or will the drivers overwrite these parameters with some defaults? I checked the sick_generic_caller.cpp file and didn't find all parameters, so I assume the driver won't overwrite the set config on the sensor?

ERROR: LuxBase::cmd_getParameter: LD-MRS ERROR: Failed to receive GetParameter reply.

I have a LD-MRS400001 and running the sick_ldmrs.launch.py launcher with the default config, except the ip is changed, results in following errors:

username@username-HP-Z2-Tower-G4-Workstation:~/ros2_foxy$ ros2 launch sick_scan2 sick_ldmrs.launch.py
[INFO] [launch]: All log files can be found below /home/username/.ros/log/2021-01-13-16-22-14-289375-username-HP-Z2-Tower-G4-Workstation-4702
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [sick_generic_caller-1]: process started with pid [4704]
[sick_generic_caller-1] [INFO] [1610551334.353802950] [sick_scan2]: sick_generic_caller V. 001.009.000
[sick_generic_caller-1] [INFO] [1610551334.353867987] [sick_scan2]: Program arguments: /home/username/ros2_foxy/install/sick_scan2/lib/sick_scan2/sick_generic_caller
[sick_generic_caller-1] [INFO] [1610551334.353877194] [sick_scan2]: Program arguments: --ros-args
[sick_generic_caller-1] [INFO] [1610551334.353882362] [sick_scan2]: Program arguments: -r
[sick_generic_caller-1] [INFO] [1610551334.353886767] [sick_scan2]: Program arguments: __node:=sick_scan2
[sick_generic_caller-1] [INFO] [1610551334.353891137] [sick_scan2]: Program arguments: --params-file
[sick_generic_caller-1] [INFO] [1610551334.353895403] [sick_scan2]: Program arguments: /home/username/ros2_foxy/install/sick_scan2/share/sick_scan2/config/sick_ldmrs.yaml
[sick_generic_caller-1] [INFO] [1610551334.353900074] [sick_scan2]: sick_generic_caller: scanner_name: sick_ldmrs, hostname: 192.168.0.10, port: 2112
[sick_generic_caller-1] [INFO] [1610551334.353939572] [sick_scan2]: Initializing LDMRS...
[sick_generic_caller-1] [INFO] [1610551334.354730580] [sick_ldmrs_driver]: Creating the manager.
[sick_generic_caller-1] [INFO] [1610551334.354762149] [sick_ldmrs_driver]: Adding the application SickLDMRS.
[sick_generic_caller-1] [INFO] [1610551334.354792040] [sick_ldmrs_driver]: ROS::param(sick_scan2,frame_id,ldmrs): frame_id=cloud
[sick_generic_caller-1] [INFO] [1610551334.354861993] [sick_ldmrs_driver]: ROS::param(sick_scan2,start_angle,0.872664): start_angle=0.872664
[sick_generic_caller-1] [INFO] [1610551334.354921136] [sick_ldmrs_driver]: ROS::param(sick_scan2,end_angle,-1.0472): end_angle=-1.0472
[sick_generic_caller-1] [INFO] [1610551334.354980900] [sick_ldmrs_driver]: ROS::param(sick_scan2,scan_frequency,0): scan_frequency=0
[sick_generic_caller-1] [INFO] [1610551334.355040958] [sick_ldmrs_driver]: ROS::param(sick_scan2,sync_angle_offset,0): sync_angle_offset=0
[sick_generic_caller-1] [INFO] [1610551334.355097969] [sick_ldmrs_driver]: ROS::param(sick_scan2,angular_resolution_type,1): angular_resolution_type=1
[sick_generic_caller-1] [INFO] [1610551334.355155184] [sick_ldmrs_driver]: ROS::param(sick_scan2,layer_range_reduction,0): layer_range_reduction=0
[sick_generic_caller-1] [INFO] [1610551334.355215291] [sick_ldmrs_driver]: ROS::param(sick_scan2,ignore_near_range,0): ignore_near_range=0
[sick_generic_caller-1] [INFO] [1610551334.355271584] [sick_ldmrs_driver]: ROS::param(sick_scan2,sensitivity_control,0): sensitivity_control=0
[sick_generic_caller-1] [INFO] [1610551334.355372226] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle1,0.872664): flexres_start_angle1=0.872664
[sick_generic_caller-1] [INFO] [1610551334.355432510] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle2,0.610865): flexres_start_angle2=0.610865
[sick_generic_caller-1] [INFO] [1610551334.355492182] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle3,0.523598): flexres_start_angle3=0.523598
[sick_generic_caller-1] [INFO] [1610551334.355551596] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle4,0.349065): flexres_start_angle4=0.349065
[sick_generic_caller-1] [INFO] [1610551334.355611835] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle5,0): flexres_start_angle5=0
[sick_generic_caller-1] [INFO] [1610551334.355676677] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle6,-0.349065): flexres_start_angle6=-0.349065
[sick_generic_caller-1] [INFO] [1610551334.355737243] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle7,-0.523598): flexres_start_angle7=-0.523598
[sick_generic_caller-1] [INFO] [1610551334.355796622] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_start_angle8,-0.698131): flexres_start_angle8=-0.698131
[sick_generic_caller-1] [INFO] [1610551334.355857807] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution1,32): flexres_resolution1=32
[sick_generic_caller-1] [INFO] [1610551334.355915427] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution2,16): flexres_resolution2=16
[sick_generic_caller-1] [INFO] [1610551334.355973153] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution3,8): flexres_resolution3=8
[sick_generic_caller-1] [INFO] [1610551334.356030412] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution4,4): flexres_resolution4=4
[sick_generic_caller-1] [INFO] [1610551334.356088330] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution5,8): flexres_resolution5=8
[sick_generic_caller-1] [INFO] [1610551334.356146019] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution6,16): flexres_resolution6=16
[sick_generic_caller-1] [INFO] [1610551334.356203498] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution7,32): flexres_resolution7=32
[sick_generic_caller-1] [INFO] [1610551334.356263876] [sick_ldmrs_driver]: ROS::param(sick_scan2,flexres_resolution8,16): flexres_resolution8=16
[sick_generic_caller-1] [INFO] [1610551334.356321760] [sick_ldmrs_driver]: ROS::param(sick_scan2,contour_point_density,2): contour_point_density=2
[sick_generic_caller-1] [INFO] [1610551334.356398833] [sick_ldmrs_driver]: ROS::param(sick_scan2,min_object_age,0): min_object_age=0
[sick_generic_caller-1] [INFO] [1610551334.356456558] [sick_ldmrs_driver]: ROS::param(sick_scan2,max_prediction_age,0): max_prediction_age=0
[sick_generic_caller-1] [INFO] [1610551334.357591245] [sick_ldmrs_driver]: Application is running.
[sick_generic_caller-1] [INFO] [1610551334.357604224] [sick_ldmrs_driver]: Adding the LDMRS device.
[sick_generic_caller-1] [INFO] [1610551334.357629346] [sick_ldmrs_driver]: ROS::param(sick_scan2,hostname,192.168.0.1): hostname=192.168.0.10
[sick_generic_caller-1] [INFO] [1610551334.357635742] [sick_ldmrs_driver]: Set IP address to 192.168.0.10
[sick_generic_caller-1] 1610551334.3577 Info: Manager::addAndRunDevice: Created Device of type 3 with Name LDMRS-1 under the ID 1. Now initializing the device.
[sick_generic_caller-1] 1610551334.3675 Info: LuxBase::readBeamTilt: LD-MRS Beam tilt read. Angle is 0.0 degrees.
[sick_generic_caller-1] 1610551334.3740 Warning: LuxBase::receiveMrsReply: LD-MRS Received that an error occurred.
[sick_generic_caller-1] 1610551334.3740 ERROR: LuxBase::cmd_getParameter: LD-MRS ERROR: Failed to receive GetParameter reply.
[sick_generic_caller-1] 1610551334.3740 Info: LuxBase::readUpsideDown: LD-MRS UpsideDown not supported by firmware.
[sick_generic_caller-1] 1610551334.3741 Info: LuxBase::cmd_setNtpTimestamp: seconds: 3819540134; fractional: 0
[sick_generic_caller-1] 1610551334.3784 Info: Manager::addAndRunDevice: Device is initialized.
[sick_generic_caller-1] 1610551334.5062 Info: Manager::addAndRunDevice: Device is running.
[sick_generic_caller-1] 1610551334.5063 Info: Manager::addAndRunDevice: Added device, now running source thread.
[sick_generic_caller-1] 1610551334.5064 Info: Manager::addAndRunDevice: All done, leaving.
[sick_generic_caller-1] [INFO] [1610551334.506822759] [sick_ldmrs_driver]: LD-MRS Firmware version is 3.02.5 2014-06-11 09:02
[sick_generic_caller-1] 1610551334.5137 Warning: LuxBase::receiveMrsReply: LD-MRS Received that an error occurred.
[sick_generic_caller-1] 1610551334.5138 ERROR: LuxBase::cmd_getParameter: LD-MRS ERROR: Failed to receive GetParameter reply.
[sick_generic_caller-1] [ERROR] [1610551334.513821390] [sick_ldmrs_driver]: Error: upside down mode is active, please disable!
[sick_generic_caller-1] [INFO] [1610551334.513915251] [sick_ldmrs_driver]: Updating config...
[sick_generic_caller-1] 1610551334.6400 Warning: LuxBase::receiveMrsReply: LD-MRS Received that an error occurred.
[sick_generic_caller-1] 1610551334.6401 ERROR: LuxBase::cmd_setParameter: LD-MRS ERROR: Failed to receive SetParameter reply.
[sick_generic_caller-1] [WARN] [1610551334.640084440] [sick_ldmrs_driver]: Sending param not successful: RangeReduction
[sick_generic_caller-1] 1610551334.6469 Warning: LuxBase::receiveMrsReply: LD-MRS Received that an error occurred.
[sick_generic_caller-1] 1610551334.6469 ERROR: LuxBase::cmd_setParameter: LD-MRS ERROR: Failed to receive SetParameter reply.
[sick_generic_caller-1] [WARN] [1610551334.646941885] [sick_ldmrs_driver]: Sending param not successful: IgnoreNearRange
[sick_generic_caller-1] 1610551334.6535 Warning: LuxBase::receiveMrsReply: LD-MRS Received that an error occurred.
[sick_generic_caller-1] 1610551334.6536 ERROR: LuxBase::cmd_setParameter: LD-MRS ERROR: Failed to receive SetParameter reply.
[sick_generic_caller-1] [WARN] [1610551334.653587598] [sick_ldmrs_driver]: Sending param not successful: SensitivityControl
[sick_generic_caller-1] [INFO] [1610551334.681687205] [sick_ldmrs_driver]: ... done updating config.
[sick_generic_caller-1] [INFO] [1610551334.681761224] [sick_ldmrs_driver]: sick_ldmrs_driver is initialized.
[sick_generic_caller-1] [INFO] [1610551334.681768816] [sick_scan2]: LDMRS initialized.

I can see the data in rviz2 and work with it, but probably I can't change any parameters in case I would want to do that.

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.