finds.dev← search

// the find

pypose/pypose

★ 1,556 · Python · Apache-2.0 · updated May 2026

A library for differentiable robotics on manifolds.

PyPose is a PyTorch extension for differentiable robotics that treats Lie groups (SO3, SE3, Sim3) as first-class tensor types with autograd support. It bundles EKF/UKF/PF filters, LQR, IMU preintegration, and second-order optimizers (Gauss-Newton, Levenberg-Marquardt) under one roof. The target user is a robotics researcher who wants to backprop through geometry — pose graph optimization, bundle adjustment, SLAM — without re-implementing the math themselves.

1. LieTensor is the real contribution: Lie group operations that compose with PyTorch autograd natively, including batched parallel Jacobian computation that benchmarks faster than Theseus. 2. The v0.9.5 sparse Jacobian tracing (`sjac=True`, `@psjac`) is a meaningful addition — sparse LM for bundle adjustment on GPU without hand-coding sparse structures. 3. Module coverage is unusually wide for one library: filters, PnP, LQR, MPC, IMU preintegration, ICP — each backed by a published paper, not a student's weekend project. 4. Test suite is thorough and organized by subsystem; the examples directory has runnable code for each module with real datasets.

1. Documentation quality is uneven — the API reference is auto-generated Sphinx and sparse on 'when would you actually use this vs. scipy/g2o', leaving newcomers to reverse-engineer intent from examples. 2. The optimizer API has too many moving parts: you need an `nn.Module`, a `solver`, a `strategy`, and a `scheduler` just to run LM — the abstraction layers made sense for research flexibility but will frustrate anyone who just wants to minimize a pose graph. 3. No GPU sparse linear solver beyond PCG — if your problem needs a direct sparse factorization (CHOLMOD-style), you're out of luck and will hit PCG convergence issues on ill-conditioned systems. 4. Maintenance bus factor looks thin: commit history is driven by a small CMU lab group, and issues from external contributors sit open for months — adopting this in production means owning the bugs you find.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →