ROS1과 ROS2의 메시지 및 데이터 통신 구조 비교
ROS1
- 중앙집중식 마스터 기반: ROS Master가 노드 간 연결 관리
- TCP/IP 기반 통신: TCPROS(기본)와 UDPROS 프로토콜 사용
- 사용자 정의 프로토콜: ROS 자체 개발 통신 프로토콜 사용
ROS2
- 분산형 구조 DDS 미들웨어 사용
- 마스터리스 구조로 p2p 통신이 가능하다
- 표준 기반: OMG 표준 DDS 프로토콜 활용
통신 방식 비교
ROS1
- 토픽(Topic):
- 발행-구독(Publish-Subscribe) 모델
- 비동기식, 단방향 통신
- 메시지 큐 크기 제한적
- 서비스(Service):
- 요청-응답(Request-Response) 모델
- 동기식, 블로킹 호출
- 단일 응답만 가능
- 액션(Action):
- 목표-피드백-결과 모델
- 토픽 기반으로 구현
- 비동기식 장기 실행 작업 처리
ROS2
- 토픽(Topic):
- DDS 기반 발행-구독 모델
- QoS(Quality of Service) 설정 가능
- 신뢰성, 내구성, 기록 등 설정 가능
- 서비스(Service):
- DDS 기반 요청-응답 모델
- QoS 설정 가능
- 멀티스레딩 지원 개선