Releases: pypose/bae
Release list
Improve direct solver usability
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
psjacby @zitongzhan in #31 - Fix cudss shape by @zitongzhan in #34
warp-langis 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
trimSE3flag.
Full Changelog: 0.2.3...0.2.4
Improve PGO numerical stability
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.catnow correctly skips Jacobian trace wiring for fixed (non-optimizable) tensors- psjac extended to support inner tensor concatenation
PR list
TrackingTensordoes not track inmap_transformsby @zitongzhan in #30- Fix the gauge freedom for PGO by @zitongzhan in #14
Full Changelog: 0.2.1...0.2.3
PGO CI artifacts
This release contains dataset samples used for CI only.
Samples are adopted from:
https://lucacarlone.mit.edu/datasets/
Minor bug fixes
What's Changed
baeis 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
This release makes TrackingTensor LieTensor-aware and removes the main API friction when optimizing PyPose group parameters.
Highlights:
TrackingTensornow preserves PyPose LieTensor type information, includingpp.SE3.- LieTensor behavior survives
nn.Parameter(...), indexing, andtorch.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.SE3parameters no longer needtrim_SE3_gradinpgo.py. - Mixed Euclidean tensors that embed SE(3) state still remain supported through the existing
trim_SE3_gradpath.
Compatibility:
- No new public tracking API was introduced.
- Existing plain-tensor TrackingTensor behavior is unchanged.
trim_SE3_gradis 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