pypose/pypose

A library for differentiable robotics on manifolds.

解决的问题

PyPose 解决了机器人领域中以数据为中心的深度学习与基于物理的优化之间的鸿沟。深度学习擅长感知但难以泛化,而基于物理的优化泛化能力强但缺乏高层语义理解且需要手动调优。PyPose 提供了一个统一的框架来结合这两种方法,使机器人学习更加高效、可解释,并能适应新环境。

工作原理

PyPose 构建在 PyTorch 之上,使用命令式风格的接口将深度感知模型与基于物理的优化相结合。它提供了处理几何变换和系统动力学的专业工具:

  • LieTensor:专门用于 Lie 群(如 SO3, SE3, Sim3)和 Lie 代数的系统,能够实现旋转和变换的高效计算。
  • Modules:用于系统建模 (LTI, LTV, NLS)、滤波 (EKF, UKF, PF)、控制 (LQR) 和求解器 (EPnP) 的预构建组件。
  • Optimizers:二阶优化器,如 Gauss-Newton 和 Levenberg-Marquardt,包括支持稀疏 Jacobian 追踪,以加速 bundle adjustment 等复杂任务。

适用对象

专为需要将深度学习与经典物理优化相结合,以实现实际机器人应用的机器人研究人员和开发人员设计。

亮点

  • 基于 PyTorch:与深度学习生态系统无缝集成。
  • 高效率:支持 Lie 群和 Lie 代数 Jacobian 计算的并行计算。
  • 稀疏 Jacobian 追踪:显著加速大规模问题的二阶优化。
  • 全面的工具集:包含广泛的 Lie 群操作、滤波器和二阶优化器。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目