Commit Graph

3437 Commits

Author SHA1 Message Date
Matija Kecman bf918ccf40 Remove redundant mjv_defaultScene call since its called by mjv_makeScene
PiperOrigin-RevId: 810355812
Change-Id: I2bc112e24c3adaca616604ebc5c1e3e3c494eb59
2025-09-23 02:35:05 -07:00
Erik Frey 6aa06d2f43 Add _all_fields to MjOption, MjModel, MjData for struct introspection.
PiperOrigin-RevId: 810066486
Change-Id: I807104fc955a505512287f63b7c184a29c0d150e
2025-09-22 10:27:21 -07:00
Taylor Howell a5ed4ee223 MuJoCo Warp API documentation.
PiperOrigin-RevId: 810016913
Change-Id: Id4c309919068f7329cd35a2e0b63dc97c42343c3
2025-09-22 08:06:55 -07:00
Taylor Howell d616f11508 Remove references to deprecated nconmax and njmax.
PiperOrigin-RevId: 809987304
Change-Id: I4109497fe108234dd77011d61eb3ef833e6ae111
2025-09-22 06:28:41 -07:00
Taylor Howell 4bbe4e5ebc Zero actuator_velocity if actuation is disabled.
PiperOrigin-RevId: 809986353
Change-Id: Ie9fecda80864fef3377074042fd7829af8d03d64
2025-09-22 06:24:43 -07:00
Haroon Qureshi 6eea3d8ec0 Initial implementation of toolbox-based "Studio" app.
PiperOrigin-RevId: 809966748
Change-Id: Ic6333259ca1d112a2e42d47ccc44326bfcea3bdd
2025-09-22 05:02:31 -07:00
Haroon Qureshi 7fc6b29afd Replace PREPARE_NEXT_GEOM and FINISH_GEOM macros with functions.
PiperOrigin-RevId: 809940866
Change-Id: I1d45eede9ddf8606e7fd2a8caa2ed0224b0e24a7
2025-09-22 03:21:13 -07:00
Haroon Qureshi d9da8e2570 Replace RETURN_IF_GEOMS_EXHAUSTED macro with inlined code.
PiperOrigin-RevId: 809919921
Change-Id: Icf2afbd4168ebb18577b5915afa9d457001259d6
2025-09-22 02:03:19 -07:00
Yuval Tassa 4f27ab3467 Remove erroneous trailing backslash from xmacro.
PiperOrigin-RevId: 809763857
Change-Id: I9a3c8787d8b91fe21e00eca27331664b2e1ebfba
2025-09-21 14:15:10 -07:00
Yuval Tassa d55da23235 Simplify mj_comPos, avoid stack allocation
PiperOrigin-RevId: 809762290
Change-Id: I87824279ff5f7049b1f06b900d4d3e33f5fafe0f
2025-09-21 14:06:22 -07:00
Tom Erez 0141c6b8b7 Include reference to the State API in the mujoco-py migration guide.
PiperOrigin-RevId: 809349546
Change-Id: I4d48223962e6b89e3844c779e9499932c7b72945
2025-09-20 01:20:19 -07:00
Google DeepMind 0e1104768a No public description
PiperOrigin-RevId: 809083979
Change-Id: I5c6641b73c76153c15f5cdf858b788e1433acc81
2025-09-19 10:10:45 -07:00
Google DeepMind 26ea20a21f No public description
PiperOrigin-RevId: 809074980
Change-Id: Ib3e3522addceddba6a057cfef80fcbd30a420b3d
2025-09-19 09:49:07 -07:00
Alessio Quaglino 77e025ea98 Move meshdir and texturedir to mjsCompiler.
For backwards compatibility in the Python bindings, both `spec.compiler.meshdir` and `spec.meshdir` are now allowed.

Fixes #2834.

