# ROS2 Humble의 목표와 비전

#### 분산 시스템에서의 확장성 극대화

ROS2 Humble은 다양한 규모의 로봇 시스템뿐 아니라 클라우드 기반의 분산 환경에 이르기까지, 폭넓은 시나리오에서 안정적으로 동작하도록 설계되었다. 기존 ROS1에서 경험한 통신 지연, 노드 간 충돌 등 여러 문제점을 보완하기 위해 DDS(Data Distribution Service) 계층의 성능을 최대한 활용하는 데 초점을 맞추고 있다. 이를 통해 네트워크 지연과 패킷 손실이 잦은 환경에서도 유연하게 확장할 수 있도록 하며, 분산 로보틱스 플랫폼을 안전하고 일관성 있게 운영할 수 있는 토대를 마련한다.

분산 환경에서 시스템을 설계할 때, 특정 노드 혹은 프로세스의 과도한 부하나 장애가 전체 시스템에 큰 영향을 미치지 않도록 설계하는 것이 중요하다. ROS2 Humble은 이를 위해 노드 간 통신을 비동기 형태로 처리하고, 장애 발생 시 재구성(resiliency)이 가능한 구조를 제공한다. 특히, 노드끼리 토픽, 서비스, 액션 등을 통해 연결되지만 각 노드는 DDS의 QoS(Quality of Service) 설정을 통해 데이터 송수신 조건을 달리 지정할 수 있다. 예를 들어, 어떤 노드는 latency를 최소화해야 하고 또 다른 노드는 데이터 신뢰도가 높은 전송 방식을 요구할 수 있다. ROS2 Humble은 이와 같은 요구 사항을 동시에 만족하는 유연한 통신 방식을 제공한다.

#### 실시간성 보장 및 하드웨어 가속

ROS2 Humble의 또 다른 목표 중 하나는 시간 제약이 있는 상황에서도 정확한 동작이 가능하도록 실시간성을 제공하는 것이다. 실시간 스케줄러 및 RTOS(Real-Time Operating System)와의 호환성을 높여, 자율 주행차나 산업용 로봇처럼 일정 시간 안에 반드시 작업을 완료해야 하는 환경을 지원한다. 특히 노드 단에서 실시간 우선순위 스케줄링을 적용하거나, 고정 레이턴시를 보장하는 네트워크 설정을 통해 예측 가능한 동작을 수행할 수 있다.

또한 최근 주목받고 있는 하드웨어 가속(예: GPU, FPGA, TPU 등)을 활용하여, 고성능 연산을 필요로 하는 SLAM(Simultaneous Localization and Mapping)이나 객체 인식 같은 분야에서의 처리를 최적화한다. 이를 위해 ROS2 Humble은 네이티브 하드웨어 가속을 위한 인터페이스를 표준화하려는 목표도 가지고 있다. 이러한 방향성은 향후 로보틱스 분야가 더 높은 성능과 효율을 요구하게 될 것을 대비하기 위함이며, AI 및 머신 러닝 기법을 통합하는 데도 도움이 된다.

#### 표준화와 상호운용성

ROS2 Humble은 여러 하드웨어나 소프트웨어 스택 간 연동을 고려할 때, 특정 업체나 특정 기술 스택에 종속되지 않도록 표준 프로토콜과 인터페이스 활용을 지향한다. DDS를 중심으로 한 통신 계층은 OMG(Object Management Group)에서 표준화된 내용을 충실히 따르고 있으며, 다양한 DDS 구현체(eProsima Fast-DDS, RTI Connext, Eclipse Cyclone DDS 등) 간의 호환성을 적극적으로 지원한다. 또한 ROS2에서 사용하는 메시지 포맷, 서비스 인터페이스, 액션 인터페이스 등이 상호 운용성을 염두에 두고 정의되어 있다.

