SICKAG / sick_scan_xd

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

Used the official api for testing #351

Closed BarryLoveBerry closed 2 weeks ago

BarryLoveBerry commented 2 weeks ago

Hi all, I followed the instruction as below https://github.com/SICKAG/sick_scan_xd/blob/develop/INSTALL-GENERIC.md#build-on-linux-generic-without-ros. I finished the build and compile, I used the sick_scan_xd_api_test api to test whether the connection of my pc and lidar is worked or not. However, I found this error:

./build/sick_scan_xd_api_test ./sick_scan_xd/launch/sick_lms_4xxx.launch hostname=192.168.0.1

sick_scan_xd_api_test started [Info]: sick_scan_api V. 3.4.0 [Info]: SickScanApiInitByCli: ./build/sick_scan_xd_api_test ./sick_scan_xd/launch/sick_lms_4xxx.launch hostname=192.168.0.1 [Info]: Try loading launchfile : ./sick_scan_xd/launch/sick_lms_4xxx.launch [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["hostname"]="192.168.0.1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["cloud_topic"]="cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["laserscan_topic"]="scan" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["frame_id"]="cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["nodename"]="sick_lms_4xxx" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["add_transform_xyz_rpy"]="0,0,0,0,0,0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["add_transform_check_dynamic_updates"]="false" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): default_args["encoder_mode"]="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="scanner_type", type="string", value="sick_lms_4xxx" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="min_ang", type="double", value="-0.610865238" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="max_ang", type="double", value="0.610865238" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="use_binary_protocol", type="bool", value="true" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="range_min", type="double", value="0.05" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="range_max", type="double", value="100.0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="range_filter_handling", type="int", value="0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="intensity", type="bool", value="True" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="hostname", type="string", value="$(arg hostname)" overwritten by default value "192.168.0.1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="hostname", type="string", value="192.168.0.1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="cloud_topic", type="string", value="$(arg cloud_topic)" overwritten by default value "cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="cloud_topic", type="string", value="cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="laserscan_topic", type="string", value="$(arg laserscan_topic)" overwritten by default value "scan" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="laserscan_topic", type="string", value="scan" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="frame_id", type="str", value="$(arg frame_id)" overwritten by default value "cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="frame_id", type="str", value="cloud" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="port", type="string", value="2112" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="timelimit", type="int", value="5" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="min_intensity", type="double", value="0.0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="encoder_mode", type="int", value="$(arg encoder_mode)" overwritten by default value "-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="encoder_mode", type="int", value="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="scandatacfg_timingflag", type="int", value="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="use_generation_timestamp", type="bool", value="true" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="add_transform_xyz_rpy", type="string", value="$(arg add_transform_xyz_rpy)" overwritten by default value "0,0,0,0,0,0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="add_transform_xyz_rpy", type="string", value="0,0,0,0,0,0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="add_transform_check_dynamic_updates", type="bool", value="$(arg add_transform_check_dynamic_updates)" overwritten by default value "false" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="add_transform_check_dynamic_updates", type="bool", value="false" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="start_services", type="bool", value="True" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="message_monitoring_enabled", type="bool", value="True" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="read_timeout_millisec_default", type="int", value="5000" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="read_timeout_millisec_startup", type="int", value="120000" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="read_timeout_millisec_kill_node", type="int", value="150000" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="client_authorization_pw", type="string", value="F4724744" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="lfp_meanfilter", type="int", value="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="lfp_medianfilter", type="int", value="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="ros_qos", type="int", value="-1" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="tf_base_frame_id", type="string", value="map" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="tf_base_lidar_xyz_rpy", type="string", value="0,0,0,0,0,0" [Info]: LaunchParser::parseFile(./sick_scan_xd/launch/sick_lms_4xxx.launch): name="tf_publish_rate", type="double", value="10" scanner_type string sick_lms_4xxx
min_ang double -0.610865238
max_ang double 0.610865238
use_binary_protocol bool true
range_min double 0.05
range_max double 100.0
range_filter_handling int 0
intensity bool True
hostname string 192.168.0.1
cloud_topic string cloud
laserscan_topic string scan
frame_id str cloud
port string 2112
timelimit int 5
min_intensity double 0.0
encoder_mode int -1
scandatacfg_timingflag int -1
use_generation_timestamp bool true
add_transform_xyz_rpy string 0,0,0,0,0,0
add_transform_check_dynamic_updates bool false
start_services bool True
message_monitoring_enabled bool True
read_timeout_millisec_default int 5000
read_timeout_millisec_startup int 120000
read_timeout_millisec_kill_node int 150000
client_authorization_pw string F4724744
lfp_meanfilter int -1
lfp_medianfilter int -1
ros_qos int -1
tf_base_frame_id string map
tf_base_lidar_xyz_rpy string 0,0,0,0,0,0
tf_publish_rate double 10
[Info]: apiTestDiagnosticMsgCallback(apiHandle:0x55855be40140): status_code = 2, status_message = "## ERROR parseLaunchfileSetParameter(): Tag-Value setting not valid. Use pattern: := (e.g. hostname:=192.168.0.4) (Check the entry: hostname=192.168.0.1) " [Info]: SickScanApiGetStatus(apiHandle:0x55855be40140): status_code = 2, message = "## ERROR parseLaunchfileSetParameter(): Tag-Value setting not valid. Use pattern: := (e.g. hostname:=192.168.0.4) (Check the entry: hostname=192.168.0.1) " [Error]: ## ERROR parseLaunchfileSetParameter(): Tag-Value setting not valid. Use pattern: := (e.g. hostname:=192.168.0.4) (Check the entry: hostname=192.168.0.1)

[ERROR]: apiTestLogMsgCallback(apiHandle:0x55855be40140): log_level = 3 (ERROR), log_message = ## ERROR parseLaunchfileSetParameter(): Tag-Value setting not valid. Use pattern: := (e.g. hostname:=192.168.0.4) (Check the entry: hostname=192.168.0.1)

[Info]: apiTestDiagnosticMsgCallback(apiHandle:0x55855be40140): status_code = 2, status_message = "## ERROR sick_generic_laser: parseLaunchfileSetParameter() failed, aborting " [Info]: SickScanApiGetStatus(apiHandle:0x55855be40140): status_code = 2, message = "## ERROR sick_generic_laser: parseLaunchfileSetParameter() failed, aborting " [Error]: ## ERROR sick_generic_laser: parseLaunchfileSetParameter() failed, aborting

[ERROR]: apiTestLogMsgCallback(apiHandle:0x55855be40140): log_level = 3 (ERROR), log_message = ## ERROR sick_generic_laser: parseLaunchfileSetParameter() failed, aborting

barry@barry-YangTianM460-42IAB:~/sick/sick_scan_ws$ ./build/sick_scan_xd_api_test ./sick_scan_xd/launch/sick_lms_4xxx.launch hostname=192.168.0.1

The test environment is : Ubuntu 20.04 without ROS. lidar ip is default 192.168.0.1, pc ip is 192.168.0.20. Do you have any solutions for this issue??? In addition, I wrote a TCP socket tool by using c++. But when i send the message like send ASCII is :sEN LMDscandata 1, I can't get message from the lidar?

BarryLoveBerry commented 2 weeks ago

After I config the env path, the problem soloved!