leggedrobotics/pace-sim2real

PACE: A systematic approach for sim-to-real transfer of legged robots, identifying actuator and joint dynamics with standard joint encoders.

PACE – 보행 로봇의 시뮬레이션-실제 전이

기능 – PACE(Precise Adaptation through Continuous Evolution)는 물리 시뮬레이터에서 실제 로봇으로 보행 로봇 컨트롤러를 이동하는 데 도움을 주는 Python 프레임워크입니다. 다음과 같이 작동합니다:

  • 실제 액추에이터/관절 데이터를 수집합니다(또는 시뮬레이션 데이터를 대용으로 사용).
  • CMA‑ES 진화 알고리즘을 사용하여 물리적으로 의미 있는 동역학 매개변수(예: 모터 상수, 마찰)를 최적화합니다.
  • 학습된 매개변수를 NVIDIA Isaac Lab에 피드백하여 시뮬레이션 로봇이 하드웨어처럼 동작하도록 하여 이동 성능을 향상시킵니다.

주요 구성 요소

  • pace_sim2real 패키지 – 핵심 클래스(PaceCfg, PaceSim2realEnvCfg, CMAESOptimizer) 및 모터 모델 정의를 위한 유틸리티.
  • 예제 스크립트:
    • scripts/pace/data_collection.py – Isaac Lab에서 짧은 여기 운동을 실행하고 데이터를 저장합니다.
    • scripts/pace/fit.py – CMA‑ES를 실행하여 액추에이터/관절 매개변수를 피팅하고 로그 폴더를 작성합니다.
  • Isaac Lab의 작업/환경 시스템과의 통합(pace_sim2real.tasks가 환경을 등록).

대상 사용자 – 보행 플랫폼(예: ANYmal D)을 다루는 연구자나 엔지니어로, 이미 NVIDIA Isaac Lab을 사용하고 있으며 시뮬레이션-실제 전이를 위해 로봇 동역학을 체계적으로 식별할 필요가 있는 분들.

시작하기

  1. Isaac Lab(v5.0 이상)을 설치합니다.
  2. 저장소를 클론하고 패키지를 편집 가능 모드로 설치합니다(pip install -e source/pace_sim2real).
  3. Isaac Lab conda 환경을 활성화합니다.
  4. 데이터 수집 스크립트를 실행한 다음 피팅 스크립트를 실행합니다. 피팅된 매개변수는 logs/pace/<robot>_sim/ 아래에 나타납니다.

문서 및 지원 – 전체 문서는 https://pace.filipbjelonic.com (MkDocs)에서 호스팅됩니다. 이 프로젝트는 Apache‑2.0 라이선스이며, ETH Zurich Robotic Systems Lab에서 적극적으로 유지 관리하고 있으며, 기여 지침과 pre-commit 포맷 훅을 포함합니다.


요약 – PACE는 시스템 식별과 진화적 최적화를 위한 전문 오픈소스 도구 상자로, Isaac Lab 시뮬레이션과 실제 보행 로봇 간의 연결을 강화하여 시뮬레이션-실제 전이를 더욱 신뢰할 수 있게 만듭니다.

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트