| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- Java
- 결정트리
- 생물정보학
- 딥러닝
- 인공지능 수학
- 바이오인포매틱스
- RNN
- 인공지능
- 캐글
- 바이오파이썬
- 시그모이드
- 알파폴드
- BLaST
- AP
- ncbi
- 오류역전파
- 로제타폴드
- 서열정렬
- 단백질 구조 예측
- 파이썬
- 인공신경망
- 생명정보학
- 이항분포
- 자바
- Kaggle
- AP Computer Science A
- CNN
- COVID
- bioinformatics
- SVM
- Today
- Total
데이터 과학
Physical AI 시대의 로봇 소프트웨어 플랫폼 본문
Physical AI 시대의 로봇 소프트웨어 플랫폼
ROS 2, Gazebo, MoveIt2, Isaac Sim, Isaac Lab, LeRobot, VLA 모델과 Jetson 기반 실제 로봇의 관계를 살펴보고, 과거 로봇 소프트웨어 플랫폼이 오늘날의 개발 생태계로 어떻게 변화하였는지 설명합니다.
1. 로봇 소프트웨어 플랫폼의 변화
로봇 소프트웨어 플랫폼은 센서, 모터, 카메라, 제어 알고리즘, 인공지능 모델과 사용자 인터페이스를 하나의 시스템으로 연결하기 위한 개발 기반입니다. 로봇은 일반적인 컴퓨터 프로그램과 달리 여러 종류의 하드웨어를 동시에 제어해야 하며, 센서 데이터가 들어오는 동안 실시간으로 판단하고 동작해야 합니다. 따라서 로봇 개발에서는 개별 프로그램을 작성하는 것뿐 아니라 프로그램 사이의 통신, 시간 동기화, 장치 관리, 오류 처리와 상태 확인을 함께 지원하는 플랫폼이 필요합니다.
과거에는 국가별 연구기관이나 로봇 제조사가 독자적인 플랫폼을 개발하여 사용하였습니다. 우리나라에서는 OPRoS가 개발되었고, 일본에서는 RT Middleware가 널리 연구되었습니다. SoftBank Robotics는 NAO와 Pepper를 위하여 NAOqi라는 전용 환경을 제공하였으며, 유럽에서는 정밀한 실시간 제어를 목적으로 Orocos RTT가 활용되었습니다. 이러한 플랫폼들은 로봇 소프트웨어를 컴포넌트 단위로 나누고 다시 조립한다는 중요한 개념을 발전시키는 데 기여하였습니다.
그러나 로봇 연구가 세계적으로 확대되면서 특정 국가나 제조사에 종속되지 않고 다양한 로봇에서 공통으로 사용할 수 있는 생태계가 필요해졌습니다. 이러한 요구 속에서 ROS가 빠르게 확산되었으며, 현재는 실시간성, 보안성, 분산 통신과 산업 적용성을 개선한 ROS 2가 로봇 개발의 중심 플랫폼으로 자리 잡았습니다. 최근에는 ROS 2 위에 Gazebo와 MoveIt2를 연결하고, NVIDIA Isaac Sim과 Isaac Lab을 이용하여 학습한 모델을 Jetson 기반 실제 로봇에 배포하는 방식이 널리 사용되고 있습니다.
2. ROS 2 Jazzy
ROS 2는 현재 전 세계 로봇 연구와 산업 개발에서 가장 널리 활용되는 오픈소스 로봇 소프트웨어 플랫폼입니다. 이름에는 운영체제라는 표현이 포함되어 있지만 Windows나 Ubuntu와 같은 완전한 운영체제는 아닙니다. ROS 2는 기존 운영체제 위에서 실행되며, 로봇을 구성하는 여러 프로그램이 서로 통신하고 협력하도록 지원하는 미들웨어이자 개발 프레임워크입니다.
ROS 2에서는 로봇의 기능을 노드(Node)라는 독립적인 실행 단위로 분리합니다. 예를 들어 카메라 영상을 읽는 노드, 객체를 인식하는 노드, 이동 경로를 계산하는 노드, 모터를 제어하는 노드를 각각 따로 개발할 수 있습니다. 이러한 노드는 토픽(Topic)을 이용하여 지속적인 데이터를 주고받고, 서비스(Service)를 이용하여 요청과 응답을 처리하며, 액션(Action)을 이용하여 시간이 오래 걸리는 작업의 목표, 진행 상태와 결과를 관리합니다.
ROS 2의 통신 구조는 DDS(Data Distribution Service)와 RTPS를 기반으로 설계되었습니다. DDS는 네트워크에 연결된 노드가 서로를 자동으로 발견하고 데이터를 교환하도록 지원합니다. 또한 QoS(Quality of Service) 정책을 이용하여 데이터의 신뢰성, 전송 이력, 지속성, 마감 시간과 같은 통신 조건을 세밀하게 조정할 수 있습니다. 이러한 기능은 네트워크 상태가 일정하지 않은 이동 로봇이나 여러 대의 로봇이 동시에 동작하는 환경에서 특히 중요합니다.
ROS 2 Jazzy는 Ubuntu 24.04 LTS와 함께 사용하기 적합한 배포판입니다. Jazzy 환경에서는 Python 기반의 rclpy와 C++ 기반의 rclcpp를 이용하여 노드를 개발할 수 있으며, RViz2를 이용하여 로봇 모델, 센서 데이터, 지도와 이동 경로를 시각화할 수 있습니다. rosbag2를 이용하면 실제 로봇에서 수집되는 토픽 데이터를 기록하고 다시 재생할 수 있으므로, 동일한 센서 데이터를 여러 번 분석하거나 오류 상황을 재현하는 데 유용합니다.
ROS 2를 사용하는 가장 큰 이유는 로봇의 각 기능을 분리하여 이해할 수 있기 때문입니다. 프로그램을 한 번에 작성하는 대신 카메라, 인공지능, 모터 제어를 각각의 노드로 구현한 후 토픽으로 연결할 수 있습니다. 이러한 구조는 소프트웨어 공학의 모듈화 개념과 실제 로봇 시스템의 분산 제어 원리를 함께 학습하도록 도와줍니다.
3. Gazebo Harmonic
Gazebo Harmonic은 ROS 2와 함께 사용할 수 있는 대표적인 3차원 로봇 시뮬레이터입니다. 실제 로봇을 제작하거나 구동하기 전에 가상 환경에서 로봇의 구조, 센서, 제어 알고리즘과 주행 성능을 검증할 수 있도록 지원합니다. 시뮬레이션을 활용하면 로봇이 충돌하거나 넘어지더라도 실제 하드웨어가 손상되지 않기 때문에 반복적인 실험을 안전하게 수행할 수 있습니다.
Gazebo는 단순히 로봇의 외형을 화면에 보여주는 프로그램이 아닙니다. 중력, 질량, 관성, 마찰, 충돌과 관절 운동을 물리적으로 계산하며, RGB 카메라, 깊이 카메라, LiDAR, IMU와 같은 센서 데이터를 가상으로 생성합니다. 로봇 제어 프로그램은 실제 센서에서 데이터를 받은 것과 유사한 방식으로 이러한 가상 센서 데이터를 처리할 수 있습니다.
ROS 2와 Gazebo는 ros_gz 계열의 연동 패키지를 통하여 연결됩니다. ROS 2 노드가 속도 명령을 발행하면 Gazebo 안의 로봇이 움직이고, Gazebo에서 생성된 카메라 영상이나 LiDAR 데이터는 다시 ROS 2 토픽으로 전달됩니다. 따라서 시뮬레이션에서 작성한 프로그램의 구조를 크게 바꾸지 않고 실제 로봇으로 이전할 수 있습니다.
Gazebo Harmonic은 TurtleBot3와 같은 이동 로봇의 자율주행 실습뿐 아니라 로봇 팔, 드론, 다족 보행 로봇과 센서 시스템을 검증하는 데 활용할 수 있습니다. 학교에서는 실제 로봇의 수량이 부족하더라도 학생마다 가상 로봇을 실행할 수 있으므로, ROS 2 토픽 통신, 장애물 회피, SLAM과 경로 계획을 학습하기 위한 효율적인 환경이 됩니다.
4. MoveIt2
MoveIt2는 ROS 2 환경에서 로봇 팔과 매니퓰레이터의 동작을 계획하고 실행하기 위한 대표적인 프레임워크입니다. 이동 로봇이 지도 위에서 목적지까지의 경로를 계산해야 하는 것처럼, 로봇 팔은 여러 개의 관절을 움직여 말단 장치를 목표 위치와 자세에 도달시켜야 합니다. MoveIt2는 이러한 복잡한 관절 운동을 계산하고 실제 제어기로 전달하는 역할을 담당합니다.
로봇 팔의 제어에서는 순기구학과 역기구학이 중요합니다. 순기구학은 각 관절의 각도가 주어졌을 때 로봇 손끝의 위치를 계산하는 과정이며, 역기구학은 원하는 손끝 위치가 주어졌을 때 각 관절이 어떤 각도를 가져야 하는지를 계산하는 과정입니다. MoveIt2는 이러한 기구학 계산과 함께 충돌 검사, 모션 플래닝, 궤적 보정과 실행을 통합적으로 제공합니다.
MoveIt2의 Planning Scene은 로봇과 주변 물체의 상태를 관리합니다. 작업 공간에 책상, 상자 또는 사람이 존재할 경우 이를 충돌 물체로 등록할 수 있으며, 모션 플래너는 충돌하지 않는 경로를 탐색합니다. MoveIt Setup Assistant를 사용하면 URDF로 작성된 로봇 모델을 바탕으로 관절 그룹, 말단 장치와 충돌 설정을 포함한 SRDF 및 구성 파일을 생성할 수 있습니다.
최근에는 MoveIt2가 인공지능 기반 로봇 조작의 실행 계층으로 활용되고 있습니다. VLA 모델이나 대규모 언어 모델이 “빨간 컵을 집어 상자에 넣으세요.”라는 작업 목표를 해석하면, MoveIt2가 실제 로봇 팔이 따라야 할 안전한 관절 경로를 계산하는 방식입니다. 즉, 인공지능이 작업의 의미와 순서를 결정하고 MoveIt2가 물리적으로 실행 가능한 동작으로 변환하는 구조입니다.
5. Isaac Sim
Isaac Sim은 NVIDIA가 개발한 고성능 로봇 시뮬레이션 플랫폼입니다. Omniverse 및 USD 기반의 장면 표현과 PhysX 물리 엔진을 이용하여, 실제 환경과 유사한 로봇, 공간, 조명과 센서 조건을 구성할 수 있습니다. Gazebo가 범용성과 ROS 2 교육에 강점을 가진다면, Isaac Sim은 사실적인 렌더링과 대규모 인공지능 학습 데이터 생성에 강점을 가진 플랫폼입니다.
Isaac Sim에서는 카메라 영상, 깊이 정보, 세그멘테이션 마스크와 객체의 자세 정보를 자동으로 생성할 수 있습니다. 실제 환경에서 수천 장의 이미지를 촬영하고 사람이 일일이 라벨을 붙이는 대신, 가상 환경에서 물체의 위치와 조명을 변화시키면서 대량의 학습 데이터를 생성할 수 있습니다. 이러한 방식으로 만들어진 데이터를 합성 데이터(Synthetic Data)라고 하며, 객체 인식과 자세 추정 모델을 학습하는 데 활용할 수 있습니다.
Isaac Sim은 ROS 2 브리지를 통하여 기존 ROS 2 시스템과 연결할 수 있습니다. ROS 2 노드는 Isaac Sim의 가상 로봇에 이동 명령을 보내고, 시뮬레이션에서 생성되는 센서 데이터를 받을 수 있습니다. 따라서 기존에 ROS 2로 작성한 자율주행 또는 조작 프로그램을 보다 사실적인 환경에서 검증할 수 있습니다.
Isaac Sim은 높은 그래픽 성능과 GPU 자원을 요구합니다. 그러므로 일반적인 수업용 노트북에서는 Gazebo를 사용하고, 고성능 RTX 워크스테이션에서는 Isaac Sim을 이용하여 센서 시뮬레이션과 AI 학습을 수행하는 방식이 효율적입니다. 두 시뮬레이터는 서로 완전히 대체되는 관계라기보다 목적과 하드웨어 환경에 따라 선택하여 사용하는 관계입니다.
6. Isaac Lab
Isaac Lab은 Isaac Sim 위에서 동작하는 공식 로봇 학습 프레임워크입니다. 강화학습, 모방학습과 로봇 학습 실험을 체계적으로 구성할 수 있도록 환경, 센서, 보상 함수와 학습 알고리즘을 연결하는 API와 예제를 제공합니다. Isaac Sim이 로봇과 환경의 물리적 시뮬레이션을 담당한다면, Isaac Lab은 그 환경에서 로봇이 행동을 학습하도록 만드는 역할을 담당합니다.
Isaac Lab의 중요한 특징은 GPU를 이용한 대규모 병렬 시뮬레이션입니다. 하나의 가상 로봇을 오랜 시간 실행하는 대신 수백 개 또는 수천 개의 동일한 환경을 동시에 실행하여 많은 경험 데이터를 빠르게 수집할 수 있습니다. 이러한 방식은 보행 로봇, 휴머노이드, 로봇 팔과 자율 이동 로봇의 강화학습에 특히 효과적입니다.
강화학습에서는 로봇이 행동을 수행하고 보상을 받으면서 더 좋은 행동 전략을 학습합니다. 예를 들어 4족 보행 로봇이 앞으로 이동하면 양의 보상을 받고 넘어지면 음의 보상을 받도록 설계할 수 있습니다. 반복 학습을 통하여 로봇은 균형을 유지하면서 목표 방향으로 이동하는 정책을 획득하게 됩니다.
Isaac Lab은 Domain Randomization을 이용하여 시뮬레이션과 실제 환경의 차이를 줄이는 데 활용됩니다. 학습 과정에서 마찰 계수, 로봇 질량, 센서 노이즈, 조명과 물체 위치를 계속 변화시키면, 학습된 모델이 특정한 가상 환경에만 과도하게 적응하는 것을 줄일 수 있습니다. 이렇게 학습한 정책을 실제 로봇으로 옮기는 과정을 Sim-to-Real이라고 합니다.
7. LeRobot
LeRobot은 Hugging Face가 개발하고 있는 PyTorch 기반의 오픈소스 로봇 학습 프레임워크입니다. 실제 로봇에서 수집한 데이터셋, 학습 정책, 사전 학습 모델과 도구를 표준화하여 로봇 학습에 대한 진입 장벽을 낮추는 것을 목표로 합니다. Hugging Face의 자연어 및 비전 모델 생태계를 로봇 행동 학습까지 확장한 플랫폼이라고 볼 수 있습니다.
LeRobot의 기본적인 학습 과정은 사람이 로봇을 원격 조종하면서 작업 시범을 기록하는 단계에서 시작합니다. 카메라 영상, 관절 상태, 제어 명령과 시간 정보를 데이터셋으로 저장한 후, 신경망이 사람의 시범을 모방하도록 학습합니다. 학습이 완료되면 로봇은 새로운 카메라 영상과 현재 상태를 입력으로 받아 다음에 수행할 행동을 예측할 수 있습니다.
LeRobot은 행동 모방 학습, ACT(Action Chunking Transformer), Diffusion Policy와 강화학습 계열의 정책을 지원합니다. 특히 LeRobotDataset은 여러 카메라 영상과 센서·모터 시계열 데이터를 하나의 표준 형식으로 관리할 수 있도록 설계되었습니다. 데이터셋과 학습된 정책을 Hugging Face Hub에 등록하면 다른 연구자와 공유하거나 새로운 로봇에 맞게 다시 학습할 수 있습니다.
ROS 2와 LeRobot은 역할이 다릅니다. ROS 2가 실제 로봇의 센서와 구동기를 연결하고 통신을 관리하는 실행 기반이라면, LeRobot은 수집된 데이터를 이용하여 행동 정책을 학습하고 추론하는 인공지능 계층입니다. 실제 시스템에서는 ROS 2 노드가 카메라 영상과 관절 상태를 LeRobot 정책에 전달하고, 정책이 출력한 행동을 다시 ROS 2 제어 명령으로 변환하는 방식으로 연동할 수 있습니다.
8. Vision-Language-Action(VLA) 모델
Vision-Language-Action 모델은 시각 정보, 자연어 명령과 로봇 행동을 하나의 모델 안에서 연결하는 인공지능 모델입니다. 기존 로봇 시스템에서는 객체 인식, 언어 이해, 작업 계획과 모터 제어가 서로 다른 프로그램으로 구현되는 경우가 많았습니다. VLA 모델은 카메라 영상과 자연어 지시를 입력으로 받아 로봇이 실행해야 할 행동을 직접 예측한다는 점에서 기존 방식과 차이가 있습니다.
예를 들어 사용자가 “파란색 블록을 집어서 왼쪽 상자에 넣으세요.”라고 명령하면, VLA 모델은 영상에서 파란색 블록과 왼쪽 상자를 찾아야 합니다. 동시에 문장의 의미를 이해하고, 로봇 팔이 수행해야 할 이동과 집기 동작을 행동 출력으로 생성해야 합니다. 이 과정에서는 시각적 인식, 언어 이해와 제어 정책이 통합적으로 작동합니다.
대표적인 공개 모델인 OpenVLA는 대규모 실제 로봇 조작 데이터로 학습된 범용 VLA 모델입니다. 카메라 영상과 자연어 명령을 입력으로 받아 로봇 행동을 생성하며, 새로운 로봇이나 작업에 맞추어 미세 조정할 수 있도록 공개되어 있습니다. LeRobot의 SmolVLA와 같은 경량 모델은 상대적으로 작은 하드웨어에서도 로봇 데이터셋을 이용한 미세 조정을 시도할 수 있도록 설계되었습니다.
VLA 모델은 매우 유망하지만 아직 모든 환경에서 안정적으로 사용할 수 있는 완성된 기술은 아닙니다. 학습 데이터에 포함되지 않은 물체나 상황에서는 잘못된 행동을 생성할 수 있으며, 큰 모델은 많은 GPU 메모리와 연산 능력을 요구합니다. 실제 로봇에 적용할 때에는 속도 제한, 충돌 감지, 비상 정지와 작업 영역 제한을 별도로 구성해야 합니다. 따라서 VLA 모델은 기존의 ROS 2 제어기와 안전 시스템을 대체하기보다 상위 수준의 지능형 정책으로 결합하는 것이 적절합니다.
9. Jetson 기반 실제 로봇
NVIDIA Jetson은 인공지능 모델을 실제 로봇에서 실행하기 위한 임베디드 컴퓨팅 플랫폼입니다. 일반적인 마이크로컨트롤러보다 높은 연산 성능을 제공하면서도 데스크톱 컴퓨터보다 크기와 소비 전력이 작기 때문에, 이동 로봇과 휴머노이드 내부에 탑재하기에 적합합니다. Jetson Orin Nano, Orin NX와 AGX Orin은 요구되는 연산량과 전력 조건에 따라 선택할 수 있습니다.
Jetson에서는 Ubuntu, CUDA, TensorRT와 ROS 2를 함께 사용할 수 있습니다. 카메라 영상은 ROS 2 토픽으로 수신하고, YOLO와 같은 객체 인식 모델은 GPU에서 실행하며, 인식 결과를 바탕으로 이동 또는 관절 제어 명령을 생성할 수 있습니다. TensorRT를 이용하면 학습된 딥러닝 모델을 Jetson 환경에 맞게 최적화하여 추론 속도를 높일 수 있습니다.
PiDog, PuppyPi, MechDog와 같은 4족 보행 로봇에서는 카메라 영상 인식, 음성 명령, 자세 제어와 보행 동작을 결합할 수 있습니다. AiNex와 TonyPi 같은 휴머노이드에서는 얼굴 인식, 객체 추적, 동작 인식과 균형 제어를 구현할 수 있습니다. 다만 각 로봇이 Raspberry Pi 기반인지 Jetson 기반인지, 제조사가 ROS 2 드라이버를 제공하는지에 따라 설치 방법과 구현 범위가 달라질 수 있습니다.
학교 실습에서는 먼저 Gazebo에서 ROS 2 제어 프로그램을 검증한 후 실제 로봇에 배포하는 단계적 접근이 안전합니다. 시뮬레이션에서 토픽 이름, 메시지 형식과 제어 주기를 확인하고, 실제 로봇에서는 낮은 속도로 시험하면서 센서 방향, 모터 부호와 안전 정지 기능을 검증해야 합니다. 이 과정은 가상 환경에서 학습하거나 개발한 알고리즘을 실제 하드웨어에 적용하는 Physical AI의 핵심 실습 과정입니다.
10. 플랫폼의 통합 구조
현대적인 Physical AI 시스템에서는 각각의 플랫폼이 서로 다른 역할을 담당합니다. ROS 2는 센서와 구동기, 프로그램 사이의 통신을 담당하고, Gazebo 또는 Isaac Sim은 로봇과 환경을 가상으로 구현합니다. MoveIt2는 로봇 팔의 동작 경로를 계산하며, Isaac Lab과 LeRobot은 시뮬레이션 또는 실제 데이터로 행동 정책을 학습합니다. VLA 모델은 영상과 언어 명령을 해석하여 상위 수준의 행동을 생성하고, Jetson은 이러한 프로그램을 실제 로봇에서 실행하는 컴퓨팅 장치가 됩니다.
이러한 구조에서 중요한 점은 시뮬레이션과 실제 로봇이 가능한 한 동일한 ROS 2 인터페이스를 사용하도록 만드는 것입니다. 시뮬레이터와 실제 로봇이 동일한 토픽 이름과 메시지 형식을 사용하면, 알고리즘을 시뮬레이션에서 검증한 후 실제 로봇에 비교적 쉽게 적용할 수 있습니다. 이러한 설계 방식을 Hardware Abstraction이라고 하며, 로봇 소프트웨어의 재사용성과 확장성을 높여 줍니다.
11. OPRoS(Open Platform for Robotic Services)
OPRoS는 국내 로봇 소프트웨어 기술의 표준화와 재사용성을 높이기 위하여 개발된 컴포넌트 기반 로봇 소프트웨어 플랫폼입니다. 로봇의 센서 처리, 모터 제어, 영상 인식과 사용자 인터페이스를 독립적인 컴포넌트로 개발한 후, 필요한 컴포넌트를 연결하여 하나의 로봇 응용 프로그램을 구성하도록 설계되었습니다.
OPRoS의 장점은 국내 개발자를 위한 GUI 기반 개발 도구와 컴포넌트 모델을 제공하였다는 점입니다. 개발자는 로봇의 모든 기능을 하나의 프로그램으로 작성하는 대신 기능별 컴포넌트를 조립하여 시스템을 구성할 수 있었습니다. 이는 소프트웨어의 재사용성을 높이고 로봇 하드웨어가 변경되더라도 일부 컴포넌트만 교체할 수 있도록 하기 위한 접근이었습니다.
그러나 국제적으로 ROS 생태계가 빠르게 성장하면서 OPRoS가 제공하던 컴포넌트와 개발 도구의 활용 범위는 상대적으로 축소되었습니다. ROS는 세계 각국의 연구자와 기업이 참여하는 대규모 오픈소스 생태계를 형성하였고, 내비게이션, 시각화, 로봇 팔 제어와 센서 드라이버 등 방대한 패키지를 제공하였습니다. 이에 따라 국내 대학과 연구기관에서도 신규 프로젝트의 개발 환경이 ROS와 ROS 2 중심으로 이동하였습니다.
12. NAOqi
NAOqi는 SoftBank Robotics의 NAO, Pepper와 Romeo 로봇을 위한 전용 소프트웨어 환경입니다. 로봇의 관절, 카메라, 마이크, 스피커와 센서를 하나의 API 체계로 제어할 수 있도록 설계되었으며, Python, C++와 Java 등을 이용한 응용 프로그램 개발을 지원하였습니다.
NAOqi는 음성 인식, 음성 합성, 얼굴 인식, 동작 실행과 행동 관리 기능을 로봇의 기본 서비스로 제공하였습니다. 특히 Choregraphe라는 시각적 개발 도구를 이용하면 동작 블록과 음성 기능을 연결하여 프로그램을 구성할 수 있었기 때문에, 교육용 휴머노이드와 인간-로봇 상호작용 연구에서 널리 사용되었습니다.
NAOqi의 한계는 특정 제조사의 로봇에 종속된 전용 환경이라는 점입니다. NAO 또는 Pepper에서 개발한 기능을 다른 이동 로봇이나 산업용 로봇으로 이전하기가 쉽지 않았으며, 운영체제와 개발 도구의 버전 제약도 존재하였습니다. 따라서 최근에는 NAOqi의 기능을 직접 사용하는 것과 함께 ROS 드라이버를 통하여 NAO 또는 Pepper를 ROS 생태계에 연결하는 방식이 활용되고 있습니다.
이러한 연동 구조에서는 NAOqi가 로봇 내부의 하드웨어와 기본 기능을 담당하고, 외부의 ROS 또는 ROS 2 시스템이 영상 처리, 대화 시스템, 작업 계획과 다른 로봇과의 통신을 담당합니다. 따라서 NAOqi가 완전히 사라졌다기보다 전용 하드웨어 제어 계층으로 남고, 상위 응용 프로그램은 보다 개방적인 ROS 기반 환경으로 이동하였다고 이해하는 것이 적절합니다.
13. RT Middleware와 OpenRTM-aist
RT Middleware는 일본을 중심으로 발전한 컴포넌트 기반 로봇 시스템 개발 개념입니다. OpenRTM-aist는 일본의 산업기술종합연구소가 개발한 대표적인 구현체이며, 로봇의 기능을 RT-Component라는 독립적인 단위로 작성하고 컴포넌트 사이의 포트를 연결하여 시스템을 구성합니다.
RT-Component는 입력 포트와 출력 포트를 통하여 데이터를 주고받으며, 각 컴포넌트의 생성, 활성화, 비활성화와 종료 상태를 관리합니다. 이러한 구조는 센서, 제어기와 사용자 인터페이스를 서로 다른 컴퓨터에서 실행하는 분산 로봇 시스템을 구성하는 데 유용하였습니다. CORBA 기반 통신을 이용하여 언어와 운영체제가 다른 컴포넌트를 연결할 수 있다는 점도 중요한 특징이었습니다.
RT Middleware는 일본의 대학과 연구기관, 산업용 로봇 분야에서 오랫동안 사용되었습니다. 그러나 CORBA 기반의 구성과 개발 절차가 현대적인 Python 및 AI 개발 환경과 비교하여 복잡하게 느껴질 수 있으며, ROS에 비하여 사용할 수 있는 공개 패키지와 국제 개발자 커뮤니티의 규모가 작다는 한계가 있습니다.
현재에도 OpenRTM 기반의 기존 시스템이나 특정 산업 프로젝트는 유지되고 있지만, 새로운 로봇 연구와 교육에서는 ROS 2를 채택하는 사례가 많아지고 있습니다. 다만 RT Middleware가 강조한 컴포넌트의 명확한 인터페이스와 생명주기 관리 개념은 오늘날의 ROS 2 Lifecycle Node 및 분산 시스템 설계와 비교하여 학습할 가치가 있습니다.
14. Orocos RTT(Real-Time Toolkit)
Orocos RTT는 높은 정밀도와 실시간성이 필요한 로봇 제어를 위하여 개발된 C++ 기반의 실시간 컴포넌트 프레임워크입니다. 산업용 로봇, 의료 로봇과 정밀 모션 제어 시스템에서는 일정한 시간 간격으로 제어 명령을 계산하는 것이 중요합니다. 제어 주기가 불규칙하면 로봇의 움직임이 흔들리거나 안전 문제가 발생할 수 있기 때문입니다.
Orocos RTT는 작업(Task)을 컴포넌트 형태로 구성하고, 데이터 포트, 명령과 상태 관리 기능을 이용하여 실시간 제어 시스템을 구현합니다. 일반적인 사용자 응용 프로그램보다 하드웨어에 가까운 제어 계층에서 사용하기 적합하며, 실시간 Linux 환경과 결합하여 매우 짧고 일정한 제어 주기를 구현하는 데 활용되었습니다.
Orocos RTT는 ROS와 완전히 경쟁하는 플랫폼이라기보다 실시간 제어 기능을 보완하는 도구로 함께 사용되기도 하였습니다. ROS가 센서 데이터, 시각화와 상위 수준의 작업 계획을 담당하고, Orocos RTT가 관절 토크 또는 모터 제어와 같은 하위 수준의 실시간 제어를 담당하는 구조입니다.
ROS 2는 DDS 기반 통신, 실시간 실행 환경과 ros2_control을 통하여 실시간 제어 기능을 강화하였습니다. 이에 따라 일반적인 프로젝트에서 Orocos RTT를 별도로 사용하는 필요성은 줄어들었습니다. 그러나 매우 엄격한 실시간 제어가 필요한 산업 및 연구 환경에서는 여전히 Orocos RTT의 구조와 설계 경험이 의미를 가집니다.
15. 발전 흐름과 교육적 의미
로봇 소프트웨어 플랫폼의 발전은 독자적인 컴포넌트 플랫폼에서 개방형 ROS 생태계로, 다시 인공지능 학습과 대규모 시뮬레이션이 결합된 Physical AI 생태계로 이동해 왔습니다. OPRoS, RT Middleware, NAOqi와 Orocos RTT는 각각 컴포넌트 재사용, 분산 통신, 전용 로봇 서비스와 실시간 제어라는 중요한 개념을 발전시켰습니다. ROS와 ROS 2는 이러한 개념을 보다 개방적인 생태계 안에서 통합하고 확장하였습니다.
오늘날 로봇 교육에서는 ROS 2를 중심으로 플랫폼 간의 역할을 구분하여 학습하는 것이 중요합니다. ROS 2는 로봇 시스템의 공통 언어이며, Gazebo와 Isaac Sim은 실험 공간입니다. MoveIt2는 로봇 팔의 동작 계획 도구이며, LeRobot과 Isaac Lab은 행동을 학습시키는 도구입니다. VLA 모델은 언어와 시각을 행동으로 연결하는 지능 계층이며, Jetson은 이러한 기술을 실제 로봇에서 실행하도록 만드는 컴퓨팅 기반입니다.
따라서 Physical AI 프로젝트를 시작할 때 모든 플랫폼을 한 번에 설치하고 사용하는 것보다, ROS 2의 노드와 토픽을 먼저 이해하고 Gazebo에서 로봇 제어를 실습한 후, MoveIt2 또는 Nav2를 연결하고 마지막으로 LeRobot, Isaac Lab과 VLA 모델로 확장하는 단계적 학습이 적절합니다. 이러한 순서로 학습하면 학생은 로봇의 기본 제어 원리와 인공지능 기반 행동 학습의 차이를 명확하게 이해할 수 있습니다.
플랫폼별 핵심 역할 비교
| 플랫폼 | 주요 역할 | Physical AI에서의 위치 |
|---|---|---|
| ROS 2 Jazzy | 노드 통신, 장치 연결, 시스템 통합 | 전체 로봇 시스템의 중심 미들웨어입니다. |
| Gazebo Harmonic | 물리·센서 기반 로봇 시뮬레이션 | ROS 2 알고리즘을 안전하게 검증하는 환경입니다. |
| MoveIt2 | 로봇 팔의 기구학, 충돌 검사와 경로 계획 | 지능형 조작 작업의 실행 계층입니다. |
| Isaac Sim | 사실적 시뮬레이션과 합성 데이터 생성 | 고성능 AI 로봇 개발과 디지털 트윈 환경입니다. |
| Isaac Lab | 병렬 강화학습과 모방학습 | 시뮬레이션 기반 로봇 정책 학습 환경입니다. |
| LeRobot | 실제 로봇 데이터셋과 정책 학습 | 오픈소스 로봇 학습 및 모델 공유 환경입니다. |
| VLA 모델 | 영상과 언어 명령을 로봇 행동으로 변환 | Physical AI의 상위 지능 계층입니다. |
| Jetson | 실제 로봇에서 AI 모델과 ROS 2 실행 | 시뮬레이션의 결과를 현실에 배포하는 장치입니다. |
참고 자료
- ROS 2 Jazzy Concepts
- Gazebo Harmonic Documentation
- MoveIt 2 Documentation
- NVIDIA Isaac Sim Documentation
- Isaac Lab Documentation
- Hugging Face LeRobot Documentation
- OpenVLA Project

'인공지능 > 피지컬 AI' 카테고리의 다른 글
| ESP32란 무엇인가? (0) | 2026.07.29 |
|---|---|
| ESP32 기반 로봇과 ROS 2 기반 로봇의 차이 (1) | 2026.07.25 |
| ROS 2 구현 예제 - Gazebo에서 TurtleBot3 자동 전진 후 정지 (0) | 2026.07.20 |
| Ubuntu 24.04 + ROS 2 Jazzy + Gazebo Harmonic 설치 매뉴얼 (3) | 2026.07.20 |