Commit Graph

2838 Commits

Author SHA1 Message Date
Kyle Bayes dc50fbbb9b Add safeguard if n is invalid in GJK.
PiperOrigin-RevId: 738340065
Change-Id: I2288eb731621e5b84dcc0f078d8dbd84dca94cd4
2025-03-19 04:21:11 -07:00
Yuval Tassa efe213a7b3 Cosmetic improvements to src/xml/ source files.
PiperOrigin-RevId: 738010419
Change-Id: Idb90a42a374682450737684e67388329c184c777
2025-03-18 08:12:29 -07:00
Yuval Tassa 205599ac1a Cosmetic improvements to src/user/ source files.
PiperOrigin-RevId: 737930914
Change-Id: I1cc254d420fcdf0c42ec3d2f601e5a02d925d958
2025-03-18 02:59:12 -07:00
Alessio Quaglino bae5175cf2 Accumulate rotation after updating pos and quat in replicate.
Fixes #2501.

PiperOrigin-RevId: 737929158
Change-Id: I0cad2de37190f1d30d427ae646acbde335b5be56
2025-03-18 02:51:05 -07:00
Alessio Quaglino 1bf24e9f67 Do not overwrite existing parent frames for worldbody elements when attaching an mjSpec to a frame or a site.
PiperOrigin-RevId: 737662046
Change-Id: I7028c21c803c01845ae1d53cb476f7b3df172313
2025-03-17 10:21:38 -07:00
Alessio Quaglino da04688071 Automatically compile mjSpec in to_xml().
Also, move mj_compile from MjModelWrapper to MjSpec.

PiperOrigin-RevId: 737640210
Change-Id: I93d2a31c33eb359452b0d966a29939183b4c5198
2025-03-17 09:21:10 -07:00
Alessio Quaglino 35774706ee Set parent frame of new frames after copying all frames.
PiperOrigin-RevId: 737620918
Change-Id: I8f49570cab39bd84b2da908d3683dddc3b29cb3c
2025-03-17 08:19:04 -07:00
Kyle Bayes b10b0b7055 Cache all processed mesh data.
PiperOrigin-RevId: 737576455
Change-Id: I87628ce7842d0d7d0e7fe02eb9afb2ddefa68ff8
2025-03-17 05:20:41 -07:00
Yuval Tassa fa1b01360a Delete reference to nonexistent flag in docs.
PiperOrigin-RevId: 737434746
Change-Id: I277b9d910f050315b4f5c855d1955989e668c46f
2025-03-16 17:34:29 -07:00
Alessio Quaglino f480a9e985 Add MjSpec.from_zip() constructor.
PiperOrigin-RevId: 736871864
Change-Id: Ib6cc189d5912a57e5c505c744a4a1d6ad61d1c84
2025-03-14 08:31:14 -07:00
Kyle Bayes 1a67aaf1b7 Remove pointers from BVH for caching in mjCMesh.
PiperOrigin-RevId: 736849392
Change-Id: I684cca918c65718b29a1bcb41ecd6bad8d88f8f9
2025-03-14 07:01:18 -07:00
Alessio Quaglino f25fc63f0f Default flex internal contacts to "false".
This function is unusual in the context of soft body simulations and has been a common gotcha for users, see e.g. #2500, #2079, #1900, and #1433. It should be used only if element inversion cannot be prevented otherwise.

PiperOrigin-RevId: 736822983
Change-Id: I76b0965c91c94dd88123826d218d7544ec37a88c
2025-03-14 04:55:09 -07:00
Yuval Tassa 40891eeadc Time both first and second compilation in sample/compile.cpp.
PiperOrigin-RevId: 736482658
Change-Id: I3caeff5abafb69998e56ccd792f5d02e7e04e430
2025-03-13 06:27:05 -07:00
Copybara-Service a7a8a68be5 Merge pull request #2496 from jjyyxx:patch-1
PiperOrigin-RevId: 736457846
Change-Id: I3b4b1554dd15e9ca73abee5c31d4758f694f5b44
2025-03-13 04:33:45 -07:00
Alessio Quaglino 8e300eb628 Update list ids immediately during body detach.
Fixes #2499.

PiperOrigin-RevId: 736449320
Change-Id: Ieeae52bdbbbb896d886221ab088229c8287a32a3
2025-03-13 03:55:58 -07:00
Tom Power 8f4c5c4b16 add support for non-rgb textures in xml_native_writer
PiperOrigin-RevId: 736221430
Change-Id: I83c19e06f0f7be054a88c3e894807e7b90ee012a
2025-03-12 12:17:32 -07:00
Google DeepMind 5c3bab4d09 Change default metallic value to 0, as per the XMLreference doc.
See https://mujoco.readthedocs.io/en/stable/XMLreference.html#asset-material-metallic

