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
Taylor Howell
f703a0e023
Import google-deepmind/mujoco_warp from GitHub.
...
PiperOrigin-RevId: 853350801
Change-Id: Idb19c2865b94f4740daf8bc52ed3e7665a109d51
2026-01-07 11:42:11 -08:00
Yuval Tassa
608115ab95
Add output attribute to camera elements.
...
This attribute allows specifying the intended output types (e.g., RGB, depth, normal) for each camera in the XML. The output types are stored as bit flags in `mjModel`.
PiperOrigin-RevId: 853316261
Change-Id: I1ad2e94102593cf402756f8f4c80509371ca86d2
2026-01-07 10:22:27 -08:00
Sam Haves
3c93d6b979
Move cache creation into lambda initializer to avoid data race.
...
PiperOrigin-RevId: 853295269
Change-Id: Ic1c8f3d2fec876070da432f8b709b341f3c6cc0a
2026-01-07 09:29:54 -08:00
Matija Kecman
e1261ba5f1
Fix perturbation rendering in webdemo
...
PiperOrigin-RevId: 853290958
Change-Id: Ifcea1091633597171c5268d5ee091bea3ddee45b
2026-01-07 09:18:45 -08:00
Yuval Tassa
775c0698c3
MJCF schema: use responsive grids for attributes
...
PiperOrigin-RevId: 853263519
Change-Id: I79cb6e6208061d9546f0dca7a941838caa6b1a91
2026-01-07 08:00:16 -08:00
Alessio Quaglino
5febca9eeb
Remove gainprm trailing dimension in test_actuator_shortname.
...
PiperOrigin-RevId: 853243753
Change-Id: Ia46df64a2308ef0bbc94a396f0732e221e174ea0
2026-01-07 06:59:50 -08:00
Yuval Tassa
5be6f262b2
Fix legend call in MuJoCo tutorial notebook. Fixes #2447
...
PiperOrigin-RevId: 853220360
Change-Id: I1920af5fd01bcf654c7d9d11d8dd1c2f637ef748
2026-01-07 05:42:45 -08:00
Haroon Qureshi
9743c2d385
Use mjResourceProvider instead of custom LoadAsset callbacks.
...
PiperOrigin-RevId: 853172824
Change-Id: I60ef1207611c4da119cc3f0a7819088cffca6e4f
2026-01-07 03:03:23 -08:00
Yuval Tassa
4830f5a79e
Add missing documentation for the asset cache.
...
Also improve `compile` sample timing logic and documentation.
PiperOrigin-RevId: 852855741
Change-Id: I9b2798208198ca68cf4cee9c968772954ada91c5
2026-01-06 11:07:42 -08:00
Copybara-Service
4a21b0ee01
Merge pull request #2831 from DavidPL1:fix-sample-compile-exitcodes
...
PiperOrigin-RevId: 852832955
Change-Id: Iddc7c9366f6e81800ed48a0790336db7dfa3e9d1
2026-01-06 10:18:43 -08:00
Yuval Tassa
3868ed0382
Improve XML schema usability
...
PiperOrigin-RevId: 852820889
Change-Id: I04eea45161f9e71f9ccf49afad57ff28fd099b35
2026-01-06 09:51:36 -08:00
Yuval Tassa
fa044fe0e5
Use the word "primal" for things that relate to both Newton and CG.
...
PiperOrigin-RevId: 852634373
Change-Id: I2c7641bb92d9c01252f861b9c36e72ef6ddc6e98
2026-01-05 23:56:57 -08:00
Taylor Howell
fa70f73691
fix generate_spec_bindings.py
...
PiperOrigin-RevId: 852414826
Change-Id: I50ddba2d238866ba313338040f020ff3a645e1e4
2026-01-05 12:42:26 -08:00
Taylor Howell
90449f7521
Update codegen for mjSpec add functions to add typed arguments and docstring.
...
PiperOrigin-RevId: 852351892
Change-Id: If785accdf8c9e48dd9924c54942856c1e00fd031
2026-01-05 10:14:49 -08:00
Taylor Howell
47ea0e76ae
mujoco warp documentation: update modifying fields
2026-01-04 14:00:53 +00:00
Taylor Howell
fba2021091
MuJoCo Warp documentation: Modifying fields.
...
PiperOrigin-RevId: 851709416
Change-Id: I48071a9dddd79b1e765f8ae170594d4687615877
2026-01-03 10:49:09 -08:00
Taylor Howell
28f14b3258
MuJoCo Warp documentation: Update Batched Model Fields code example.
...
PiperOrigin-RevId: 851699741
Change-Id: I30d98db7ee6bfe2104408fb0f84e472da649887b
2026-01-03 09:57:11 -08:00
Haroon Qureshi
e3ddb126f5
Fix target name; should be PLATFORM not STUDIO.
...
(This was caused by a bad merge on my end.)
PiperOrigin-RevId: 851315742
Change-Id: Ifd5afa7f6cbd566ef2c15603e91a7360ea65c86a
2026-01-02 06:03:13 -08:00
Haroon Qureshi
b9fa8ee6e9
Move all specialized rendering logic into Renderer class.
...
(We may consider splitting this class up into specialized subclasses at a later date.)
PiperOrigin-RevId: 851290789
Change-Id: Iee00b8e906eeb911de5799f784475ac6916ab55b
2026-01-02 04:25:07 -08:00
Taylor Howell
14e90f3897
MuJoCo Warp documentation: Array shapes.
...
PiperOrigin-RevId: 850969970
Change-Id: I41dce50644c9a6521e0bab9c84fea63f78e7a6ce
2026-01-01 02:46:48 -08:00
Yuval Tassa
451f40fa87
Link to Rust bindings in README.
...
fixes #2857
PiperOrigin-RevId: 850003287
Change-Id: I8ed1727206fb1a6a7655e61c37492eab8103d555
2025-12-29 03:57:23 -08:00
Matija Kecman
9f674b04a9
Fix ground plane rendering when using filament backend
...
PiperOrigin-RevId: 848473849
Change-Id: I096b20c6a5538ff95396bdf09f84ed5f2d3015ed
2025-12-24 01:25:51 -08:00
Yuval Tassa
70bc7be4bc
Add additional data fields that can be reported by rangefinder sensors.
...
PiperOrigin-RevId: 848316991
Change-Id: Idbf7ba81b4da711a22c23302c8782ab2b0b98d82
2025-12-23 15:33:00 -08:00
Yuval Tassa
f2e9097ed6
Change mjsCamera.resolution type from float to int.
...
Resolution is inherently an integer quantity (pixels).
PiperOrigin-RevId: 848276456
Change-Id: I92ee1aa88fd552fd42cb3871442f020f26d6fa6a
2025-12-23 13:14:32 -08:00
Yuval Tassa
9d646e6548
Extend rangefinder sensor to support cameras.
...
PiperOrigin-RevId: 848255889
Change-Id: I6e1a9ed13d29d2242558625a47e24e47ad6e87db
2025-12-23 12:04:49 -08:00
Yuval Tassa
4a871990e9
Fix mismatched signature in engine_ray.c
...
PiperOrigin-RevId: 847834144
Change-Id: Ib42008880f495cf7f3b9e0fd2394a4df64c66ad4
2025-12-22 11:41:23 -08:00
Yuval Tassa
b28b5db680
Add mj_multiRayNormal for multi-ray casting with normal computation (not exposed in public header)
...
PiperOrigin-RevId: 847821078
Change-Id: I616441d3460406a92a10731d1a086af6163e96ad
2025-12-22 11:02:58 -08:00
Yuval Tassa
7fddeeaff6
Minor fixes to mj_multiRay
...
PiperOrigin-RevId: 847780959
Change-Id: I3588415f215bd5f1592bec6678a5bae45d5f0980
2025-12-22 08:52:36 -08:00
Haroon Qureshi
a3e66cd5df
Combine performance charts; add fullscreen mode.
...
PiperOrigin-RevId: 847751915
Change-Id: I819eb8d36224ddba38ef8532a038a2ef350890c8
2025-12-22 07:08:20 -08:00
Yuval Tassa
223ba99ec2
Add mju_rayFlexNormal (not exposed in public header)
...
PiperOrigin-RevId: 847746174
Change-Id: Ia8f597d296bf6a3eed9bd48b1c39b2ff2b5fcf90
2025-12-22 06:49:22 -08:00
Yuval Tassa
c7f5766345
Add frustum visualization for orthographic cameras.
...
PiperOrigin-RevId: 847698917
Change-Id: I13633e8ba2d4718b127a5838c404ab74c6180e3d
2025-12-22 03:43:54 -08:00
Yuval Tassa
158525269b
Refactor camera intrinsic parameter handling.
...
Move logic from parser to compiler.
PiperOrigin-RevId: 847689906
Change-Id: I844746081973205e1b33a3845add842e8b8c3c07
2025-12-22 03:08:18 -08:00
Yuval Tassa
b77977a962
Update Programming/simulation chapter.
...
PiperOrigin-RevId: 847424298
Change-Id: Icc6efb05dee5e67a5813ed04caa15a5703e59aee
2025-12-21 08:16:39 -08:00
Yuval Tassa
b8a4ac5d48
Refactor camera orthographic attribute to projection enum.
...
PiperOrigin-RevId: 847069028
Change-Id: I7f686fe654e9b56519cab8bd2f37c9cc40091d3f
2025-12-20 03:28:29 -08:00
Sam Haves
44c8ef890d
When building with USD enabled, add functionality that automatically registers the mujoco USD plugins.
...
PiperOrigin-RevId: 846767370
Change-Id: Ieedbe127353623c11150551c1409d340dbc57421
2025-12-19 09:39:03 -08:00
Sam Haves
3d9c195e3c
Fix rpath for usd target shared libs.
...
PiperOrigin-RevId: 846759676
Change-Id: I5b2a73b3f997d4d0d447e051c43069ae7418a7ec
2025-12-19 09:14:45 -08:00
Yuval Tassa
849a650143
Refactor mju_cholUpdateSparse to use a dense accumulator, 1.5-2x function speedup.
...
PiperOrigin-RevId: 846754379
Change-Id: Ie599658db2907a26095072d97d07b99a693050dc
2025-12-19 08:57:45 -08:00
Sam Haves
2935af23f0
Add MJAPI to Get/SetUsdPrimPathUserValue declarations.
...
PiperOrigin-RevId: 846745363
Change-Id: I31f0af0675578a3dd63db7c56d9258206e19471d
2025-12-19 08:31:26 -08:00
Sam Haves
9e150fe82c
Add separate build step for OpenUSD to third_party_deps.
...
This will fetch and call the build_usd.py build helper for OpenUSD and build within the MuJoCo _deps folder. Simplifying the build process for MuJoCo with USD. Users can still provide their own USD build, but must now do so via pxr_DIR.
PiperOrigin-RevId: 846735578
Change-Id: I0da7eb2da6465e2d518084340e762bf370adb6d5
2025-12-19 08:00:15 -08:00
Yuval Tassa
76e0a78b32
Use two-step sparse Cholesky in Newton solver.
...
17% overall speedup for `100_humanoids.xml` as measured by `testspeed`
PiperOrigin-RevId: 846723342
Change-Id: Ibc41487bfc576c992f14853640d0b6000f5b47b2
2025-12-19 07:20:09 -08:00
Yuval Tassa
45b0153067
Refactor sparse Cholesky factorization into symbolic and numeric phases.
...
The new symbolic function is a generalization of the function it replaces. In this CL it takes two unused temp arrays. The actual change in behavior happens in the followup.
New benchmark test output below ("L" is 2 humanoids and 100 free objects, "XL" is 100 humanoids). Note that `symbolic` is only ever called once per Newton iteration, while `numeric` is sometimes called multiple times (when the rank-1 update fails), hence timing them separately is valuable.
```
Benchmark Time(ns) CPU(ns) Iterations
--------------------------------------------------------------
BM_old_L_mean 84382 84703 19547 11.807k items/s
BM_symbolic_L_mean 16345 16381 88414 61.055k items/s
BM_numeric_L_mean 10986 10994 120000 90.999k items/s
BM_old_XL_mean 1241208 1244212 1200 803.924 items/s
BM_symbolic_XL_mean 130917 131042 12720 7.631k items/s
BM_numeric_XL_mean 77004 76767 21116 13.029k items/s
```
PiperOrigin-RevId: 846704054
Change-Id: Ib0c365724d63bf2b81606ca5353756a6496c3a26
2025-12-19 06:11:55 -08:00
Haroon Qureshi
d1fd11bccd
Refactor SaveScreenshot into a more useful RenderToTexture function.
...
Removes a few unused functions from helpers library.
PiperOrigin-RevId: 846661437
Change-Id: I815ffe1990098dedb71f694af088d85294f9c7de
2025-12-19 03:33:59 -08:00
Haroon Qureshi
522ff1cd80
Allow ImGui uploaded images to be resized or destroyed.
...
PiperOrigin-RevId: 846354598
Change-Id: I86882813ab607945fffc763122248e167be856a8
2025-12-18 11:42:19 -08:00
Sam Haves
b5b654f00c
Correctly handle segmentation and ID_COLOR flag in filament.
...
PiperOrigin-RevId: 846319715
Change-Id: I244ae52c34079b79d3179fafdf6aa506cc89e1ff
2025-12-18 10:14:13 -08:00
Sam Haves
05e1c452c7
Add VFS parameter to mjpDecoder decoding function.
...
PiperOrigin-RevId: 846242734
Change-Id: I317e11e6fcd965f66416abcf690a3a65d043e9ee
2025-12-18 06:38:40 -08:00
Haroon Qureshi
bebdd62943
Allow studio to search for models in predetermined search paths.
...
A future CL will allow users to specify search paths in their settings.
PiperOrigin-RevId: 846240293
Change-Id: I1a1a4027d0fc85004a12fe01a406f50fd929f3e4
2025-12-18 06:32:24 -08:00
Haroon Qureshi
7190bd4912
Add flag for depth rendering.
...
PiperOrigin-RevId: 846203691
Change-Id: I5ec494446bcfc1f7c81536a87dd24f9967973563
2025-12-18 04:36:26 -08:00
Yuval Tassa
47e35e632f
Add a test for equivalence of different solvers.
...
PiperOrigin-RevId: 845777469
Change-Id: I76a162b71bea349cca3472001360181654a5d571
2025-12-17 08:21:52 -08:00