# pypose/pypose

A library for differentiable robotics on manifolds.

Repository: https://github.com/pypose/pypose
Canonical: https://ross.abutalabs.com/products/pypose
Homepage: https://pypose.org
Language: Python
License: Apache-2.0
License Family: permissive
Topics: robotics, pytorch, python, learning, lie-group, optimization, deep-learning, computer-graphics, geometric-deep-learning, physics, slam, control, planning, autonomous-robots, kalman-filter, pose-estimation, pose-graph-optimization
Last push: 2026-08-09T23:36:49+00:00

## Health v2 (maintenance only)
Score: 91/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 96, release rhythm 79, longevity 100
- inputs: {"age_days": 1756, "days_push": 24, "days_rel": 143, "gap_med": 21.5, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1605, forks 131 (observed 2026-08-28T04:05:10.382571+00:00)

## What it is
PyPose is a PyTorch-based Python library for differentiable robotics on manifolds, combining deep perceptual models with physics-based optimization. It provides Lie group/algebra tensors (SO3, SE3, Sim3, RxSO3), robotics modules like EKF/UKF filters, IMU preintegration, LQR, and PnP solvers, plus second-order optimizers such as Gauss-Newton and Levenberg-Marquardt.

## Use cases
- differentiable robotics research with pytorch
- SLAM and visual-inertial odometry development
- pose graph optimization and bundle adjustment
- IMU preintegration for state estimation
- Kalman filtering for robot localization
- robot control and MPC with learned components
- differentiable Lie group operations on SE(3)
- Gauss-Newton and Levenberg-Marquardt optimization in deep learning pipelines

## When to choose
- you need differentiable geometric robotics primitives integrated with PyTorch
- you are building SLAM, VIO, control, or planning systems that mix learning and physics-based optimization
- you need efficient, parallelized Jacobians for Lie groups and Lie algebras
- you want second-order optimizers for factor-graph or bundle-adjustment style problems

## When to avoid
- you need a full out-of-the-box SLAM pipeline rather than building blocks
- your project does not use PyTorch or Python
- you need real-time embedded deployment without GPU/autodiff overhead
- you only need classical robotics libraries without differentiability

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, math, simulation
- domain: robotics, machine-learning, autonomous-vehicles, simulation, computer-vision
- platform: python, windows
- tags: robotics, pytorch, lie-groups, differentiable-optimization, slam, kalman-filter, pose-estimation, pose-graph-optimization, imu-preintegration, control, motion-planning, gauss-newton, levenberg-marquardt, state-estimation, linux, macos, gpu

## Member repositories
- pypose/pypose (main) score 91

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:10.382571+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:52:17.616148+00:00, confidence not recorded.
  - readme: https://github.com/pypose/pypose (fetched 2026-08-28T04:05:10.382571+00:00, sha c1a9cfac69d5)
  - homepage: https://pypose.org (fetched 2026-08-29T11:23:58.754064+00:00, sha f67b58447fc9)
  - site_page: https://pypose.org/docs (fetched 2026-08-29T11:23:58.758086+00:00, sha 9e54ab90d79b)
  - site_page: https://pypose.org/about-us (fetched 2026-08-29T11:23:58.759965+00:00, sha 5ce89edf972f)
  - registry_pypi: https://pypi.org/pypi/pypose/json (fetched 2026-08-29T11:23:58.765315+00:00, sha c80cacff488b)
  - site_page: https://pypose.org/get-started (fetched 2026-08-29T11:23:58.761984+00:00, sha 44136fa355b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