예를 들어, 센서에서 발생한 측정 데이터를 담은 벡터 $\mathbf{z}$가 있을 때, 시스템 내 여러 노드가 이를 동시 접근하거나 상호 공유해야 하는 상황에서도, DDS의 QoS 설정을 통해 일관성(consistency)과 신뢰도(reliability) 모두를 충족시킬 수 있도록 유연한 전송 방식을 제공한다. ROS2 Humble은 이러한 QoS 정책을 적극 활용하여 로봇 솔루션 전반에 걸친 상호운용성을 한층 강화한다.

#### 보안성 강화와 신뢰성 확보

ROS2 Humble은 로봇이 네트워크에 연결되는 순간부터 다양한 보안 취약점에 노출될 수 있다는 점을 고려하여, DDS 보안 스펙에 따른 인증, 암호화, 접근 제어를 적극적으로 지원한다. 이는 로봇 간 통신에서 발생하는 모든 데이터 스트림이 비인가된 접근으로부터 보호되도록 설계하기 위함이다. 예를 들어, 중요 데이터를 송수신하는 노드는 DDS Security 모듈을 이용해 인증서 기반의 암호화 채널을 마련할 수 있으며, 특정 토픽에 대한 접근 권한을 설정함으로써 시스템 전반의 무결성을 높인다.

신뢰성과 관련해서는, 상대적으로 높은 신뢰도가 요구되는 모듈(예: 안전 절차를 제어하는 노드)은 DDS의 Reliability QoS를 설정함으로써 데이터 전송 누락을 최소화한다. 반면 대역폭이 제한되고 지연이 허용되는 모듈에서는 Best Effort 전달 방식을 택해 통신 효율을 높일 수 있다. 이러한 방식으로 ROS2 Humble은 다양한 환경에서 요구되는 보안성과 신뢰성을 맞춤 구성할 수 있도록 하고, 전체 시스템이 안정적으로 동작할 수 있는 토대를 강화한다.

#### 사용자 친화적 개발 환경

ROS2 Humble은 기존 ROS2 버전과 마찬가지로 높은 수준의 개발 편의성을 유지하면서도, 빌드 프로세스와 패키지 구조를 직관적으로 정비하려 노력한다. 이를 위해 CMake 기반의 빌드 시스템인 colcon을 발전시키는 한편, ROS2 CLI(Command Line Interface) 도구군을 개선하여 새 프로젝트 시작이나 패키지 템플릿 생성 과정을 간소화하고 있다. 개발자가 새로운 노드를 작성하고, 해당 노드를 다른 노드와 통신하도록 설정하는 과정을 가능한 한 빠르게 진행할 수 있도록 문서화 및 예시 코드를 충실히 제공한다.

또한, IDE(Integrated Development Environment)와의 연동성 역시 중요한 과제로 다룬다. Visual Studio Code나 CLion 같은 도구와 결합하여 ROS2 Humble 프로젝트를 효율적으로 디버깅하고, 코드 완성 기능을 제공받을 수 있도록 별도의 플러그인과 확장 기능을 제공한다. 이러한 사용자 친화적 개발 환경 덕분에 신규 로봇 개발자는 물론, 기존 ROS1 사용자도 손쉽게 ROS2 Humble로 전환할 수 있는 기반이 마련된다.

#### 지속적 통합 및 자동화 테스트

점점 복잡해지는 로보틱스 소프트웨어 생태계에서, 기능의 안정성을 보증하기 위해서는 자동화된 테스트와 지속적 통합(CI)이 필수적이다. ROS2 Humble은 다양한 단위 테스트와 통합 테스트를 공식 빌드 과정에서 수행하며, 커뮤니티 기여를 포함한 코드 변경 사항이 시스템에 미치는 영향을 면밀히 검증한다. 이렇게 미리 준비된 자동화 파이프라인 덕분에, ROS2 코어 라이브러리는 물론 주요 패키지들이 품질 면에서 일정 수준 이상을 계속해서 유지한다.

