ROS node, package, message, 노드, 패키지, 메세지에 대해서 알아보자

By qsp , Created on 10th Jun 2021

ROS의 기본용어이니 노드 패키지 메세지에 대해서 포스팅~

ROS의 기본 용어에 대해서 알아보자

이름 설명
Node 최소 단위의 실행 가능한 프로세서 (실행 가능한 프로그램)
Package 하나 이상의 노드 노드 실행을 위한 정보 등을 묶어 놓은 것
Message 메세지를 통해서 노드 간의 데이터를 주고 받는다 (ingeger, floaing point, boolean 같은 변수 형태임)

예를 만약 카메라로 컨트롤 하는 로봇이 있다면 이 로봇은 3개의 ROS packages가 필요하다

  • 첫 번째로 하드웨어 컨트롤 패키지가 필요한데, 바퀴 다른 모터 등을 컨트롤 한다
  • 두 번째로 모션을 컨트롤 할 패키지
  • 마지막은 카메라 패키지 인데, 이미지를 분석해서 로봇에게 명령을 내린다

여기에 카메라 패키지를 예를 들어 보면
아 이 패키지 안에는 Camera Driver와 Image Processing 하는 프로그램이 들어가 있게 된다 이것이 바로 Node(노드)이다

그리고 이미 언급했듯이 이 모듈들을 묶고 있는 것이 패키지이다.

ROS Topics, Services, Actions 대해서 보러 가기

이 노드 들은 따로 실행이 되는데 Camera driver를 실행 시킨 후 Image Processing 노드를 실행하게 되고
이 둘은 서로 통신을 할 수 가 있는데 이때
topics, services, 그리고 actions을 통해서 통신을 하게 된다

그리고 서로 다른 패키지에 있는 노드와도 통신을 하게 된다.
(참고: 노드는 같은 이름을 가질 수 없다)

어플리케이션안에 패키지가 있고 또 그 안에 노드들이 있고 이렇게 나눠져 있으면 프로그램을 유지 보수하는데 유리하고 쉽고 새로운 기능을 추가하기에도 좋다

댓글

댓글이 없습니다.