PyPose
Libreria PyTorch per la robotica differenziabile con deep learning e ottimizzazione sui gruppi di Lie
Licenza
Apache-2.0
Panoramica
PyPose è una libreria basata su PyTorch che unisce deep learning e ottimizzazione basata sulla fisica per la robotica. Fornisce implementazioni differenziabili delle operazioni sui gruppi di Lie, filtri di Kalman (EKF, UKF), ottimizzazione di pose graph, ottimizzatori del secondo ordine (Gauss-Newton, Levenberg-Marquardt), preintegrazione IMU e controllo LQR, tutto integrato con l'autograd di PyTorch per il calcolo end-to-end dei gradienti attraverso interi stack robotici.
PyPose unisce deep learning e ottimizzazione basata sulla fisica per la robotica, fornendo all'interno di PyTorch operazioni differenziabili sui gruppi di Lie, filtri di stima dello stato e ottimizzatori del secondo ordine. Consente l'apprendimento end-to-end basato sui gradienti attraverso intere pipeline robotiche di percezione e controllo.
Perché è importante
PyPose colma una lacuna critica del software robotico rendendo differenziabili gli algoritmi classici e compatibili con il deep learning moderno. Permette ai ricercatori di combinare la capacità di generalizzazione dei metodi basati sulla fisica con la flessibilità delle reti neurali per SLAM, controllo e stima dello stato.
Il problema che risolve
Gli algoritmi robotici tradizionali per SLAM, controllo e stima dello stato non sono differenziabili, e quindi sono incompatibili con le pipeline di addestramento del deep learning. PyPose racchiude questi algoritmi in operazioni PyTorch differenziabili, consentendo l'apprendimento basato sui gradienti attraverso interi stack robotici.
Punti chiave
- Operazioni differenziabili sui gruppi di Lie (SO3, SE3, Sim3) in PyTorch
- Stima dello stato: filtro di Kalman esteso (EKF), UKF, filtro a particelle, preintegrazione dell'unità di misura inerziale (IMU)
- Ottimizzatori del secondo ordine: Gauss-Newton, Levenberg-Marquardt
- Installabile con pip, con piena integrazione con l'autograd di PyTorch
A chi si rivolge
- Ricercatori di robotica all'incrocio tra deep learning e metodi classici
- Ricercatori di SLAM e odometria visiva che vogliono pipeline differenziabili
- Professionisti dell'apprendimento robotico che hanno bisogno di prior basati sulla fisica nelle reti neurali
Limiti
- Richiede familiarità sia con PyTorch sia con la teoria dei gruppi di Lie
- Le prestazioni per SLAM su scala molto grande potrebbero non eguagliare le implementazioni C++ dedicate
- Libreria ancora in maturazione: alcune funzionalità avanzate potrebbero essere incomplete