# C920(USB\_CAM) Calibration

* STELLA N1\_WLKATA 구매 시, 제공하는 SD카드에는  본적으로 하기와 같은 과정이 전부 <mark style="color:red;">**작업된**</mark> <mark style="color:red;">**Ubuntu 18.04 LTS가 탑재된 SD 카드가 제공됩니다.**</mark>&#x20;
* <mark style="color:blue;">**카메라 변경으로 인해 Calibration 따로 진행이 필요하신 경우에 하기의 작업을 진행해주시면 됩니다.**</mark>&#x20;

- [ ] Calibration 패키지를 설치.&#x20;

* 아래의 명령어를 입력하여 패키지를 설치합니다.

```
sudo apt install ros-melodic-camera-calibration
```

* [ ] Check\_board 인쇄

- 아래의 ros 공식 사이트에 들어가 Check\_Board 인쇄하여 줍니다.

{% tabs %}
{% tab title="Check_Board 링크 " %}
[http://wiki.ros.org/camera\_calibration/Tutorials/MonocularCalibration?action=AttachFile\&do=view\&target=check-108.pdf](http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration?action=AttachFile\&do=view\&target=check-108.pdf)
{% endtab %}
{% endtabs %}

* 인쇄한 CheckBoard 한칸의 길이를 확인합니다.

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2Fb6OeSfiQxDxA68fUOW6w%2Fimage.png?alt=media\&token=965ac405-a566-44dd-a4d1-20a72b2f559f)



* [ ] roscore 실행&#x20;

```
roscore
```

* [ ] 카메라 구동

- 새로운 터미널을 열어 카메라를 구동해줍니다.

```
roslaunch usb_cam usb_cam-test.launch
```

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2Fq1OD3Q6bZTWZYUy5J8h3%2Fimage.png?alt=media\&token=f66098da-85e3-4001-ae8a-089d3b2277f9)

* [ ] Calibration 명령어 실행.

- 하기의 명령어로 Calibration 실행합니다. square = 0.029 는 위에서 측정한 2.9cm 입니다.

```
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.029 image:=/usb_cam/image_raw camera:=/usb_cam --no-service-check
```

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2FGEp11XXyPvZ3ud43QV0T%2Fimage.png?alt=media\&token=fa17df4a-b271-42b8-8a19-58127d868bc4)

* [ ] Calibration 진행하기.

- Check Board를 가까이, 멀리, 상하좌우, 위아래 옆으로도 기울기도 하며 Calibation 진행 합니다.&#x20;
- 아래 사진처럼 X, Y, Size, Skew 값을 충족시키면 Calibarte 버튼이 활성화 됩니다.

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2FOzND2Aua2aMQ42uqrrGK%2Fimage.png?alt=media\&token=d8c1c5dd-b41c-461c-9f41-72f2ce92c4dc)

* [ ] &#x20;Calibation 값 확인 및 수정.

- 1분에서 10분정도를 기다리면 SAVE 및 COMMIT 버튼이 활성화 됩니다.&#x20;
- SAVE 클릭 후 COMMIT 버튼 클릭해주시면 됩니다.

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2FSvLRQzjOZ5u4fzt1OAse%2Fimage.png?alt=media\&token=3aa2fe6a-8d8d-429a-ab01-7d235cc6d484)

* 결과 확인

![](https://1701082278-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0TO2PE0gRZa3Lbd2VASK%2Fuploads%2FDXyD97USkS2XCfhZO44g%2Fimage.png?alt=media\&token=67a719b6-62c5-486d-a26b-d8f6031eb2d4)

* &#x20;\~/.ros/camera\_info/usb\_cam.yaml 수정하면 됩니다.

```
D = [0.007655481931788563, -0.021565942191315912, 0.0011911380610989451, 0.007277801743236824, 0.0]
K = [612.4830512332405, 0.0, 338.704120682638, 0.0, 614.0891160234114, 239.0096378966652, 0.0, 0.0, 1.0]
R = [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P = [611.47412109375, 0.0, 342.2148109105183, 0.0, 0.0, 616.983642578125, 239.01201697321085, 0.0, 0.0, 0.0, 1.0, 0.0]
None
# oST version 5.0 parameters


[image]

width
640

height
480

[narrow_stereo]

camera matrix
612.483051 0.000000 338.704121
0.000000 614.089116 239.009638
0.000000 0.000000 1.000000

distortion
0.007655 -0.021566 0.001191 0.007278 0.000000

rectification
1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000

projection
611.474121 0.000000 342.214811 0.000000
0.000000 616.983643 239.012017 0.000000
0.000000 0.000000 1.000000 0.000000

```
