Unity-Technologies/Unity-Robotics-Hub
Central repository for tools, tutorials, resources, and documentation for robotics simulation in Unity.
Unity‑Robotics‑Hub – Simulation Pro
개요 – Unity 게임 엔진을 완전한 기능을 갖춘 로봇 시뮬레이션 플랫폼으로 전환하는 Unity 제공 패키지, 튜토리얼 및 샘플 에셋 모음입니다. 핵심은 Simulation Pro로, Unity 장면에서 직접 로봇 모델을 가져오고, 센서를 시뮬레이션하며, ROS 2 메시지를 교환할 수 있게 해주는 Unity 패키지입니다.
주요 기능
- URDF importer – URDF 파일(표준 로봇 설명 형식)을 Unity로 드래그 앤 드롭하여 즉시 사용 가능한 로봇 계층 구조를 얻을 수 있습니다.
- Sensor simulation – 내장된 Lidar, RGB‑D 카메라 및 IMU를 통해 사실적인 포인트 클라우드, 이미지 및 관성 데이터를 생성합니다.
- ROS‑2 bridge – C# 스크립트에서 ROS 2 토픽을 게시하고 구독하여 외부 ROS 2 노드와의 실시간 연결을 가능하게 합니다.
- Headless Linux builds – 그래픽 UI가 없는 서버에서 Unity 시뮬레이션을 실행하여 병렬적이고 높은 처리량의 실험을 수행할 수 있습니다.
기본 제공 사항
- 각 기능을 시연하는 샘플 Unity 프로젝트(예: Panda 암, AMR 로봇).
- 로봇 가져오기, ROS 2 메시지 연결, 센서 구성, 전체 시뮬레이션 구축, 이미지·포인트 클라우드·CSV 로그와 같은 데이터 내보내기 과정을 안내하는 5개 모듈, 5시간 분량의 교육 과정(문서 및 Unity Academy 영상).
- 개념 설명, 단계별 절차, 각 단계를 확인하기 위한 체크포인트를 제공하는 문서 파일 (
docs/*.md).
일반적인 워크플로우
- Unity 6.3+를 설치하고 Unity Package Manager를 통해 Simulation Pro 패키지를 추가합니다.
- URDF 임포터를 사용하여 로봇(예: 제공된 Panda 암)을 Unity 장면으로 가져옵니다.
- 제공된 센서 프리팹(LiDAR, 카메라, IMU)을 추가하고 매개변수를 구성합니다.
- ROS‑2 엔드포인트 커넥터를 활성화하여 Unity 시뮬레이션을 다른 머신에서 실행 중인 ROS 2 환경(참조 설정은 Ubuntu 26.04 및 ROS 2 Lyrical)에 연결합니다.
- 시뮬레이션된 센서 데이터를 사용하여 로봇을 제어하는 Python
rclpy노드를 실행합니다. - 분석 또는 머신러닝 학습을 위해 시뮬레이션 출력(이미지, 포인트 클라우드, 로그)을 캡처합니다.
대상 사용자
- 로봇 개발자 – 실제 하드웨어에 코드를 배포하기 전에 시각적이고 물리적으로 정확한 테스트베드가 필요한 분.
- 연구원 – 데이터 생성(예: 인식 모델 학습)을 위해 대규모 헤드리스 시뮬레이션이 필요한 분.
- 엔지니어 – Unity와 C#에는 익숙하지만 ROS 2는 처음인 분(과정은 Unity 기초 지식만 가정합니다).
시작하기
- 리포지토리를 클론합니다.
- Unity를 열고 새 프로젝트(Unity 6.3+)를 만든 다음, Package Manager를 통해 Simulation Pro를 추가합니다.
- 첫 번째 모듈 (
docs/M1-Introduction.md)에 따라 Panda URDF를 가져오고 장면을 확인합니다. - 모듈 2‑5를 진행하여 ROS 2 메시징, 센서, 실시간 ROS 2 연결 및 데이터 캡처를 추가합니다.
- ROS 2 설정은 공식 ROS 2 Lyrical 문서를 참조하십시오. 이 허브는 ROS를 자동으로 설치해주지 않습니다.
지원 및 커뮤니티
- 질문: README에 링크된 Unity Robotics 포럼 스레드.
- 버그/기능 요청: 제공된 템플릿을 사용하여 GitHub issues 제출.
라이선스 – Apache 2.0(귀속 표시가 있는 경우 상업적 사용이 허용되는 관대한 라이선스).
모든 세부 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트