AI 융합 로봇 H/W 및 S/W 개발 준비

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

🧩 추천 스터디 순서:

  1. C++ → 2. Python → 3. Linux CLI + ROS 환경 명령어 → 4. ROS2 Topic/Service 구조 이해

참고: 엔비디아 아이작 심스 시작하기
https://docs.isaacsim.omniverse.nvidia.com/4.5.0/index.html

https://docs.isaacsim.omniverse.nvidia.com/4.5.0/index.html#useful-manuals

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

https://huggingface.co/unitreerobotics

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

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 PackagesGitHub에서 제공: /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.04Isaac Sim, PyTorch 학습용
CPUi7 이상 / 16코어 권장ROS2 멀티스레드 노드 실행
RAM최소 32GBIsaac 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)

Leave a Reply