PiperOrigin-RevId: 736190166
Change-Id: Ic841df9510aff5df8f5ea3394732ab65b550aa65
2025-03-12 10:54:29 -07:00
Alessio Quaglino 775c45c60e Do not lookup compiler options by name when attaching.
Also, fix a pre-existing bug that caused incorrect compiler option propagation with nested attachments.

Fixes #2480.

PiperOrigin-RevId: 736156202
Change-Id: Ib430493e8c60556c2312603198587b39de9b8a4a
2025-03-12 09:18:47 -07:00
Kyle Bayes 995bbf0f0f Refactor and fold in code into Process in mjCMesh for caching.
PiperOrigin-RevId: 736052216
Change-Id: Ia0e055fd99ce429b9dee97f3f9effbf2fa1aa4f9
2025-03-12 02:12:53 -07:00
Copybara-Service b9a23e8d0c Merge pull request #2475 from lyd405121:main
PiperOrigin-RevId: 735789711
Change-Id: Iad5a52a0ba29baad31ba60f0243e3b88553e6e96
2025-03-11 09:48:23 -07:00
Yuxuan Jiang 3884c86a14 Fix broken model.vis repr 2025-03-12 00:28:38 +08:00
Yuval Tassa c5473d9923 Print compilation time in sample/compile, allow compilation with no output.
PiperOrigin-RevId: 735692355
Change-Id: I4371f800ec150f8d665cf164b50a0e5a0b5ac082
2025-03-11 03:25:51 -07:00
Yuval Tassa de48f4178f Add missing term in mj_jacDot
PiperOrigin-RevId: 735686836
Change-Id: I813ca46f71e368ddc97a6d2e540102137b31dbcf
2025-03-11 03:01:29 -07:00
Yuval Tassa 3b27f30827 Added comment regarding numpy slices.
PiperOrigin-RevId: 735681812
Change-Id: I832219bb63c83ecd5115ac1d5755cd35b4362478
2025-03-11 02:36:51 -07:00
Yuval Tassa bd9d30adc7 Improve documentation of mj_saveLastXML fixes #2075
PiperOrigin-RevId: 735672207
Change-Id: I951b8be9cf12a2a4965a40bb8db4de4ddda18570
2025-03-11 01:57:46 -07:00
Alessio Quaglino 019e0a806c Throw an error if a child attached by reference to a parent is compiled.
Fixes #2482.

PiperOrigin-RevId: 735665098
Change-Id: Ia3436fdd2ff572f8f0c1ded434742a4a9186f2f7
2025-03-11 01:24:17 -07:00
Alessio Quaglino 14dc6fd33b Do not use inertia during mesh compilation.
Fixes #2479.

PiperOrigin-RevId: 735387473
Change-Id: Ib241f2a0efc100bbe2cec24e0399bfcc87268094
2025-03-10 08:35:33 -07:00
Tom Power e7a715497e Write mesh inertia to defaults when exporting to xml. Fixes #2478
PiperOrigin-RevId: 735338748
Change-Id: Id0b71d06c77baef417f7968ae8a14154243a1f83
2025-03-10 05:31:55 -07:00
Alessio Quaglino adc3cc06fa Change private->public spec for error checking in mjCSkin recompilation.
Fixes #2485.

PiperOrigin-RevId: 735323174
Change-Id: Ifcc2055f6a74afaa18ad5228633f36f760adcffd
2025-03-10 04:19:40 -07:00
Kyle Bayes 4d024f9421 Convert internal representation of vertices to double. Also replace remove duplicate vertices with fast hash implementation.
PiperOrigin-RevId: 734516595
Change-Id: Ic78556688d5f2b75d69cd286b8d060e2cdeb7c48
2025-03-07 05:17:49 -08:00
Yuval Tassa e4ee00e695 Link to Onshape to robot converter in top level README.
PiperOrigin-RevId: 734426561
Change-Id: I1e5005c97d111204b2277c4b4d1fca9b162d0628
2025-03-06 23:16:22 -08:00
Yuval Tassa a816ca6dd5 Use qLDiagInv instead of qLD in engine_vis_interact.c
PiperOrigin-RevId: 734399015
Change-Id: I97c80a8b25dbd40e86560c328cc786a0bed6a2d1
2025-03-06 21:15:36 -08:00
Yuval Tassa 109a223cf6 Narrow some includes in src/user/
PiperOrigin-RevId: 734389490
Change-Id: I2834aadbbb38b396536e467c0dfea11dcc21972f
2025-03-06 20:45:18 -08:00
Alessio Quaglino e04e0e5c3d Rename "facetexcoord" to "elemtexcoord" in mjsFlex element for consistency.
PiperOrigin-RevId: 734153759
Change-Id: Ic17d7c8a6e53fba04da511d405c815a723c5e55b
2025-03-06 08:28:36 -08:00
Kyle Bayes 37d6d7792a Fix bug with handling of invalid maxhullvert values (smaller than 4).
PiperOrigin-RevId: 734136442
Change-Id: I531e5a5b9244e026a9368e0d6a83d2b559c1b58d
2025-03-06 07:33:41 -08:00
Jake Harmon a0fc6b18b5 Update references to JAX's GitHub repo
JAX has moved from https://github.com/google/jax to https://github.com/jax-ml/jax

PiperOrigin-RevId: 733951719
Change-Id: Iee4a7bf4bcc9fc3108ca9d30b6b98f5df20c79c7
2025-03-05 19:25:00 -08:00
Yuval Tassa 0f563ecf31 Switch mjData.{qH,qLD} from reduced ("C") to full ("M") inertia matrix structure. No performance impact of extra zeros because of existing "simple dof" skipping mechanism.
PiperOrigin-RevId: 733523931
Change-Id: Ic8d8a152dda5532331c239cb6b4ce7d8d09b7fff
2025-03-04 17:34:35 -08:00
Alessio Quaglino 51f6aa8b43 Store assets by address instead of value in MjSpec.
PiperOrigin-RevId: 733343350
Change-Id: I42ee2a184ebff37a080dace0422bb61e1ba53527
2025-03-04 08:43:27 -08:00
Yuval Tassa 7d9df8c9a9 Fill-in qM CSR matrix structure on mjData (currently unused).
PiperOrigin-RevId: 733258529
Change-Id: I903548ae60139e4858550194e1aedf0efa2f3033
2025-03-04 03:20:11 -08:00
Yuval Tassa c72c83aa3b Allocate qM CSR matrix structure on mjData (currently empty).
PiperOrigin-RevId: 733247419
Change-Id: I814e574e3161875e89433a6e03f2c9e200d8b1d6
2025-03-04 02:37:47 -08:00
Yuval Tassa 8f37ae1bf2 Add missing fields in mj_printData, don't print integration-related fields if identically zero.
PiperOrigin-RevId: 732917127
Change-Id: Ia5fe8e4b6c2485fcf4336847535c1cc72b9d6d62
2025-03-03 07:34:14 -08:00
蕉太狼 56dda2b4de [Add Model] Make a flex with textured bunny
- Make a flex with textured bunny from disscution(https://github.com/google-deepmind/mujoco/discussions/2442)
2025-03-03 16:45:43 +08:00
蕉太狼 e16354a527 [New Model] Add a bunny with uv coordinate
- Using [UVAtlas](https://github.com/Microsoft/UVAtlas) to unwrap and generate from the [origin bunny](https://github.com/google-deepmind/mujoco/blob/main/model/flex/asset/bunny.obj)
2025-03-03 16:44:03 +08:00
Yuval Tassa 010f9bacbb Fix typo in Python API docs.
PiperOrigin-RevId: 732600862
Change-Id: Ie9a8db9555ac3e233d29a10d289b71745d644cb2
2025-03-02 01:20:25 -08:00
Yuval Tassa 6c8cf82f27 Docs: fix mixed-up forward dynamics stages.
PiperOrigin-RevId: 732465925
Change-Id: I8d350e398d749076cc5f24cd33fa1ee87876e426
2025-03-01 09:34:23 -08:00
Alessio Quaglino 7651cb1b33 Copy texture coordinates from OBJ into flex. Fixes #2464.
PiperOrigin-RevId: 732109960
Change-Id: I506b3540ab5d489ce8f10d0c473919611ccb654a
2025-02-28 06:04:19 -08:00
Kevin Sayed 06e217df7e [MJ3.3.1] Bumping internal version number.
PiperOrigin-RevId: 731876412
Change-Id: I1c0f4a18bbc2e0bf80e01512ea196841848220af
2025-02-27 14:53:28 -08:00
Copybara-Service 8de9b4e4e3 Merge pull request #2462 from jjyyxx:main
PiperOrigin-RevId: 731710330
Change-Id: If87dd2c06123bd9ddfc62b63370c8fedf320e721
2025-02-27 06:58:24 -08:00
Alessio Quaglino 2abb2e2d5d Add further MJX bind tests to clarify dimensions.
Fixes #2463.

PiperOrigin-RevId: 731674489
Change-Id: I9e21a2dd0b0636c94b2b917615889b9d721d542d
2025-02-27 04:34:08 -08:00
Yuval Tassa 9c31494fa1 Add MjSpec example for procedural meshes.
PiperOrigin-RevId: 731635686
Change-Id: I310b802966755f627c4ec2cbdcd2ce7b14921c57
2025-02-27 01:57:56 -08:00