Chapter 11. ROS2에서의 Zenoh (Zenoh in ROS 2 Ecosystem)

Chapter 11. ROS2에서의 Zenoh (Zenoh in ROS 2 Ecosystem)

로봇 운영체제 2세대(ROS 2; Robot Operating System 2)는 자율주행(Autonomous Driving), 첨단 제조(Advanced Manufacturing), 해양 탐사 및 우주 항공 등 현대 지능형 로보틱스 시스템을 구축하는 사실상의 글로벌 표준(De-facto Standard) 소프트웨어 프레임워크(Framework)로 자리매김하였다. 그러나 ROS 2의 기반 통신 미들웨어(Middleware)로 채택된 DDS(Data Distribution Service)는 로컬 영역 네트워크(LAN) 환경에서의 우수한 서비스 품질(QoS) 보장에도 불구하고, 대규모 멀티캐스트(Multicast) 트래픽 발생에 따른 네트워크 폭주(Storm), 이기종 글로벌 네트워크(WAN, 5G 등)로의 확장성(Scalability) 한계, 그리고 마이크로컨트롤러(MCU)와 같은 제한적 자원 환경 적용의 어려움이라는 구조적 맹점을 안고 있다.

차세대 분산 라우터 네트워크인 Zenoh는 데이터 중심(Data-centric) 아키텍처 철학을 바탕으로 DDS의 이러한 한계점을 보완하는 데 그치지 않는다. 이는 로봇 내부의 프로세스 간 통신(IPC)부터 글로벌 클라우드 기반의 로봇 관제 시스템(Fleet Management System)에 이르기까지, 단일 프로토콜로 전체 인프라를 수직적, 수평적으로 통합할 수 있는 혁신적 통신 백본(Communications Backbone)을 제공한다. 본 장에서는 ROS 2 생태계에 Zenoh 프로토콜을 이식하고 통합하는 최적의 설계 원리 및 실무 아키텍처 런북(Runbook)을 전개한다.

1. ROS 2 통신의 구조적 난제와 Zenoh 통합 아키텍처

로보틱스 시스템 아키텍트는 단일 로봇 하드웨어 내부의 통신 제약을 넘어, 다중 로봇 시스템(Multi-Robot System) 및 군집 제어(Swarm Robotics) 환경으로 진입하게 되며, 이때 필연적으로 발생하는 네트워크 프로토콜 간의 이질성을 극복해야 한다.

graph TD
    classDef ROS_Layer fill:#e3f2fd,stroke:#1565c0,stroke-width:2px;
    classDef Zenoh_Layer fill:#f3e5f5,stroke:#6a1b9a,stroke-width:2px;
    classDef DDS_Layer fill:#fff8e1,stroke:#f57f17,stroke-width:2px;

    subgraph "ROS 2 Environment (Local Robot / LAN)"
        NodeP[ROS 2 Publisher<br>Nav/LiDAR Data]
        NodeS[ROS 2 Subscriber<br>Control Commands]
    end

    subgraph "Legacy Middleware Layer"
        DDS((DDS Implementation<br>e.g., FastDDS, CycloneDDS))
    end
    
    subgraph "Zenoh Middleware Abstractions"
        RMW[[rmw_zenoh<br>Native RMW Implementation]]
        Bridge[[zenoh-bridge-dds<br>Standalone Plugin Bridge]]
    end

    subgraph "Zenoh Global Network / Wide Area Network"
        ZRouter((Zenoh Router Cluster))
    end

    NodeP -->|DDS RTPS| DDS
    DDS -->|Discovery & Translation| Bridge
    Bridge <-->|Zenoh Protocol| ZRouter
    
    NodeS <-->|Zenoh Native Publish/Subscribe| RMW
    RMW <-->|Zenoh Protocol / Zero-Copy| ZRouter

    class NodeP,NodeS ROS_Layer;
    class RMW,Bridge,ZRouter Zenoh_Layer;
    class DDS DDS_Layer;

본 장은 Zenoh를 ROS 2에 통합하기 위한 두 가지 핵심 공학적 메커니즘을 심도 있게 해부한다.
첫째, 기존 구축된 DDS 시스템의 아키텍처를 훼손하지 않으면서 국지적 로컬 네트워크를 WAN으로 매끄럽게 브릿징(Bridging)하여 연장하는 병렬적 접근법인 zenoh-bridge-dds 플러그인의 활용이다.
둘째, ROS 2의 RMW(ROS Middleware) 계층 자체를 Zenoh 코어로 대체하여, 멀티캐스트 오버헤드가 없는 고속 점대점(Point-to-Point) 및 라우팅 전송을 네이티브(Native)하게 구현하는 rmw_zenoh 구현체에 대한 심층 분석이다.
시스템 엔지니어는 주어진 하드웨어 제약 및 트래픽 규모에 따라 어떠한 방식을 선택해야 하는지 정량적인 성능 기준과 아키텍처 평가 지표를 수립하게 될 것이다.

2. QoS 제어, 보안 연계 및 고대역폭 페이로드 무결성

자율 주행 시스템에 필수적인 3D 라이다(LiDAR) 포인트 클라우드(Point Cloud)나 고해상도 비전(Vision) 카메라 스트리밍 데이터는 막대한 대역폭(Bandwidth)을 요구하며, 이는 네트워크 혼잡 시 빈번한 패킷 손실(Packet Loss) 시스템 마비를 유발하는 주된 요인이 된다.

본 장의 중반부에서는 이러한 거대 페이로드(Payload)의 안정적 전송을 보장하기 위한 패킷 조각화(Fragmentation) 방식과 커스텀 직렬화(Custom Serialization) 최적화 기법을 소개한다. 더 나아가, ROS 2 표준에 정의된 서비스 품질(QoS; Quality of Service) 프로파일(Profile) 규칙이 Zenoh의 내장 배압(Backpressure) 알고리즘 및 라우팅 우선순위와 어떻게 정밀하게 매핑(Mapping)되는지 논리적으로 증명한다.

장 후반부에서는 SROS 2(Secure ROS 2)의 인증 및 암호화 체계가 Zenoh의 권한/접근 제어망(ACL; Access Control List)과 연동되는 보안 무결성 절차를 규명한다. 추가적으로, 브라우저 단에서 rosbridge와 같은 무거운 웹소켓(WebSocket) 미들웨어 스택 없이 순수 TypeScript 기반의 Zenoh API만으로 ROS 토픽(Topic)을 통제하는 직접 연결(Direct Integration) 아키텍처까지 확장함으로써, 레거시 로보틱스 시스템 아키텍처의 한계를 극복하는 차세대 웹-로보틱스 융합 비전을 제시할 것이다.