Releases: ami-iit/jaxsim
Releases · ami-iit/jaxsim
JaxSim v0.5.0
What's Changed
- Add mesh support by @lorycontixd in #156
- Add scheduled workflow configuration to update
pixi
lockfile by @flferretti in #221 - Update
pixi
lockfile by @github-actions in #222 - Update
pixi
lockfile by @github-actions in #224 - Add
pyupgrade
configuration and update to latestruff
version by @flferretti in #226 - Add alternative rigid contact model by @xela-95 in #227
- Add support for 32bit simulations by @flferretti in #225
- Add support for continuous joints by @diegoferigo in #228
- Add relaxed rigid contacts model by @flferretti in #223
- Improve sampling random joint positions by @diegoferigo in #229
- Add support for sampling
JaxSimModelData
objects with random base orientation by @diegoferigo in #230 - Fix
jaxsim.api.model.link_contact_forces
by @diegoferigo in #232 - Account for joint torques in the rigid contact models by @flferretti in #233
- Use
jax.tree.map
instead ofjax.tree_utils.tree_map
by @flferretti in #234 - Speed up various functions avoiding using
jax.vmap
on indexes by @flferretti in #235 - Simplify CRBA by merging two
jax.lax.cond
branches by @diegoferigo in #236 - Fix references representation in
system_velocity_dynamics
by @xela-95 in #240 - Fix conversion of non-inertial-fixed contact forces in
jaxsim.api.contact.collidable_point_dynamics
by @diegoferigo in #241 - Fix
jaxsim.api.model.link_contact_forces
by @xela-95 in #242 - Rigid contacts speedup improvements by @xela-95 in #237
- Remove
is_urdf
argument when building the model by @flferretti in #238 - Refactor
SoftContacts
algorithm by @diegoferigo in #245 - Allow
Rigid*ContactsState
to accept kwargs by @flferretti in #246 - Update
ContactModel.compute_contact_forces
APIs by @diegoferigo in #247 - Account for joint torques in relaxed rigid contact model by @flferretti in #251
- Update
pixi
lockfile by @github-actions in #249 - Switch from
jaxopt
tooptax
in relaxed rigid contact model by @flferretti in #244 - Handle auxiliary dictionary in variable step integrators by @flferretti in #255
- Uniform usage of
joint_forces
andjoint_force_references
argument names by @diegoferigo in #253 - Remove
*ContactsState
classes by @diegoferigo in #256 - Split static and dynamic contact params by @diegoferigo in #257
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #258
- Add new
ViscoElasticContacts
by @diegoferigo in #248 - Remove absolute time from
JaxSimModelData
and introduceJaxSimModel.time_step
by @diegoferigo in #262 - Disable host callbacks and enforce 32bit precision when running on TPU by @flferretti in #263
- Add helper to convert
JaxSimModelData
tomujoco.mjData
by @diegoferigo in #264 - Refactor contact models and add tests by @diegoferigo in #260
- Update existing notebooks of examples by @diegoferigo in #265
- Add example notebook for rigid body dynamics by @flferretti in #261
- Add dependabot by @diegoferigo in #266
- Bump
peter-evans/create-pull-request
from 6 to 7 in the dependencies group by @dependabot in #267 - Fix API deprecations in tests by @flferretti in #268
- Fix bug in Delassus matrix computation in example notebook by @xela-95 in #270
- Update contact models by @diegoferigo in #269
- Make
FrameParameters.body
static by @flferretti in #273 - Refactor
integrators
module and redefineJaxSimModel
class attributes by @flferretti in #252 - Fix reset of system velocity in
model.step
by @xela-95 in #278 - Enforce joint position limits by @flferretti in #275
- Fix running AD through
jaxsim.math.Rotation.from_axis_angle
by @diegoferigo in #277 - Optimize performance and memory usage in dynamics computations by @flferretti in #280
- Update Devcontainer configuration to use
pixi
by @flferretti in #276 - Update maintainers and CODEOWNERS files by @flferretti in #282
- Raise error if HTTP request fails by @flferretti in #284
- Update pixi configuration by @diegoferigo in #281
- Consider only enabled collidable points in contact forces computation for
Rigid
,RelaxedRigid
andSoft
contact models by @xela-95 in #274 - Finalize minor changes for v0.5 release by @flferretti in #272
- Update
pixi
lockfile by @github-actions in #285 - Enhance code quality checks and fix documentation errors by @flferretti in #287
- Refactor
RelaxedRigidContacts
by @diegoferigo in #286 - Fix timeout in ReadTheDocs build by @flferretti in #288
- Add
trimesh
in Pixi dependencies by @flferretti in #291
Full Changelog: v0.4.2...v0.5.0
JaxSim v0.4.2
What's Changed
- Add function to compute the Jacobian derivative of additional frames rigidly attached to links by @xela-95 in #210
- Add GIFs to README.md by @diegoferigo in #211
- Simplify SO3 instantiation and quaternion handling by @flferretti in #212
- Add function to compute the jacobian derivative of collidable points by @flferretti in #213
- Add
data
parameter tojaxsim.api.references.JaxSimModelReferences.zero
by @xela-95 in #215 - Use
libosmesa
for headless rendering in Colab by @flferretti in #214 - Add the possibility to set forces to frames by @flferretti in #209
- Allow building a MJCF without user-defined cameras by @flferretti in #216
- Fix
apply_frame_forces
inreferences
module by @flferretti in #217 - Fix
JaxSimModelReferences.apply_frame_forces
by @flferretti in #220 - Allow models with a single link in RBDAs with
JAX_DISABLE_JIT
by @flferretti in #219
Full Changelog: v0.4.1...v0.4.2
JaxSim v0.4.1
What's Changed
- Enable
pre-commit.ci
for style checking by @flferretti in #197 - Improve support of visualizing heightmaps/hfield in the Mujoco passive viewer by @diegoferigo in #202
- Fix
test_simulations::test_box_with_zero_gravity
by @diegoferigo in #204 - Use explicit integration of quaternions also in schemes on SO(3) by @diegoferigo in #205
- Improve custom cameras support in
MujocoVisualizer
andMujocoVideoRecorder
by @diegoferigo in #206 - Fix default normal of plane terrain by @diegoferigo in #207
Full Changelog: v0.4.0...v0.4.1
JaxSim v0.4.0
What's Changed
- Update CI/CD workflow to interface with PyPI as Trusted Publisher by @diegoferigo in #174
- Check
plane_normal
type when instantiating aPlaneTerrain
by @flferretti in #177 - Speed up passing different
JaxSimModel
with same pytree structure to JIT-compiled functions by @diegoferigo in #179 - Raise exceptions from jit-compiled functions by @diegoferigo in #181
- Add
ContactModel
base class and abstract contact handling inJaxSimModel
andJaxSimModelData
by @flferretti in #178 - Validate link, frame, and joint indices in our jit-compiled APIs by @diegoferigo in #182
- Update exceptions test by @diegoferigo in #184
- Always forward to the integrator the
model
anddata
passed tojaxsim.api.model.step
by @diegoferigo in #183 - Refactor contact forces sum in
api.ode.system_velocity_dynamics
by @flferretti in #180 - Extend test of link bias acceleration by @diegoferigo in #185
- Speed up computation of contact jacobians by @diegoferigo in #188
- Move
pixi.lock
to git lfs by @diegoferigo in #189 - Fix integration stage for integrators of type
ExplicitRungeKuttaSOMixin
by @xela-95 in #192 - Finalize minor changes for v0.4 release by @flferretti in #186
- Add example notebooks in documentation by @flferretti in #187
- Update project's metadata by @diegoferigo in #193
- Fix
PlaneTerrain.__eq__
when called in jit context by @diegoferigo in #198
Full Changelog: v0.3.0...v0.4.0
JaxSim v0.3.0
What's Changed
- Fix
RodModelToMjcf.convert
when nocameras
argument is passed by @diegoferigo in #135 - Add pyproject.toml-based pixi support by @traversaro in #134
- Remove
cuda-cupti
andcuda-nvcc
run dependencies for pixi by @flferretti in #138 - Remove
unix
requirement frompixi.toml
by @flferretti in #142 - Allow backward compatibility with Python 3.10 by @flferretti in #143
- Add missing dependency in
pixi.toml
by @flferretti in #144 - Fix typo in rbda.rst by @xela-95 in #145
- Support reducing a model considering non-zero positions of removed joints by @diegoferigo in #137
- Mark the use of Colab for the examples as broken by @flferretti in #152
- Improve compilation time of RBDAs for models with many DoFs by @flferretti in #153
- Read frames from the original model description by @diegoferigo in #150
- Update
rod
deprecated method in the visualizer by @flferretti in #155 - Fix method on
jaxsim.math.Transform
by @flferretti in #157 - Restore Colab support for example notebooks by @flferretti in #154
- Fix processing of parsed frames by @diegoferigo in #158
- Expose quantities related to generic frames by @xela-95 in #148
- Add support for computing the bias acceleration of the center of mass by @diegoferigo in #161
- Compute the pose and the jacobian of the implicit frames associated to collidable points by @diegoferigo in #163
- Fix passing different PyTrees to JIT-compiled functions by @diegoferigo in #165
- Improve efficiency of the test suite by @flferretti in #166
- Preserve the original terrain in reduced models by @xela-95 in #168
- Ensure consistent link forces and fix static joint friction by @flferretti in #162
- Always use the link frame in body-fixed and mixed output representations of model Jacobian by @diegoferigo in #167
- Fix prismatic joints transform in
math.joint_model.supported_joint_motion
by @flferretti in #170 - Add algorithm to compute the Jacobian derivative of a link by @diegoferigo in #169
- Test J̇ computation against AD by @diegoferigo in #171
- Add algorithm to compute the free-floating Coriolis matrix by @diegoferigo in #172
- Minor changes for the upcoming release by @diegoferigo in #173
New Contributors
Full Changelog: v0.2.0...v0.3.0
JaxSim v0.2.0
What's Changed
- Add new GitHub workflow to include the ReadTheDocs preview in PRs by @diegoferigo in #70
- Enhance type annotation, style and improve
high_level.Model
performance by @flferretti in #69 - Update
jaxsim.typing
module by @diegoferigo in #71 - Fix implicit integrator by @diegoferigo in #68
- Add semi-implicit Euler scheme with quaternion integrated on manifold by @diegoferigo in #73
- Fix ReadTheDocs preview url in PRs by @diegoferigo in #74
- Use structural pattern matching for
jcal
by @flferretti in #77 - Enhance maintainability and performance by @flferretti in #78
- Run
pytest
in CI only in PRs that update either sources or tests by @diegoferigo in #80 - Update documentation on latest API by @flferretti in #79
- Add GitHub Codespaces support by @diegoferigo in #81
- Add
jaxsim.mujoco
package with resources to render a scene using the Mujoco viewer by @diegoferigo in #83 - Simplify
integrators
module structure by @flferretti in #82 - Add pre-commit configuration by @flferretti in #86
- Add CONTRIBUTING file and pre-commit hook instructions by @flferretti in #87
- Add static rendering in
MujocoVideoRecorder
by @flferretti in #85 - Document maintainers in CODEOWNERS by @flferretti in #90
- Add lxml dependency by @giotherobot in #89
- Remove --forked from pytest as workaround for jax 0.4.25 by @traversaro in #94
- Add workflow_dispatch and schedule events to ci_cd workflow and constraint jax<0.4.25 to be by @traversaro in #93
- Revert "Remove --forked from pytest as workaround for jax 0.4.25" by @flferretti in #95
- Initialize JAX configuration as per the v0.4.25 release by @flferretti in #92
- Add camera support to
jaxsim.mujoco
visualizer by @flferretti in #91 - Introduce new functional APIs by @diegoferigo in #88
- Add
jaxsim.api.references
with functional resources to handle model references by @diegoferigo in #96 - Fix contact params estimation in fixed-base models by @flferretti in #98
- Move
CODEOWNERS
to the correct directory by @flferretti in #100 - Fix alternative velocity representations of new functional APIs by @diegoferigo in #99
- Fix loading of jointless model by @traversaro in #104
- Avoid to use as Static attributes classes that do not have a eq method that returns a scalar bool by @traversaro in #105
- Add new test suite of functional APIs by @diegoferigo in #106
- Initial support of parametric hardware models by @diegoferigo in #101
- Migrate
jaxsim.api
package away fromPhysicsModel
by @diegoferigo in #112 - Improve utilities provided by
JaxsimDataclass
by @diegoferigo in #116 - Add variable-step integrators (adaptive time step) by @diegoferigo in #115
- Extend functional APIs by @diegoferigo in #117
- Fix
api.contact.in_contact
by @flferretti in #119 - Optimize Jacobian algorithm by @diegoferigo in #121
- Enhance parametric hardware models by @diegoferigo in #120
- Remove old OOP classes by @diegoferigo in #123
- Finalize the functional APIs and replace the OOP classes by @diegoferigo in #108
- Add test checking if link forces are applied correctly by @diegoferigo in #126
- Add support for inclined planes and heightmap visualization (from #122) by @flferretti in #125
- Add
ruff
action and configuration by @flferretti in #114 - Compute link bias accelerations J̇ν by @diegoferigo in #127
- Update CI/CD pipeline to speed up checks on PRs not altering the Python package by @diegoferigo in #128
- Update documentation to the latest API by @flferretti in #124
- Update README by @diegoferigo in #129
- Update Python package metadata by @diegoferigo in #131
- Support user-defined cameras in
mujoco.loaders
by @flferretti in #133 - Update notebook examples to the functional API by @flferretti in #132
New Contributors
- @giotherobot made their first contribution in #89
- @traversaro made their first contribution in #94
Full Changelog: v0.1...v0.2.0
JAXsim 0.1
What's Changed
- First JAXsim version by @diegoferigo in #1
- Add semi-implicit Euler integrator by @diegoferigo in #9
- Step the simulator over horizon by @diegoferigo in #10
- Implement CRBA with
jax.lax.scan
by @diegoferigo in #14 - Implement Jacobian with
jax.lax.scan
by @diegoferigo in #16 - Implement Forward Kinematics with
jax.lax.scan
by @diegoferigo in #15 - Make JIT compilation of Jacobian algorithm independent from body index by @diegoferigo in #17
- Unify lin/ang serialization of 6D quantities by @diegoferigo in #18
- Remove references of Plucker coordinates by @diegoferigo in #19
- Support coulomb and viscous joint friction by @diegoferigo in #21
- Implement joint position limits by @diegoferigo in #22
- Add continuous integration workflow by @diegoferigo in #24
- Switch parser to
ami-iit/rod
by @diegoferigo in #25 - Deploy to PyPI by @diegoferigo in #23
- Minor improvements by @diegoferigo in #26
- Update
isort
andblack
style of the repository by @diegoferigo in #28 - Documentation enhancements by @diegoferigo in #29
- Improve model description support by @diegoferigo in #30
- Add new JaxSim.insert_model_from_description by @diegoferigo in #31
- Fix detection of joint connecting world to base for fixed-base models by @diegoferigo in #32
- Use
uint
for simulation time by @diegoferigo in #33 - Rewrite soft-contacts algorithm by @diegoferigo in #34
- ABA and RNEA with
jax.lax.scan
, Python 3.11, fixed bugs in other representations by @diegoferigo in #38 - Allow keeping the base pose when a model is reduced by @diegoferigo in #42
- Allow to insert models from
rod
objects by @diegoferigo in #47 - Support Python ≥ 3.10 by @diegoferigo in #46
- Introduce resources to streamline the combination of jax transformation with OOP pattern by @diegoferigo in #44
- Apply new OOP pattern compatible with jax transformations by @diegoferigo in #48
- Minor updates including small API changes by @diegoferigo in #53
- First steps towards automatic differentiation of RBDAs by @diegoferigo in #54
- Make all fields of
simulator.JaxSim
static excludingSimulatorData
by @diegoferigo in #55 - Added Filippo Ferretti as maintainer by @DanielePucci in #56
- Update README.md by @diegoferigo in #57
- Fix CI/CD by @diegoferigo in #58
- New high-level APIs with OOP wrappers by @diegoferigo in #59
- Enhance Forward Dynamics computation by adding motor dynamics by @flferretti in #62
- Add JAXsim Notebook for PD Controller with Gravity Compensation by @flferretti in #63
- Add JAXsim Notebook for Parallel Simulation by @flferretti in #65
- Lint and enhance type hinting compliance (PEP 484) by @flferretti in #64
- Fix arguments order in
ode.dx_dt
by @flferretti in #66 - Add
readthedocs
based documentation for the JAXsim API by @flferretti in #61 - Prepare for first release by @diegoferigo in #67
New Contributors
- @diegoferigo made their first contribution in #1
- @DanielePucci made their first contribution in #56
- @flferretti made their first contribution in #62
Full Changelog: https://github.com/ami-iit/jaxsim/commits/v0.1