11.6.2.3 극한 저지연을 위한 H.264 WebRTC 스트리밍 및 Zenoh 조이스틱 제어 분리(Separation) 아키텍처
로봇의 원격 관제(Teleoperation) 시스템에서 “사람“이 직접 개입하여 조이스틱을 꺾고 모터를 굴리려 할 때, 초당 몇 밀리장(ms)의 화면 타임래그는 단순한 딜레이가 아니다. 그것은 시각과 조향 제어 사이의 감각 스파이크(Spike)를 일으켜, 결국 로봇이 벽에 처박히게 만드는 ’인지 불일치 재앙(Cognitive Dissonance Disaster)’의 도화선이다.
DDS 기반의 image_transport/compressed (JPEG 스트리밍) 방식은 개별 프레임을 잘게 쪼개 보내는 데는 훌륭하지만, 각 프레임마다 무거운 컨텍스트 헤더가 붙어있어 연속적인 동영상 인코딩(P-frame/B-frame 차분 기술) 관점에서는 최악의 지연 덩어리일 뿐이다.
본 절에서는 영상 데이터 송출(Vision Pipeline)과 조이스틱 하달 명령(Control Command)을 분리하여, 각각의 한계치를 극한으로 돌파하는 이원화(Separation) 아키텍처, 즉 H.264 WebRTC 하드웨어 가속 비전 채널과 Zenoh 극저지연 브릿지(Bridge) 컨트롤 채널의 하이브리드 설계 철학을 정립한다.
1. 프레임 차분 혁명(H.264)과 WebRTC 별동대 분리
원격 조정을 전제한 비전 시스템에서는 무적의 통신 철칙이 우선한다. “비전 스트림(Video)은 절대 ROS2/Zenoh 미들웨어 라우팅 큐(Queue) 엔진을 통과해서는 안 된다.”
미들웨어 엔진은 데이터의 변환 결함 및 토폴로지 교환을 위해 패킷 복사를 수반하기에 그 자체로 하드 리얼타임 비디오 송출에서는 지연(Latency)의 온상이다.
로봇에 장착된 카메라 렌즈 데이터는 V4L2 커널 드라이버에서 올라오자마자, ROS 메모리를 통과하지 않고 곧장 GStreamer 파이프라인이나 WebRTC 데몬으로 직행(Bypass)해야 한다.
특히 Jetson 류의 장비라면 H.264 하드웨어(NVENC) 인코더 블록을 타격하여, 완전한 I-frame과 차분 프레임인 P-frame 구조로 픽셀을 산산이 조각낸 후, 오직 변화된 부분만의 미미한 바이트 덩어리를 WebRTC(UDP 홀 펀칭 기반 스펙) 기반의 터널망으로 클라우드 관제 대시보드 브라우저에 직접 대포알처럼 꽂아 넣어야 한다.
이렇게 시야(Vision) 스트림을 통신 미들웨어 세계관 바깥의 C++ 고속도로망(별동대)으로 아예 뽑아내 버렸을 때, 영상 체감 딜레이는 100~200ms 수준에서 일순간에 50ms 미만(Glass-to-Glass 딜레이)으로 기적처럼 폭락한다.
2. 권한의 순수화: Zenoh 파이프라인의 조향 제어(Control) 독점
영상 스트리밍의 무거운 책무를 덜어내고 극도로 한산해진 Zenoh-Bridge-DDS 통신망 터널에는 오직 어떤 데이터만이 수용되어야 하는가? 바로 인간 조작자의 목숨보다 중요한 마이크로 단위의 제어 명령 트래픽(Control Joystick Command) 이다.
관제 UI에서 유저가 조이스틱의 스로틀 트리거를 당겼을 때 생성되는 명령 패킷(/cmd_vel 또는 Custom Steering Topic)은 용량이 기껏해야 불과 몇 바이트 남짓이다. 이 순수하고 정결한 트래픽 캡슐을 Python 기반 zenoh.put() 함수에 구겨 넣고, 관제 클라우드의 zenohd 게이트웨이 파이프 안으로 전광석화처럼 사출시킨다.
// [제어 명령 하달 구조도]
// 클라우드 단 로직 (Web UI -> Backend)
session.Put("rt/cloud/mission/teleop/cmd_vel", steering_bytes_array)
이 제어 비트스트림(Bit-stream)은 광케이블의 인터넷 백본망(WAN)을 눈 깜짝할 새인 몇십 밀리초 안에 순식간에 관통하여, 로봇의 엣지에 똬리를 튼 zenoh-bridge-dds의 역방향 수신 파이프라인(Sniffing Subscriber)에 직격한다. 이후 브릿지가 내부의 오프라인 120Hz DDS ROS2 모터 컨트롤 스레드망 위로 이 데이터를 분출하며 모터 암(Motor Arm)을 우아하고 묵직하게 움직이게 만든다.
3. 이원화 도메인(Separated Domains) 결합의 시너지
비디오(WebRTC) 경로와 컨트롤 명령(Zenoh) 경로가 물리적 포트와 미들웨어 수준에서 철저하게 절단(Severed)된 이 분리 아키텍처야말로 대륙 간 초장거리 킬러 서비스 시스템 공학의 꽃이라 칭할 수 있다.
- 비전 도메인의 붕괴 면책(Immunity): 네트워크 폭증 현상으로 카메라 화상에 깍두기 모자이크(Jitter)가 끼거나 프레임 버퍼가 깨지더라도, 이는 모터 동작의 제어 커넥션과는 어떠한 소프트웨어 스레드 자원도 얽혀있지 않다.
- 제어망의 락-프리(Lock-Free) 생존 보장: 영상 인코딩 스레드가 버퍼 락(Lock)에 직면해 로봇 보드의 CPU 하나가 뻗어버리는 사태가 오더라도, 가벼운 제어 명령 패킷만을 실어 나르는 Zenoh 데몬은 아무런 블로킹 백프레셔(Backpressure)의 영향 없이 초당 수십 번 백업 정지(E-stop) 명령을 온전하게 로봇 하체에 때려 넣어 비상 정지(Fail-safe Halting)를 완수할 수 있다.
이처럼 고용량 시각 정보와 마이크로 제어 통신을 서로 다른 두 종류의 전함(WebRTC & Zenoh)에 분리 탑재하여 협공(Pincer Attack)하는 기술적 타협. 이것이 SRE(사이트 신뢰성 엔지니어)가 한계를 알 수 없는 WAN 환경의 악천후로부터 시스템의 하드 리얼타임 주권을 방어해 내는 가장 냉혹하고 정확한 전술 런북이다.