Hi,
I use linear solver SPARSE_NORMAL_CHOLESKY to solve graph pose slam problem. It works fine when residuals are small. However, when loop closure occurs, I get errors.
From A to A`, it works fine. Since A and A` is the same location, the loop closure occurs and I get errors.
the solution is to use EigenSparse instead of SuiteSparse for a bug in SuiteSparse.
I tried linear solver DENSE_NORMAL_CHOLESKY and DENSE_QR based on EigenSparse. It is very slow, and I also get same errors.
I hope I make it clearly.
The error I've been getting is shown below:
W0603 10:40:14.056905 8994 residual_block.cc:131]
Error in evaluating the ResidualBlock.
There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite)
generated during the or jacobian computation.
Residual Block size: 7 parameter blocks x 3 residuals
For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was
held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry
of the Jacobian/residual array was requested but was not written to by user code, it is
indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating
to Inf or NaN is also an error.
Residuals: 0 0 0
Parameter Block 0, size: 1
-48.3575 | -nan -nan -nan
Parameter Block 1, size: 1
-428.744 | -nan -nan -nan
Parameter Block 2, size: 1
1.11116 | -nan -nan -nan
Parameter Block 3, size: 1
-28.9954 | -nan -nan -nan
Parameter Block 4, size: 1
-250.725 | -nan -nan -nan
Parameter Block 5, size: 1
1.27572 | -nan -nan -nan
Parameter Block 6, size: 1
-65.0826 | -nan -nan -nan
E0603 10:40:14.057034 8994 trust_region_minimizer.cc:113] Terminating: Residual and Jacobian evaluation failed.
Best,
Taiping