ROS uvc_camera Calibration
2019. 9. 17. 20:14ㆍ드론
실제 3차원의 점들이 이미지 상에서 최대한 현실과 맞게 위치하도록 하는 작업. 또한 3차원 공간좌표로 복원하기 위해서 필요한 작업이다.
먼저 uvc-camera 패키지를 설치한다
$ sudo apt-get install ros-kinetic-uvc-camera -y
$ sudo apt-get install ros-kinetic-image-* -y
$ sudo apt-get install ros-kinetic-rqt-image-view -y
그리고 roscore 후에 uvc-camera-node를 실행한다
$ rosrun uvc_camera uvc_camera_node
노드를 실행시키면, 다음과 같이 경고문구가 뜨는데 카메라 Calibration 파일이 없다는 내용이다. 지금 실습을 통해서 위 camera.yaml 파일을 생성할 것이다.
camera_info에 대한 파일이 /camera 하위에 있는지, / 하위에 있는지 확인해야 한다
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=image_raw camera:=/
만일 camera_info 파일이 /camera 하위에 있다면, camera:=/camera로 수정해야 한다
실행시킨 후, 약 41개의 샘플 데이터를 얻은 후 저장파일이 /tmp에 생성된 것을 확인할 수 있다
$ cd /tmp
$ tar -xzvf calibrationdata.tar.gz -C ~/camera_calibration_data/
$ cd ~/camera_calibration_data
$ mv ost.txt ost.ini
$ rosrun camera_calibration_parsers convert ost.ini camera.yaml
$ mkdir ~/.ros/camera_info
$ mv camera.yaml ~/.ros/camera_info/
camera.yaml 파일에서 camera_name은 narrow_stereo에서 camera로 수정하는 것이 좋다. 일반적으로 카메라 관련 패키지들이 camera로 설정되어 있기 때문이다.
저장하고 다시 uvc_camera_node를 실행하면 경고가 사라졌음을 알 수 있다
[참고 1] https://darkpgmr.tistory.com/32#calibration0
[참고 2] ROS 프로그래밍, 표윤석
'드론' 카테고리의 다른 글
ROS 터틀봇에서 topic시 주의할 점 (0) | 2019.09.23 |
---|---|
ROS remote action (0) | 2019.09.18 |
ROS 이기종 디바이스 간 통신 (0) | 2019.09.13 |
ROS rqt (0) | 2019.09.12 |
ROS RViz (0) | 2019.09.12 |