SICKAG / sick_lidar_localization

Apache License 2.0
24 stars 10 forks source link

How to get the SIM data and nanoScan3 laser scan at the same time #8

Closed guangjhaogu closed 2 years ago

guangjhaogu commented 3 years ago

HI, I use ROS for my AGV,and install sick_lidar_localization and sick_safetyscanner from github. So I need both SIM result data and laser scan data at the same time. But when I run both of them, the cahannel will stuck. Is there any solution to slove this problem, thanks.

michael1309 commented 3 years ago

We assume that you have tested scenario I and scenario II separately.

In scenario I, the SIM communicates with the Nano Scan and produces the corresponding localization messages (e.g. odometry estimation) and sends them to sick_lidar_localization for evaluation. In scenario II, we assume that you do not use the SIM. Rather, the Nano Scan is connected directly to the AGV computer and communication runs directly between the AGV and the Nano Scan.

Since the sick_safety_scanner driver communicates directly with the Nano Scan (as does the SIM in the localization task), direct parallel use is not possible from a protocol perspective. We recommend you to use two Lidars as the simplest solution. If you would like to receive the raw data of the lidar via the SIM or if you have further requirements, we recommend that you contact SICK Support directly.

tbohnma commented 2 years ago

Hello @guangjhaogu, sorry for the late reply. Contrary, to the statement above, a parallel usage is of course possible.

You would have to use the broadcast setting for the safety sensor as described in the Technical Information - Hardware Integration:

See also the 2 other issues discussing this topic:

rostest commented 2 years ago

Closed due to inactivity.

nguyendo1403 commented 11 months ago

Hi @tbohnma! I'm using Sick Microscan3 and ROS IPC. I want to use lidar for Lidar-loc and run package ROS sick_safetyscanner. But, when I run MS3 with Lidar-loc first. It's OK. Then, I run package Sick_microscan3 =>Error: Lidar-loc can't get data from lidar.

My configuration: MS3:

ROS IPC:

pablo-sick commented 11 months ago

Dear @nguyendo1403 ,

It's Pablo Abia, application engineer from LiDAR-LOC. I could reproduce the same issue on my PC. As you say, with your current configuration it does not seem possible to get the data on both LiDAR-LOC and the sick_safetyscanners ros driver...

I also tried setting up the sensor to broadcast the output data (in Safety Designer, by configuring the target IP as xxx.xxx.xxx.255), but I came up with the same issue, probably because in your case, LiDAR-LOC is installed in the same device as your ros system.

One possible solution is to use a script to forward the traffic on 192.168.3.100:6060 to another port like 192.168.3.100:6061 and then configuring LiDAR-LOC to listen to one of them, and the sick_safetyscanners ros driver to listen to the other. On Github you can find some python scripts that performs this operation, like this one from the link below:

https://github.com/vinodpandey/python-port-forward

I will try that myself and give you feedback if I manage to solve the issue that way.

Best regards,

Pablo

nguyendo1403 commented 11 months ago

Hi Pablo Abia,

By the way, let me ask how to switch monitoring case of Sick microscan3 when i run ROS package sick_safetyscanners. I have configured with 2 monitoring cases for sick microscan3 on Safety Designer

Nguyen,

Vào Th 6, 29 thg 9, 2023 vào lúc 23:39 pablo-sick < @.***> đã viết:

Dear @nguyendo1403 https://github.com/nguyendo1403 ,

It's Pablo Abia, application engineer from LiDAR-LOC. I could reproduce the same issue on my PC. As you say, with your current configuration it does not seem possible to get the data on both LiDAR-LOC and the sick_safetyscanners ros driver...

I also tried setting up the sensor to broadcast the output data (in Safety Designer, by configuring the target IP as xxx.xxx.xxx.255), but I came up with the same issue.

One possible solution is to use a script to forward the traffic on 192.168.3.100:6060 to another port like 192.168.3.100:6061 and then configuring LiDAR-LOC to listen to one of them, and the sick_safetyscanners ros driver to listen to the other. On Github you can find some python scripts that performs this operation, like this one from the link below:

— Reply to this email directly, view it on GitHub https://github.com/SICKAG/sick_lidar_localization/issues/8#issuecomment-1741190439, or unsubscribe https://github.com/notifications/unsubscribe-auth/A7OG22XJRICT6PSX7Q3RSR3X432STANCNFSM5ACG5PEA . You are receiving this because you were mentioned.Message ID: @.***>

pablo-sick commented 11 months ago

Dear @nguyendo1403 , I forwarded the question tabout monitoring cases to the sick_safetyscanners repository, since they can better answer your question than me.

Best regards,

Pablo

tbohnma commented 11 months ago

Hello @nguyendo1403, It seems you raised the question about monitoring cases in several issues. Please use the already provided answer in https://github.com/SICKAG/sick_safetyscanners/issues/137

Thanks!