0.2.0
This release brings Theseus to PyTorch >= 2.0.0 and updates backends for differentiable Lie groups and differentiable kinematics with the new streamlined and more efficient torchlie
and torchkin
from our team. Both torchlie
and torchkin
are independent PyPI installable libraries that are released as 0.1.0
along with this Theseus release.
Major Updates
- Deprecated torch < 2.0.0. by @luisenp in #525
- Move
torchlie
out of labs by @luisenp in #523 - Graduate FK code out of
labs
by @luisenp in #550 - Add Differentiable CEM solver by @dishank-b in #329
- New NonlinearOptimizer hierarchy by @luisenp in #440
- Added utility to automatically check jacobians of a given cost function. by @luisenp in #465
- Added planning example with SE2 and nonholonomic cost by @luisenp in #474
- Add inverse kinematics example by @fantaosha in #538
Other Changes
- Detach the derivative though the Hessian by @bamos in #425
- Using resource_class:xlarge for complex CPU unit tests in CI. by @luisenp in #447
- Fixed error that was preventing requirements versions to be used in setup by @luisenp in #448
- Update to isort 5.11.5 in precommit. by @luisenp in #453
- Modified build scripts to support nightly packages. by @luisenp in #467
- Added SignedDistanceField2D.to() by @luisenp in #468
- Add a unit test to check the PGO loss values automatically by @luisenp in #456
- Minor fixes to motion planner code. by @luisenp in #469
- Change in data model in test_theseus_layer by @dishank-b in #477
- Change HingeCost to receive more flexible limits by @luisenp in #491
- Added experimental option allowing a variables to be both optim. and aux. by @luisenp in #492
- Made the optimizer configurable in the MotionPlanner. by @luisenp in #493
- Allow vmap to work on th.SE3 log_map by @rmurai0610 in #495
- Made the threshold for converting occupancy -> SDF configurable. by @luisenp in #498
- Make SDF boundary value configurable by @rmurai0610 in #500
- Fixed convergence check error in DCEM with negative error metrics. by @luisenp in #510
- Added an option to flatten_dims in RobustCostFunction. by @luisenp in #503
- Update pre-commit versions and skip failing mypy import tests. by @luisenp in #518
- Rename check functions by @fantaosha in #516
- Fix installing from source on Windows by explicitly mentioning cusparse in setup.py by @aiddun in #534
- Migrate SO3 (reissue) by @luisenp in #539
- Migrate SE3 backend to
torchlie
by @luisenp in #526 - Unit tests for
left_project
with broadcasting by @luisenp in #527 - Added configurable global options for
torchlie
andtheseus
by @luisenp in #528 - Adding some docs by @luisenp in #529
- Add other autograd options for
AutoDiffCostFunction
by @luisenp in #532 - Fix package info for building wheel by @luisenp in #533
- Fix SO3 rotate check by @luisenp in #541
- Add
kwarg
to disable manifold checks in constructor by @luisenp in #540 - Add extra eps for dlog by @fantaosha in #544
- Change Lie group import to
torchlie
by @luisenp in #545 - Fix a bug un precommit that was preventing
isort
andblack
from being run by @luisenp in #546 - Rename GlobalOptions as Params and remove duplication of some of them with
torchlie
by @luisenp in #547 - Removed Objective.error_squared_norm() by @luisenp in #548
- Add README for torchlie by @luisenp in #549
- transform_from -> transform by @fantaosha in #551
- Add untransform by @fantaosha in #552
- Add
d_near_zero
toSE2
by @fantaosha in #553 - update torchlie readme by @mhmukadam in #557
- update theseus readme by @mhmukadam in #558
- Add torchkin example by @fantaosha in #559
- Update build_wheel.sh to properly use created conda environment by @JingyuQian in #561
Development in labs
Package
- Add Lie groups functional library by @fantaosha in #379
- Some clean up of Lie Groups code by @luisenp in #449
- Restructures Lie groups labs package and adds LieTensor by @luisenp in #450
- Make LieTensor a subclass of torch.Tensor and override function/operators by @luisenp in #452
- Fixed broken compute graph in LieTensor.new() by @luisenp in #478
- Add forward kinematics package to
labs
by @fantaosha in #415 - Add transform_from to Lie group by @fantaosha in #483
- Update Labs API by @luisenp in #488
- Lie Labs API v3 by @luisenp in #494
- Lie Labs API example by @luisenp in #476
- fixed bugs for jacobians of transform_from by @fantaosha in #505
- Add
labs.lie
support forfunctorch
andvmap
pt. 1 by @luisenp in #504 - Implement SE3.normalize() by @fantaosha in #506
- Update checks to be consistent with multi-batch implementation by @fantaosha in #508
- Implementation of multi-batch unary Lie group operators by @fantaosha in #509
- Add multi-batch support for SE(3) unary operators by @fantaosha in #512
- Add multi-batch compose() and transform_from() for SO(3) and SE(3) by @fantaosha in #513
- Implemented multi-batch gradient ops by @fantaosha in #515
- Multi-batch unit tests for Lie groups by @luisenp in #522
- Refactored FK to support vmap and other staff by @fantaosha in #543
New Contributors
- @dishank-b made their first contribution in #477
- @rmurai0610 made their first contribution in #495
- @aiddun made their first contribution in #534
- @JingyuQian made their first contribution in #561
Full Changelog: 0.1.4...0.2.0