Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

PyPose

PyTorch library for differentiable robotics with deep learning and Lie group optimization

License

Apache-2.0

Overview

PyPose is a PyTorch-based library that bridges deep learning and physics-based optimization for robotics. It provides differentiable implementations of Lie group operations, Kalman filters (EKF, UKF), pose graph optimization, second-order optimizers (Gauss-Newton, Levenberg-Marquardt), IMU preintegration, and LQR control — all integrated with PyTorch's autograd for end-to-end gradient computation through entire robotics stacks.

PyPose bridges deep learning and physics-based optimization for robotics by providing differentiable Lie group operations, state estimation filters, and second-order optimizers within PyTorch. It enables end-to-end gradient-based learning through entire robotics perception and control pipelines.

Why it matters

PyPose addresses a critical gap in robotics software by making classical algorithms differentiable and compatible with modern deep learning. It enables researchers to combine the generalization of physics-based methods with the flexibility of neural networks for SLAM, control, and state estimation.

Problem it solves

Traditional robotics algorithms for SLAM, control, and state estimation are not differentiable, making them incompatible with deep learning training pipelines. PyPose wraps these algorithms in differentiable PyTorch operations, enabling gradient-based learning through entire robotics stacks.

Key takeaways

  • Differentiable Lie group operations (SO3, SE3, Sim3) in PyTorch
  • State estimation: EKF, UKF, particle filter, IMU preintegration
  • Second-order optimizers: Gauss-Newton, Levenberg-Marquardt
  • pip-installable with full PyTorch autograd integration

Who it is for

  • Robotics researchers at the intersection of deep learning and classical methods
  • SLAM and visual odometry researchers wanting differentiable pipelines
  • Robot learning practitioners who need physics-based priors in neural networks

Limitations

  • Requires familiarity with both PyTorch and Lie group theory
  • Performance for very large-scale SLAM may not match dedicated C++ implementations
  • Library still maturing — some advanced features may be incomplete

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.