Closed samuelorrEMS closed 2 months ago
Thanks for your feedback. Picoscan lidars transmit their scan data via UDP to the receiving PC, i.e. the sick_scan_xd driver. A common error is an incorrect configuration of the receivers ip address.
Please run the following steps:
Run ifconfig -a
on Linux or ipconfig /all
on Windows to get the ip address of your PC. Make sure that picoScan and PC have ip addresses in the same subnet.
Check parameter udp_receiver_ip
in the launchfile. Make sure that <arg name="udp_receiver_ip" default="192.168.0.2"/>
in the launchfile is the correct ip address ("192.168.0.2") of your PC running sick_scan_xd resp. your application. See https://github.com/SICKAG/sick_scan_xd/blob/develop/doc/sick_scan_segment_xd.md#configuration for further information.
Run SOPAS Air, i.e. open the picoScan ip address in a browser (192.168.0.1 by default). Switch to "authorized client" and check the network configuration and ip settings. If everything is correct, you should see the picoScan pointcloud in the main window.
Run sick_scan_xd_api_test.py
with command line arguments hostname:=<picoScan ip> udp_receiver_ip:=<pc_ip> _verbose:=1
. Replace <picoScan_ip>
with the ip address of your lidar (192.168.0.1 by default) and <pc_ip>
with the ip address of your PC. These are the same parameters used in SOPAS Air. Parameter _verbose:=1
sets the verbose level to informational messages. Please provide a complete logfile of all output messages if no scan data are received and the registered point cloud callback is never executed.
Add SickScanApiSetVerboseLevel(sick_scan_library, api_handle, 1) after SickScanApiRegisterLogMsg to activate informational messages and run your code.
Hello, I attempted to implement your suggestions. I ran the sick_scan_xd_api_test.py and sick_picoscan.launch included with the sick_scan_xd repository but I am still not seeing any scan data in the output.
I have attached the output to this message (apitest.txt). I have also included the sick_scan_xd_api_test.py file I ran as a text file (github wont let me attach a python file) and the sick_picoscan.launch file as a text file (github wont let me attach a launch file).
I ran the code using the following command:
PS C:\Users\orrs\code\sick_scan_xd> & C:/Users/orrs/AppData/Local/Microsoft/WindowsApps/python3.11.exe c:/Users/orrs/code/sick_scan_xd/test/python/sick_scan_xd_api/sick_scan_xd_api_test.py C:/Users/orrs/code/sick_scan_xd/launch/sick_picoscan.launch hostname:=192.168.0.1 udp_receiver_ip:=192.168.0.2 verbose:=1 > C:\Users\orrs\apitest.txt
I have confirmed that the IP address of the scanner is 192.168.0.1 by entering that ip address into my web browser, I can see the picoscan pointcloud in the main window. I have also confirmed that the IP address of the ethernet I am using to connect to the sensor is correct by running ipconfig /all and getting the IPv4 address (192.168.0.2). I have confirmed that both ip addresses are in subnet 255.255.255.0.
Let me know if you understand why we are still not seeing any scan data, any help would be appreciated!
sick_picoscan.txt sick_scan_xd_api_test.txt api_test.txt
Thank you!
We resolved the issue, it turns out that the scanner could not communicate with the computer because the computer's firewall did not allow access through the UDP port that we had specified. Thank you for your help
Hello,
I am trying to make an application based on the provided sick_scan_xd_api_test.py program. It will run on windows with no ROS. All I want to do is connect to the picoscan, receive scan data and convert it to x and y coordinates so that I can graph it with matplotlib.
So far running the program I am able to connect to the sensor and send it devicestatus message requests which I get a response of 1 to. I can not figure out what I am missing in order to receive actual scan data from the sensor but nothing I have tried seems to work. I have attached the program in its current state as well as the picoscan launch file that I have been using. Any help would be appreciated.
I have also tried using an unedited version of sick_scan_xd_api_test.py in an attempt to see scan data but I see the same console output as my code, devicestatus message request and responses but no indication that the scan data is being sent.
Thank you!
code.txt picoscan_launch.txt