- 노드와 노드 사이 연결 및 통신을 위한 서버
- 마스터가 없으면 노드간 통신 불가
- cmd : roscore
- ROS에서 실행되는 최소 단위 프로세스(프로그램)
- 하나의 목적에 하나의 노드 개발
- ex) 주전자 → 전원 스위치, 온도 센서 각각 하나의 노드로 볼 수 있다.
- 노드 간 데이터를 주고 받는 양식
- ROS 소프트웨어의 기본 단위
- 노드, 라이브러리, 환경설정 파일 등을 통합하는 최소 빌드 단위 및 배포 단위
- 메시지 송수신 방식 (단방향, 연속성)
- 메시지를 송신하기 위해 토픽으로 마스터에 등록해 메시지를 전송
- 메시지 송수신 방식 (양방향, 일회성)
- Topic에 원하는 메시지를 담아 송신하는 것
- Topic을 포함한 자신의 정보를 마스터에 등록하고 Subscriber Node에 메시지를 보냄
- 하나의 노드에 여러 개의 Publisher 선언 가능
- Topic 내용에 해당하는 메시지 =수신
- Subscribe를 수행하기 위해 Topic을 포함한 자신의 정보를 마스터에 등록 수신하고자 하는 Topic의 정보를 마스터로부터 받음
- 하나의 노드에 여러 개 Subscriber 선언 가능
Topic | Service |
---|---|
단방향, 비동기 통신 | 양방향, 동기 통신 |
Publisher: 메시지 송신 | Service Client: 서비스 요청 |
Subscriber: 메시지 수신 | Service Server: 서비스 응답 |
지속적으로 발생하는 송 수신에 적합 | 클라이언트 요청 후 서버에서 응답 |
1:N, 1:1, N:1, N:N 모두 통신 가능 | 요청과 응답이 끊기면 노드 종료 |