-
Notifications
You must be signed in to change notification settings - Fork 652
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
Add vert offset corrections to VLP16 calib file #518
Add vert offset corrections to VLP16 calib file #518
Conversation
@msz-rai Have you tested this on real hardware? |
f999603
to
5da836b
Compare
Rebased on |
I'm also wondering - are we missing these values for all of the other sensors? I don't see them being populated in any other param files. |
No, I haven't. I don't have physical lidar. I'm developing VLP16 in the simulation.
Yes, this is correct, but at the moment, I'm focused on VLP16 only. I am not sure if other models need this offset. |
The optical drawing in the VLP-16 manual further reinforces that this correction is indeed warranted: While the correction would be applied in the correct direction in the driver code, I'm suspicious of the multiplication with |
As for the other sensors - only VLP-16 appears to include this info its manual. However, these values can be estimated from the distance of the focal point and the vertical angle of the beam as For example, here are the values for VLP-16 LITE (focal distance = 41.910 mm):
However, this does not work as well for VLP-16 Hi-Res:
Here the placement appears to follow approx For VLP-32C and Alpha prime the largest correction values would be around 2 cm. I'm a bit confused and surprised by the manual and VeloView not accounting for this. |
I found this article titled "Analysis and calibration of the VLP-16 for automotive applications", which analyzes the vertical angular accuracy of VLP-16. They appear to be using the simpler sensor model without the vertical offset correction (which is not mentioned in this article, but is in another one by the same author). They measured the vertical angles of the beams at varying distances relative to the center of the sensor: Based on that table, the errors of the simpler model vs the "theoretical elevation angle" are: However, after taking the vertical offset into account the expected angles at given distances agree much better with the measurements: Here's a notebook containing the above analysis: https://gist.github.com/valgur/217470899f9b74c5901769deb62f10be Based on this, I would feel quite comfortable with including these additional corrections in the driver. |
@valgur |
Accounts for each laser having a slight vertical offset instead of implicitly assuming they are all placed in the optical center. Corrects for up to 2 cm of systematic error in the vertical direction. Related to ros-drivers/velodyne#518
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please back-port this change to at least the humble-devel
and noetic
branches?
According to the VLP-16 User Manual (page 54) lidar lasers have vertical offsets in their position. This PR corrects the calibration file.