아울러 시뮬레이션 환경(예: Gazebo, Ignition)과의 연동 테스트도 중요하게 다루며, 로봇 하드웨어를 실제로 구동하기 전 단계에서 방대한 양의 시나리오를 검증할 수 있도록 지원한다. 예를 들어, 자율주행 로봇에서의 SLAM 모듈이 특정 장애물 감지 시 적절히 회피하는지, 실시간성 요구사항을 제대로 충족하는지 등의 과정을 수십\~수백 번 반복 시뮬레이션하면서 결과를 자동으로 수집·분석한다.

#### 오픈 소스 커뮤니티와 에코시스템 강화

ROS2 Humble은 오픈 소스 프로젝트로서, 커뮤니티 주도의 지속적인 개선과 피드백을 핵심 동력으로 삼는다. 이를 위해 기존 ROS2의 이슈 트래커나 포럼, 개발 회의(ROS 2 TSC 등)를 적극 활용할 뿐 아니라, 대규모 로보틱스 기업과 연구기관의 참여를 장려하는 방향으로 에코시스템을 확장하고자 한다. 예를 들어, ROS2의 핵심 구성요소인 rclcpp, rclpy, rmw 등은 다양한 구현체를 지원하고 있는데, 각 구현체가 ROS2 Humble과 호환되는지 여부를 빠르게 검증하고, 새로운 기능 요구사항을 빠르게 수렴하기 위해 체계적인 커뮤니티 가이드를 제공한다.

이 같은 오픈 소스 커뮤니티의 협력은 단순히 코드 수준에서의 기여를 넘어서, 튜토리얼, 예제 코드, 컨퍼런스 발표, 온라인 세미나 등 다양한 형태로 나타난다. 이러한 자발적 참여가 쌓여가면서 생태계 전체가 탄탄해지고, 개발자가 예측하지 못한 곳에서 새로운 아이디어나 개선 사항이 제시되기도 한다. ROS2 Humble은 이처럼 개방적인 접근을 통해 전 세계 로보틱스 개발자들의 역량을 한데 모으는 것을 목표로 삼는다.

#### 모듈화와 플러그인 아키텍처

ROS2 Humble은 시스템을 구성하는 여러 요소를 최소한의 결합도로 유지할 수 있도록 모듈화(Modularity)를 지향한다. 예를 들어, 탐색(Navigation)이나 SLAM, 매니퓰레이션(Manipulation), 비전(Vision) 같은 핵심 기능들은 각각 별도의 패키지로서 독립적인 구조를 갖추게 되며, 상호 간 통신은 ROS2의 표준화된 인터페이스를 통해 이뤄진다. 이를 통해 개발자는 특정 기능만 교체하거나 업그레이드해도 전체 시스템에 대한 영향이 최소화되는 이점을 얻는다.

플러그인(Plugin) 아키텍처 또한 중요한 역할을 한다. 예를 들어, ROS2 Humble의 Navigation2 스택은 비용 지도(Costmap)나 경로 계획(Planner), 전역/지역 계획(Local/Global Planner) 등을 플러그인 형태로 교체할 수 있도록 설계되어 있다. 원하는 알고리즘을 플러그인 형태로 끼워 넣음으로써, 같은 프레임워크에서 다양한 해법을 유연하게 테스트해볼 수 있다. 이러한 구조 덕분에 ROS2 Humble 기반의 로봇 소프트웨어는 빠르게 진화하는 로보틱스 기술을 쉽게 수용할 수 있다.

#### 멀티 플랫폼 및 컨테이너화 지원

ROS2 Humble은 리눅스(우분투, 데비안 등), 윈도우, macOS 등 여러 운영체제에서 동작 가능하도록 설계되었다. 일부 환경에서는 완전한 실시간성을 제공하지 않더라도, 개발 및 시뮬레이션 목적으로는 충분히 활용할 수 있다. 이를 통해 개발자나 연구자가 자신의 주력 플랫폼에서 바로 ROS2 Humble을 설치·테스트할 수 있도록 접근성을 높인다.