PiperOrigin-RevId: 809060113
Change-Id: Ie23f1c5dd57de43568312a8e062906f4013bb474
2025-09-19 09:05:44 -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
Baruch Tabanpour 60cb976e82 Add assertion for leading dims in MJX-Warp.
PiperOrigin-RevId: 808624659
Change-Id: I259f9cd753bdffbe465ae807ec957f123e8d589e
2025-09-18 09:52:44 -07:00
Kyle Bayes eb96dd556c Reduce ccd_iterations from 50 to 35.
PiperOrigin-RevId: 808610578
Change-Id: I8755f9ba2902bf0805b7ded07ee6e048e404a31f
2025-09-18 09:16:52 -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
Peter Hawkins 0e61a4ac5e Remove jaxlib.hlo_helpers.
This module has been deprecated for many months and its replacement is jax.ffi.

PiperOrigin-RevId: 808567797
Change-Id: I5b4f4eee5e65ccd86e597c5761e68c36292b6209
2025-09-18 07:18:23 -07:00
Matija Kecman f9f3dd3c1d Fix ImGui input processing
PiperOrigin-RevId: 808555760
Change-Id: Ie443143d9c058058b99786e44f27715b05c9f8ed
2025-09-18 06:42:16 -07:00
Haroon Qureshi d7500e0dec Split START macro into two parts: one for control flow and one for assignment.
PiperOrigin-RevId: 808497167
Change-Id: I4d78426af69d98f57600cb7fd76edaf5b20b0039
2025-09-18 03:23:12 -07:00
Haroon Qureshi 6f5a7576f9 Move simlib into experimental folder and rename it toolbox.
Also:
- update the namespace to `toolbox` (instead of `filament`)
- Add copyright notices to all files
PiperOrigin-RevId: 808474353
Change-Id: Id1fe86c5d183c8e91bec8509b6c0830b5fe84c1c
2025-09-18 02:15:23 -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
Yuval Tassa 7eab0117f7 Don't smooth tracking camera motion
PiperOrigin-RevId: 808110613
Change-Id: Ib8631e5ace6db7c7bb780f26b79a72e26e72f451
2025-09-17 05:25:17 -07:00
Kyle Bayes 9740705510 Add cache functions to Python bindings.
PiperOrigin-RevId: 807813218
Change-Id: Ieab2843d92e79c07bc9f98196db51297a456dedb
2025-09-16 13:02:59 -07:00
Taylor Howell f2fcd05b1b Import google-deepmind/mujoco_warp from GitHub.
PiperOrigin-RevId: 807766737
Change-Id: I1c22361ffa61f27fd8e0fd534b96488531761916
2025-09-16 11:08:56 -07:00
Yuval Tassa 52da7586dc Clean up includes in src/engine
PiperOrigin-RevId: 807726978
Change-Id: I02800deb79bfb3c328d941861ded9d817e8f6e32
2025-09-16 09:36:44 -07:00
Alessio Quaglino 5bbda2186d Make the Octree interpolation continuous.
This is done by detecting the hanging nodes and compute the function at those location by interpolating the corresponding coarse vertices.

PiperOrigin-RevId: 807700228
Change-Id: I27dcb85361ca445c2099dd07b280cae5c92d3131
2025-09-16 08:15:26 -07:00
Taylor Howell 04380890d5 MuJoCo Warp documentation.
PiperOrigin-RevId: 807693732
Change-Id: I6a49e195eb9f9ac2d562f1aa4745c1206e069caf
2025-09-16 07:56:41 -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
Rishi Krishnan eacad44a1a Update changelog for 3.3.6 release
PiperOrigin-RevId: 807337529
Change-Id: I48bffe879a462a68ad0e55a75a8461bf3a98e97b
2025-09-15 12:27:46 -07:00
Kyle Bayes ac4874226c Support NULL in dir parameter in mj_addFileVFS.
Fixes #2839.

