1261.49 실시간 통신 요구사항과 DDS 미들웨어

1. 로봇 시스템의 실시간 통신 요구사항

로봇 행동 제어 시스템은 센서 데이터의 수집, 상태 추정, 행동 결정, 액추에이터 명령 전달의 전체 처리 체인이 정해진 시간 제약(timing constraint) 내에서 완료되어야 하는 실시간(real-time) 시스템이다. 실시간 시스템에서 통신 인프라는 단순히 데이터를 전달하는 것을 넘어, 전달의 시간적 보장(temporal guarantee)을 제공하여야 한다.

2. 실시간 시스템의 분류와 통신 요구

실시간 시스템은 시간 제약의 엄격성에 따라 다음과 같이 분류된다.

분류정의통신 요구적용 사례
경성 실시간 (Hard Real-Time)기한(deadline) 위반이 시스템 실패를 초래한다.최악 지연의 상한이 수학적으로 보장되어야 한다.항공 제어, 의료 로봇, 산업 로봇 안전 제어
연성 실시간 (Soft Real-Time)기한 위반이 성능 저하를 초래하나 시스템은 계속 동작한다.통계적 지연 분포가 허용 범위 내에 있어야 한다.자율 주행, 서비스 로봇, 영상 처리
준 실시간 (Firm Real-Time)기한 위반된 결과는 무가치하지만 시스템 실패는 아니다.기한 내 전달이 보장되지 않으면 데이터를 폐기한다.원격 관제, 텔레오퍼레이션

로봇 행동 제어 시스템의 통신 인프라는 이러한 시간 제약을 충족하기 위해 다음의 요구사항을 만족하여야 한다.

2.1 결정론적 지연(Deterministic Latency)

통신 지연이 최악의 경우에도 예측 가능한 상한(upper bound)을 초과하지 않아야 한다. 제어 주기 T에 대하여 통신 지연 L은 다음의 조건을 충족하여야 한다.

L_{max} < T - C_{computation}

여기서 C_{computation}은 콜백 내 연산에 소요되는 최악 실행 시간이다.

2.2 유한한 지터(Bounded Jitter)

지터(jitter)는 통신 지연의 변동폭을 의미한다. 실시간 제어 시스템에서 지터는 제어 성능의 저하를 초래하며, 특히 PID 제어 등 시간 미분 항을 포함하는 제어기에서 심각한 영향을 미친다. 지터 J는 다음과 같이 정의된다.

J = L_{max} - L_{min}

2.3 메시지 순서 보장(Message Ordering)

제어 명령이 발행된 순서대로 수신되어야 한다. 순서 역전(out-of-order delivery)이 발생하면 액추에이터가 잘못된 명령을 실행할 수 있다.

2.4 데이터 무결성(Data Integrity)

전송 중 데이터 손상이 발생하지 않아야 하며, 손상이 감지되면 해당 메시지를 폐기하는 메커니즘이 필요하다.

2.5 우선순위 기반 전송(Priority-Based Transmission)

안전 관련 통신(비상 정지 명령 등)은 일반 데이터 통신보다 높은 우선순위로 처리되어야 한다.

3. DDS 미들웨어의 개요

DDS(Data Distribution Service)는 OMG(Object Management Group)에서 표준화한 데이터 중심 발행-구독(Data-Centric Publish-Subscribe, DCPS) 미들웨어이다. ROS2는 ROS1의 자체 통신 계층(TCPROS/UDPROS)을 대체하여 DDS를 기본 미들웨어로 채택하였으며, 이를 통해 산업계에서 검증된 통신 품질과 실시간 특성을 계승하였다.

3.1 DDS의 아키텍처 계층

DDS 표준은 다음의 계층으로 구성된다.

┌──────────────────────────────┐
│  DCPS (Data-Centric         │  ← 애플리케이션 인터페이스
│        Publish-Subscribe)   │
├──────────────────────────────┤
│  RTPS (Real-Time            │  ← 유선 프로토콜
│        Publish-Subscribe)   │
├──────────────────────────────┤
│  Transport (UDP/TCP/SHM)    │  ← 전송 계층
└──────────────────────────────┘

