iit-DLSLab/Quadruped-PyMPC

A model predictive controller for quadruped robots based on the single rigid body model and written in python. Gradient-based (acados) or Sampling-based (jax)

해결하는 문제

사족 보행 로봇을 위한 고성능 모델 예측 제어기(MPC)를 제공하여, 트로팅, 페이싱, 바운딩과 같은 복잡한 동작을 안정적이고 견고하게 수행할 수 있도록 합니다.

작동 원리

이 프로젝트는 Python을 사용하여 단일 강체 모델 기반의 제어기를 구현합니다. 두 가지의 서로 다른 계산 방식을 제공합니다:

  1. 그래디언트 기반 MPC: acados를 사용하여 빠른 계산(CPU에서 5ms 미만)을 수행하며, 선택적 발판 최적화, 지면 반력 평활화 및 안정성 기준을 포함합니다.
  2. 샘플링 기반 MPC: jax를 사용하여 GPU에서 수천 개의 병렬 롤아웃을 실행(2ms 미만)하며, MPPI 및 CEMPPI와 같은 전략과 다양한 제어 매개변수화(0차, 선형 또는 3차 스플라인)를 지원합니다.

대상 사용자

Mujoco 및 실제 하드웨어와 호환되는 유연한 Python 기반 MPC 프레임워크가 필요한 다리 보행 로봇 연구원 및 엔지니어를 위해 설계되었습니다.

주요 특징

  • 그래디언트 기반(CPU) 및 샘플링 기반(GPU) 최적화를 모두 지원하는 이중 구현.
  • 매우 낮은 지연 시간: 그래디언트 기반 5ms 미만, 샘플링 기반 롤아웃 2ms 미만.
  • MPPI, CEMPPI 및 Feedback-MPPI를 포함한 고급 제어 전략 지원.
  • Mujoco 시뮬레이션과 호환되며 Unitree 로봇 통신 도구를 통한 실제 배포 가능.

관련

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