Commit Graph

1379 Commits

Author SHA1 Message Date
Yuval Tassa 7f74487a26 Fix implicit integrator derivatives for actearly actuators.
The derivative calculation for actuator velocity in implicit integrators now correctly accounts for the `actearly` flag, using the next activation value when `actearly` is true.

PiperOrigin-RevId: 868598722
Change-Id: Ia180afb15b31a718170aeaf9d4ac514bb9e6073b
2026-02-11 04:03:46 -08:00
Sam Haves 6715a0ceaa Expose mju resource functions to public header.
Many of these functions are useful when writing a custom decoder.

PiperOrigin-RevId: 868321921
Change-Id: I7e0dd285e0559b6f486acf8cbf4376ff8d91943d
2026-02-10 14:31:41 -08:00
Yuval Tassa 4fa062c7e5 Update unreleased MuJoCo version from 3.4.1 to 3.5.0.
PiperOrigin-RevId: 868169291
Change-Id: I8041842811f5f664c80116993315f50d549b5575
2026-02-10 08:52:04 -08:00
Alessio Quaglino 0041fdcbb0 Add implicit stiffness for flex_interp to mj_implicitSkip.
PiperOrigin-RevId: 867706885
Change-Id: Ic94c65b618a415609bffe3d69a86f9034f2d2400
2026-02-09 11:54:27 -08:00
Yuval Tassa c1b3b3063e Fix gravcomp being ignored for movable bodies without joints. Fixes #3066
PiperOrigin-RevId: 867679545
Change-Id: I8c16d3a4c93d121fcc30cab5179ba44fe49aaa19
2026-02-09 10:55:07 -08:00
Yuval Tassa ed15493aef Reorganize changelog
PiperOrigin-RevId: 867201472
Change-Id: I5841bd10656546db7c544ff910ed2983ce88415e
2026-02-08 06:48:14 -08:00
Yuval Tassa 6419534bad Add actuator and sensor delays. Fixes #1004
PiperOrigin-RevId: 866478839
Change-Id: Id21a6da0f98454c8fa39ea5af8a5e213d6eae497
2026-02-06 08:47:36 -08:00
Taylor Howell a52180069c MuJoCo Warp documentation: Options update
PiperOrigin-RevId: 865820928
Change-Id: I36fd4c52ad8bcb9cc8ecae7c93410023a4e56ed0
2026-02-05 01:47:51 -08:00
Baruch Tabanpour d07f39b4a0 Add graph mode to MJX, in preparation of supporting staged graph capture.
PiperOrigin-RevId: 865380826
Change-Id: I840b48027e1142f87eb745d0d19b0cd3e87904b2
2026-02-04 06:38:13 -08:00
Taylor Howell 0ec7259e5c MuJoCo Warp documentation: Options
PiperOrigin-RevId: 864932415
Change-Id: I54fc7e8972ea38da783c5537fdfa62644f180e51
2026-02-03 10:14:22 -08:00
Taylor Howell 24e5b966c3 MuJoCo Warp documentation: remove beta software warning.
PiperOrigin-RevId: 864761934
Change-Id: I56afaf9bf9e86ed3ea34ff576230d3b3bc4bf28a
2026-02-03 01:56:35 -08:00
Yuval Tassa 55f300b78c Fix typo
PiperOrigin-RevId: 862781462
Change-Id: I88844e2148e821ec92e37aa8aab3554c132a4d43
2026-01-29 09:57:09 -08:00
Yuval Tassa 883e69d7b1 Minor improvements to collision sensor documentation.
PiperOrigin-RevId: 862767431
Change-Id: I53861430e7868b23e37be9694f195a2dd3685db4
2026-01-29 09:22:23 -08:00
Taylor Howell 57b5ebc92b MuJoCo Warp documentation: height field collision overflow
PiperOrigin-RevId: 862454467
Change-Id: Iaccc44aa0c57faf6ad2dbc62f2b727cea2e4980d
2026-01-28 16:55:10 -08:00
Taylor Howell 8889c13fa7 MuJoCo Warp documentation: Inertia matrix factorization
PiperOrigin-RevId: 862290080
Change-Id: I7acd30f1fff5cca95ca1139f71710cab5c493561
2026-01-28 10:18:50 -08:00
Yuval Tassa c5925e7b0e Improve wording in changelog
PiperOrigin-RevId: 862288773
Change-Id: I2dcd09ed1fb929396218ee32e99242d9be508b3b
2026-01-28 10:15:11 -08:00
Yuval Tassa 1d44f7a0d0 Minor fix to changelog
PiperOrigin-RevId: 862213255
Change-Id: I20017785aca047efaead582f84a1ba9769411d41
2026-01-28 06:48:39 -08:00
Yuval Tassa 1d2d0b1c37 Remove batching optimization from GEOM* sensors
PiperOrigin-RevId: 861938606
Change-Id: Ibb135a4d99cab9ce23a04f844f7c730e8f3b31c8
2026-01-27 16:44:10 -08:00
Yuval Tassa 5fb47df197 Add mjData flags marking lazily evaluated pipeline stages
PiperOrigin-RevId: 861763477
Change-Id: Ib613c56949264573a16306800658f868d2aa7665
2026-01-27 09:45:06 -08:00
Alessio Quaglino ba32568138 Move flex vertex-edge adjacency to mjModel.
PiperOrigin-RevId: 861717037
Change-Id: I2ad8090b0318cb04b43d13966cb42260c82ef930
2026-01-27 07:41:47 -08:00
Haroon Qureshi 0ddbb46fa1 Refactor mjVFS and resource management.
Resource operations (e.g. mju_openResource, mju_readResource, and
mju_closeResource, etc.) are now all handled by a VFS instance. It
is now up to the VFS to determine which provider to use in order to
handle those operations.

This allows us to dynamically add/remove (aka "mount") providers to
a VFS to handle special requests. mj_addFileVFS and mj_addBufferVFS
have been reimplemented as two such use-cases. Moreover, we expose
the mounting behaviour with two new functions: mj_mountVFS and
mj_unmountVFS.

PiperOrigin-RevId: 861550939
Change-Id: I070eb4bcc2982466c8f368f7918005538baa5185
2026-01-26 23:53:29 -08:00
Yuval Tassa 5fc6ed4eda Make XML schema dropdown titles clickable links.
PiperOrigin-RevId: 861182944
Change-Id: I01fec8f102a87f8daf65ad5ba5ed3a09c0022cd0
2026-01-26 07:26:27 -08:00
Yuval Tassa 7f8084ae1d Rename XML reference icons to avoid anchor issues.
Before this change:
`https://mujoco.readthedocs.io/en/latest/XMLreference.html#body-site-m`

After this change:
`https://mujoco.readthedocs.io/en/latest/XMLreference.html#body-site`

PiperOrigin-RevId: 861180069
Change-Id: I6f15906c8be463825248487021f9f46fc82a95da
2026-01-26 07:16:08 -08:00
Alessio Quaglino 7da271c687 Add vertex equality option.
PiperOrigin-RevId: 860299454
Change-Id: I7befd8e5f4c8bac6d74684a96a9cc3cee9ae1e29
2026-01-23 16:30:05 -08:00
Yuval Tassa 30b903b6c0 Migrate mjModel size fields from int to mjtSize.
This change updates all size-related members within the `mjModel` struct from `int` to `mjtSize`. This allows MuJoCo to handle models with a larger number of elements. Corresponding changes were made to macros, function signatures, and I/O routines to accommodate the new `mjtSize` type.

PiperOrigin-RevId: 860144595
Change-Id: I701c6d607715d240766b6210a9773cd9e4258c59
2026-01-23 09:41:49 -08:00
Taylor Howell 4a64017a5f Add documentation for MJX API
PiperOrigin-RevId: 860108133
Change-Id: I85469efcfe49d320ef8b89c9d174f33499a22b31
2026-01-23 07:53:17 -08:00
Alessio Quaglino 54dd623650 Add vertex-based flex constraints (dim=2).
PiperOrigin-RevId: 859552050
Change-Id: I61d4b9dc40f041c5b930e5f8810a803e8bccb87a
2026-01-22 04:54:53 -08:00
Taylor Howell d173ee5bee MuJoCo Warp documentation: option-ccd-iterations -> option-ccd_iterations
PiperOrigin-RevId: 858100397
Change-Id: I358875ba56e6769fda75dba72377286c40771716
2026-01-19 02:42:04 -08:00
Taylor Howell 9ba545b8b0 MuJoCo Warp documentation: Memory.
PiperOrigin-RevId: 857148640
Change-Id: I7f21bebb2186a5dd4287a8d2ee9b430f823b9051
2026-01-16 07:13:38 -08:00
Taylor Howell d86acd7e12 MuJoCo Warp documentation: Warmstart.
PiperOrigin-RevId: 856608941
Change-Id: Iae1bd0a3916d98affff4d5dbb442f9d951622e52
2026-01-15 04:50:27 -08:00
Alessio Quaglino e56b31e98f Reduce flexedge_J size from nflexedge x nv to the effective sparse size.
PiperOrigin-RevId: 856290141
Change-Id: Ide297d1b6f0e3aa07e3e20bf9ab44b6501097695
2026-01-14 11:18:41 -08:00
Google DeepMind cbc1136502 Roll back VFS refactor due internal breakages
PiperOrigin-RevId: 856273160
Change-Id: I4097e05ed4e48ebee05b4347d0f227d4f39c1b09
2026-01-14 10:38:29 -08:00
Yuval Tassa cc4c2bc398 Improve wording in changelog.
PiperOrigin-RevId: 856204666
Change-Id: I6ccf2ea727210e4695fff8d56ff7de10b9ebd73c
2026-01-14 07:29:10 -08:00
Haroon Qureshi d387578783 Refactor mjVFS and resource management.
Resource operations (e.g. mju_openResource, mju_readResource, and
mju_closeResource, etc.) are now all handled by a VFS instance. It
is now up to the VFS to determine which provider to use in order to
handle those operations.