DCPS 계층은 발행자, 구독자, 토픽, 데이터 독자(DataReader), 데이터 기록자(DataWriter) 등의 엔티티를 정의하며, 애플리케이션 수준의 API를 제공한다. RTPS(Real-Time Publish-Subscribe) 계층은 네트워크 상에서 데이터를 교환하기 위한 유선 프로토콜을 정의하며, 상호 운용성(interoperability)을 보장한다.

3.2 DDS의 핵심 개념

개념설명
도메인(Domain)통신 참여자들이 공유하는 논리적 네트워크 공간이다. 도메인 ID로 구분한다.
참여자(Participant)도메인에 참여하는 애플리케이션 엔티티이다. ROS2의 노드에 대응한다.
토픽(Topic)데이터의 논리적 채널이다. 이름과 데이터 타입으로 식별된다.
데이터 기록자(DataWriter)토픽에 데이터를 발행하는 엔티티이다. ROS2의 발행자에 대응한다.
데이터 독자(DataReader)토픽에서 데이터를 수신하는 엔티티이다. ROS2의 구독자에 대응한다.
QoS 정책통신의 품질을 제어하는 정책의 집합이다.

4. DDS의 실시간 통신 지원 메커니즘

4.1 QoS(Quality of Service) 정책

DDS는 22개 이상의 QoS 정책을 정의하며, 이를 통해 통신의 시간적 특성을 세밀하게 제어할 수 있다. 실시간 통신과 직접적으로 관련된 QoS 정책은 다음과 같다.

QoS 정책기능실시간 영향
ReliabilityRELIABLE 또는 BEST_EFFORT 선택RELIABLE은 재전송으로 지연 증가, BEST_EFFORT는 최소 지연
Deadline데이터 갱신의 최대 허용 주기 지정기한 초과 시 리스너에 통보
Latency Budget데이터 전달의 최대 허용 지연 지정미들웨어의 배치(batching) 최적화에 활용
Lifespan데이터의 유효 수명 지정수명 초과 데이터를 자동 폐기
Transport Priority전송 우선순위 지정네트워크 수준의 우선순위 분류에 활용
Durability늦은 참여자(late joiner)에 대한 데이터 제공 정책TRANSIENT_LOCAL은 초기 데이터 전달을 보장

4.2 RTPS 프로토콜의 실시간 특성

RTPS 프로토콜은 UDP 기반의 경량 전송을 사용하며, TCP의 연결 설정 지연(handshake latency)과 헤드 오브 라인 차단(Head-of-Line blocking)을 회피한다. RTPS의 주요 실시간 특성은 다음과 같다.

  1. 자동 발견(Automatic Discovery): 참여자 간의 수동 연결 설정이 불필요하며, SPDP(Simple Participant Discovery Protocol)와 SEDP(Simple Endpoint Discovery Protocol)를 통해 자동으로 상대방을 발견한다.
  2. 무연결성(Connectionless): UDP 기반 전송이므로 연결 설정/해제 오버헤드가 없다.
  3. 멀티캐스트 지원: 일대다(one-to-many) 통신에서 네트워크 대역폭을 절약한다.

4.3 공유 메모리 전송(Shared Memory Transport)

동일 호스트 내의 노드 간 통신에서 DDS는 공유 메모리(Shared Memory) 전송을 지원한다. 공유 메모리 전송은 네트워크 스택을 완전히 우회하므로, 직렬화/역직렬화를 제외한 전송 지연이 수 마이크로초 수준으로 감소한다. Fast DDS, Cyclone DDS, RTI Connext DDS 등 주요 DDS 구현체는 공유 메모리 전송을 기본적으로 지원한다.

5. ROS2에서의 DDS 통합 구조

ROS2는 RMW(ROS Middleware Interface) 추상화 계층을 통해 DDS 미들웨어에 접근한다. 이 추상화에 의해 ROS2 애플리케이션은 특정 DDS 구현체에 종속되지 않으며, 빌드 시점 또는 실행 시점에 DDS 구현체를 교체할 수 있다.

