真值基本这样的
$ rosrun tf tf_echo /laser /middle_depth_optical_frame
At time 1658549856.810
- Translation: [0.225, 0.033, 0.878]
- Rotation: in Quaternion [-0.636, 0.636, -0.310, 0.310]
in RPY (radian) [-2.234, 0.000, -1.571]
in RPY (degree) [-127.999, 0.000, -90.000]
- 激光线多点不带边界约束的标定结果, 偏接近真实,但是激光与深度点云有距离偏差
CamLaserCalibration(obs,Tcl, false);
Load apriltag pose size: 473
obs size: 28
------- Closed-form solution Tlc: -------
-0.202293 -0.871914 -0.445919 0.00021974
0.9705 -0.239472 0.0279725 0.000116325
-0.131175 -0.427106 0.894636 -1.74682e-08
0 0 0 1
Solver Summary (v 1.13.0-eigen-(3.3.4)-lapack-suitesparse-(5.1.2)-cxsparse-(3.1.9)-openmp)
Parameter blocks 1 1
Parameters 7 7
Effective parameters 6 6
Residual blocks 4633 4633
Residual 4633 4633
Minimizer TRUST_REGION
Dense linear algebra library EIGEN
Trust region strategy LEVENBERG_MARQUARDT
Linear solver DENSE_QR DENSE_QR
Threads 1 1
Linear solver threads 1 1
Linear solver ordering AUTOMATIC 1
Cost:
Initial 2.190158e-01
Final 1.212313e-02
Change 2.068927e-01
Minimizer iterations 38
Successful steps 27
Unsuccessful steps 11
Time (in seconds):
Preprocessor 0.0013
Residual evaluation 0.0260
Jacobian evaluation 0.0436
Linear solver 0.0086
Minimizer 0.0814
Postprocessor 0.0001
Total 0.0829
Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 4.138553e-07 <= 1.000000e-06)
----- H singular values--------:
51585.2
196.607
25.0317
4.7588
0.716847
0.0459204
recover chi2: 5295.55
----- Transform from Camera to Laser Tlc is: -----
0.00248544 -0.665906 0.746032 0.17585
-0.999886 0.00943778 0.0117553 -0.0469319
-0.0148688 -0.745976 -0.665807 0.871766
-0 -0 -0 1
----- Transform from Camera to Laser, euler angles and translations are: -----
roll(rad): -2.29947 pitch(rad): 0.0148694 yaw(rad): -1.56831
or roll(deg): -131.75 pitch(deg): 0.851951 yaw(deg): -89.8576
tx(m): 0.17585 ty(m): -0.0469319 tz(m): 0.871766
Result file : /home/kint/code/camera_laser_calib_ws/log/result.yaml
-------------- Calibration Code End --------------
- 激光线带边界约束的标定结果,基本就是错误的
CamLaserCalibration(obs,Tcl, true, true);
Load apriltag pose from: /home/kint/code/camera_laser_calib_ws/log/apriltag_pose.txt
Load apriltag pose size: 473
obs size: 28
------- Closed-form solution Tlc: -------
-0.202293 -0.871914 -0.445919 0.00021974
0.9705 -0.239472 0.0279725 0.000116325
-0.131175 -0.427106 0.894636 -1.74682e-08
0 0 0 1
Solver Summary (v 1.13.0-eigen-(3.3.4)-lapack-suitesparse-(5.1.2)-cxsparse-(3.1.9)-openmp)
Parameter blocks 1 1
Parameters 7 7
Effective parameters 6 6
Residual blocks 112 112
Residual 112 112
Minimizer TRUST_REGION
Dense linear algebra library EIGEN
Trust region strategy LEVENBERG_MARQUARDT
Linear solver DENSE_QR DENSE_QR
Threads 1 1
Linear solver threads 1 1
Linear solver ordering AUTOMATIC 1
Cost:
Initial 4.483704e-01
Final 2.642021e-01
Change 1.841682e-01
Minimizer iterations 66
Successful steps 58
Unsuccessful steps 8
Time (in seconds):
Preprocessor 0.0000
Residual evaluation 0.0021
Jacobian evaluation 0.0045
Linear solver 0.0009
Minimizer 0.0085
Postprocessor 0.0000
Total 0.0086
Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 7.370300e-07 <= 1.000000e-06)
----- H singular values--------:
1.01335e+07
2.76495e+06
723721
19.434
3.18653
0.376837
recover chi2: 294957
----- Transform from Camera to Laser Tlc is: -----
-0.0570423 -0.692016 -0.719625 2.1592
0.994199 -0.105204 0.0223606 -0.344001
-0.091181 -0.714175 0.694003 -0.839734
-0 -0 -0 1
----- Transform from Camera to Laser, euler angles and translations are: -----
roll(rad): -0.799722 pitch(rad): 0.0913079 yaw(rad): 1.62811
or roll(deg): -45.8207 pitch(deg): 5.23156 yaw(deg): 93.2837
tx(m): 2.1592 ty(m): -0.344001 tz(m): -0.839734
Result file : /home/kint/code/camera_laser_calib_ws/log/result.yaml
-------------- Calibration Code End --------------