1. 들어가며
지난 1월에 ML2의 이채혁님과 윤세현님이 ROSCon Korea 2026에 참석하여 발표를 진행해 주셨습니다.


본 포스팅에서는 ROSCon Korea 2026(이하 ROSCon)에서 ML2 팀이 발표한 로봇 내비게이션에 필요한 텍스트만 탐지하는 경량 on-device 모델인 NavOCR을 중심으로, 그 구현과정과 ROS 2 환경에서의 application을 소개합니다.
이어서 “ROS를 상업 레벨에서 사용 가능한가?” 라는 핵심 질문을 둘러싼 다양한 관점을 중심으로 컨퍼런스 전반을 정리하고자 합니다. 인상 깊었던 주요 발표들을 정리하며 로봇 업계가 실제 현장에서 마주하는 과제들을 함께 살펴보려 합니다.
2. NavOCR

ML2 팀은 ROSCon에서 로봇 내비게이션에 필요한 텍스트만 탐지하는 경량 on-device 모델인 NavOCR에 대해서 발표했습니다. 사람이 길을 찾을 때 간판이나 방향 표지판 같은 텍스트 정보를 활용합니다. 텍스트 정보는 사람뿐 아니라 로봇 내비게이션에서도 중요한 단서가 됩니다. 그러나 실제 환경에는 광고나 가격표처럼 내비게이션에 불필요한 텍스트가 너무 많아 오히려 로봇에게 혼란을 줍니다. NavOCR은 이러한 노이즈를 줄이기 위해 간판 등의 장소를 구분하는 데 의미 있는 텍스트만 선택적으로 탐지하도록 설계된 모델입니다. 또한 on-device에서 바로 실행되는 것을 전제로 가볍고 빠른 구조를 지향합니다.

데이터셋은 온라인 지도를 기반으로 이미지를 수집하고, OCR 결과와 업체명 비교 및 CLIP 기반 필터링을 거친 후 OCR bounding box를 활용해 라벨링을 수행하는 방식으로 제작했습니다. 최종적으로 약 15,000장의 데이터셋으로 PP-YOLOE-s 기반 경량 모델을 학습했습니다. 로봇 환경에서 Grounding DINO 같은 VLM 모델은 무겁기 때문에 on-device에서 작동시키기 힘든 반면, NavOCR은 네트워크 의존성이 낮고 on-device 환경에서도 안정적으로 동작한다는 장점이 있습니다.

NavOCR의 응용 사례로 ROS 2 기반 Text Mapping 파이프라인을 통해 텍스트 랜드마크를 지도에 누적하는 방법을 소개했습니다. 앞서 말씀드렸듯 사람은 간판, 방향 표지판 등 텍스트 단서를 이용해 위치를 추정하고 길을 찾지만, SLAM 지도는 주로 geometric한 특징에 기반하기 때문에 사람의 인지 방식과 차이가 발생합니다.Text Mapping은 이러한 간극을 줄여, 사람이 로봇의 지도를 더 직관적으로 이해하는 데 도움이 될 수 있다는 점에서 의미가 있습니다.
3. 상업 레벨에서의 ROS
이번 ROSCon에서 가장 많이 들린 얘기는
“ROS를 상업 제품에서 사용할 수 있는가?”
였습니다. 이 쟁점은 온라인 커뮤니티에서 종종 보이던 이야기인데, 현장에서도 유사한 형태로 계속 논의되고 있었습니다.
- 로보티즈: ROS 기반으로 상용화 가능하다
- 다수 기업(42dot 등): “ROS 기반으로 상용화를 하려면 최적화가 필요하다”: 여러 기업이 ROS를 상업화해서 사용하려면 무엇을 바꿔야 하는가에 초점을 맞추어 발표했습니다.
- 또 다른 흐름(Apex.AI 등): “ROS를 대체/확장 하는 미들웨어를 개발했다”
3.1 ROS2 기반 상용화 사례
3.1.1 로보티즈 - ROS2 기반 실외 자율주행 로봇 “개미” 상용화 과정
ROS 2 기반 실외 자율주행 로봇 '개미(GAEMI)'의 개발과 사용화 과정 - 발표자료
로보티즈는 실외 자율주행 로봇 개미(GAEMI)가 상용화되기까지의 과정을 발표했습니다. 특히 ROS 2 기반 소프트웨어 스택을 어떻게 구성하고 운영했는지를 보여주면서, ROS 2가 단순 프로토타입을 넘어 실제 서비스 로봇에서도 충분히 적용 가능하다는 메시지를 강조했습니다.

개미는 카메라, LiDAR, GNSS, IMU 등 다양한 센서를 ROS 2 노드로 통합하고, 이를 기반으로 localization과 sensor fusion을 수행합니다. 또한 perception 단계에서 detection/segmentation을 통해 주행 가능 영역을 판단하고 사람과 같은 동적 객체를 제거하는 방식으로 실외 환경의 안정성을 확보했습니다. 이어서 3D mapping과 위성 지도를 통해 실외 공간에서 지도와 좌표계를 유지하고, navigation으로 연결되는 전체 파이프라인을 구성했습니다.

개미는 단일 로봇이 아니라 여러 대를 운영하기 위한 Fleet Management System(관제)까지 포함해, 연구용이 아닌 “서비스 운영” 관점의 ROS2 활용 사례를 보여주었습니다.

또한 실외 서비스 로봇이 실제로 운영되기 위해서는 기술뿐 아니라 다양한 법·제도적 장벽도 고려해야 합니다. 로보티즈는 이를 해결하기 위해 2019년부터 본사에 실외 주행 환경을 모사한 테스트장을 구축하고 장기간 실증을 진행했습니다. 이후 아파트, 리조트, 골프장 등 다양한 환경에서 실증을 반복하며 서비스 운영 경험을 축적했습니다.
자율주행 로봇 개미를 통해, ROS2 기반 시스템이 연구용 프로토타입을 넘어 실외 환경에서 실제 운영 가능한 제품 수준까지 확장될 수 있다는 점을 설득력 있게 보여준 발표였습니다.
3.2 ROS를 상업화를 위한 최적화
3.2.1 42dot - From ROS2 to Reality: Engineering Autonomous Vehicles as Scale

42dot에서는 ROS2 기반 프로토타입을 실제 양산차 수준의 자율주행 시스템으로 확장하기 위한 challenge와 해결 방식에 대해서 발표했습니다. 양산차 적용을 위한 자율주행에서는 인증된 안전(Certified Safety), 주행 확장성(Scalability), 비용 효율성(Cost Efficiency) 이 핵심 조건입니다.

특히 자율주행은 “대부분 잘 된다”가 아닌 “항상 잘 되는” 시스템이여야 합니다. 자율주행 시스템은 실제 도로에서 사람과 차량, 시설물의 안전에 직접적인 영향을 주는 safety-critical system이기 때문에, 최악의 상황에서도 요구 조건을 반드시 만족해야 합니다. 예를 들어 사람이 인식되었을 때 100ms 안에 제동을 시작해야 한다면, ROS2 기반 시스템도 이를 Worst Case Execution Time에서까지 보장할 수 있어야 한다는 것입니다. 이를 위해 단순 알고리즘 최적화뿐 아니라 시스템적으로 동적 메모리 할당을 제한하고, blocking API를 피하는 등 safety-critical 설계가 필요합니다.

또한 대용량 센서 데이터 처리에서 실시간으로 작동하는 것이 중요합니다. 이를 위해 일반 pub/sub의 메모리 카피 오버헤드를 줄이는 shared memory 기반 zero-copy 통신이 사용되었습니다. zero-copy 통신은 큰 데이터를 pub/sub로 전달할 때 메시지 payload를 여러 번 복사하지 않고, 프로세스들이 동일한 메모리(shared memory)를 공유해 그대로 읽는 방식입니다. 일반적인 ROS 2 통신에서는 serialize/deserialize 과정과 함께 메모리 복사가 반복되어 이미지/포인트클라우드처럼 대용량 센서 데이터에서 지연과 CPU 부하가 커질 수 있습니다. 반면 zero-copy 방식은 payload를 한 번만 shared memory에 기록하고, Subscriber가 이를 직접 참조하므로 latency를 줄이고 실시간성을 확보하는 데 유리합니다. 특히 자율주행처럼 여러 개의 센서를 높은 주기로 처리해야 하는 시스템에서는 지연을 낮추는 효과적인 방법입니다.

End-to-End AI 주행 모델을 전제로, raw 데이터를 많이 모으는 것보다 상황(scenario) 중심으로 데이터를 분류하고 학습을 반복하는 전략이 중요합니다. 마지막으로 planning/environment simulation을 통해 실차로 커버하기 어려운 검증 범위를 확보하는 과정은 제품화에서 필수적입니다. 실제 환경을 3DGS와 같은 reconstruction을 활용해 구현하고, 시뮬레이션을 운행했습니다. 결국 ROS2는 빠른 프로토타이핑에는 강점이 있지만, 상용화 단계에서는 위에서 언급된 challenge들을 고려하여 시스템 수준의 재설계와 최적화가 필요합니다.
3.2.2 LG - Ros2 기반 이동형 홈로봇의 소프트웨어 플랫폼 구조 설계 성능 개선 및 sdk 개발

LG의 발표는 ROS 2 기반 이동형 홈로봇의 소프트웨어 플랫폼을 제품 레벨로 설계하고, 저사양 하드웨어에서 안정적으로 동작시키기 위한 성능 개선 및 SDK 개발 과정을 공유한 세션이었습니다. 핵심은 ROS2 기반 구조를 그대로 쓰는 것이 아니라 제품화를 위해 시스템을 재설계한 사례라는 점이었습니다. 로봇 소프트웨어가 여러 오픈소스의 집합체로 구성되는 만큼, 하드웨어에 종속되지 않는 제품 설계를 위해 Yocto 기반 통합 빌드 시스템을 적용했습니다. 리눅스 배포판을 제품 관점에서 구성하고 cross-compilation 기반으로 이미지를 생성·배포함으로써 하드웨어 종속성을 줄이고 유지보수성을 높이려는 접근 방식입니다. (다만 욕토는 개발 난이도가 높아 “욕나오고 토나온다”라는 별명이 있을 정도로 진입장벽이 높다고 합니다 😂)

저사양 환경에서 ROS 2를 안정적으로 구동하기 위해, 기존의 Python launch 방식 대신 바이너리 실행 기반 구동 방식으로 변경하여 실행 시간과 메모리 오버헤드를 줄였습니다. 대용량 데이터 처리에서는 DDS 기반 통신의 병목을 줄이기 위해 mmap 기반 shared memory(= zero-copy) 통신 구조를 적용했습니다. 이는 앞선 42dot에서도 언급된 내용으로, zero copy 통신 구조를 통해 실행 시간과 메모리 사용량을 개선할 수 있었습니다.

마지막으로 LG의 플랫폼은 내부 개발자뿐 아니라 외부 개발자도 로봇 기능을 확장할 수 있도록 SDK와 Open API, 샘플 앱, 개발자 사이트까지 함께 제공했습니다. 전반적으로 제품화에 필요한 빌드/성능/확장성 조건을 어떻게 맞춰갈 수 있는지를 고민한 흔적이 느껴져서 좋았습니다.
3.3 ROS2 확장 미들웨어
3.3.1 DGIST CSI lab 이상훈님

DGIST CSI lab의 이상훈님은 미들웨어에 대한 발표를 해주셨습니다. 요즘 흔히 로보틱스하면 AI나 휴머노이드를 이야기 하곤 하는데, 사실 모든 로봇 시스템은 각 구성 모듈 간의 긴밀한 상호작용 없이는 동작하지 않습니다. ROS 역시 이러한 상호작용을 돕는 “미들웨어”의 한 종류인데, 그 중요도에 비해 ROS 자체에 대해 깊게 파고드는 경우는 많지 않습니다. 이상훈님은 이 미들웨어의 중요성에 대해 언급하시면서, 트래픽이 많거나 오동작할 때의 예상 원인들과 해결 방안들에 대해 자세히 설명해주셨습니다. 이번 ROSCon에서의 모든 발표 중 가장 사진을 찍으려던 손의 수가 많았던, 인기가 높았던 발표였습니다.
3.3.2 Apex AI (부스)

Apex AI는 ROS 2 기반 시스템을 대체하거나 확장해 상용 제품에 적용할 수 있는 미들웨어/소프트웨어 플랫폼을 제공하는 기업입니다. 기본적으로 ROS 2는 연구/프로토타입 단계에서 강력한 생태계를 갖추고 있지만, 실제 제품의 신뢰성·실시간성·운영·장기 유지보수 같은 요건까지 포괄하는 수준은 아닐 때가 많습니다. 그런 한계를 보완하기 위해 Apex AI는 ROS 2 API 호환성을 유지하면서도 production-grade 시스템으로 옮겨갈 수 있게 해주는 Apex.OS나 Apex.Middleware 같은 제품을 개발하고 있습니다.
부스에서는 Apex AI의 상용 미들웨어가 폭스바겐의 MOIA와 같은 프로젝트에 적용되고 있다는 사례가 소개되었습니다. 또한 Brunswick, Krone 등 일부 기업이 기능 안전 및 실시간성 요구사항을 충족하기 위해 Apex AI와 협력하고 있다는 내용도 언급되었습니다. 상용화 단계에서는 오픈소스 기반 ROS 2 생태계를 유지하면서도, 추가적인 검증·지원·최적화를 포함한 상용 솔루션에 대한 수요가 존재하고 있음을 보여주는 사례였습니다.
4. 휴머노이드 (XYZ, AROBOT, CJ대한통운)
4.1 XYZ - Joint-level RL 기반 휴머노이드 전신 제어

XYZ 발표에서 휴머노이드 전신 제어로 수행하려는 task는 standing과 grasping이었습니다. 휴머노이드 전신 제어에서 특히 어려운 점은 manipulation, hand control, whole-body control을 RL로 통째로 학습시키는 오픈소스 사례가 거의 없고, end-to-end로 학습을 시도하면 학습 시간이 지나치게 길어 수렴이 어렵다는 것입니다.

이를 해결하기 위해 크게 두 가지 접근 방법이 있습니다. Hierarchical learning과 Decentralized learning입니다. Hierarchical learning은 먼저 하위 정책을 학습한 뒤, 그 위에서 상위 정책을 다시 학습하는 구조인데, 현실적으로는 환경 설계와 reward shaping이 매우 어렵습니다. 예를 들어 standing을 먼저 학습하면 균형은 잡지만 물체를 잡지 못하고, grasping을 먼저 학습하면 잡는 건 배우지만 standing을 추가하는 순간 쉽게 넘어지는 현상이 반복됩니다.

결국 Hierarchical learning을 활용하지 않고, Decentralized learning 방식을 채택했습니다. 이는 standing policy와 grasping policy를 분리해 각각 학습시키는 방식으로, standing만 학습할 경우 물체를 잡는 “시늉” 정도만 가능하고 실제 grasp 성능은 약했으며, grasping만 학습할 경우 초기에는 기대는 형태로 시작해 점차 지지대를 잡는 방식으로 발전하는 특징이 관찰되었습니다. 결국 두 정책을 분리해 학습시키는 방식으로 PoC 수준의 성과를 확보할 수 있었고, reward 설계가 사실상 승부처라는 결론을 얻었습니다.
4.2 CJ대한통운 - 물류 자동화를 가능하게 한 AI/로봇 + 휴머노이드 그리고 ROS

CJ대한통운 세션에서는 물류 자동화가 왜 어려운 문제인지, 그리고 이를 가능하게 만든 기술적 전환점이 무엇이었는지를 설명했습니다. 물류 현장은 단순 반복 작업처럼 보이지만, 실제로는 상품 종류가 지나치게 많고 환경이 복잡해 기존의 규칙 기반 로봇 자동화로는 적용 범위가 매우 제한적입니다. 특히 물류는 최대한 하드웨어 투입을 줄이면서도 로봇이 다양한 작업을 수행해야 하는데, 이러한 요구는 결국 범용성과 적응성을 갖춘 AI 기반 로봇 기술 없이는 충족하기 어려웠습니다.

물건을 출고할 때 여러 종류(7종)의 박스가 랜덤하게 등장합니다. 로봇은 랜덤한 박스로 인해 단순한 고정 파이프라인으로는 대응이 어렵습니다. 이를 해결하기 위해 시뮬레이션 환경에서 강화학습(RL)을 통해 로봇을 사전 학습시키고, 버퍼를 활용해 박스를 일종의 “테트리스”처럼 임시로 적재/관리하며 최적의 타이밍에 꺼내는 전략을 활용했습니다.

또한 최근에는 더 난도가 높은 완전히 랜덤한 물류를 옮기는 방향으로 확장하고 있습니다. 결국 물류 자동화는 단순한 로봇 팔의 정밀 제어 문제가 아니라, 데이터 생성/시뮬레이션/학습까지 포함하는 end-to-end 시스템입니다.

마지막으로 여러 모델을 비교한 결과, NVIDIA의 Groot N1.5 기반 접근이 특히 유의미한 성능을 보였다고 언급했습니다. 상용 하드웨어 위에 오픈소스 소프트웨어를 통합해 실제 산업 현장에 적용하는 모습이 인상깊었습니다.
4.3 A-Robot - M.AX 얼라이언스 관점에서 본 휴머노이드 상용화

에이로봇 세션은 휴머노이드 상용화를 스타트업의 시선에서 가장 현실적으로 풀어낸 발표였습니다. “왜 휴머노이드를 하느냐”는 질문에 대해, 에이로봇은 휴머노이드의 가치를 인간이 사용하는 도구를 그대로 활용해 기존 환경에서 바로 일할 수 있는 범용성으로 정의했습니다. 즉, 별도의 시설 개조 없이 현장에 투입 가능한 로봇을 만들겠다는 방향성이었습니다.
이 발표에서 특히 인상 깊었던 점은 기술을 과시하기보다, 상용화가 결국 무엇으로 결정되는지를 정면으로 이야기했다는 것입니다. SI 형태로 고객 요구를 맞추며 버텨온 경험을 바탕으로, 고객이 중요하게 보는 것은 화려한 기술이 아니라 고장 빈도, 유지보수 속도, 그리고 가격이라는 결론을 강조했습니다. 그래서 에이로봇은 처음부터 휴머노이드의 가격 상한선을 설정하고, Jetson Orin 같은 상용 모듈을 기반으로 제품을 설계하는 전략을 취하고 있었습니다. 또한 원가에서 가장 큰 비중을 차지하는 액추에이터를 중심으로 QDD 기반 구동부 내재화를 수행하고 있었습니다.
저는 휴머노이드를 직접 개발해본 적이 없어서, “그 안에서 어떻게 생존하는가” 같은 이야기를 들을 기회가 많지 않았는데, 이번 세션은 그런 현실을 가장 생생하게 보여준 발표였습니다. 특히 대표님의 태도에서 “정답을 따르기보다 문제를 해결하면 된다”는 가치관이 느껴졌습니다. 예를 들어 손가락 개수를 줄이는 선택이 자유도를 희생하는 것처럼 보일 수 있지만, 실제로는 목표 작업(e.g 물병 뚜껑 따기)을 수행할 수만 있다면 설계를 과감하게 바꿀 수 있다는 관점이었습니다. 또한 사람은 손목 구조상 트위스팅이 제한되지만, 로봇은 굳이 같은 제약을 가질 필요가 없으므로 손목 관절을 추가하는 방식으로 문제를 풀 수 있다는 설명도 흥미로웠습니다.
결국 이 발표가 전달한 메시지는 휴머노이드 상용화가 “더 똑똑한 로봇”이 아니라, “더 싸고, 더 고치기 쉬운 로봇”을 만드는 문제에 가깝다는 점이었습니다.
5. 마치며
이번 ROSCon을 다녀오고 나서 정리된 결론은 다음과 같았습니다.
ROS는 상업적으로 사용 가능하지만 “ROS 그대로”는 어렵다.
결국 제품화를 위해서는:
- realtime deadline
- memory allocation 금지
- shared memory, zero-copy
- build system(yocto 등)
- 보안(sROS)
같은 시스템적 조건을 만족시키는 구조가 필요하다고 언급되었습니다.
이번 ROSCon은 단일 세션으로 규모가 크지는 않았지만, 내용 면에서는 매우 밀도 높은 컨퍼런스였습니다. 전반적으로 발표의 완성도가 높았고, 단순한 기술 소개를 넘어 현장에서 직접 부딪히며 축적한 시행착오와 실전 경험을 들을 수 있다는 점이 특히 인상적이었습니다. 자료나 문서만으로는 접하기 어려운 실제 개발 사례가 공유되어, 현장에서 직접 참석한 보람을 느낄 수 있었습니다.
이 글을 읽으시는 분들께도 좋은 인사이트가 되었기를 바라며 글을 마무리합니다.
