22.1.1 ROS1 아키텍처의 구조적 한계 규명 및 DDS 미들웨어 도입 철학
1. 개요
ROS 1(Robot Operating System 1)은 학술 연구 및 프로토타이핑을 목적으로 로보틱스 소프트웨어의 모듈화와 재사용성을 비약적으로 향상시킨 프레임워크이다. 그러나 단일 지점 실패(Single Point of Failure)를 내포하는 중앙 집중식 아키텍처와 비실시간성(Non-real-time) 네트워크 처리 구조는 상용 산업 현장 및 다중 에이전트 분산 시스템(Multi-agent Distributed System)에 적용하기에는 명백한 구조적 한계를 보였다. 본 절에서는 ROS 1의 한계를 기술적 차원에서 규명하고, ROS 2 아키텍처가 전이된 핵심 동인인 DDS(Data Distribution Service) 미들웨어의 도입 철학과 그 학술적, 공학적 타당성을 분석한다.
2. ROS 1 통신 아키텍처의 구조적 한계 분석
2.1 ROS Master 중심의 단일 장애점(Single Point of Failure, SPOF) 문제
ROS 1 시스템은 네트워크 환경 내에서 모든 노드(Node)의 이름 관리 및 연결 협상을 중재하는 roscore (ROS Master) 프로세스에 절대적으로 의존한다. 노드 간 P2P(Peer-to-Peer) 데이터 전송이 시작되기 전, 발행자(Publisher)와 구독자(Subscriber)는 반드시 마스터 노드를 통해 위치 정보(IP 및 포트)를 교환해야 한다. 이 구조에서는 마스터 프로세스가 예기치 못한 네트워크 파티션이나 리소스 부족으로 인해 다운될 경우, 전체 로봇 시스템의 이름 확인 기능이 마비되어 새로운 노드 등록이나 기존 노드의 재연결이 불가능해진다. 이는 고신뢰성이 요구되는 산업용 자율 주행 시스템이나 에지(Edge) 기반 로보틱스에서 치명적인 시스템 실패를 유발한다.
2.2 사용자 정의 통신 스택(TCPROS/UDPROS)의 QoS 제어 부재
ROS 1은 내부적으로 자체 설계된 TCPROS(TCP 기반)와 UDPROS(UDP 기반) 전송 프로토콜을 사용한다. TCPROS는 신뢰성을 보장하지만 TCP의 특성인 패킷 손실 시 재전송 메커니즘으로 인해 심각한 지연(Latency Jitter)을 유발하며, 이는 제어 루프 주기(Control Loop Frequency)가 높은 동역학 제어기에서 위상 지연(Phase Lag)을 초래한다. 반면 UDPROS는 단방향 고속 전송을 지원하나 대역폭 관리나 메시지 전달 상태 보장 메커니즘이 완전히 부재하다. 즉, 네트워크 대역폭 부족 상황이나 동적 위상 변화에 능동적으로 대처할 수 있는 패킷 단위의 서비스 품질(Quality of Service, QoS) 제어 기술이 설계 단계에서 누락되었다.
2.3 비-실시간성(Non-real-time) 및 동시성 제어의 취약성
ROS 1의 코어 런타임 언어인 roscpp는 개발 당시의 C++ 스펙(C++03/C++11 초기)을 기반으로 작성되어, 현대적인 스레드 안전성(Thread-safety)과 논블로킹(Non-blocking) 메모리 할당 패턴을 충분히 활용하지 못한다. 노드 내 콜백(Callback) 처리가 복잡해질 경우 전역 잠금(Global Lock)이나 큐 스케줄링의 비효율성으로 인해 실시간 데드라인(Real-time Deadline) 위반 현상이 발생한다.
3. DDS(Data Distribution Service) 미들웨어 도입 철학
ROS 2 코어 설계 그룹(OSRF)은 상기 서술된 한계를 독자적인 프로토콜 재설계로 해결하는 대신, 국방, 항공우주, 금융 시스템에서 이미 검증된 산업 표준을 수용하는 철학적 전환을 시도하였다. 이에 따라 OMG(Object Management Group)에서 제정한 분산 통신 표준인 DDS를 시스템의 최하위 통신 백본(Backbone)으로 도입하게 되었다.
3.1 완전 분산형 브로드캐스트-기반 발견(Discovery)
DDS 표준은 내부적으로 RTPS(Real-Time Publish-Subscribe) 와이어 프로토콜을 사용한다. 마스터 노드에 의존했던 ROS 1과 달리, ROS 2의 각 노드는 멀티캐스트(Multicast) 기반의 Participant Discovery Protocol (PDP)과 Endpoint Discovery Protocol (EDP)을 통해 네트워크 상에서 자율적으로 상대방을 인식하고 연결한다. 이는 시스템 아키텍처에서 단일 장애점(SPOF)을 원천적으로 제거하여, 드론 군집 제어와 같이 노드가 네트워크에 동적으로 진입 및 이탈하는 다중 에이전트 환경에서 탁월한 복원력(Resilience)을 제공한다.
3.2 정밀도 높은 서비스 품질(Quality of Service, QoS) 파라미터화
DDS의 도입으로 응용 계층에서는 통신 채널의 상태를 세밀하게 제어할 수 있게 되었다. 데이터의 신뢰도(Reliability: Reliable vs Best-effort), 내구성(Durability: Transient-local vs Volatile), 데드라인(Deadline), 그리고 히스토리 깊이(History Depth) 등 22개 이상의 규격화된 QoS 정책 조합을 설정할 수 있다. 센서 데이터와 같이 단발성 지연이 중요한 스트리밍에는 Best-effort 조건을 적용하고, 비행 상태 전환 명령과 같은 제어 신호에는 Reliable 조건을 부여함으로써 하나의 통신 미들웨어 위에서 이기종 요구 사항을 동시에 해결할 수 있다.
3.3 크로스 벤더(Cross-vendor) 상호 운용성 구현
DDS는 특정 기업에 종속된 기술이 아닌, 표준 인터페이스 사양이다. ROS 2는 RMW(ROS Middleware) 추상화 인터페이스 계층을 통해 Fast DDS (eProsima), Cyclone DDS (Eclipse), Connext DDS (RTI) 등 다양한 벤더의 컴파일된 미들웨어를 교체 결합할 수 있다. 이는 상용 로보틱스 회사가 자체 시스템의 하드웨어 리소스 규격 및 라이선스 정책에 부합하는 서드파티 스택을 자유롭게 적용할 수 있는 공급망 다변화의 학술적-공학적 기틀을 확보함을 의미한다.
4. 결론
ROS 2의 DDS 미들웨어 도입은 단순한 네트워크 라이브러리의 교체가 아니라 로보틱스 운영체제의 패러다임 전환이다. ROS 1의 중앙 집중식 상태 관리 및 경직된 네트워크 처리 구조에서 기인한 치명적 단점을 해결하기 위해, ROS 2 아키텍처는 탈중앙화된 자동 노드 탐색과 동적 QoS를 지원하는 DDS 산업 스탠다드를 전면 채택하였다. 이는 자율 드론과 같이 실시간 제어 정밀성과 네트워크 유실 조건 하에서의 복원력이 결정적으로 작용하는 메타 시스템에서 요구되는 가장 핵심적인 아키텍처 진화로 평가된다.