┌─────────────────────────┐
│  ROS2 Application       │
├─────────────────────────┤
│  rclcpp / rclpy         │  ← ROS2 클라이언트 라이브러리
├─────────────────────────┤
│  rcl                    │  ← ROS2 공통 라이브러리
├─────────────────────────┤
│  RMW Interface          │  ← 미들웨어 추상화 계층
├─────────────────────────┤
│  rmw_fastrtps / rmw_    │  ← DDS 구현체별 어댑터
│  cyclonedds / ...       │
├─────────────────────────┤
│  DDS Implementation     │  ← DDS 구현체
└─────────────────────────┘

5.1 주요 DDS 구현체

ROS2에서 사용 가능한 주요 DDS 구현체는 다음과 같다.

DDS 구현체개발 조직라이선스특성
Fast DDSeProsimaApache 2.0ROS2의 오랜 기본 미들웨어. 공유 메모리, 보안 지원.
Cyclone DDSEclipse FoundationEclipse Public License 2.0경량 설계, 낮은 지연, ROS2 Humble~Jazzy 기본.
RTI Connext DDSRTI상용 (연구용 무료)산업계 표준, DO-178C 인증 지원.
GurumDDSGurum Networks상용한국 개발, 실시간 특화 설계.

5.2 실시간 통신을 위한 DDS 최적화 전략

로봇 시스템에서 DDS의 실시간 성능을 최적화하기 위한 전략은 다음과 같다.

  1. QoS 프로파일 최적화: 센서 데이터에는 BEST_EFFORT + KEEP_LAST(1), 제어 명령에는 RELIABLE + KEEP_LAST(1) 조합을 적용한다.
  2. 공유 메모리 활성화: 동일 호스트 내 통신에서 네트워크 전송을 공유 메모리로 대체한다.
  3. 메시지 크기 최소화: 불필요한 필드를 제거하고 적절한 데이터 타입을 선택하여 직렬화 비용을 줄인다.
  4. 도메인 분리: 기능적으로 독립적인 서브시스템을 별도의 DDS 도메인에 배치하여 발견 트래픽을 감소시킨다.
  5. 스레드 우선순위 설정: DDS 수신 스레드의 우선순위를 운영체제 수준에서 조정하여 스케줄링 지연을 최소화한다.

6. DDS의 한계와 경량 대안

DDS는 풍부한 QoS 정책과 상호 운용성을 제공하지만, 다음의 한계 또한 존재한다.

  1. 메모리 사용량: DDS 참여자의 발견 프로토콜과 내부 버퍼 관리에 상당한 메모리가 소요된다. 자원 제약이 있는 임베디드 시스템에서는 부담이 될 수 있다.
  2. 발견 지연: 노드의 시작 시 참여자 발견에 수 초가 소요될 수 있으며, 이는 빠른 시작이 요구되는 시스템에서 문제가 된다.
  3. 구성 복잡도: 22개 이상의 QoS 정책과 다양한 구현체별 설정 옵션으로 인해 최적 구성의 도출이 복잡하다.

이러한 한계를 보완하기 위한 경량 대안으로 Zenoh 프로토콜이 ROS2 생태계에서 주목받고 있으며, ROS2 Jazzy 이후 rmw_zenoh를 통한 공식 지원이 진행되고 있다.

7. 참고 문헌

  • Object Management Group, “Data Distribution Service (DDS) Version 1.4,” OMG Standard, formal/15-04-10, 2015.
  • Object Management Group, “The Real-Time Publish-Subscribe Protocol (RTPS) DDS Interoperability Wire Protocol Specification,” Version 2.3, 2019.
  • S. Macenski, T. Foote, B. Gerkey, C. Lalancette, W. Woodall, “Robot Operating System 2: Design, architecture, and uses in the wild,” Science Robotics, vol. 7, no. 66, eabm6074, 2022.
  • D. Casini, T. Blaß, I. Lütkebohle, B. B. Brandenburg, “Response-Time Analysis of ROS 2 Processing Chains Under Reservation-Based Scheduling,” in Proceedings of the 31st Euromicro Conference on Real-Time Systems (ECRTS), 2019.
  • G. Pardo-Castellote, “OMG Data-Distribution Service: architectural overview,” in Proceedings of the 23rd International Conference on Distributed Computing Systems Workshops, 2003.