miguelriemoliveira/OptimizationUtils

correction of laser data position

Closed this issue · 4 comments

For now, we have only the longitudinal error in consideration. Because of that, we can see that the final position of the cluster is inside the chessboard boundaries box.

Initial configuration:
Captura de ecrã de 2019-07-22 21-18-30

Final configuration:
Captura de ecrã de 2019-07-22 21-18-54

The problem now is the orthogonal error. The final position of the laser data isn't on the chessboard plane. Why can't i use more than two values of residuals for lasers?

Hi @afonsocastro

I think you must add an orthogonal residual to each point.

What exactly do you have right now? You were not clear...

So you should have 4 residuals per laser-collection tandem

  1. logitudinal error left extreme point
  2. orthogonal error left extreme point
  3. logitudinal error right extreme point
  4. orthogonal error right extreme point

you must change this to have 4 instead of 2 residuals per collection-laser tandem.

Then just update the objective function accordingly.

Let me know if this works.

I did not consider the orthogonal error for both points. (Only had 2 errors: longitudinal for both points)
Now i changed what it was supposed, in order to have 4 residuals for each laser data.
It works much better!

Init:
Captura de ecrã de 2019-07-25 18-31-30

Final:
Captura de ecrã de 2019-07-25 18-33-40

Now the laser points are exactly in the chessboard plane and inside the box boundaries!

I have noticed that it is needed more than 5 or 6 collections for the lasers model get closer to real position, which makes sense.

So it's working

Laser's average error is now working and it has the value of 0.06 and 0.07 for the two lasers at the end of the optimization.

I tried with a really bad first guess and the error reach the same small values, but the pose of the lasers isn't correct... Must discuss this