IT/Embedded

ROS2 - DDS (Data Distribution Service)

athere 2024. 12. 22. 21:06
반응형

(1) 개요

DDS(Data Distribution Service)는 분산 시스템에서 데이터 교환을 위한 퍼블리셔-구독자(Publish-Subscribe) 모델을 기반으로 한 미들웨어 표준입니다. **Object Management Group (OMG)**에서 정의한 표준으로, **ROS2(Robot Operating System 2)**와 같은 시스템에서 핵심적인 데이터 전달 방식을 제공합니다.


(2) DDS의 주요 특징

  1. 퍼블리셔-구독자 모델
    • 데이터의 생산자(Publisher)와 소비자(Subscriber)가 직접 연결되지 않고, 미들웨어가 데이터를 관리하여 효율적인 분산 시스템을 구성.
    • 퍼블리셔는 데이터를 주제(Topic)로 송신하고, 구독자는 원하는 주제를 기반으로 데이터 수신.
  2. QoS(Quality of Service) 지원
    • 데이터 전송의 신뢰성, 우선순위, 지연 시간, 가용성 등을 조정할 수 있는 다양한 QoS 정책을 제공합니다.
    • 예: RELIABLE 또는 BEST-EFFORT 전송 방식 선택 가능.
  3. 실시간 데이터 처리
    • DDS는 실시간 데이터를 낮은 지연 시간으로 안정적으로 전달하도록 설계되었습니다.
    • 자율주행, 항공기, 공장 자동화와 같은 환경에서 요구되는 초저지연 데이터 통신을 지원.
  4. 분산 시스템에서 확장성
    • 네트워크 상의 노드 추가 또는 제거가 동적이면서도 매끄럽게 이루어질 수 있습니다.
    • 노드가 서로의 존재를 자동으로 인식하며 시스템 규모에 따라 유연하게 확장 가능.
  5. 플랫폼 독립성
    • DDS는 여러 운영 체제와 하드웨어 플랫폼에서 동작 가능하며, 네트워크 구성도 유연하게 설정할 수 있음.
  6. 표준화된 인터페이스
    • OMG에 의해 표준화된 인터페이스를 제공하며, 다양한 벤더의 DDS 구현체와 호환 가능.
    • 주요 구현체: OpenDDS, RTI Connext, FastDDS, CycloneDDS 등.

(3) DDS와 ROS2의 관계

ROS2는 분산 시스템에서 실시간 데이터 전송을 효과적으로 구현하기 위해 DDS를 기본 통신 미들웨어로 채택했습니다.

  • ROS2 노드 간의 데이터 전송은 DDS를 통해 이루어지며, ROS2의 유연성, 확장성, 실시간 처리 요구 사항을 충족합니다.
  • DDS는 ROS2의 각 노드가 트랜스포트 계층에 의존하지 않고 메시지를 주고받을 수 있게 하며, 네트워크 상에서의 데이터 일관성을 보장합니다.

(4) DDS의 주요 사용 사례

  1. 자율주행 시스템
    • LiDAR, 카메라, 레이더 센서에서 생성된 대량의 데이터를 차량 내 여러 모듈로 전송.
    • V2X 통신과 결합하여 차량 외부와의 데이터를 교환.
  2. 항공기 시스템
    • 항공기 내 모든 센서와 제어 시스템이 데이터의 신뢰성과 낮은 지연을 유지하며 통신.
  3. 공장 자동화
    • 산업용 로봇과 생산 라인 모듈 간 데이터를 실시간으로 교환.
  4. 의료 시스템
    • 병원 내 다양한 의료 장비 간 데이터 통신을 지원해 신뢰성과 실시간성을 보장.

(5) DDS의 장점

  1. 실시간성: 초저지연 데이터 전송.
  2. 확장성: 동적으로 노드를 추가하거나 제거할 수 있음.
  3. 효율성: 퍼블리셔-구독자 모델로 통신 오버헤드 최소화.
  4. 유연성: 다양한 QoS 정책과 플랫폼 독립성.

(6) DDS의 구현체 비교

  • RTI Connext: 안정성 및 성능 최적화, 상용 프로젝트에 적합.
  • FastDDS (eProsima): 빠른 성능과 오픈소스 특화.
  • CycloneDDS: IoT 및 ROS2에 최적화된 경량 DDS.
  • OpenDDS: 학습과 실험에 적합하며 오픈소스 기반.

핵심 키워드:

  • DDS, 퍼블리셔-구독자 모델, QoS, ROS2, 실시간 처리, 확장성

DDS는 ROS2와 같은 분산 시스템에서 필수적인 데이터 통신 방식으로, 자율주행, IoT, 공장 자동화 등 다양한 산업 분야에서 활발히 사용됩니다.

반응형