This allows us to dynamically add/remove (aka "mount") providers to
a VFS to handle special requests. mj_addFileVFS and mj_addBufferVFS
have been reimplemented as two such use-cases. Moreover, we expose
the mounting behaviour with two new functions: mj_mountVFS and
mj_unmountVFS.

PiperOrigin-RevId: 856166919
Change-Id: Id723d612ffc0bff020705cf19ef95fbf24676840
2026-01-14 05:19:57 -08:00
Yuval Tassa e50e2e9691 Correct dimensions for constraint-related quantities in documentation.
PiperOrigin-RevId: 856159539
Change-Id: I83f0414a78239cae9c91bb51b16f5e2549891517
2026-01-14 04:54:03 -08:00
Yuval Tassa 218226fc95 Breaking change: Add surface normal output to MuJoCo raycast functions.
PiperOrigin-RevId: 855781592
Change-Id: Id96b1ca7eaf722e260cc69d7706c28dc51f52d92
2026-01-13 10:22:21 -08:00
Yuval Tassa 7e21f18fd3 Document compiler/usethread fix.
PiperOrigin-RevId: 855735924
Change-Id: I5b638ccf2a74194b363cf7c6436f78c1c3d9b0e1
2026-01-13 08:21:27 -08:00
Alessio Quaglino a49576e469 Move flexedge sparse Jacobian indices to mjModel.
PiperOrigin-RevId: 855718305
Change-Id: Ic136f4efa6735b934288f65c332d71ee8b0f6da5
2026-01-13 07:33:17 -08:00
Taylor Howell 013268c283 Documentation: Pair-wise colliders.
PiperOrigin-RevId: 855245724
Change-Id: Iffad5dc426350040f730dc1a7b9766f079ef949e
2026-01-12 08:47:45 -08:00
Yuval Tassa f0e1d8ce2c Fix typo in XML reference: damping -> damper.
PiperOrigin-RevId: 855198029
Change-Id: I2cc2b833e8a7fad8c63d1eb7b3febdd54d0c9056
2026-01-12 06:13:20 -08:00
Yuval Tassa 5979c5aa03 Fix link in changelog.
PiperOrigin-RevId: 855183695
Change-Id: I9ef63fe03f3b68707ff7eec1813403a08b0a8074
2026-01-12 05:22:14 -08:00
Haroon Qureshi cb9a9c159c Remove getdir from mjpResourceProvider.
All known implementations were effectively the same as the default fallback. It was just adding unneeded complexity. Removing this now will help with upcoming improvements to resource providers.

PiperOrigin-RevId: 855163273
Change-Id: I529fc18d0d03a8dc676c909ec9e4b1da1454d414
2026-01-12 04:07:42 -08:00
Taylor Howell 1d482047d1 MuJoCo Warp documentation: How to fix simulation runtime warnings?
PiperOrigin-RevId: 855149274
Change-Id: Iccfb85f1ec836cb06235d21d23e913f77a816487
2026-01-12 03:17:13 -08:00
Yuval Tassa a26f09accf Standardize function docstring style in MuJoCo API.
Updates function comments to consistently use a semicolon (`;`) before describing the return value and to use the imperative form "return" instead of "returns".

Also fix error in docstring of `mjp_registerResourceProvider`

PiperOrigin-RevId: 854888532
Change-Id: I311239a2770ded5febece9958ae4e94c1e522600
2026-01-11 09:00:35 -08:00
Sam Haves a5dc57c0c3 Move OpenUSD parsing to usd_decoder
Add usd_decoder to mujoco/plugin.
  - Previously was src/experimental/usd/usd_to_mjspec.cc, now that same spec is returned by the plugin.

PiperOrigin-RevId: 854350962
Change-Id: Ia980190a557c50ce8197980922a2594b613859b4
2026-01-09 14:48:29 -08:00
Taylor Howell 310ac0c5ac MuJoCo Warp documentation: When To Use MJWarp?
PiperOrigin-RevId: 853830564
Change-Id: I9208e9a2f2781efbedc7846f5c13036ef83d5770
2026-01-08 11:54:57 -08:00
Taylor Howell 166fa17a1c MuJoCo Warp documentation: inertia matrix automatic sparsity.
PiperOrigin-RevId: 853805011
Change-Id: I8c0040f3b2b08d8615f1fbf559cdc9841e33438a
2026-01-08 10:47:27 -08:00
Taylor Howell ab939683bc MuJoCo Warp documentation: Why are numerical results from MJWarp and MuJoCo different?.
PiperOrigin-RevId: 853696967
Change-Id: I0cf8539e341d2aa1cfd07ac75de18128ce9beb3b
2026-01-08 05:34:23 -08:00
Copybara-Service 07deca990a Merge pull request #3006 from thowell:mujoco_warp_docs_modifying_fields
PiperOrigin-RevId: 853619026
Change-Id: I5a5348e1cdbee22e40b516cf8ed649645f54bf6f
2026-01-08 01:32:50 -08:00
Copybara-Service f4beb95212 Merge pull request #2990 from google-deepmind:mjwarp_doc_batched_model_field_warning
PiperOrigin-RevId: 853420667
Change-Id: I540b36611485054851e497c8f74302ac0fbedd36
2026-01-07 14:46:36 -08:00