-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Problem disconnecting and reconnecting picoScan on linux without ROS #316
Comments
Thanks for your feedback. We will analyze the reconnection to the picoScan after power down and up. |
We were able to reproduce and fix the problem. Thanks for reporting! Please find an update in branch https://github.com/SICKAG/sick_scan_xd/tree/feature/api_reinitialize and retry. |
Thanks for following up. Using the update in branch feature/api_reinitialize and your modified sick_scan_xd_api_test.cpp, I can not reproduce the error. Find a complete logfile attached of my build and run for details. 20240417_sick_scan_xd_api_log.zip Make sure that the sick_scan_xd library is completely rebuild incl. You can check which library is loaded during runtime by the following commands:
|
Thank you very much for all this information. |
Hello, Thanks in advance |
Thanks for your feedback, we will investigate the error. Note that return value SICK_SCAN_API_SUCCESS means that the SickScanApiInit-function itself returned without error, i.e. the sending and receiving threads and queues have been started etc.pp. It does not necessarily mean that the lidar initialization has been completed (successfully or with error). Use functions SickScanApiGetStatus or SickScanApiRegisterDiagnosticMsg to get a status code and message (status_code defined in SICK_DIAGNOSTIC_STATUS is: OK=0 (normal operation), WARN=1 (warning), ERROR=2 (error, should not occure), INIT=3 (initialization after startup or reconnection), EXIT=4 (sick_scan_xd exiting)). During initialization (with or without success), the status code is SICK_DIAGNOSTIC_STATUS::INIT. I noticed that ROS kinetic is used in your sick_scan_test.cpp file. If using ROS is an option, we recommend using ROS-1 or ROS-2. Under ROS you can subscribe to all messages and use its advantages like interprocess communication, message passing, pointcloud handling and visualization and integration of multiple lidars. Just make sure that each lidar is launched separately with different ip addresses and different ros topics. |
Thank you for all this information. Unfortunately the use of ROS is not an option for us.
We have run this test on linux and windows and the same problem appears. Thanks in advance ! |
Thanks for following up and your informations. We could reproduce and fix the error. Please use the cumulative update in branch https://github.com/SICKAG/sick_scan_xd/tree/feature/api_reinitialize and retry. Note that SickScanApiClose() after SickScanApiInit with a wrong ip address may take some seconds due to TCP timeouts. |
Thank you very much for your feedback.
Thanks in advance ! |
Thanks for your feedback. We will analyze the problem. Note that polling is not recommended for picoScan or multiScan devices (https://github.com/SICKAG/sick_scan_xd/blob/develop/doc/sick_scan_api/sick_scan_api.md): |
We could reproduce and fix the problem. Please use the recent update in branch https://github.com/SICKAG/sick_scan_xd/tree/feature/api_reinitialize and rebuild. |
Hello,
We have noticed a problem when switching the picoscan off and on again under linux without ROS.
I've modified the sick_scan_api_test.cpp file so that it turns the lidar off and then on again using the same procedure :
On the first connection, all goes well and the lidar data is received (cf first picture). On the second connection, the .launch file is parsed, but on startup, the sick_scansegment_xd thread stops (cf second picture).
Thanks for your time
The text was updated successfully, but these errors were encountered: