
25.10.08 / JUN
로봇(예: Go1, B2, H1, Aliengo 등) 구동 소프트웨어 개발 작업은 ROS/ROS2, C++, Python, Ubuntu 리눅스 환경, GPU 시뮬레이션(Isaac Sim, Gazebo) 생태계와 밀접하게 연동됩니다. 로봇 소프트웨어를 개발 및 커스터마이징하기 위한 준비 사항에 대해 알아볼까요?
🧠 1️⃣ 개발 언어 및 환경 학습
구분 | 내용 | 이유 |
---|---|---|
C++ 프로그래밍 숙련 | ROS/로봇 펌웨어 레벨 제어(센서, 모터, 제어 루프)에 필수 | 대부분의 제어 SDK가 C++ 기반 |
Python 프로그래밍 숙련 | AI/시뮬레이션, 고수준 행동 제어 구현 | Isaac Sim, PyTorch, TensorFlow와 연계 |
Linux(Ubuntu 20.04~22.04) | ROS, Isaac Sim, Unitree SDK 호환 환경 | 기본 개발 OS |
🧩 추천 스터디 순서:
- C++ → 2. Python → 3. Linux CLI + ROS 환경 명령어 → 4. ROS2 Topic/Service 구조 이해
참고: 엔비디아 아이작 심스 시작하기
https://docs.isaacsim.omniverse.nvidia.com/4.5.0/index.html

참고: 유니트리 로보틱스 허깅페이스 오픈소스
https://huggingface.co/unitreerobotics

참고: 유니트리 로보틱스 깃허브 오픈소스
https://www.unitree.com/opensource

🧩 2️⃣ ROS/ROS2 및 Unitree SDK 스터디
항목 | 설명 |
---|---|
ROS2 (Robot Operating System 2) | 유니트리 SDK는 ROS2 Node로 동작함. Topic 통신으로 모터/IMU 제어 |
Unitree SDK/Lib (unitree_legged_sdk) | Go1, Aliengo 등 제품별 SDK 제공 – 실시간 제어, 상태 모니터링 |
Unitree ROS Packages | GitHub에서 제공: /unitree_ros , /unitree_legged_real , /unitree_legged_sdk |
Simulation Packages (Gazebo, Isaac Sim) | 실제 로봇과 동일한 모델을 시뮬레이션으로 검증 가능 |
💡 학습 포인트:
- ROS2
publisher/subscriber
,tf
,rviz
시각화 - Unitree SDK의
UDP/TCP
통신 구조 이해 go1_ctrl_example.cpp
,keyboard_control.py
등 예제 분석
⚙️ 3️⃣ 개발용 하드웨어 및 시스템 준비
구성요소 | 권장 사양 | 설명 |
---|---|---|
GPU 장착 데스크톱 | RTX 3060 이상, Ubuntu 20.04/22.04 | Isaac Sim, PyTorch 학습용 |
CPU | i7 이상 / 16코어 권장 | ROS2 멀티스레드 노드 실행 |
RAM | 최소 32GB | Isaac Sim + ROS2 동시 실행용 |
저장장치 | NVMe SSD 1TB 이상 | 시뮬레이션 캐시 및 데이터 로깅용 |
컨트롤러 보드 (Jetson Orin, Xavier 등) | 로봇 본체용 | Unitree SDK 포팅 및 자율 제어 구현 시 필요 |
💡 Tip: Isaac Sim, ROS2, PyTorch를 동시에 실행하려면 RTX 4080/4090급 GPU가 매우 유용합니다.
🦾 4️⃣ 유니트리 하드웨어 확보 및 테스트
단계 | 설명 |
---|---|
1. Unitree Robot 구매/임대 | Go1 (4족), B2 (산업용), H1 (휴머노이드) |
2. 로컬 SDK 연결 테스트 | ROS2에서 모터, 센서 상태 데이터 읽기 |
3. 제어 명령 송신 테스트 | 키보드 제어, 기본 모션 수행 |
4. 자체 알고리즘 적용 | 시뮬레이션→실물 로봇 전이(Sim2Real) |
📦 참고: 초기 개발은 시뮬레이션(Gazebo/Isaac Sim)에서 충분히 가능하며, 실물 로봇은 PoC 단계에서 도입해도 좋습니다.
🔬 5️⃣ 시뮬레이션·강화학습 환경 구성
도구 | 용도 |
---|---|
Isaac Sim (NVIDIA Omniverse) | 실시간 물리 시뮬레이션 및 병렬 학습 |
Gazebo / Webots | 경량 시뮬레이터 (ROS2 연동 테스트) |
PyTorch + RLlib + Stable Baselines3 | 로봇 제어 정책 학습용 |
TensorRT / ONNX Runtime | 학습된 정책을 실제 로봇에 배포 |
🧠 학습 순서 제안:
Isaac Sim 설치 → ROS2 Plugin 연결 → RL 환경 구성 → 정책 학습 → Sim2Real 전이
🔧 6️⃣ 개발 워크플로우 정리
1️⃣ 개발환경 세팅 (Ubuntu + ROS2 + Isaac Sim + Unitree SDK)
2️⃣ C++/Python 코드 작성 (ROS2 Node)
3️⃣ 시뮬레이션 검증 (Isaac Sim / Gazebo)
4️⃣ 실제 로봇 연결 (Ethernet / Wi-Fi)
5️⃣ 정책 전이 및 튜닝 (Sim2Real)
6️⃣ 데이터 로깅 및 리포트 자동화
💡 7️⃣ 기타 실무 준비
- GitHub 계정 및 ROS 패키지 버전 관리 (Git submodule 활용)
- Docker 기반 재현 가능한 개발 환경 구축
- ROS2 Launch 파일 작성법 학습
- NVIDIA Isaac ROS 패키지 연동 (Perception, SLAM, Navigation)
🚀 최종 요약: 중요도 순
1️⃣ C++ / Python 숙련
2️⃣ ROS2 및 Unitree SDK 이해
3️⃣ GPU 워크스테이션 환경 구축
4️⃣ Unitree 로봇(또는 Isaac Sim 모델) 확보
5️⃣ 시뮬레이션 기반 강화학습 환경 구축
6️⃣ Sim2Real 전이 및 정책 실험
7️⃣ Git/Docker 기반 협업 환경 세팅
참고영상
엥지유니버스 | 현업 로봇개발자가 말하는 Isaac Sim 제대로 활용하는 법 l 엔비디아, 로봇 시뮬레이션, Sim2Real
첫 포스팅: 25.10.08 / 포스트문의: JUN (naebon@naver.com)