PyPose
Biblioteca PyTorch para robótica diferenciável com aprendizado profundo e otimização de grupos de Lie
Licença
Apache-2.0
Visão geral
PyPose é uma biblioteca baseada em PyTorch que conecta aprendizado profundo e otimização baseada em física para robótica. Fornece implementações diferenciáveis de operações de grupos de Lie, filtros de Kalman (EKF, UKF), otimização de grafos de poses, otimizadores de segunda ordem (Gauss-Newton, Levenberg-Marquardt), pré-integração de IMU e controle LQR — tudo integrado com o autograd do PyTorch para cálculo de gradientes de ponta a ponta através de pilhas completas de robótica.
PyPose conecta aprendizado profundo e otimização baseada em física para robótica fornecendo operações diferenciáveis de grupos de Lie, filtros de estimação de estado e otimizadores de segunda ordem no PyTorch. Permite aprendizado baseado em gradientes de ponta a ponta através de pipelines completos de percepção e controle robótico.
Por que importa
PyPose aborda uma lacuna crítica no software de robótica ao tornar algoritmos clássicos diferenciáveis e compatíveis com aprendizado profundo moderno. Permite que pesquisadores combinem a generalização de métodos baseados em física com a flexibilidade de redes neurais para SLAM, controle e estimação de estado.
Problema que resolve
Algoritmos tradicionais de robótica para SLAM, controle e estimação de estado não são diferenciáveis, tornando-os incompatíveis com pipelines de treinamento de aprendizado profundo. PyPose encapsula esses algoritmos em operações diferenciáveis do PyTorch, permitindo aprendizado baseado em gradientes através de pilhas completas de robótica.
Pontos principais
- Operações diferenciáveis de grupos de Lie (SO3, SE3, Sim3) no PyTorch
- Estimação de estado: EKF, UKF, filtro de partículas, pré-integração de IMU
- Otimizadores de segunda ordem: Gauss-Newton, Levenberg-Marquardt
- Instalável via pip com integração completa do autograd PyTorch
Para quem é
- Pesquisadores em robótica na interseção de aprendizado profundo e métodos clássicos
- Pesquisadores de SLAM e odometria visual buscando pipelines diferenciáveis
- Profissionais de aprendizado robótico que precisam de priors baseados em física em redes neurais
Limitações
- Requer familiaridade tanto com PyTorch quanto com teoria de grupos de Lie
- O desempenho para SLAM em escala muito grande pode não igualar implementações dedicadas em C++
- Biblioteca ainda em amadurecimento — alguns recursos avançados podem estar incompletos