Skip to content

Releases: pypose/bae

Improve direct solver usability

Choose a tag to compare

@zitongzhan zitongzhan released this 23 May 07:30

Nvidia CuDSS can now be installed as a pip package instead of apt package, simplifying installation for rootless users.

What's Changed

  • align API with psjac by @zitongzhan in #31
  • Fix cudss shape by @zitongzhan in #34
  • warp-lang is now added as a dependency. Version number is guarded to prevent calling into removed private warp API.
  • (Not affecting most users) Minor bug fix for the local gradient of trimSE3 flag.

Full Changelog: 0.2.3...0.2.4

Improve PGO numerical stability

Choose a tag to compare

@zitongzhan zitongzhan released this 30 Apr 00:26

PGO previously lacked proper handling of gauge freedom (the unobservable global SE(3) transform), which could cause divergence or drift. This release improves the compute graph parsing so that it supports gauge-free PGO that anchors the optimization to the first pose.

Key additions:

  • Gauge-free PGO solver with SO(3) pose adjoint and retraction Jacobian
  • Non-log-type robust loss function for outlier resistance
  • .g2o dataset loader and convergence tests against Ceres baselines
  • Visualization support via gif rendering of optimization trajectories
    Autograd fixes:
  • torch.cat now correctly skips Jacobian trace wiring for fixed (non-optimizable) tensors
  • psjac extended to support inner tensor concatenation

PR list

Full Changelog: 0.2.1...0.2.3

PGO CI artifacts

PGO CI artifacts Pre-release
Pre-release

Choose a tag to compare

@zitongzhan zitongzhan released this 29 Apr 23:57

This release contains dataset samples used for CI only.
Samples are adopted from:
https://lucacarlone.mit.edu/datasets/

Minor bug fixes

Choose a tag to compare

@zitongzhan zitongzhan released this 25 Apr 02:13
3d9110d

What's Changed

  • bae is accepted to IEEE T-RO
  • It is safe to use pypose main branch now as LieTensor ops are merged to pypose main branch #23
  • support printing for TrackingTensor by @zitongzhan in #27

Full Changelog: 0.2...0.2.1

Improve user-facing API usability

Choose a tag to compare

@zitongzhan zitongzhan released this 02 Apr 01:15
c9be7bf

This release makes TrackingTensor LieTensor-aware and removes the main API friction when optimizing PyPose group parameters.

Highlights:

  • TrackingTensor now preserves PyPose LieTensor type information, including pp.SE3.
  • LieTensor behavior survives nn.Parameter(...), indexing, and torch.cat(..., dim=0).
  • PGO residuals can now use native LieTensor expressions directly, without repeated pp.SE3(...) casts.
  • True LieTensor parameters use geometry-aware update shapes automatically via a shared parameter_update_shape(...) helper.
  • True pp.SE3 parameters no longer need trim_SE3_grad in pgo.py.
  • Mixed Euclidean tensors that embed SE(3) state still remain supported through the existing trim_SE3_grad path.

Compatibility:

  • No new public tracking API was introduced.
  • Existing plain-tensor TrackingTensor behavior is unchanged.
  • trim_SE3_grad is still needed only for mixed tensor layouts, not for real PyPose LieTensor parameters.

Update with

pip install --force-reinstall git+https://github.com/zitongzhan/bae.git