Skip to content
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

Multiple PandarXTs - Corrupted Data or SegFault #13

Open
spykara opened this issue Oct 1, 2021 · 1 comment
Open

Multiple PandarXTs - Corrupted Data or SegFault #13

spykara opened this issue Oct 1, 2021 · 1 comment

Comments

@spykara
Copy link

spykara commented Oct 1, 2021

Hello,

I have recently purchased 4 PandarXTs for a project. However I am having problems getting correct data from multiple sensors at the same time. Some pointclouds some back corrupted or the function segfaults.

Current setup is:
Ubuntu 18.04. Clean try from a live USB. Everything compiles fine. Same happens in Windows also with a modified SDK.
4 LiDARs connected to a Gigabit switch with IPs 192.168.1.201, 192.168.1.202, 192.168.1.203, 192.168.1.204 and ports 2368, 2369, 2370, 2371.
PC connected to the switch too via a Gigabit ethernet port with IP 192.168.1.100.

With all 4 LiDARs connected to the Gigabit switch at full range of 360degrees and grabbing from 1 LiDAR just like in the test.cc everything is fine.
If I add another one in the main function with:

 PandarGeneralSDK pandarGeneral_second_lidar(std::string("192.168.1.202"), 2369, 0, 10110, \
      lidarCallback_second_lidar, lidarAlgorithmCallback_second_lidar, gpsCallback_second_lidar, 0, 0, 1, std::string("PandarXT-32"), std::string("frame_id"), "", "", "", false);
 pandarGeneral_second_lidar.Start()

by the way I added duplicates of the callback functions just to be safe.
I am getting either:

  1. dropouts in the saved pcd files
    Normal pointcloud in my case has around 230000 points
    Dropped frames pointclouds have around 130000 points

  2. Mixed data from both sensors in the pcd files which result in much bigger point clouds
    Normal pointcloud in my case has around 230000 points
    Increased pointcloud has around 480000 points
    This happens after some errors in the console:
    buffer don't have space!,8386
    buffer don't have space!,8595

  3. Segfaults which I do not have the resources right now to dig into more.
    Probably there is something wrong when pushing back points in vectors or reading lists of pointclouds.
    Segfaults seem to disappear if I increase the MAX_POINT_CLOUD_NUM and the MAX_POINT_CLOUD_NUM_PER_CHANNEL

Have you run a setup similar to this with multiple LiDARs connected at the same time and grabbing from multiple lidars at the same time?
Could you verify that the SDK works with multiple LiDARs?
Let me know what you think regarding all three errors.

Please ask if you need any more information.

Thank you,
Spyros

@yangfanFred
Copy link
Contributor

yangfanFred commented Oct 11, 2021

Hi Spyros,

Currently SDK only supports 1 LiDAR while ROS driver can support multiple LiDARs.
Could you please leave your emial address, I can send you an application note about how to drive multiple LiDARs using ROS driver.

Thanks,
Fred

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants