LabHub

블로그

ROS 2 & 로보틱스 스택 2026 완벽 가이드 — Jazzy · Kilted Kaiju · Gazebo · MoveIt 2 · NVIDIA Isaac · Drake · Foxglove · Nav2 심층 분석

한국어English日本語

프롤로그 — 로봇이 "쓸 만해진" 첫 해

2026년 상반기는 로봇 업계에서 묘한 분위기다. 작년만 해도 휴머노이드 로봇은 "투자 쇼"라는 야유가 흔했는데, Figure 03이 BMW 라인에서 24/7 운영을 시작하고, 1X Neo가 가정용 베타 배송을 시작하고, Unitree G1이 1,600만 원대로 보급되면서 "이제 진짜 쓸 만하다"는 평가가 늘었다. NVIDIA GR00T·Physical Intelligence pi-0.5·Google DeepMind RT-X 같은 VLA(Vision-Language-Action) 파운데이션 모델이 등장하면서, 로봇은 더 이상 "한 작업을 위해 처음부터 코딩하는 기계"가 아니라 "범용 모델을 파인튜닝하는 기계"가 되어가고 있다.

그러나 그 모델 아래의 인프라는 여전히 ROS 2다. 이 글은 2026년 5월 기준 ROS 2 생태계 전체 지도를 그린다 — 배포판(Humble · Jazzy · Kilted Kaiju · Lyrical Luth), 미들웨어(Fast DDS · Cyclone DDS · Zenoh), 모션 플래닝(MoveIt 2), 내비게이션(Nav2), 시뮬레이션(Gazebo Harmonic · Isaac Sim 4 · Drake), 시각화(Foxglove Studio · RViz2 · PlotJuggler), 그리고 그 위에서 돌아가는 휴머노이드 파운데이션 모델까지.


1장 · ROS 2 배포판 — 2026년 현재의 좌표

먼저 큰 그림. 2026년 5월 현재 ROS 2 배포판 상태는 이렇다.

배포판출시EOL종류비고
ROS 2 Foxy2020-062023-06LTS종료
ROS 2 Galactic2021-052022-12non-LTS종료
ROS 2 Humble Hawksbill2022-052027-05LTS산업 현장의 사실상 표준
ROS 2 Iron Irwini2023-052024-11non-LTS종료
ROS 2 Jazzy Jalisco2024-052029-05LTS신규 프로젝트의 기본
ROS 2 Kilted Kaiju2025-052026-11non-LTS실험적 기능 검증용
ROS 2 Lyrical Luth2026-052031-05 (예정)LTS출시 직후, 마이그레이션 시작

핵심 메시지: 2026년에 새 프로젝트라면 Jazzy 또는 갓 나온 Lyrical, 운영 중인 산업 시스템은 Humble이 압도적이다. ROS 1 Noetic은 2025년 5월 EOL이라 더 이상 신규 도입은 불가능하고, ros1_bridge로 점진 마이그레이션하는 단계에 있는 팀이 여전히 많다.


2장 · ROS 1에서 ROS 2로 — 이주의 현실

2025년 5월 ROS 1 Noetic EOL은 업계에 가장 큰 사건 중 하나였다. 산업 자동화·연구실·해양/수중 로봇 분야에서 여전히 수백만 줄의 ROS 1 코드가 돌아가고 있었기 때문이다.

이주 전략은 크게 세 갈래다.

흔한 함정 몇 가지.


3장 · DDS 미들웨어 — Fast DDS · Cyclone DDS · Zenoh

ROS 2의 핵심 설계 결정 중 하나는 DDS(Data Distribution Service)를 통신 백본으로 채택한 것이다. RMW(ROS Middleware) 추상층을 통해 백엔드를 갈아끼울 수 있다.

2026년 주요 RMW 구현체.

Zenoh가 왜 중요한가? 클라우드-엣지 분산·5G/위성·다중 로봇 함대처럼 DDS의 멀티캐스트 가정이 깨지는 환경에서 강점이 있다. 멀티 로봇 협업·원격 텔레오퍼레이션에서 채택이 늘고 있다.

RMW를 바꿀 땐 환경변수 RMW_IMPLEMENTATION=rmw_cyclonedds_cpp 같이 명시. QoS 호환성과 디스커버리 동작이 미묘하게 다르니 그대로 갈아끼우면 안 된다.


4장 · 노드 · 토픽 · 서비스 · 액션 · 파라미터 — 핵심 5요소

ROS 2의 추상화는 5가지로 정리된다.

개념통신 모델용도
토픽(Topic)publish/subscribe센서 데이터·상태 스트리밍
서비스(Service)request/response짧은 동기 호출 (설정 변경 등)
액션(Action)goal/feedback/result장기 실행 작업 (모션·이동)
파라미터(Parameter)동기적 setter/getter노드 설정·튜닝
라이프사이클 이벤트상태 전이 알림노드 상태 관리

흔한 실수 — "모든 걸 토픽으로". 액션은 진행률·취소·결과를 받기 위한 모델이고, 서비스는 짧은 호출용이다. 토픽으로 액션을 흉내내면 취소/타임아웃 로직이 산만해진다.


5장 · Composition — 단일 프로세스 노드 합치기

ROS 2의 가장 큰 성능 개선 중 하나가 Composition(Component Nodes)이다. 같은 프로세스 안에 여러 노드를 올리면 intra-process 통신은 메시지를 직렬화·복사하지 않고 포인터로 전달한다.

언제 쓰는가:

함정: composition을 쓰면 디버깅이 조금 까다로워진다 — 한 프로세스 안의 여러 노드가 같은 로그 스트림에 섞이므로 노드별 로깅 규칙이 필요.


6장 · 라이프사이클 노드 — 관리되는 상태

rclcpp_lifecycle::LifecycleNode는 노드를 명시적 상태머신으로 관리한다. 상태: Unconfigured · Inactive · Active · Finalized.

왜 중요한가? 자율주행·산업 자동화에서 "센서가 켜졌는지", "캘리브레이션이 끝났는지", "모터가 활성화됐는지"를 표준화된 방법으로 알 수 있어야 한다. 라이프사이클은 이걸 토픽 외부에서 표현하는 방식.

전형적 흐름: configure → activate → (실행) → deactivate → cleanup. Nav2의 거의 모든 핵심 노드가 라이프사이클이다.


7장 · QoS — Quality of Service 정책

QoS는 ROS 2 입문자가 가장 자주 헤매는 부분. 4가지 핵심 정책.

흔한 실수: pub/sub의 QoS가 호환되지 않으면 연결 자체가 안 된다(빌드는 됨, 런타임에 침묵). RViz·Foxglove에서 토픽이 안 보이면 90%가 QoS 불일치.

권장 프로파일: rclcpp::SensorDataQoS()(센서 raw), rclcpp::ServicesQoS()(서비스), rclcpp::ReliableQoS()(명령).


8장 · rclcpp · rclpy — 클라이언트 라이브러리

ROS 2의 두 주력 언어.

전형적 분담: 저수준 드라이버·필터·SLAM은 C++, 행동 트리·UI·외부 시스템 연동은 Python.


9장 · MoveIt 2 — 모션 플래닝 표준

ROS 1 시절부터 표준 모션 플래너였던 MoveIt은 ROS 2에서도 그대로 표준 자리를 지킨다.

2026년 기준 주요 사실:

흔한 함정: 충돌 모델이 실제 로봇과 다르면 시뮬에선 OK인데 실제에서 콜리전. URDF·SRDF 정리에 시간을 충분히 써야 한다.


10장 · Nav2 — 자율 주행/이동 표준

navigation2(Nav2)는 ROS 2의 내비게이션 스택. ROS 1 navigation의 후계자이며, 행동 트리(Behavior Tree) 기반이 가장 큰 차이.

핵심 플러그인 카테고리:

2026 기준 사실상 표준 조합: SLAM Toolbox + AMCL + Nav2 + RPP/MPPI + 행동 트리.

함정: BT를 처음 보면 "왜 이렇게 복잡한가" 싶다. 그러나 "복구 동작이 N개", "조건부 동작이 M개"가 되면 BT가 코드보다 훨씬 깔끔하다. 처음 N개월은 BT 디자이너에서 시각적으로 만들고 익숙해진 후 yaml 직접 편집.


11장 · Gazebo — Classic 종말, Harmonic의 시대

2025년 1월, Gazebo Classic 11이 EOL을 맞이했다. 15년 가까이 ROS의 표준 시뮬레이터였던 Gazebo Classic이 공식적으로 종료된 사건이다.

후속 라인업(과거 "Ignition Gazebo"로 불리던, 2022년부터 그냥 "Gazebo"로 이름 통일):

Classic과의 차이점:

마이그레이션 함정: Classic 모델/플러그인은 90%가 비호환. URDF는 호환되지만 Classic 전용 플러그인(gazebo_ros_*)은 새 플러그인(gz_ros2_control 등)으로 다시 짜야 한다.


12장 · NVIDIA Isaac Sim 4.x + Isaac Lab 2.x — GPU 가속 시뮬레이션

2026년 시뮬레이션에서 가장 큰 흐름은 Omniverse Isaac Sim과 그 위의 Isaac Lab이다.

Isaac Sim 4.x의 강점:

Isaac Lab 2.x(이전 Isaac Gym + ORBIT 통합):

추가 2026 발표: NVIDIA Cosmos — 비디오 기반 파운데이션 모델. 로봇 학습용 합성 데이터를 텍스트 프롬프트로 생성. "물에 젖은 콘크리트 바닥에서 박스 들어올리기" 같은 시나리오를 수만 개 합성.

Isaac Sim을 쓰는 팀의 흔한 패턴: 사전 학습은 Isaac Lab에서 대규모로, 미세조정은 실제 환경의 작은 데이터에서, 실 배포는 ROS 2 Nav2/MoveIt 위에.


13장 · NVIDIA Isaac ROS — CUDA 가속 패키지

Isaac ROS는 ROS 2 패키지 모음으로, 핵심 인지/계산을 CUDA로 가속한다.

대상 하드웨어: Jetson Orin Nano/NX/AGX, IGX Orin, x86 + RTX. Jetson Orin AGX는 사실상 모바일 로봇의 표준 두뇌 중 하나.


14장 · Drake — TRI의 정밀 동역학 엔진

Drake(Toyota Research Institute가 주도하는 MIT 라이선스 프로젝트)는 정밀한 다체동역학과 최적화 기반 모션 플래닝에 특화된 라이브러리다.

특징:

위치: 학계·연구 중심 + 일부 산업(특히 Toyota TRI 내부)에서 사용. Gazebo/Isaac이 "그래픽적 시뮬레이터"라면 Drake는 "수학적 분석 엔진". ROS 2와의 직접 통합은 약하지만 drake_ros 같은 인터페이스 패키지가 있다.


15장 · Foxglove Studio — RViz를 넘어선 시각화

Foxglove(전 Cruise 팀이 창업한 회사)는 ROS 시각화 도구의 새 표준을 만들고 있다.

기능 비교:

도구강점한계
RViz2ROS 네이티브, 3D 시각화 강력UI 구식, 협업 어려움
Foxglove Studio데스크탑·웹·임베드, 패널 풍부일부 RViz 플러그인 부재
PlotJuggler시계열 플롯 최강3D는 약함
rqt다양한 진단 플러그인노쇠한 UI

Foxglove의 차별점:

2026년 패턴: 산업·연구 현장에서 RViz를 완전히 대체하지는 못해도, 데이터 분석·디버깅·원격 모니터링은 Foxglove가 사실상 표준이 되어가고 있다.


16장 · rosbag2 + MCAP — 로그의 새 표준

rosbag2는 ROS 2의 로깅 도구. 기본 스토리지는 SQLite3이지만, 2024년 이후 MCAP(Foxglove가 만든 포맷)이 기본 권장으로 자리잡았다.

MCAP의 장점:

CLI: ros2 bag record -s mcap /topic. 분석은 Foxglove Studio·mcap-cli로.


17장 · 휴머노이드 파운데이션 모델 — VLA의 해

