오늘은 ROS melodic에서 카메라를 calibration하는 과정을 설명하려고 합니다. 카메라 영상을 어떻게 사용하는지에 따라 캘리브레이션이 필요할 때가 있는데요. 어떻게 하는지 간단히 보여드릴까 합니다.
roscore를 실행하고~
사용하시는 카메라를 기동하면 됩니다. 저는 최근에 개발에 참여한 R1mini의 ROS 패키지에서 카메라를 기동하는 명령을 사용하면 됩니다. 아무튼 카메라를 기동하구요~
카메라 영상이 잘 들어오는 rqt_image_view로 확인합니다.
그리고 rostopic list로 영상의 토픽이름을 확인합니다.
제 경우는 jetson 카메라를 실행했기 때문에 /main_camera/image_raw가 토픽 이름입니다.
이제 위 링크에서 체크보드를 받습니다. 저 체크 보드 파일은 ROS 위키의 카메라 캘리브레이션 문서에서 가져왔습니다.
저 화살표에 표시된 교차점의 갯수를 확인하면 가로8개 세로 6개입니다. 그게 size입니다. 8x6이죠~
이제 한 칸의 길이를 확인합니다. 2.8cm로 보이네요. 그게 square 옵션에 들어갈 값입니다. 0.028~
이제 rosrun 명령으로 camera_calibration 패키지의 cameracalibrator.py 노드를 size와 square 옵션을 주고, image와 camera 옵션에는 아까 확인한 토픽이름을 각각 지정합니다.
실행했는데 위 그림처럼 service not found라는 메세지가 나타나면, set_camera_info라는 서비스가 지원되지 않는다는 것인데요.
그냥, 없어도 되니까, 위 그림처럼 --no-service-check 라고 다시 달아줍니다.
이제 저런 창이 나타날거구요~
아까 프린트해둔 체크보드를 들고 카메라 앞에서 가로 세서, 위 아래로 천천히 움직여 줍니다. 좌우, 아래 위로 기울여도 주고, 멀리 가까이 움직여도 줍니다.
조금 열심히~^^
그러면 오른쪽 상단의 상황이~
저렇게 모두 녹색바(bar)로 바뀌면 calibrate라는 버튼이 활성화됩니다.
그 버튼을 누르면 됩니다.^^
저는 이 과정을 jetson nano에서 수행했기 때문에 터미널에서 보면 calibration 하는데 시간이 조금 걸립니다.
그렇게 조금 기다리면 저렇게~
캘리브레이션 결과가 나오는데요. 저 터미널의 결과를 긁어서, 사용하면 됩니다. 보통 pkg에 보면 camera.yaml이나 config라는 단어가 들어간 yaml 파일이 있는데요. 그 파일을 열어서 상황에 맞게 덮어쓰면 됩니다.^^.
'Robot > Robot Program - ROS' 카테고리의 다른 글
ROS Melodic에서 YOLO로 detection 된 사람 수 세기 (16) | 2022.03.17 |
---|---|
ROS 카메라 캘리브레이션 수행하기 (8) | 2021.04.27 |
ROS 토픽을 터미널에서 그래픽하게 보여주는 rosshow (2) | 2021.03.21 |
ROS에서 odom 정보를 기초로 로봇에 위치 명령 인가하기 (6) | 2021.03.14 |
Ubuntu 20.04에서 ROS1 Noetic과 ROS2 Foxy 같이 설치하기 (4) | 2021.02.22 |
Noetic에서 catkin tools 설치 및 alias 설정 (8) | 2021.02.16 |
SSH로 접근할때 remote identification 에러 대응 (2) | 2021.02.01 |
라즈베리파이의 라즈비안에 ROS melodic 버전에서 YDLIDAR 설치하기 (6) | 2021.01.29 |
덕분에 잘 보고 갑니다 ros 카메라 캘리브레이션 수행 하는 거는 생소하네요
즐거운 하루 되세요~
카메라도 캘리블레이션 하는 군요
잘알고 갑니다.
평상시는 잘 안하는데, 약간 정밀성이 필요할때 합니다.^^
혹시 'camera_calibration' package 는 어떻게 설치하나요?
보통 desktopfull 버전을 설치하면 다 설치가 될겁니다.
http://wiki.ros.org/camera_calibration
참고하며 설치하는 도중 문제가 생겨 질문 드립니다. rostopic list를 입력하면 /rosout /rosout_agg 만 뜨고 카메라에 관련된 node는 뜨지 않습니다.
그리고 터미널에서 rqt_image_view를 실행하고 카메라를 지정할때도 camera_node/image/compressed만 뜨고 image/raw는 뜨지 않는데, 다른 패캐지를 설치해야하나요?
항상 자세하게 포스팅해주셔서 정말 감사합니다.
카메라는 기동하셨나요? 토픽 리스트에서 카메라 관련 토픽이 나타나지 않는다면 카메라가 정상적으로 실행된건지를 확인해야할 지도 모르겠네요