본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2023 ROS 스터디] 홍선재 #2주차 - ROS

반응형

이번에는 ros를 활용하는 시간이라고 생각했다.

설치를 완료하면 진짜 공부가 시작된다고 할 수 있다. 하지만 이번에도 오류가 없을거라고 생각했던건 나의 착각이었다.

챕터 4,5까지는 그냥 이론이라 맘 편히 들었다. 명령어를 사용하는 챕터 6의 실습에서 막혔다.

$ rosrun uvc_camera uvc_camera_node 를 쳤지만 어딘가 이상하다는 것을 깨닫고 바로 구글링을 해봤다.

(ros 스터디를 하면서 오류가 생기는 코드를 바로 구글에 치는 것이 일상화가 된 것 같다.)

 

그 문제는 https://blog.naver.com/PostView.nhn?blogId=angelkim88&logNo=221631642641 

 

[ROS Melodic] USB-CAM & UVC CAMERA

#[rospack] Error: package 'uvb_camera' not found [rospack] Error: package 'uvb_came...

blog.naver.com

이 블로그를 통해서 알수 있었다. 카메라 등록이 안돼있었기 때문에 카메라 등록을 했다. 카메라 등록을 해도 오류가 생겼다. 다시 블로그를 천천히 읽어보니 

 

"ROS Melodic을 설치하면 위와 같이 uvc_camera를 사용할 수 없습니다.

이유는 지원을 만료했기 때문이다" 라는 문구를 보았다.

 

$ sudo apt install ros-melodic-usb-cam

$ audo apt-get update

이후에 다음과 같이 명령어를 치고난 후 $ rosrun usb_cam usb_cam_node 를 사용하니 작동이 잘돼었다.

 

$ rosrun usb_cam usb_cam_node가 안되는 이유는 내 생각에 카메라가 내장되어있는 노트북 같은 경우는 다음과 같은 $ rosrun usb_cam usb_cam_node명령어를 실행해야 Error: package 'uvb_camera' not found와 같은 에러가 안생기는 것 같다.

 

 

$ ls /dev/video*를 입력하여 카메라가 연결된지 확인한 후 /dev/video0이 나오면 성공한 것이다.

카메라 등록

카메라를 등록하고 실습에 있는 명령어를 실행하고 rtq를 입력하고 (메뉴에서 [Plugins] → [Visualization] → [Image View] 를 선택) 카메라 화면이 드디어 보이기 시작했다.

얼굴이 나오는 것이 부담스러워 옆에 있는 책으로 급하게 가리고 스크린샷을 찍었다.

카메라가 나오는 것을 확인하니 노드가 얼마나 실행되는지 노드 상태를 보고싶어졌다.

rqt_graph를 명령어를 치면 각 노드와 노드끼리의 어떤 메시지를 주고 받고있는지를 간단하게 그림으로 살펴볼 수 있다.

$ rqt_graph

 지금 우측에 하얀 화면에 나오는 것이 노드가 나타내는 상태를 그림으로 표시한 것들이다. 노드를 한 두개정도 실행하면 어느정도 개수 파악은 되긴 하겠지만 30개 40개를 돌려버리면 내가 어떤 것을 실행하고 있는지 헷갈릴 수 있기 때문에 헷갈릴때나 평소에도 띄어 놓는 습관이 중요하다고 강의에서 강조했다.

 

 

 이번에는 실습보다는 이론 설명에 대해서 많이 나온 강의라고 생각이 들었다. 강의 자료에 있는 용어들은 하나씩 필사하면서 외워갔다. 용어가 어렵다보니 강의를 보면서 이해가 안되긴 했지만 용어를 다 숙지하고 난 다음에 2회차 때는 어느정도 이해가 되기 시작했다. rqt_plot 실습도 완벽하게 해냈다. 거북이를 움직이면 x,  y, 방향, 병진속도, 회전속도에 맞게 그래프가 움직였다. 

 내가 무슨 대단한 명령어를 거북이에게 명령한 것 같은 느낌이 들었다. 마지막 실습인 rqt_bag도 카메라를 녹화하는 기능과 다시 재생하는 기능까지 성공했다. 확실히 1주차 설치보다 오류가 적긴했다. 하지만 무수히 어려운 용어가 많았고 

이 용어들을 제대로 숙지하지 않는다면 다음 3주차 과정에는 힘들 것으로 예상이 되므로 오늘 블로그 작성을 마치고 용어를 따로 공부해야겠다. 

반응형