28.6.2 이종 멀티 모달 자원 주파수 간섭 통제를 위한 비비례적 다중 타이머 체인 구성

28.6.2 이종 멀티 모달 자원 주파수 간섭 통제를 위한 비비례적 다중 타이머 체인 구성

단일 자율 에이전트 드론 내부에 탑재되는 센서와 액추에이터는 서로 판이하게 다른 구동 주파수(Operating Frequency)를 요구하는 이종 멀티 모달(Heterogeneous Multi-modal) 자원의 집합체이다. 예를 들어, 모터 변속기(ESC) 제어 루프는 400Hz(2.5ms 주기), 스테레오 비전 카메라는 30Hz(33.3ms 주기), 그리고 위성 항법 장치(GPS)는 7Hz(142.8ms 주기)로 데이터를 생산하거나 소모한다. 이처럼 정수 배(Integer Multiple)로 나누어 떨어지지 않는 비비례적(Non-proportional) 주파수를 가진 리소스들을 단일 노드 컨테이너 내에서 동시 제어하기 위해서는, 다중 타이머 체인(Multi-Timer Chain) 아키텍처가 필수적으로 요구된다.

1. 단일 타이머 루프의 학술적 한계

전통적인 임베디드 프로그래밍 구조에서는 while(True) 형태의 단일 메인 루프 안에 슬립(Sleep) 딜레이를 두고, 카운터 변수를 활용해 내부 작업들을 분기(Branching)하는 방식을 취했다. 그러나 ROS2 기반의 실시간 다중 프로세싱 환경에서 이와 같은 방식은 시스템 결함의 핵심 원인으로 작용한다.

가장 빠른 주파수인 400Hz 단위의 단일 타이머를 기저에 두고 30Hz 카메라 루틴을 \frac{400}{30} 계산을 통해 분기하려 시도할 경우, 비례적이지 않은 실수(Real Number) 비율로 인해 주기 간의 지터(Jitter) 누적이 필연적으로 발생한다. 더욱 심각한 문제는 30Hz 카메라 처리 연산이 2.5ms(400Hz 주기량)를 초과할 경우, 메인 루프 전체가 대역폭 블로킹(Bandwidth Blocking) 상태에 빠져 다음 번 모터 제어 명령의 타이밍을 상실하는 이른바 ‘주파수 간섭(Frequency Interference)’ 현상을 촉발한다는 점이다.

2. 비비례적 독립 타이머 인스턴싱과 타이머 체인(Timer Chain) 구성

ROS2 프레임워크는 이러한 주파수 간섭을 통제하기 위해, 각 단위 논리 블록마다 독립적인 생명주기를 지닌 다중 타이머 인스턴싱(Multi-Timer Instancing)을 적극 권장한다.

예를 들어 단일 센서 퓨전 노드 내부에서, 개발자는 2.5ms를 주기로 발동하는 control_timer_ 객체와 33.3ms를 주기로 발동하는 vision_timer_ 객체를 개별 선언한다. 이 두 타이머는 서로의 시간 만료 시점과 무관하게 독립적으로 클록(Clock) 인프라의 WaitSet 대기열에 진입한다. 이는 수학적으로 비비례적인 주파수들의 최소공배수나 위상 동기화(Phase Synchronization)를 억지로 계산할 필요 없이, 각 서브 모듈이 요구하는 이상적인 시간축을 선형적으로 보장하는 선언적(Declarative) 타이머 체인을 구성하게 한다.

3. 콜백 그룹(Callback Group) 파티셔닝과 멀티 스레드 격리

단일 스레드 실행자 하에서는 비록 여러 개의 타이머 이벤트가 독립적으로 발생하더라도 순차적 처리에 의해 간섭이 일어날 수 있다. 따라서 다중 타이머 체인 구성의 완성형은 콜백 그룹(Callback Group) 단위의 논리적 파티셔닝 기술과 궤를 같이한다.

고빈도의 실시간 처리가 요구되는 control_timer_는 “Reentrant(재진입 가능)” 콜백 그룹 A에 할당하고 전용 실시간 스레드(Real-time Thread) 모델에 바인딩(Binding)한다. 반면 고비용의 연산이 동반되는 vision_timer_는 “Mutually Exclusive(상호 배타적)” 콜백 그룹 B에 배치하여 백그라운드 워커 스레드(Background Worker Thread)로 오프로딩(Off-loading)한다.
이러한 아키텍처 설계는 비동기 이벤트 큐 시스템 상에서 이종 모달 자원간의 지연 시간 경합(Latency Contention)을 운영체제 레벨에서 완벽히 차단하며, 모듈 단위의 결정론적 제어 루프를 보장하는 첨단 로봇 소프트웨어 공학의 필수 구조론으로 자리 잡았다.