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) 프레임워크를 제공하여 트로팅, 페싱, 번싱과 같은 복잡한 동작을 수행할 수 있게 합니다. 실시간으로 최적의 제어 동작을 계산함으로써 다리 보행 중 안정성과 균형을 유지하는 문제를 해결합니다.

작동 방식

시스템은 단일 강체 모델을 사용하여 로봇의 움직임을 예측하고 최적화합니다. 두 가지 다른 구현 경로를 제공합니다:

  • 기울기 기반 MPC: acados를 사용하여 빠른 계산(현대 CPU에서 5ms 미만)을 가능하게 하며, 발자국 최적화 및 리아푸노프 함수 기반 안정성 기준과 같은 기능을 포함합니다.
  • 샘플링 기반 MPC: jax를 활용하여 대규모 병렬 롤아웃(10,000회를 GPU에서 2ms 미만에 처리)을 가능하게 하며, MPPI, CEMPPI, 다양한 제어 파라미터화(영차, 선형, 또는 3차 스플라인)를 사용한 랜덤 샘플링 전략을 지원합니다.

대상 사용자

이 도구는 Mujoco를 시뮬레이션에 사용하거나 실제 Unitree 로봇에 배포하는 다리 보행 및 제어 시스템 연구자 및 엔지니어를 위한 것입니다.

주요 특징

  • 이중 엔진 접근법: CPU 기반 기울기 최적화와 GPU 가속 샘플링을 모두 지원합니다.
  • 실제 환경 대응 가능: Mujoco와 호환되며, 상태 추정 및 통신 도구와 통합되어 실제 로봇 배포에 적합합니다.
  • 고효율성: 기울기 기반 및 샘플링 기반 제어 루프 모두에서 극도로 낮은 지연 시간을 제공합니다.
  • 고급 제어 옵션: 지면 반력에 대한 선택적 스무딩과 더 높은 강건성을 위한 스텝 주파수 적응 기능을 포함합니다.

관련

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