Quadruped-PyMPC
Framework MPC Python para locomoção quadrúpede com controle por gradiente e amostragem
Licença
BSD-3-Clause
Visão geral
Quadruped-PyMPC é um framework de controle preditivo de modelo baseado em Python para locomoção de robôs quadrúpedes do Laboratório de Sistemas Dinâmicos com Pernas do IIT. Implementa o modelo de corpo rígido único com duas abordagens complementares: otimização baseada em gradiente via acados (menos de 5ms em CPU) e controle baseado em amostragem massivamente paralelo via JAX (10.000 rollouts em menos de 2ms em GPU). Publicado no IROS 2024 e IEEE RAL 2025, validado em robôs Unitree reais.
Quadruped-PyMPC é um framework MPC Python para locomoção quadrúpede que oferece otimização baseada em gradiente via acados (menos de 5ms em CPU) e controle baseado em amostragem massivamente paralelo via JAX (10.000 rollouts em menos de 2ms em GPU). Suporta múltiplas marchas, otimização de apoio e implantação em hardware real em robôs Unitree.
Por que importa
Este projeto torna o controle de locomoção quadrúpede de ponta acessível em Python, com resultados publicados no IROS 2024 e IEEE RAL 2025. A abordagem dual gradiente/amostragem e a validação em hardware real do Laboratório de Sistemas Dinâmicos com Pernas do IIT o tornam uma plataforma de pesquisa valiosa.
Problema que resolve
Implementar controle preditivo de modelo para locomoção quadrúpede envolve otimização complexa, agendamento de contatos e restrições de tempo real. Este framework fornece uma implementação Python limpa com abordagens tanto de gradiente quanto de amostragem alcançando desempenho em tempo real.
Pontos principais
- MPC dual: baseado em gradiente (acados, <5ms) e baseado em amostragem (JAX, 10K rollouts <2ms)
- Suporta marchas de trote, passo e galope com otimização de apoio
- Validado no mundo real em robôs quadrúpedes Unitree
- Integração ROS2 para implantação em hardware
Para quem é
- Pesquisadores de robótica com pernas trabalhando em controle quadrúpede
- Engenheiros que desejam MPC em Python sem escrever código de otimização C++
- Equipes implantando controladores MPC em robôs quadrúpedes Unitree
Limitações
- Baseado no modelo de corpo rígido único — uma simplificação da dinâmica completa
- A implantação no mundo real requer robôs Unitree e seu SDK
- A amostragem baseada em GPU requer hardware NVIDIA com suporte JAX CUDA