컨테이너화(Containerization) 역시 점차 중요해지고 있는 분야다. Docker나 Podman과 같은 컨테이너 플랫폼을 통해 ROS2 Humble 환경을 격리된 상태로 손쉽게 배포하고, CI/CD 파이프라인에서 재현성 있는 테스트를 수행할 수 있다. 특히 실제 로봇 하드웨어에 의존적이지 않은 순수 소프트웨어 기능(예: 시뮬레이션, 일부 AI 알고리즘 등)을 컨테이너 내부에서 구동함으로써, 개발 환경 차이에서 발생하는 문제를 최소화한다. 이런 멀티 플랫폼·멀티 아키텍처 지원 전략은 ROS2 Humble의 채택을 가속화하고, 광범위한 응용 분야에서 표준 솔루션으로 자리매김하도록 돕는다.

{% @mermaid/diagram content="graph LR
A("ROS2 Humble Core") --> B("Plugin 기반 모듈")
A --> C("멀티 플랫폼 지원")
A --> D("Containerization")" %}

#### 디버깅 도구 및 운영 모니터링

ROS2 Humble은 대규모 시스템에서 발생하는 다양한 버그와 통신 문제를 신속하게 파악하고 해결할 수 있도록, 계층별 디버깅 도구 및 모니터링 기능을 강화하는 방향을 지향한다. 예를 들어, DDS 레벨에서 패킷 트래픽을 분석하고 QoS 매개변수의 설정 효과를 확인할 수 있는 툴체인을 활용하거나, ROS2 노드 차원에서의 로깅 및 이벤트 추적을 자동화하여 문제점을 빠르게 식별하도록 지원한다.

운영 중인 로봇 시스템에 대한 상태 모니터링 또한 중요한 요소다. 예컨대, TF(Transform) 트리나 토픽의 데이터 플로우를 시각화하고, 센서나 액추에이터 노드의 상태가 비정상적으로 변할 때 자동으로 알림을 보내는 기능을 갖춘 대시보드를 구현하는 방향성이 제안되고 있다. 이를 통해 시스템 관리자나 운영자가 로봇 상태를 한눈에 파악하고, 잠재적 이상 징후를 사전에 발견하여 적절히 대응할 수 있도록 한다.

#### 클라우드 네이티브 아키텍처

최근 로보틱스 분야에서는 로컬 장치의 한계를 넘어서 클라우드 리소스를 활용하는 사례가 점차 늘어나고 있다. 예를 들어, 대규모 지도 데이터베이스를 클라우드에 저장하거나, 무거운 AI 연산(딥 러닝 모델 추론 등)을 클라우드 측에서 수행한 뒤 결과값만 로컬 로봇에 전달하는 형태가 대표적이다. ROS2 Humble은 이 같은 클라우드 기반 아키텍처를 염두에 두고 설계되었으며, DDS 계층을 통해 지리적으로 떨어져 있는 노드 간에도 안정적인 통신을 구현할 수 있다.

또한, 로컬 노드와 클라우드 간의 데이터 동기화나 인증, 암호화 설정을 유연하게 구성할 수 있도록 지원한다. 예를 들어, 클라우드 서비스(AWS RoboMaker, Azure Robotics 등)와 연동할 때, 각 서비스 환경에서 요구하는 인증 키나 토큰을 DDS Security 모듈과 결합해 안전하게 주고받는 방식이 가능하다. 이를 통해 로봇 시스템이 클라우드 리소스와 자연스럽게 결합함으로써, 확장성과 관리 편의성을 동시에 달성한다.

#### 학습 자료의 풍부화

ROS2 Humble은 초보자부터 전문가까지 폭넓은 사용자층이 참여할 수 있도록 학습 자료를 풍부하게 마련하려는 목표를 갖고 있다. 기존의 ROS Wiki나 tutorial 리포지토리는 ROS1 중심으로 구성된 경우가 많았는데, ROS2로 넘어오면서 통신 기초 개념부터 QoS 활용, 복수 노드 간 데이터 흐름까지 더 체계적으로 학습할 수 있도록 문서화 체계를 재정립한다. 다양한 샘플 코드와 실제 로봇 예제(예: TurtleBot 시리즈, 산업용 로봇 팔 등)를 기반으로, 단계별로 난이도를 높여가며 학습할 수 있는 커리큘럼도 제안되고 있다. 개인 학습 외에도, 대학교나 연구실, 기업 내 교육 프로그램에서 활용할 수 있는 강의 자료, 슬라이드, 실습 가이드가 제작되고 있으며, 이러한 자료는 오픈 소스로 공개되어 누구나 쉽게 접근하고 기여할 수 있다. 이로써 ROS2 Humble에 대한 접근 장벽을 낮추고, 커뮤니티 전체의 역량을 높이는 선순환 구조를 마련하려고 한다.

#### 산업계 협업 및 표준 추진

ROS2 Humble은 로봇 연구·개발뿐만 아니라, 상용화된 제품 영역에서도 활발히 활용되는 것을 지향한다. 특히 산업용 로봇 제어나 물류 자동화, 농업 로보틱스 등 다양한 분야의 기업과 협업하여, 현장 요구에 부합하는 기능들을 우선적으로 개선하거나 추가하는 전략을 택하고 있다. 이를테면 실시간 제어 프로토콜과의 연동성 강화, 안전 기능을 위한 인증 절차, 예측 유지보수를 위한 진단(Diagnostics) 모듈 고도화 같은 이슈들이 대표적이다.

표준화 측면에서도 다양한 국제 표준 기구, 산업 컨소시엄과 협업하여 ROS2 Humble에서 사용되는 통신 및 인터페이스 사양을 공개하고, 다른 로보틱스 프레임워크나 산업 표준과 호환성을 추진한다. 예를 들어, OPC UA와 같은 산업용 프로토콜과의 연계를 모색하거나, ROS2 기반 로봇이 산업 안전 표준(예: ISO 10218, IEC 61508 등) 요구사항을 충족시키도록 가이드라인을 제시하는 등, 실제 현장에서 바로 적용 가능한 형태의 표준 추진이 이루어진다.

#### 장기 로드맵

ROS2 Humble 이후에도, ROS2 시리즈는 꾸준히 기능 확장과 성능 개선을 이어갈 것으로 전망된다. 특히 고성능 로보틱스 애플리케이션(High-Performance Robotics Application)에 대한 요구가 커짐에 따라, 네트워크 지연을 더욱 줄이고, 고속 센서 데이터 처리(예: LiDAR, 3D 카메라)를 실시간으로 소화할 수 있는 통신·처리 아키텍처가 지속적으로 개발될 것이다. 또한, 엣지 컴퓨팅 환경에서의 로컬 AI 추론 기능, 안전 인증 레벨(SIL, Safety Integrity Level)별 요구사항을 만족하는 소프트웨어 구성 등, 다양한 전문 분야와 융합된 형태의 로봇 솔루션이 증가할 것으로 예측된다.

ROS2 Humble은 이러한 장기적 발전 방향을 토대로 설계되어, 앞으로 등장할 ROS2의 마이너 혹은 메이저 버전에서도 최대한 호환성과 이식성을 유지하려 노력한다. DDS를 비롯한 핵심 통신 스택에서의 성능 및 보안 업데이트, RTOS 통합 전략 고도화, 다양한 언어 바인딩(rclgo, rclrust 등) 확장 등이 로드맵에 포함되어 있으며, 지속적인 커뮤니티 협의를 통해 구체적인 목표와 일정을 결정하게 된다.
