Open manuelgitgomes opened 2 years ago
The program runs without any error but reaches an unexpected result. As you can see below, on the right picture, the blue points are the ones from the left LIDAR, the green ones are from the right LIDAR and the red one are the ones being optimized from the right to the left. After around fifty iterations, it stops running, achieving one of the stop conditions (ftol). As it is shown, the calibration between sensors is far from perfect. We believe it's due to reaching a local minimum. Is this assumption correct? What can we do to solve it? It was mentioned in #64 that this issue is common.
After starting the model with a rotation of -120º, the results are better!
Hi @manuelgitgomes ,
a couple of tips:
the blue points are the ones from the left LIDAR, the green ones are from the right LIDAR and the red one are the ones being optimized from the right to the left.
I in the middle of reading the sentence and I already forgot the first part. This should be done for zero memory people like me, meaning you should add a legend to the graph.
After around fifty iterations, it stops running, achieving one of the stop conditions (ftol). As it is shown, the calibration between sensors is far from perfect. We believe it's due to reaching a local minimum. Is this assumption correct?
Not sure. What are your ftol, xtol and gtol parameters? usually a 10-6 is more than enough.
Another thing that could be happening is the fact that not all points have an association. The left lidar sees things which are not visible to the right lidar, and vice versa.
This will produce an error and confuse the system. To verify that this is what is happening I would suggest that you pick up point clouds only from ranges of the lidars you are sure to be seen in both lidars.
Another common solution is to have a maximum value of distance between point x and the minimum of distance to all os. If this minimum distance is above a threshold, then we assume the point has no association and therefore the error associated with it will be zero.
Thank you for the tips! All the stopping conditions are at 10-6. We will try the last solutions the professor presented. Another doubt, is there a way to get the last parameters inside a variable? The objective is to record them. We had an idea to get a better calibration. After calibrating for this collection, we would record the parameters and calibrate for the next collection, and so on and so forth. After running through all the collections, an average of the parameters could be calculated, (hopefully) achieving a better calibration.
is there a way to get the last parameters inside a variable
I do not understand what you mean? the value of the variable? Just read it from your data model ...
is there a way to get the last parameters inside a variable
I do not understand what you mean? the value of the variable? Just read it from your data model ...
Ok, thank you!
Using data retrieved from two 2D LIDAR sensors to calibrate them. An issue presented and being solved is #64. Results will be shown bellow.