2026년 로봇 업계의 가장 큰 화두는 VLA(Vision-Language-Action) 파운데이션 모델이다. 자연어로 지시하면 로봇이 시각 입력을 보고 동작을 직접 출력하는 모델들이다.

대표 모델/플레이어.

핵심 관찰: 2024년까지의 "한 작업당 한 모델"에서 2026년의 "한 모델로 여러 작업"으로 패러다임이 이동 중. 단, "한 모델로 모든 작업"은 아직 멀었다.


18장 · 오픈 로봇 데이터셋 — 학습의 연료

VLA 시대의 핵심 자원은 대규모 로봇 시연 데이터다. 2026년 주요 공개 데이터셋.

각 데이터셋의 토큰화·임바디먼트가 다르다는 점이 도전과제. OpenVLA·Octo 같은 임바디먼트 무관 모델은 이 격차를 어떻게 흡수할지가 핵심 연구 주제.


19장 · 표준 하드웨어 플랫폼 — 시작점

2026년에 "ROS 2 로봇 만들기"를 시작한다면 어떤 하드웨어를 골라야 하나.

선택 기준: 커뮤니티 지원 → 드라이버 성숙도 → 예산. TurtleBot 4 + UR + Spot이 가장 흔한 학교 3종 세트.


20장 · 한국 로보틱스 풍경 — 2026년

한국 로봇 업계의 흐름.

2026 흐름: 휴머노이드 + 협동로봇 + 자율주행 세 축으로 정부 차원 투자가 집중. 산업 클러스터로는 인천 송도(현대), 대전(KAIST·로보티즈), 시흥(레인보우)이 두드러진다.


21장 · 일본 로보틱스 풍경 — 2026년

일본은 전통적으로 산업 로봇의 강국. 휴머노이드·서비스 로봇도 흐름이 활발하다.

일본 특유의 흐름: 산업 로봇은 강력하지만 ROS는 보수적으로 채택. 자체 컨트롤러(Fanuc, Yaskawa)가 압도적이라 ROS는 R&D·신규 분야 위주.


22장 · 학습 자료 · 커뮤니티 · 컨퍼런스

ROS 2를 배우는 2026년 표준 경로.

추천 책: Steven Macenski의 Nav2 페이퍼들, MoveIt 공식 튜토리얼, "Modern Robotics"(Lynch & Park), "Probabilistic Robotics"(Thrun et al.) — 후자는 클래식이지만 여전히 필독.


23장 · 흔한 함정 10가지

ROS 2 도입에서 자주 보는 실패 패턴.

  1. QoS 불일치로 토픽이 안 보임 — pub/sub 프로파일을 처음부터 명시하라.
  2. CycloneDDS와 FastDDS 혼용으로 디스커버리 깨짐 — 한 시스템 안에선 같은 RMW로 통일.
  3. rclpy만으로 1kHz 제어 시도 — GIL/오버헤드로 불가. 저수준은 C++로.
  4. launch.py에 모든 걸 하드코딩 — 파라미터·include·환경 변수로 분리.
  5. 시뮬에서만 동작하고 실제에선 깨짐 — sim-to-real gap. URDF 마찰·관성·캘리브레이션을 검증.
  6. TF 트리 깨짐static_transform_publisher와 동적 TF의 시간 동기화 실수.
  7. Composition 안 쓰고 이미지 파이프라인 운영 — CPU·메모리 폭발.
  8. rosbag 기록 안 함 — 사고 후 재현 불가능. MCAP로 항상 기록.
  9. tf2 시간 보정 실수 — 시뮬레이션 시간(use_sim_time)을 모든 노드에 일관 적용해야.
  10. 모든 노드가 라이프사이클 무시 — Nav2/시스템 통합에서 상태 추적 불가.

24장 · 도구를 고르는 7가지 기준