PiperOrigin-RevId: 807208005
Change-Id: I8def3b1e388dc19fa2fa8a92d53abef30dee5b88
2025-09-15 06:00:13 -07:00
Copybara-Service dd398f47b9 Merge pull request #2850 from google-deepmind:cmake
PiperOrigin-RevId: 807207617
Change-Id: I3e54ea0c79560bcf283b16ee9ee5772ae8e99a8c
2025-09-15 05:58:59 -07:00
Taylor Howell 155d6c686a remove UpdateCMakeMinimumRequired.cmake 2025-09-15 13:30:56 +01:00
Taylor Howell 85a7ac8e82 Merge pull request #2851 from traversaro/patch-43
[cmake branch] Refactor cmake_minimum_required handling in dependencies
2025-09-15 05:26:58 -07:00
Silvio Traversaro ea856a4c31 Refactor cmake_minimum_required handling in dependencies
Removed PATCH_COMMAND for cmake_minimum_required updates and added checks for CMAKE_POLICY_VERSION_MINIMUM.
2025-09-15 13:44:10 +02:00
Taylor Howell 0ddb840395 add comments explaining patches 2025-09-15 12:28:38 +01:00
Taylor Howell c79b2d064b add description of file utility 2025-09-15 12:17:41 +01:00
Taylor Howell 1b7e508f17 add copyright header 2025-09-15 12:16:15 +01:00
Taylor Howell 83a619c5b7 patch for cmake_minimum_required version 2025-09-15 11:40:08 +01:00
Alessio Quaglino 4fc69fa64d Ensure that the Octree is balanced.
This means that two adjacent nodes can only have at most one level of refinement difference.

Note: This is a small breaking change for mjWarp since the order of the children was flipped.
PiperOrigin-RevId: 806299445
Change-Id: Ia326a31c7a8162ae02d70c868d87779198e805be
2025-09-12 08:34:15 -07:00
Google DeepMind 2287b9f815 Don't prepend meshdir to asset paths in MjSpec.to_zip.
PiperOrigin-RevId: 806287351
Change-Id: I9afc8251f9cbced9ecd370b39cec6aeff424514b
2025-09-12 07:54:16 -07:00
Alessio Quaglino 7e048b7535 Refactor: Convert mjCOctree::MakeOctree from recursive to iterative.
The octree construction is now performed using a breadth-first search with a `std::deque` to manage tasks. A new `OctreeTask` struct encapsulates the state for each node to be processed, and a helper function `Subdivide` is introduced for subdividing the Octree nodes.

Also reduce the number of (center, size) to (min, max) conversion for the bounding box representation in order to avoid duplicated vertices in the Octree due to floating point errors.

PiperOrigin-RevId: 806214441
Change-Id: Iff9015ebe4705522db743c478cef5acf1a7312b7
2025-09-12 03:22:17 -07:00
Yuval Tassa f61f89bf54 Update use of absl::MutexLock in fixture.cc
PiperOrigin-RevId: 806203271
Change-Id: Ia058d117aedb12c1014912bf5ff192fcc9782964
2025-09-12 02:46:22 -07:00
Taylor Howell 89152fb39e Import NVIDIA/warp from GitHub.
PiperOrigin-RevId: 806000657
Change-Id: I5127baf8d212c5fc7bd597c843957f4b279d52db
2025-09-11 15:06:55 -07:00
Haroon Qureshi ad5f07e060 Extract functions from mjv_updateCamera for calculating frames and frustums.
PiperOrigin-RevId: 805770746
Change-Id: Id2a6022a2ee2e8b1a783debf54b470a9df81051a
2025-09-11 04:10:59 -07:00
Haroon Qureshi 017e7d5a73 Add light ids.
PiperOrigin-RevId: 805755907
Change-Id: I92a1b1ea4ce1495c2746fd518f33ab2d1ad81399
2025-09-11 03:20:44 -07:00
Google DeepMind da2fad4530 Catch RuntimeErrors when importing warp.
PiperOrigin-RevId: 805586914
Change-Id: Ica3ca016c8056316d1d2f052e4d3481f578a8aad
2025-09-10 17:53:41 -07:00
Rishi Krishnan 4b18009f47 Revert Eigen version
PiperOrigin-RevId: 805395095
Change-Id: I9c8184f2e667dd7595a6211626be606878f9c04f
2025-09-10 09:34:06 -07:00