0.1.0
This code release is also associated with arXiv v1 paper release.
What's Changed
- Add SO3 support by @luisenp in #46
- Taoshaf.add so3 class by @fantaosha in #65
- Add SO3 rotate and unrotate by @fantaosha in #57
- add so3._hat_matrix_check() by @fantaosha in #59
- Encapsulated data loading functions in tactile pushing example into a new class by @luisenp in #51
- Added a TactilePoseEstimator class to easily create TheseusLayer for tactile pushing by @luisenp in #52
- Refactor tactile pushing model interface by @luisenp in #55
- Minor fixes 02/01/2022 by @luisenp in #66
- add adjoint, hat and vee for SE3 by @fantaosha in #68
- Add SE3.exp_map() and SE3.log_map() by @fantaosha in #71
- Add SE3.compose() by @fantaosha in #72
- add SE3.transform_from and SE3.transform_to by @fantaosha in #80
- Updated to CircleCI's next-gen images. by @luisenp in #89
- Updated README with libsuitesparse installation instructions. by @luisenp in #90
- Added kwarg to NonlinearOptimizer.optimizer() for tracking error history by @luisenp in #82
- Merge infos results for truncated backward modes by @luisenp in #83
- Fix Issue 88 by @maurimo in #97
- Fixed bug in Variable.update() that was breaking torch graph... by @luisenp in #96
- Forced Gauss-Newton step for last iterations of truncated backward. by @luisenp in #81
- Add automatic differentiation on the Lie group tangent space by @fantaosha in #74
- Add rand() to LieGroup by @fantaosha in #95
- Fix SO2 rotate and unrotate jacobian by @fantaosha in #58
- Add projection for sparse Jacobian matrices by @fantaosha in #98
- Add LieGroup Support for AutoDiffFunction by @fantaosha in #99
- Add SE2.transform from() and fix shape bugs in SE2.transform_to() by @fantaosha in #103
- Switch SE3.transform_from and SE3.transform_to by @fantaosha in #104
- Enabled back ellipsoidal damping in LM with linear solvers support checks by @luisenp in #87
- Changed name of pytest mark for CUDA extensions. by @luisenp in #102
- Fix backpropagation bugs in SO3 and SE3 log_map by @fantaosha in #109
- Add analytical jacobians for
LieGroup.exp_map
by @fantaosha in #110 - error and errorsquaredNorm optional data by @jeffin07 in #105
- Add analytical derivatives for
LieGroup.log_map()
by @fantaosha in #114 - Refactor
SO3.to_quaternion
to fix backward bugs and improve the accuracy aroundpi
by @fantaosha in #116 - Change RobotModel.forward_kinematics() interface by @luisenp in #94
- Added error handling for missing
matplotlib
andomegaconf
installation when usingtheg
by @luisenp in #119 - Add jacobians argument to exp_map and log_map functions by @joeaortiz in #122
- Add pose graph optimization example by @fantaosha in #118
- Added 'secret' option to keep constant step size when using truncated… by @luisenp in #130
- Add jacobians for
LieGroup.local()
by @fantaosha in #129 - Added method to update SE2 from x_y_theta. by @luisenp in #131
- A complete version of Bundle Adjusment by @luisenp in #117
- Fixed jacobians for Between and VariableDifference by @fantaosha in #133
- Added batching support to tactile pushing example. by @luisenp in #132
- Changed tactile pose example optim var initialization to use start pose for all vars by @luisenp in #137
- Override Vector operators in Point2 and Point3 by @jeffin07 in #124
- Merge
Between
andVariableDiff
withRelativePoseError
andPosePriorError
by @fantaosha in #136 - Fix a bug in Objective.copy() by @fantaosha in #139
- Added option to force max iterations for TactilePoseEstimator. by @luisenp in #141
- black version bump by @jeffin07 in #144
- Added code to split tactile pushing trajectories data into train/val by @luisenp in #143
- Removed RobotModel.dim() by @luisenp in #156
- [bug-fix] Fixed wrong data shape initialization for GPCostWeight.dt by @luisenp in #157
- Made AutoDiffCostFunction._tmp_optim_vars copies of original by @luisenp in #155
- Add forward kinematics using an URDF to theseus.embodied.kinematics. by @exhaustin in #84
- Fixed dtype error in
se3.py
that came up in unit tests by @joeaortiz in #158 - Add-ons for backward experiments on Tactile Pose Estimation by @luisenp in #164
- Change unit tests to avoid making mypy a main requirement. by @luisenp in #168
- Update readme and contrib by @luisenp in #169
- Add ManifoldGaussian class for messages in belief propagation by @joeaortiz in #121
- More efficient implementation of forward kinematics by @exhaustin in #175
- Changing setup virtualenv command. by @luisenp in #178
- Updated SDF object in collision cost functions whenever an aux var is updated by @luisenp in #177
- Fixed device bug that occurred when merging info in TRUNCATED backward modes by @luisenp in #181
- Allow constant inputs to cost functions to be passed as floats by @jeffin07 in #150
- Minor changes to core test code. by @luisenp in #197
- adding logo by @mhmukadam in #200
- Added aliases for Difference and Between by @luisenp in #199
- Fixed infinite recursion in GPMotionModel.copy() by @luisenp in #201
- Fix bug in diagonal cost weight by @luisenp in #203
- Added a check in TheseusFunction that enforces copy() also copies the variables by @luisenp in #202
- Fixed bug in Objective.error() that was updating data unncessarily. by @luisenp in #204
- DLM gradients by @rtqichen in #161
- Setup now uses torch for checking CUDA availability, and CI runs py3.9 tests by @luisenp in #206
- Update README to specify python versions and CUDA during install step + by @cpaxton in #207
- Vectorization refactor by @luisenp in #205
- Implement Robust Cost Function by @luisenp in #148
- Added option for auto resetting LUCudaSparseSolver if the batch size needs to change by @luisenp in #212
- Address comments on RobustCostFunction implementation by @luisenp in #213
- Moved the method that retracts all variables with a given delta to Objective by @luisenp in #214
- Fixed flaky unit test for Collision2D jacobians. by @luisenp in #216
- Bundle Adjustment using RobustCostFunction by @luisenp in #149
- Fixed the cross product bug for SE3.exp_map and SE3.log_map by @fantaosha in #217
- Vectorize optimization variables retraction step by @luisenp in #215
- Moved Vectorize(objective) to the Optimizer class. by @luisenp in #218
- Added on-demand vectorization and also vectorized Objective.error(). by @luisenp in #221
- Vectorize PGO by @luisenp in #211
- Destroy cusolver context in CusolverLUSolver destructor by @luisenp in #222
- Jacobian computation using loop by @fantaosha in #225
- Vectorization handles singleton costs by @luisenp in #226
- Added close-formed jacobian for DLM perturbation cost. by @luisenp in #224
- SE2/SE3/SO3 - consolidate EPS, add dtype-conditioned EPS and add float32 unit tests by @luisenp in #220
- Add normalization to Lie group by @fantaosha in #227
- Add normalization to Lie group constructor by @fantaosha in #228
- Benchmarking PGO on main branch by @fantaosha in #233
- Renamed
Variable.data
asVariable.tensor
by @luisenp in #229 - More data -> tensor renaming by @luisenp in #230
- Added state history tracking by @luisenp in #234
- Unified all cost functions so that cost weight is the last non-default argument by @luisenp in #235
- Ensure that CHOLMOD python interface casts to 64-bit precision by @luisenp in #238
- Add sphinx and readthedocs configuration by @luisenp in #237
- Fixed bug in state history for matrix data tensors. by @luisenp in #240
- Added isort for examples folder by @luisenp in #243
- Avoid batching SDF data, since it's shared by all trajectories. by @luisenp in #246
- Fixed device bug in DLM perturbation's jacobians by @luisenp in #247
- Benchmark PGO on the main branch by @fantaosha in #244
- Added checks to enforce 32- or 64-bit dtype by @luisenp in #245
- Update readme by @mhmukadam in #251
- Added MANIFEST.in and changed project name to theseus-ai. by @luisenp in #252
- Adding simple example by @mhmukadam in #253
- Added option to clear cuda cache when vectorization cache is cleared. by @luisenp in #249
- Added evaluation directory by @luisenp in #241
New Contributors
- @jeffin07 made their first contribution in #105
- @joeaortiz made their first contribution in #122
- @exhaustin made their first contribution in #84
- @rtqichen made their first contribution in #161
- @cpaxton made their first contribution in #207
Full Changelog: 0.1.0-b.2...0.1.0