Baruch Tabanpour
3dec35a91e
Do not update qacc_warmstart at the end of the solver call; instead, update it at the same time as all other state variables. This change makes mj_forward idempotent.
...
PiperOrigin-RevId: 797826112
Change-Id: Ibc51624adc3ec42c265958bf77696b33231431c1
2025-08-21 10:44:05 -07:00
Yuval Tassa
2f28473bc1
Remove transposed Jacobian fields from mjData
...
No longer computed unconditionally, only ad-hoc where required.
PiperOrigin-RevId: 797753297
Change-Id: I2030fc342c98ff33575b0526dd72e2110c4fcb74
2025-08-21 07:21:24 -07:00
Yuval Tassa
5fe4224ae7
Compute sparse Jacobian transpose inside solver.
...
PiperOrigin-RevId: 797745776
Change-Id: I2ec429120d0c6eb51bec340619ab178389482e69
2025-08-21 06:55:48 -07:00
Yuval Tassa
f71053243e
Replace std::array with C-style array for error buffer in GJK tests.
...
PiperOrigin-RevId: 797730796
Change-Id: I228c58e163c8c6d1426a88c1a6f447c4a56a34e6
2025-08-21 06:03:53 -07:00
Yuval Tassa
174a50442d
Allow transposing of sparse sub-matrices whose first row is > 0
...
PiperOrigin-RevId: 797728559
Change-Id: I3c825118dae198333d357d2e4f248d00b0f5d8ce
2025-08-21 05:56:33 -07:00
Yuval Tassa
c7a82c32dc
Do not update qacc_warmstart at the end of the solver call; instead, update it at the same time as all other state variables. This change makes mj_forward idempotent.
...
See changelog herein for motivation and discussion.
PiperOrigin-RevId: 797392841
Change-Id: If50e9f09e1d07e8363169d3589c32097aeca2432
2025-08-20 11:30:13 -07:00
Baruch Tabanpour
bf04103b6f
Import google-deepmind/mujoco_warp from GitHub.
...
#MIGRATION_3P_PY_MUJOCO_WARP__DEFAULT
- 19dde09e179dbbaf4d07084185074f6a774b3255 update derivative.py by Taylor Howell <taylorhowell@google.com >
- 04bc115c3766e974ef000cca16d40bacb92c01d2 fix _ray_hfield by Taylor Howell <taylorhowell@google.com >
- 7fcbf8ddba08c9b9d33b0fdd4dd3fe39e40a0bd7 Use sparsity structures in `mjModel` rather than `mjData` by Yuval Tassa <6387526+yuvaltassa@users.noreply.github.com >
- bfd2e4fe3cb5ba5dee97445ddc1d072344f443ec Fix override for enums (#617 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- f4dbf5345bd5dcae60c415361dd425605b672e5c Add keyframe selection to viewer (#616 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- 0e7edf9e8fd337502586929b2e4dd3d51201f462 add prunning to multiccd by Kyle Bayes <42924292+kbayes@users.noreply.github.com >
- 791c30237cbdecf876bc53ac0b3dcff8b8b1317d format by Kyle Bayes <42924292+kbayes@users.noreply.github.com >
- 7a7bae6c1390df3f29058e90f25f9ed5caab3fb1 Fix override in viewer and testspeed (#620 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- 9e230c229c7dd721fbf6fa5fe69fc98717895500 add + 0.0 by Taylor Howell <taylorhowell@google.com >
- 8a70a5e8839b84c11601bf1a98f9e7d1d31603f1 Update the test_cost unit test to test more properties (#... by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- cf317c60845b24ddba4b6814dbac9eba32b4c8b0 parallel linesearch with log scale for step sizes (#575 ) by Taylor Howell <taylorhowell@google.com >
- b73e4edbc0d331d1e4f15c006d4535cc59595e70 add better reporting (#600 ) by adenzler-nvidia <116633880+adenzler-nvidia@users.noreply.github.com >
- 007ad0b204ed4d48584024cce4676ac25a5695b5 Optimization: Fusing kernels around update_gradient_JTDAJ... by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- 640a89fcf452b9564508cacdeb30ecef3a83aede Adding static to broadphase filter (#621 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- daca09ff3261db2713abc912191d6cf76437b8b7 Add reporting of converged worlds in testspeed (#619 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- 33830bddd95a7f0d3febe1b090398ddadeb86ee2 Fix call to benchmark from asv (#627 ) by Kenny-Vilella <163487060+Kenny-Vilella@users.noreply.github.com >
- 382eb65f7bb45798698f4025a980287ab1ec84c7 Update flex_bending dimensions (#628 ) by Alessio Quaglino <102665781+quagla@users.noreply.github.com >
- c56b8875439cfaa93c1393f0a6e2ad057e029064 contact sensor maxforce reduction (#602 ) by Taylor Howell <taylorhowell@google.com >
- 4f731941cb9dea397d4f71cf8151100b83eae576 A few airspeed velocity improvements. (#626 ) by Erik Frey <misc@fawx.com >
PiperOrigin-RevId: 797054114
Change-Id: I380e0b9446f94202b2389e2a760d6de5f0ec5af7
2025-08-19 16:01:28 -07:00
Baruch Tabanpour
fd96de330e
Updates to Playground for warp.
...
PiperOrigin-RevId: 797037846
Change-Id: I3828b48aead8a7534a4e8cd735c96017353daa3b
2025-08-19 15:12:31 -07:00
Sam Haves
4bad134ba2
Add proper handling of MJCF asset/mesh/texturedir compiler attributes to USD plugin.
...
This allows the MJCF SdfFileFormat plugin to load MJCF files that specify assetdir, meshdir, or texturedir attributes. This is specifically important for resolver implementations that fetch assets into a local cache.
PiperOrigin-RevId: 796509754
Change-Id: Ib2b0c9cf9d6a3351ceea49d90c882edf94d0b880
2025-08-18 11:38:32 -07:00
Yuval Tassa
424226b640
Refactor mj_mulM to use CSR structure
...
PiperOrigin-RevId: 796450207
Change-Id: I2a9d567732614674547c7ae02ff0d3d4bbf1b654
2025-08-18 09:09:29 -07:00
Alessio Quaglino
c2ff60e630
Decrease time step in shell examples.
...
Also add bending damping.
PiperOrigin-RevId: 796446515
Change-Id: I4744003caf6146e5e00614a6016d1a6dfc42cca7
2025-08-18 09:00:10 -07:00
Sam Haves
eed43f6982
Add section to OpenUSD/Exporting docs linking to mujoco-usd-converter.
...
PiperOrigin-RevId: 796420566
Change-Id: I47728e3900720d732162c06f96a231a75d8bc931
2025-08-18 07:44:40 -07:00
Yuval Tassa
7c10a62f21
Improve island visualization colors and logic.
...
- Make island visualization off by default
- Give it the keyboard shortcut 'N'
- Use HSV island coloring
PiperOrigin-RevId: 796375514
Change-Id: I3cc8d6f8142412c771b2b8e57e82e70000727770
2025-08-18 05:03:41 -07:00
Alessio Quaglino
b66175eba6
Bending stiffness for curved shells in flex.
...
PiperOrigin-RevId: 796361841
Change-Id: I105ea235fe2a8e1bcbde67276d77fa92eed214a1
2025-08-18 04:13:18 -07:00
Yuval Tassa
972ffd7b90
Improve mj_fullM documentation, add clarifying test.
...
PiperOrigin-RevId: 796134559
Change-Id: I85ab3680d3545ccf83d0d3af8a7c21cb36e96d4e
2025-08-17 11:02:14 -07:00
Yuval Tassa
6b41fbe72a
Use CSR matrices for dof-dof index mappings
...
PiperOrigin-RevId: 795895311
Change-Id: I1000e0ee98906ef35990e73236e85d6354487b82
2025-08-16 13:06:32 -07:00
Yuval Tassa
c0096b51a4
Move ntree to mjModel allocator sizes
...
PiperOrigin-RevId: 795855203
Change-Id: Idab185294d53dced9ebf073b782969dc5643b95a
2025-08-16 09:16:41 -07:00
Yuval Tassa
1447711037
Rename spec to sig in state-related API functions.
...
(to avoid confusion with mjSpec)
PiperOrigin-RevId: 795848898
Change-Id: I0b64eb85f5c7a3ee889a746c751d9f5561650277
2025-08-16 08:38:25 -07:00
Yuval Tassa
5a24eb2d34
Add error reporting to model loading in engine tests, where missing
...
PiperOrigin-RevId: 795844607
Change-Id: I4163c53c05796c2e3036af28a98f58c15bb1c99c
2025-08-16 08:11:49 -07:00
Yuval Tassa
bbb70d98a4
Add utility functions for mapping between sparse matrix patterns.
...
PiperOrigin-RevId: 795543910
Change-Id: I92be3afc3cd90020027737fffdba18c45e25f825
2025-08-15 11:22:35 -07:00
Google DeepMind
931036adda
Always try to find the skybox texture, even if there are no materials in the MJCF. Fixes #2412
...
Before the fix this only occured if the MJCF contained 0 materials.
PiperOrigin-RevId: 795510952
Change-Id: I0a36c275e6006f80dc9a5ba6b9c6040ce21187c9
2025-08-15 09:53:37 -07:00
Yuval Tassa
b566ef2883
Ignore geoms with tiny mass in inertiafromgeom computation. Fixes #2754
...
PiperOrigin-RevId: 795475978
Change-Id: I02b5db9e2ac7ec556cb0a0ec6dbe4214ba9128d7
2025-08-15 07:57:02 -07:00
Yuval Tassa
977f94e9df
Delete sparsity structures from mjData, use the ones in mjModel
...
PiperOrigin-RevId: 795067950
Change-Id: If4f52e40ac49f7c6986b33ef9c8b534199dfd21a
2025-08-14 09:13:02 -07:00
Yuval Tassa
7eb13777f8
Put sparsity structures in mjModel, don't use them yet.
...
PiperOrigin-RevId: 795032051
Change-Id: I75c69e881980ff9c308acf00bb3a65f4b2ef12f5
2025-08-14 07:37:42 -07:00
Yuval Tassa
f077fd00a9
Compute sparse matrix sizes before making the mjModel in the compiler.
...
PiperOrigin-RevId: 794998215
Change-Id: Ib7d0a2479b18cc8b3168c0656d3c4be0eff43a0f
2025-08-14 05:51:17 -07:00
Taylor Howell
0ba31e2c1f
MJX safe division. Fixes #2776 , #2568 , #2657 .
...
PiperOrigin-RevId: 794997676
Change-Id: I3100af7c1987a8435b29cc68c4e5c624dc573986
2025-08-14 05:49:12 -07:00
Alessio Quaglino
07e7417d26
Add prefix to asset paths when appending specs.
...
PiperOrigin-RevId: 794966246
Change-Id: I4825a11cc3234e6f403340dd997742cea0e2183b
2025-08-14 03:48:56 -07:00
Baruch Tabanpour
1763fa537a
Add ten_length as MJX public field and warp tendon function call to MJX.
...
PiperOrigin-RevId: 794869371
Change-Id: I733da169b0092e3165478324697d7aa3569eca8b
2025-08-13 21:54:18 -07:00
Google DeepMind
d3ff929bc6
Add ten_length as MJX public field and warp tendon function call to MJX.
...
PiperOrigin-RevId: 794813523
Change-Id: Ic5684788eca5a3f4fd86193ec5d035d40b3aad35
2025-08-13 18:09:22 -07:00
Baruch Tabanpour
d7e925bd8a
Add ten_length as MJX public field and warp tendon function call to MJX.
...
PiperOrigin-RevId: 794801198
Change-Id: I970ce665339c75910a767a1b24d8ac9c2bd68b1d
2025-08-13 17:27:16 -07:00
Baruch Tabanpour
1a7ec97b07
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 794774483
Change-Id: I2d8d623bbdfe9f28d4ab96bfc3c9128caa9fe86c
2025-08-13 16:08:03 -07:00
Alessio Quaglino
eff4dda189
Suffix asset names when attaching specs.
...
PiperOrigin-RevId: 794717786
Change-Id: I02abe06ca3c43138e91e61f4acf87a26b3faf7fc
2025-08-13 13:43:16 -07:00
Alessio Quaglino
dcdf0a9c5c
Use mj_rayMesh for computing an inexact SDF for mesh-SDF collisions.
...
PiperOrigin-RevId: 794576123
Change-Id: I3c688056a5ed617a0787ccf1f4aa683f9409040f
2025-08-13 07:50:06 -07:00
Alessio Quaglino
cc52d0242b
Do not strip the path when compiling an mjSpec.
...
The path has already been stripped while parsing. This will enable prefixes that contain a `/` while attaching.
Also use `spec.meshdir` for asset paths in `spec.to_zip()`.
PiperOrigin-RevId: 794573523
Change-Id: Ic36bb641c3d72848399006cf718afd8542e91ed4
2025-08-13 07:43:25 -07:00
Baruch Tabanpour
6a9e68a542
Update MJX-W testspeed.
...
PiperOrigin-RevId: 794549657
Change-Id: I0ea12274da77704be30301d33228066bb8952fef
2025-08-13 06:24:19 -07:00
Baruch Tabanpour
da9037e2b0
Fix bug in MJX contact sensor.
...
PiperOrigin-RevId: 794011199
Change-Id: I709a8bd9d07bec980aa60abd0346d946b037cbbd
2025-08-12 02:24:14 -07:00
Taylor Howell
0a02e7b722
Fix MJX test_sensor_contact.
...
PiperOrigin-RevId: 793598137
Change-Id: I543e93d3f998e5932342de80d816c30d74a0deaa
2025-08-11 05:04:13 -07:00
Yuval Tassa
84ba12e7b3
Clean up and standardize mj_printFormattedData
...
PiperOrigin-RevId: 793087071
Change-Id: I99d45ccf6591af02ee26e7f800bfbcc872336eb1
2025-08-09 14:03:13 -07:00
Alessio Quaglino
ca4ca173ab
Fix oct_distance return value.
...
PiperOrigin-RevId: 792924045
Change-Id: I42b8d0adaae7282d5c4e787fd1c85162720e977b
2025-08-09 00:33:38 -07:00
Rishi Krishnan
ed3ff15870
Update MuJoCo's version number following the 3.3.5 release.
...
PiperOrigin-RevId: 792806341
Change-Id: Ic68ecceacc48ddbd6b0c741ae8f0791551e1b4dd
2025-08-08 16:45:12 -07:00
Rishi Krishnan
3152458a6b
Update Mujoco Deps in preperation for the 3.3.5 release
...
PiperOrigin-RevId: 792755404
Change-Id: I9776bb5e5bf2a891e0fa0fbf486875727e1d13b4
2025-08-08 14:07:00 -07:00
Yuval Tassa
249b0cd87d
Improve field order and comments in mjdata.h
...
PiperOrigin-RevId: 792642328
Change-Id: I59330e228a111edec9e86d93d5cdf646b0fab00e
2025-08-08 08:52:35 -07:00
Kyle Bayes
50fa598d93
Update x_norm in tetrahedron case in GJK.
...
This check is never called due to the fallback to gjkIntersection, however it's needed for debugging when disabling the fallback.
PiperOrigin-RevId: 792623394
Change-Id: I7178d9afae697bd22984688e89fd1865d3c6a37f
2025-08-08 07:52:00 -07:00
Yuval Tassa
19781b60a1
Fix a gcc-related compilation error.
...
PiperOrigin-RevId: 792592986
Change-Id: I6bd49d3c739a58f9b611fe24594bd3f11e757c5b
2025-08-08 06:00:17 -07:00
Yuval Tassa
8b5213c557
Cleanup: extract local functions in compiler for setting datatype and needstage
...
PiperOrigin-RevId: 792566070
Change-Id: I22d397758f5e8b35899c9461543989e352bd2b96
2025-08-08 04:11:14 -07:00
Yuval Tassa
3c6e4f1ece
Clean up engine_core_smooth.c
...
PiperOrigin-RevId: 792564094
Change-Id: I47b3f1953db5402acc49dac373a039c9c0bf1ad9
2025-08-08 04:05:13 -07:00
Alessio Quaglino
92d77819fd
Note the mjs parsing error in the changelog.
...
PiperOrigin-RevId: 792336077
Change-Id: I09cd2eb310c6e2bc74051419f6d69f5db1081cec
2025-08-07 15:40:23 -07:00
Baruch Tabanpour
45476483f6
Fix race condition in warp tests.
...
PiperOrigin-RevId: 792285453
Change-Id: Ic7616054025ca5c1211ef49e408ee283d8082796
2025-08-07 13:28:32 -07:00
Baruch Tabanpour
9b9b7030e7
Copy mjwarp viewer s.t. MJX users can debug models effectively.
...
PiperOrigin-RevId: 792258628
Change-Id: I3b2b5d10414934866d5c647f30fe88e9cd1a8756
2025-08-07 12:15:32 -07:00
Baruch Tabanpour
9e5fdd6983
Add warp graph capture and allow graph conditional.
...
PiperOrigin-RevId: 792208987
Change-Id: I139ff1db734b66734d588c3e7fe73426659cb484
2025-08-07 10:10:56 -07:00