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을 통해서 통신을 하게 된다
그리고 서로 다른 패키지에 있는 노드와도 통신을 하게 된다.
(참고: 노드는 같은 이름을 가질 수 없다)
어플리케이션안에 패키지가 있고 또 그 안에 노드들이 있고 이렇게 나눠져 있으면 프로그램을 유지 보수하는데 유리하고 쉽고 새로운 기능을 추가하기에도 좋다