Processing math: 100%
본문 바로가기
  • 경제적 자유를 얻는 그날까지
엔지니어링/드론

[ VOXL ] 카메라 캘리브레이션

by 베니스상인 2021. 3. 25.

트래킹 카메라 캘리브레이션 과정

 

체크패턴을 움직이면서  X, Y, Size, Skew가 녹색으로 될 때까지 수행한다.

 

 

모두 녹색으로 바뀌면 Calibrate 버튼이 활성화된다. Calibrate 버튼을 누르면 아래와 같이 수행결과를 나타내준다.

 

 

GUI에서 Save 버튼을 누르면 그 결과가 호스트 PC의 아래 경로에 저장된다.

 

'Wrote calibration data to ', '/tmp/calibrationdata.tar.gz'

 

그 결과를 VOXL로 옮기려면 호스트PC에서 아래 명령어를 수행한다.

$ ./push_tracking_cal_to_voxl.sh

 

전송 결과는 VOXL로 보내어지며 아래와 같이 수행된다.

 

 

 

 

좌우 위아래 과정

 

 

좌우 스큐 과정

 

 

 

스테레오 카메라의 캘리브레이션 결과이다.

 

CUSTOM CALIBRATOR, with ModalAI Fisheye Patch
CUSTOM CALIBRATOR, with ModalAI Fisheye Patch
*** Added sample 1, p_x = 0.320, p_y = 0.252, p_size = 0.190, skew = 0.084
*** Added sample 2, p_x = 0.169, p_y = 0.175, p_size = 0.192, skew = 0.124
*** Added sample 3, p_x = 0.472, p_y = 0.301, p_size = 0.211, skew = 0.015
*** Added sample 4, p_x = 0.820, p_y = 0.472, p_size = 0.556, skew = 0.036
*** Added sample 5, p_x = 0.505, p_y = 0.552, p_size = 0.640, skew = 0.154
*** Added sample 6, p_x = 0.513, p_y = 0.510, p_size = 0.348, skew = 0.029
*** Added sample 7, p_x = 0.609, p_y = 0.878, p_size = 0.369, skew = 0.026
*** Added sample 8, p_x = 0.545, p_y = 0.616, p_size = 0.308, skew = 0.203
*** Added sample 9, p_x = 0.422, p_y = 0.578, p_size = 0.318, skew = 0.080
*** Added sample 10, p_x = 0.470, p_y = 0.695, p_size = 0.351, skew = 0.036
*** Added sample 11, p_x = 0.459, p_y = 0.222, p_size = 0.412, skew = 0.037
*** Added sample 12, p_x = 0.638, p_y = 0.576, p_size = 0.359, skew = 0.096
*** Added sample 13, p_x = 0.525, p_y = 0.400, p_size = 0.349, skew = 0.158
*** Added sample 14, p_x = 0.492, p_y = 0.276, p_size = 0.363, skew = 0.207
*** Added sample 15, p_x = 0.452, p_y = 0.380, p_size = 0.378, skew = 0.029
*** Added sample 16, p_x = 0.778, p_y = 0.349, p_size = 0.224, skew = 0.381
*** Added sample 17, p_x = 0.888, p_y = 0.292, p_size = 0.211, skew = 0.502
*** Added sample 18, p_x = 0.777, p_y = 0.321, p_size = 0.352, skew = 0.177
*** Added sample 19, p_x = 0.633, p_y = 0.236, p_size = 0.305, skew = 0.194
*** Added sample 20, p_x = 0.540, p_y = 0.233, p_size = 0.273, skew = 0.281
*** Added sample 21, p_x = 0.815, p_y = 0.854, p_size = 0.384, skew = 0.595
Stero Calibration, calculating left intrinsics

00:23:46.392537
Using instrinsic guess
Stero Calibration, calculating right intrinsics

00:23:47.925835
Using instrinsic guess
Stero Calibration, calculating extrinsics

00:23:49.918648
00:23:50.043990

Left:
D=,[0.18831103077255,0.09979392881997494,0.001874558763111393,0.003364828044223498,0.0]
K=,[496.4483869872976,0.0,318.13194222244135,0.0,496.00455632506436,254.98228876117963,0.0,0.0,1.0]
R=,[0.7135620220051729,0.006748466471476072,0.7005595613166465,0.012939598040397899,0.9999099864063884,0.0035476594155846837,0.7004725601723752,0.011596434152765206,0.7135851141668375]
P=,[7599.160763622445,0.0,1265.467307806015,0.0,0.0,7599.160763622445,232.83489227294922,0.0,0.0,0.0,1.0,0.0]

Right:
D=,[0.18074431297879,0.09867497473634164,0.0009884954467132986,0.0036353564073705403,0.0]
K=,[498.7409883267622,0.0,291.5762187032763,0.0,498.30987684184066,227.68080990553125,0.0,0.0,1.0]
R=,[0.7615991377315566,0.058995280645396275,0.645357505781191,0.06461826976319257,0.9977979698625183,0.01495628801033251,0.6448187595125938,0.030311189349936044,0.7637342464370913]
P=,[7599.160763622445,0.0,1265.467307806015,1711.1482708710546,0.0,7599.160763622445,232.83489227294922,0.0,0.0,0.0,1.0,0.0]
self.T,[0.17149381203576658,0.01328431857227886,0.14531899172307178]
self.R,[0.9942899335632859,0.07722967777136173,0.07364173331778835,0.07624005280745842,0.9969585250967534,0.016160247053250816,0.07466580450669887,0.010453521331962081,0.997153820395394]
None
# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/left]

camera matrix
496.448387 0.000000 318.131942
0.000000 496.004556 254.982289
0.000000 0.000000 1.000000

distortion
-0.188311 0.099794 -0.001875 -0.003365 0.000000

rectification
0.713562 -0.006748 -0.700560
0.012940 0.999910 0.003548
0.700473 -0.011596 0.713585

projection
7599.160764 0.000000 1265.467308 0.000000
0.000000 7599.160764 232.834892 0.000000
0.000000 0.000000 1.000000 0.000000

# oST version 5.0 parameters


[image]

width
640

height
480

[stereo/right]

camera matrix
498.740988 0.000000 291.576219
0.000000 498.309877 227.680810
0.000000 0.000000 1.000000

distortion
-0.180744 0.098675 -0.000988 0.003635 0.000000

rectification
0.761599 0.058995 -0.645358
-0.064618 0.997798 0.014956
0.644819 0.030311 0.763734

projection
7599.160764 0.000000 1265.467308 -1711.148271
0.000000 7599.160764 232.834892 0.000000
0.000000 0.000000 1.000000 0.000000

 

 

GUI에서 Save 버튼을 누르면 그 결과가 호스트 PC의 아래 경로에 저장된다.

 

'Wrote calibration data to ', '/tmp/calibrationdata.tar.gz'

 

그 결과를 VOXL로 옮기려면 호스트PC에서 아래 명령어를 수행한다.

$ ./push_stereo_cal_to_voxl.sh

 

 

전송 결과는 VOXL로 보내어지며 아래와 같이 수행된다.

 

 

 

실제로 VOXL 디바이스의 아래 경로를 확인해보면 Calibration 을 통하여 저장된 *.yaml 파일들이 저장되어 있다.

 

yocto:/# cd /home/root/.ros/camera_info/

 

 

 

 

 

728x90

댓글