Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

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

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.