Yuval Tassa
abc02b736e
Minor fixes to viewer diagnostics
...
- When `mjData.nefc` was 0 (solver not run at all), we were plotting the stale diagnostics from the last run; now fixed.
- In the case where islands were used, the semantic of the plotted diagnostic `sqrt_nnz` (square root of Hessian nonzeros) is changed. It used to be the sum of square roots of solver nonzeros per island, it is now the square root of the sum of all nonzeros in all islands. The semantic `sqrt(sum(nnz_i))` was found to be more consistent than `sum(sqrt(nnz_i))`, in the sense that switching islanding on/off leads to smaller changes and is more in line with the interpretation of islanding as [block-diagonalization](https://mujoco.readthedocs.io/en/3.3.7/computation/#constraint-islands ).
PiperOrigin-RevId: 827624908
Change-Id: I5fc86364ead585a4752a6d44823fb75cf6c7c318
2025-11-03 13:23:05 -08:00
Sam Haves
18e60369f3
If building simulate with USD support remove the no-deprecated warning due to deprecated header usage in USD.
...
PiperOrigin-RevId: 822807399
Change-Id: I2765f4a7260b5ac8b3ef5894c1c5ce7a3a745baf
2025-10-22 17:56:43 -07:00
Haroon Qureshi
f217a8f987
Implement FetchPackage; a simple wrapper around FindOrFetch.
...
FetchPackage calls FindOrFetch, but sets USE_SYSTEM_PACKAGE to OFF
(i.e. do not find, just fetch). It also sets EXCLUDE_FROM_ALL.
PiperOrigin-RevId: 822565180
Change-Id: I70476f57b8d3371cefd02e840add279423913f3f
2025-10-22 06:43:51 -07:00
Gabe Oppenheimer
48f10bfcb6
Update MuJoCo to v3.3.8 following the 3.3.7 release.
...
PiperOrigin-RevId: 819919328
Change-Id: Ib34f959f6f8efd83362d49e784aa8e0594036899
2025-10-15 14:39:05 -07:00
Alessio Quaglino
b6f25ca623
Check mjs_getName return value in XML parser. Fixes #2898 .
...
PiperOrigin-RevId: 819351410
Change-Id: I0807d71328068f6388991ae15274c7d61b4d3e53
2025-10-14 12:40:28 -07:00
Gabe Oppenheimer
ae1febd83f
Automated g4 rollback of changelist 818694877.
...
*** Reason for rollback ***
BEGIN_PUBLIC
Holding off on a minor version bump until the next release.
*** Original change description ***
#mujoco update the version to 3.4.0 ahead of the 3.4.0 release.
Bump the version to 3.4.0 ahead of the next release.
***
PiperOrigin-RevId: 818748143
Change-Id: I722e9beb80c61a48bd997da6a1840777a81d5036
2025-10-13 11:14:42 -07:00
Gabe Oppenheimer
02d2d4d49a
Bump the version to 3.4.0 ahead of the next release.
...
PiperOrigin-RevId: 818694877
Change-Id: I42e261956a0219e549bec6a54cbf330a74f02f9f
2025-10-13 09:22:49 -07:00
Matija Kecman
bd68f0c6cc
Update CMake to use C++20
...
PiperOrigin-RevId: 817573868
Change-Id: I22c98515763623d7411fd12910cf88cdaa336e6e
2025-10-10 03:54:47 -07:00
Yuval Tassa
431f96572e
Remove unused mjOption.apirate.
...
PiperOrigin-RevId: 815633571
Change-Id: Ib98f3eb2df47f96fa1fe6e987a3a0cd23a9479f6
2025-10-06 02:51:17 -07:00
Taylor Howell
401bf431b8
Modify Simulate::InjectNoise to set target of exponential decay to value from key_ctrl if a valid key is provided as input.
...
PiperOrigin-RevId: 813819040
Change-Id: I79508039b17fb3484b71ae0d19614c32adacfa10
2025-10-01 10:46:29 -07:00
Yuval Tassa
681f5767b2
Remove -Wno-extra-semi, add workaround for mjSORT confusing some IDEs
...
PiperOrigin-RevId: 808689636
Change-Id: Ia091fb597c171a33842e62690d06f32614fbe4eb
2025-09-18 12:28:09 -07:00
Yuval Tassa
4b8454b79c
Add semicolons after mjSORT macro calls.
...
PiperOrigin-RevId: 808587320
Change-Id: I9fd290b9a2b615647135f1250e87af8ea9bb81f6
2025-09-18 08:13:46 -07:00
Rishi Krishnan
8e9eb2fa38
Update MuJoCo's version number following the 3.3.6 release.
...
PiperOrigin-RevId: 808180152
Change-Id: I23de64cb0968b94c489b29622e4308d16513793a
2025-09-17 09:13:04 -07:00
Copybara-Service
9af1f55862
Merge pull request #2713 from vidurvij-apptronik:vidur/remove-installing-glfw3-headers
...
PiperOrigin-RevId: 808125077
Change-Id: If87b65d2d8607f153dfd66fbfa9a6ca39c98845f
2025-09-17 06:17:42 -07:00
Matija Kecman
afbefc38a6
Ensure noise is injected when the simulation is paused and a single step is manually requested
...
PiperOrigin-RevId: 807688008
Change-Id: I8de9706c633565d6d6944b58d34de9da1037a837
2025-09-16 07:35:42 -07:00
Michiel Blokzijl
508d22f794
Update the GLFW dependency used by MuJoCo to 3.4.
...
This makes it possible to build open-source MuJoCo with Wayland support out of
the box.
Currently, it is necessary to run cmake with -DGLFW_USE_WAYLAND=ON and ensure
cmake can find the "ECM" package somehow (a dependency of the 3.3.6 version of
GLFW), for which there is no automated fetching setup. As this is no longer a
dependency of GLFW it seems to make more sense to update GLFW to make out of the
box builds on Wayland.
PiperOrigin-RevId: 800456607
Change-Id: Iffdf1d65319bfb134e580faceb63ac3bed7b9c84
2025-08-28 07:24:26 -07:00
Yuval Tassa
ec94bb49aa
Make constraint island discovery on by default.
...
Also fix latent bug in mjData serialization.
PiperOrigin-RevId: 799505349
Change-Id: I299e7cc8133fa2ec0b339a7ff3d02543e06778b1
2025-08-26 04:27:24 -07:00
vidurvij-apptronik
b88ec4df73
Fix SimulateDependecies
2025-08-21 14:10:44 -05: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
Vidur
edb17909a7
Update cmake
2025-08-18 14:00:38 -05: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
Vidur
d13329ed1d
adding build interfaces to the linked directories
2025-07-23 12:53:38 -05:00
Vidur Vij
af87c6d7a0
Pull request changes
2025-07-18 12:39:07 -05:00
Yuval Tassa
5e666635f6
Remove mjtVisFlag.mjVIS_FLEXBVH and mjvOption.oct_depth
...
PiperOrigin-RevId: 783355711
Change-Id: I1e11999d5c533925f1d07266aeca95598a5691ba
2025-07-15 09:08:22 -07:00
Rishi Krishnan
3c99705f85
Update MuJoCo's version number following the 3.3.4 release.
...
PiperOrigin-RevId: 781596261
Change-Id: Iac050c4b9cb65542b52fa6b8c54ff2537bc6a648
2025-07-10 10:47:26 -07:00
Sam Haves
14972d2490
Add mj_loadUSD function. Change simulate to use that instead of manual spec compilation.
...
PiperOrigin-RevId: 780608874
Change-Id: I333238c756fe76b371518a7cdf9452b93da3540a
2025-07-08 10:04:08 -07:00
Vidur
b2300684d8
Remove unused variable definition
2025-07-01 18:36:11 -05:00
Vidur
4c7c68e518
add glfw3 install back to cmake
2025-07-01 18:17:21 -05:00
Vidur
ef8da59cb3
Merge branch 'original/main' into vidur/remove-installing-glfw3-headers
2025-07-01 16:27:15 -05:00
Vidur
641d95313a
Remove installing glfw3 headers
2025-07-01 16:25:07 -05:00
Sam Haves
e80a62c6d5
Allow loading USD files into simulate.
...
PiperOrigin-RevId: 776584803
Change-Id: I66a5277b3752d69ba5d44ed419204951edb18d41
2025-06-27 07:59:21 -07:00
Matija Kecman
09f7154e57
Add option to only sync the state to improve sync performance in passive mode.
...
By default this option is off, which preserves the current behavior of syncing all of `mjModel` and `mjData`.
PiperOrigin-RevId: 776498017
Change-Id: I02127c9397efbabebb89b0e0d139b00b6e665d35
2025-06-27 02:49:58 -07:00
Yuval Tassa
14dc7c2a60
Add "cameraid" attribute to visual/global specifying the default camera to use at model load.
...
PiperOrigin-RevId: 773783069
Change-Id: I2fff2abdceedc982d89cee8d14b95abceea1c113
2025-06-20 11:41:27 -07:00
Google DeepMind
6b309b5251
Display equality constraints in the simulate UI.
...
Add section for toggling constraint activity to the UI, similar to actuators or joint controls.
PiperOrigin-RevId: 772866923
Change-Id: I017b9195fcf67b5865e9d44d6c8aded64c8bc46d
2025-06-18 04:42:34 -07:00
Kevin Sayed
a4ab35c194
update scrubs and set next version
...
PiperOrigin-RevId: 770740070
Change-Id: I6b2f1356706b1849872df2583adbbb3f72057884
2025-06-12 11:39:45 -07:00
Vidur
35fdc279fe
Merge main branch from mujoco
2025-06-03 13:00:27 -05:00
Levi Burner
3eb31f56cd
Copybara import of the project:
...
--
c9acc0a6f677951db34f2b607bd60fc18a43f72b by Levi Burner <leviburner@gmail.com >:
Fix race condition in Python viewers set_X methods
--
b89ab8f7a0f628ee7a02ebfbac2a97f113112076 by Levi Burner <leviburner@gmail.com >:
use std::swap to replace some copying
--
02625bed0cffbfc9ea4537f74689f0bbcb8bf44c by Levi Burner <leviburner@gmail.com >:
fix whitespace
COPYBARA_INTEGRATE_REVIEW=https://github.com/google-deepmind/mujoco/pull/2613 from aftersomemath:simulate-set-race 02625bed0cffbfc9ea4537f74689f0bbcb8bf44c
PiperOrigin-RevId: 766646168
Change-Id: I1e1dc16afbfb1e69fb958d54bd1075cc9aed3569
2025-06-03 07:01:31 -07:00
Copybara-Service
22bdf22cc7
Merge pull request #2631 from hannesbraun:errno-standard-include
...
PiperOrigin-RevId: 763393139
Change-Id: I8e29bd589a8ece02f6dc88a6e943fe03f6bcbf56
2025-05-26 05:38:45 -07:00
Yuval Tassa
bf1f8081c1
Enable Visualization pane in Passive Viewer. Fixes #2158
...
PiperOrigin-RevId: 761522429
Change-Id: Ice4322ce413891893c89856e55f60a4f26010cf2
2025-05-21 07:52:55 -07:00
Yuval Tassa
85c84c1ece
Initialize Passive Viewer's internal mjModel and mjData to nullptr.
...
Prevents the render thread from calling `mjv_updateScene` before these have been initialized.
PiperOrigin-RevId: 761181568
Change-Id: I4f7f61fdcf7f87dcd6317883e5082d9ce2266e20
2025-05-20 12:19:07 -07:00
Yuval Tassa
ced630181d
Replace mjv_sceneState and related code with mjv_copy{Model,Data}
...
PiperOrigin-RevId: 760662776
Change-Id: I512bda9187fbc19ade6924b91d5cb2275078de42
2025-05-19 09:51:58 -07:00
Hannes Braun
af0cb2d365
Use errno.h instead of sys/errno.h
2025-05-15 16:15:51 +02:00
Saran Tunyasuvunakool
6a977d073b
Fix GitHub Actions builds.
...
PiperOrigin-RevId: 757765160
Change-Id: Idaf86f80a24bc480ce35711cb706a4702a249d31
2025-05-12 08:00:43 -07:00
Yuval Tassa
ecb769fc3a
Refactor islands to be memory contiguous.
...
PiperOrigin-RevId: 755803476
Change-Id: I41972b07e0d5ef5d0117c94f565b93367b87458b
2025-05-07 05:06:27 -07:00
Google DeepMind
4137a4c774
Bump version to 3.3.3 following the 3.3.2 release
...
PiperOrigin-RevId: 752482043
Change-Id: I3dae8a0b9de2be4d456e856825c18f16f62bf51a
2025-04-28 16:09:25 -07:00
Yuval Tassa
8f768be2da
Remove solver_nisland field from mjData.
...
PiperOrigin-RevId: 750527660
Change-Id: I6b34944c92483ea2abc774df75efd868255a2bac
2025-04-23 03:27:41 -07:00
Gabe Oppenheimer
440ce5eb7a
Update the version number to 3.3.2 following the 3.3.1 release.
...
PiperOrigin-RevId: 746147577
Change-Id: Idb7b4e7e06a4730b4f2eea8f6600b898e998f8db
2025-04-10 13:17:20 -07:00
Copybara-Service
699ad13a72
Merge pull request #2503 from Andrew-Luo1:rscope
...
PiperOrigin-RevId: 745266549
Change-Id: I15d2eb992aae643ac096650693cc0750421f14c6
2025-04-08 13:21:47 -07:00
andrew
65500cfbdc
improve variable and function names
2025-03-30 22:19:55 -04:00
Kevin Zakka
e272e46770
Rename simulate "copy pose" button to "copy state", also save "qvel', ctrl, mpos and mquat if present. SHIFT-click will save values at full precision.
...
Example formatting:
```
# default precision
<key
time="2.99"
qpos="9.4287e-07 3.02972e-07 1.19963 0.999999 -9.3978e-06 0.00102591 8.06948e-06 -0.000337469 -0.000182994 -0.00282448 -0.000358084 -0.00370829 0.0631084 0.0996347 -0.00161963 0.0260658 -2.09992 -0.00459387 0.0474729 -0.0171906 0.0018216 0.72549 0.00133026 0.724951 0.000816735 0.724389 0.000454671 0.724 -0.00146646 -1.12233e-05 -0.0995942 0.00159877 0.0261695 -2.09993 0.00458912 0.0473279 0.0171317 0.00177837 0.725447 0.00131597 0.724941 0.00081406 0.724393 0.000465918 0.72402 -0.00140271 -1.42355e-05 0.0949171 0.0790632 -0.461397 1.02664 -9.42133e-05 -0.55539 -0.0952333 -0.0790705 -0.460978 1.02899 8.38339e-05 -0.671707 0.401772 0.197427 1.00101 0.999979 0.00125793 -0.00100982 -0.00631542"
qvel="0.000132784 3.49155e-05 0.000536692 -0.000560519 -0.0242142 0.00693928 0.00119816 -0.000234844 0.00350923 -0.00036047 0.00137217 0.026605 0.000647559 -0.000813737 0.00151335 0.00158296 -0.000628786 0.0184574 -0.000751955 8.75972e-05 0.00017462 9.47749e-05 0.00018949 7.40435e-05 0.000170318 -2.65743e-05 5.67808e-05 0.000256585 -8.77605e-05 -0.00070146 5.90881e-05 0.00186213 0.00150788 0.000645196 0.0183261 -0.00189709 0.000234144 0.000180699 0.00020344 0.000161977 0.000154203 0.000127231 2.28526e-05 -2.85628e-06 0.000232213 2.32483e-05 -0.000415728 0.000285987 0.00873081 0.00361353 5.70155e-05 0.000316513 -0.00778618 0.00404914 -0.0239508 -0.0375704 -0.000528571 4.92965 3.51479e-15 -4.54231e-16 -9.39907e-15 -7.5733e-14 -1.54433e-14 8.71183e-14"
ctrl="0 0 0 0 0 0 0.106158 0 0 -2.1308 0 0 0 0 0 0 0 0 0 -0.106158 0 0 -2.1308 0 0 0 0 0 0 0 0 0 0.1 0.08 -0.477 1.033 0 -0.556 -0.1 -0.08 -0.477 1.033 0 -0.556"
mpos="0.5 0 0.5 0.5 0 0.5 0.5 0 0.5"
mquat="1 0 0 0 1 0 0 0 1 0 0 0"
/>
# full precision
<key
time="19.78000000000035 "
qpos="-5.456931939182209e-13 4.210058291674657e-14 1.199596868198444 0.9999997705632744 -1.123107929038176e-05 -0.000677308838908712 -4.574736052563342e-13 4.81467762006399e-06 -0.0001470530836508491 -0.01285126600561344 -0.0003314670141921113 -0.003753266058087929 0.06165064101255623 0.01573179146576803 -3.013291189105153e-05 0.00898818165332332 -0.0005543865919957537 0.001960768693378906 0.003171337599202657 0.05998529721754536 -0.006869809693640725 0.7108455550986151 -2.768022862919269e-05 0.7234287700347743 -2.65358465809282e-05 0.7234305602907817 -2.427451970418236e-05 0.7234340023869628 0.0001444026830625057 0.004779116304496144 -0.01556918200171751 2.367030531882565e-05 0.00887857821391661 -0.0005393749458389281 -0.002002170464405725 0.004065365245773832 -0.059404381452836 -0.006700853036263364 0.7112073591870905 -2.793780628594305e-05 0.7234283783336887 -2.67570932686378e-05 0.7234302250735107 -2.446320244250625e-05 0.7234337167312712 0.0001441442525519209 0.004776981844081063 0.001964241516442131 -0.001279289930183057 0.0009901921906584617 0.005102724602622095 -0.0001969944416873799 0.0006055390861509305 -0.001981889349334628 0.001289775046291938 0.0009924227912350586 0.005084179458414934 0.0001970337430004949 0.0006055492125132441 0.4000059982468001 0.2000006330421453 1.001005166968155 0.9999986986616857 0.001264259603338192 -0.00100188514175821 -2.342548568520312e-05"
qvel="8.028421913635349e-14 -7.933623204015651e-15 -1.766955416585763e-09 -1.242788325114248e-10 1.380680257623891e-08 4.072776622758517e-13 -2.152263214542579e-08 -3.878177040643757e-09 -7.698904695669224e-07 1.032750347898222e-09 -1.203279562630678e-09 -7.551458300921444e-08 2.469496246057255e-06 8.917880101195273e-08 -6.756803792056489e-06 -2.872076666906819e-06 1.785650772865195e-06 -5.01959632083366e-06 -5.599940213931672e-06 8.890181416091634e-07 1.64456042549838e-06 -1.371426840474208e-09 -2.120678515220117e-09 -2.024654983099582e-09 -3.146661587304676e-09 -2.584650818327909e-09 -4.007447393764789e-09 3.46515937628953e-09 1.271775029987075e-08 -2.488928508740539e-06 -8.746797042033161e-08 -6.8499144406484e-06 -2.901446048768352e-06 -1.790798673741401e-06 -5.013863339758384e-06 5.931327072492727e-06 9.379458926032098e-07 1.728266244061688e-06 -1.546731198107214e-09 -2.391411625987869e-09 -2.205072839286403e-09 -3.425520861505272e-09 -2.768770278332858e-09 -4.29204657928239e-09 3.77970711367913e-09 1.210836106515995e-08 2.48779855243758e-07 1.794262457563144e-08 2.425338558609319e-07 -4.490996387632652e-09 1.5470867213074e-10 -1.056275279772894e-10 -2.528203830071622e-07 -1.984360361016969e-08 2.432485190492325e-07 -4.490126811319184e-09 -1.553085076375719e-10 -1.050844929338509e-10 -5.03087850573677e-15 -3.069973955284326e-15 1.263049899085103e-14 -2.132657422360499e-13 1.240631051776082e-14 7.346260313161907e-14 "
ctrl="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "
mpos="0.5 0 0.5 0.5 0 0.5 0.5 0 0.5 "
mquat="1 0 0 0 1 0 0 0 1 0 0 0 "
/>
```
PiperOrigin-RevId: 741427042
Change-Id: Ib33f3e6215b7933d9267fc4c222d7a0abc75dbb4
2025-03-28 00:38:19 -07:00