요약하면 결국 이 7가지를 본다.

  1. 배포판 — 신규는 Jazzy 또는 Lyrical, 운영은 Humble.
  2. 미들웨어 — 기본은 Fast DDS, 멀티 로봇·광역은 Zenoh 후보.
  3. 시뮬레이터 — 정확도가 중요하면 Gazebo Harmonic, GPU 학습은 Isaac Sim/Lab, 정밀 동역학은 Drake.
  4. 모션 플래닝 — 매니퓰레이션은 MoveIt 2, 이동은 Nav2.
  5. 시각화/디버깅 — RViz2 + Foxglove + PlotJuggler 3종 세트.
  6. 학습 스택 — 강화학습은 Isaac Lab, 모방학습은 LeRobot/HuggingFace·OpenVLA.
  7. 하드웨어 — TurtleBot 4(교육) → UR/Franka(매니퓰레이션) → Spot/Husky(이동) 단계.

선택의 본질: "어떤 도구가 최고인가"가 아니라 "우리 작업/제약에서 어떤 조합이 합리적인가"다. 그리고 그 조합은 1~2년마다 재평가해야 한다 — 휴머노이드 파운데이션 모델이 1년 단위로 판을 갈고 있다.


25장 · 다음 10년 — 무엇이 올까

장기 흐름을 정리하면.


에필로그 — 로봇은 "코드 + 데이터 + 물리"의 교집합이다

이 글의 한 문장 요약: 2026년의 로봇은 ROS 2 위에서 VLA가 돌아가는 기계다.

10년 전 로봇은 PID와 상태머신과 손으로 짠 동작 시퀀스의 모음이었다. 2026년 로봇은 그 위에 거대 모델·합성 데이터·시뮬레이션 학습이 한 켜 더 얹혔다. 그러나 가장 아래 켜는 여전히 ROS 2의 토픽·서비스·액션·TF 트리이고, 그 위에 Nav2와 MoveIt가 있고, 그 위에 Gazebo/Isaac이 있고, 가장 위에 VLA 모델이 있다.

다음 10년의 로봇 엔지니어가 다룰 일은 PID 게인 튜닝이 아니라 모델·데이터·미들웨어의 인터페이스 설계다. 그러나 PID·운동학·TF가 사라지지는 않는다. 다층 추상화의 시대에 가장 강한 엔지니어는 위에서 아래까지 두루 안 사람이다.

12개 항목 체크리스트

  1. ROS 2 배포판이 EOL 일정 안에 있나?
  2. RMW를 한 시스템 안에서 일관되게 쓰나?
  3. QoS 프로파일을 의식적으로 골랐나?
  4. 모든 노드가 라이프사이클로 관리되나?
  5. composition으로 intra-process 통신을 활용하나?
  6. URDF/SRDF가 실제 로봇과 일치하나?
  7. 시뮬-실 갭을 측정·관리하고 있나?
  8. rosbag/MCAP으로 모든 운행을 기록하나?
  9. CI/CD에 시뮬레이션 테스트가 포함되나?
  10. 멀티 로봇/광역 통신을 고려한 미들웨어 선택인가?
  11. 데이터·모델·코드의 버전 관리가 통일됐나?
  12. 안전·인증·법규 검토 절차가 있나?

안티패턴 10가지

  1. ROS 1 코드를 1:1 변환하려는 시도 — 모델이 다르다.
  2. RMW를 막 섞기 — 디스커버리 끊김의 단골 원인.
  3. rclpy로 1kHz 제어 — C++로.
  4. URDF를 대충 짜기 — 시뮬-실 갭의 시작.
  5. 모든 걸 토픽으로 — 액션·서비스·파라미터를 알맞게.
  6. composition 안 쓰기 — 큰 데이터에선 필수.
  7. rosbag 없이 운영 — 사고 분석 불가능.
  8. 시뮬에서만 검증하고 배포 — 현장에서 깨진다.
  9. 1세대 데이터로 평생 학습 — 데이터 신선도 관리 필요.
  10. 안전 인증을 사후에 — 처음부터 설계에 포함.

다음 글 예고

다음 글 후보: Isaac Lab 실전 — 강화학습으로 사족 로봇 걷기 배우기, MoveIt Pro vs OSS MoveIt 2 — 산업 도입 가이드, VLA 모델 미세조정 — Open X-Embodiment에서 우리 로봇으로.

"로봇은 코드와 데이터와 물리의 교집합에 있다. 셋 중 어느 하나만 잘해서는 안 된다."

— ROS 2 & Robotics Stack 2026, 끝.


참고 / References

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다