-
Notifications
You must be signed in to change notification settings - Fork 13
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
Message decode issue with VLP16 #16
Comments
Interesting. I have used version 3.0.0 without issues so far. |
Hi Martin, the attached bag file contains the /velodyne_packets topic, I think it can be used for testing. I forgot to mention earlier when I used the 3.0.0, I was set model=vd.Model.VLP16, it showed that the model was incorrect, then I changed to vd.Model.PuckHiRes to fix the error. I am not sure whether this setting results in identical data points in one scan. Please let me know if you need more data, thank you. |
Thanks! The bag you shared contains already decoded point clouds as |
Hi Martin, I am sorry I didn't realize the previous bag file doesn't contain the raw Velodyne data packets (velodyne_msgs/VelodyneScan). I have attached another bag file that contains velodyne_packets topic and the scripts we used to parse the bag file. The bag file may contain other topics from different sensors. Please let me know if you have any questions or concerns. |
I tested the bag with: import velodyne_decoder as vd
from rosbag import Bag
bag = Bag("mapping_van_2024-06-28-12-30-32_0.bag")
scans = list(vd.read_bag(bag, topics=["/velodyne_packets"]))
print("Number of points in each scan:")
print([len(scan.points) for scan in scans])
t0 = scans[0].stamp.device
print("Relative device timestamp of each scan:")
print([round(scan.stamp.device - t0, 3) for scan in scans]) Which prints:
So the decoded clouds are distinct and I could not reproduce the issue. My guess would be that there's some kind of logic error in your code. I did not notice anything glaringly wrong in the shared code, except for setting and using |
Closing as likely not a library bug, but feel free to follow up with any comments or questions if you have any. |
I had the same issue when using this library to read pcap files from a VLP-32C. |
Thank you for your reply, I set 'as_pcl_structs=True` and it works.
Hi, Marting, I am not sure whether you compared the differences between the two versions. The results I got from version 3.0.0 are different from version 2.3.0. The following two images respectively show the results of the same scan obtained from the two versions, it can be noticed that although the parsed points are closed, there still exists offsets between them. We are using a VLP-16 Hi-Res LiDAR, and using 'config = vd.Config(model = "VLP-16", rpm = 600)' in version 2.3.0, while leaving the config setting empty in the latest version. Is this setting the cause of the different results? Thank you! |
I tried to reproduce the duplicated point clouds issue in the test suite and did not encounter the issue there: #17. @XinyuC The correct model ID for v2.3.0 would have been |
We tried v2.3.0 with 'PuckHiRes', but it showed an unsupported velodyne model error, I think that was why we used 'VLP-16' before. We have upgraded to the latest version v3.0.0, it works pretty well and we didn't see any issues. Thank you for your help and quick response. |
We are using the velodyne_decoder to decode the velodyne_packets topic obtained from the VLP16 Lidar. Previously, I was using version 2.3.0 or 2.0.0, and for each scan, I would usually get an array of N-by-6. Today I installed the latest 3.0.0 version, and although I still get an N-by-8 array, I found that each row contains the same values, which seems to indicate an error after the update. For the same bag file, version 2.3.0 gives me the correct results. However, it is obvious that version 3.0.0 is easier to use, and I hope this error can be fixed.
The text was updated successfully, but these errors were encountered: