Commit Graph

1370 Commits

Author SHA1 Message Date
Kyle Bayes aede8cf5cf Rename user_asset_cache to user_cache.
PiperOrigin-RevId: 601097322
Change-Id: Iea3d6481cd214028ef63ed72868999ecb0b1eeb4
2024-01-24 06:05:56 -08:00
Erik Frey 0a7be1732c Adds support for explicit dense/sparse mass matrices to MJX.
This increases performance, particularly for the Newton solver on TPU.

PiperOrigin-RevId: 600696483
Change-Id: If69bb9a2e21ba8dad6ca23f093ce7b7ceae644ff
2024-01-23 00:32:07 -08:00
Yuval Tassa aceb52bd09 Improvements to mujoco.rollout:
- `mjSTATE_FULLPHYSICS` as state spec, enabling divergence detection by inspecting time.
- User-defined control spec.
- Stop squeezing: outputs always have dim=3.

PiperOrigin-RevId: 600445256
Change-Id: I4466e88929cb7081e1c94968a5cfe10485bb7475
2024-01-22 07:01:53 -08:00
Erik Frey 5cbaa23388 Remove TEST_FILES from MJX test_util.py.
PiperOrigin-RevId: 599886327
Change-Id: I4d166e09db22fffc959dbe34fa3469bd4a1b9f84
2024-01-19 11:15:06 -08:00
Kyle Bayes a1ddbdf7f8 Add an implementation of a cache for assets for compilation speedups.
PiperOrigin-RevId: 599850003
Change-Id: I83e299e127058a5657d7b262aa98d36451b530f6
2024-01-19 09:04:01 -08:00
Yuval Tassa a23a368778 clean up rollout.cc
PiperOrigin-RevId: 599849967
Change-Id: I899b28bf78bf0414b07314c24cfe6e24441eba30
2024-01-19 09:03:10 -08:00
Yuval Tassa e0864ab7f2 Fix formatting bugs in changelog.
PiperOrigin-RevId: 599815807
Change-Id: I67d3eb2fd30c94a9d498ba605243e0b87b1d4ca8
2024-01-19 06:29:26 -08:00
Yuval Tassa fea7c10b95 Add bvhactive flag to visual/global. Fixes #1279.
PiperOrigin-RevId: 599778272
Change-Id: If5530629035cc68b198447503388f59a04041b13
2024-01-19 02:59:56 -08:00
Yuval Tassa 2feefbc5d2 Remove fine-grained timing from narrow-phase collision functions, delete mjTIMER_COL_MID.
PiperOrigin-RevId: 599225419
Change-Id: Ieca166753c20a0abf660e2821b2844dda8758951
2024-01-17 10:54:23 -08:00
Baruch Tabanpour edc254b213 Update MJX doc for #1344.
PiperOrigin-RevId: 599220357
Change-Id: I532f42ed086da59632eeaac0dcd3de6ffcf93cd4
2024-01-17 10:38:53 -08:00
Yuval Tassa a14a584f1d Fix bug in muscle length-gain curve. Fixes #1342
PiperOrigin-RevId: 599165049
Change-Id: Ic5ef77b4349a8a9c343eacfd781195bfebea9aca
2024-01-17 07:20:01 -08:00
Yuval Tassa 67a00a3a51 Rename mjMAXTHREADS -> mjMAXTHREAD (consistency).
PiperOrigin-RevId: 599130235
Change-Id: Ia80379b8ae0574a7cd8fbc668657f806e90d6c5c
2024-01-17 04:33:44 -08:00
Kyle Bayes 71b0561758 Clean up formatting issues in user_objects.h
PiperOrigin-RevId: 599127766
Change-Id: If752c00038818fb21476eb98be891ead467aad56
2024-01-17 04:21:10 -08:00
Baruch Tabanpour a02fc405af Add naive ray mesh implementation.
PiperOrigin-RevId: 598993152
Change-Id: I708505bf20a89d5a4840451a11b99771195003e6
2024-01-16 16:29:11 -08:00
Erik Frey ee922be393 Benchmark improvements.
- Use multiple devices if present
- FLAGS more agnostic to diverse platforms

PiperOrigin-RevId: 598990299
Change-Id: Ifbd454ca521a788324f2b62f1c79e7d4b8305a30
2024-01-16 16:17:56 -08:00
Yuval Tassa 45208a5fe0 Update Sphinx from 4.5.0 to 5.3.0 fixing broken docs build.
PiperOrigin-RevId: 598875231
Change-Id: I3295e9aa94087d44a695c7d380bbf9691a3d82b3
2024-01-16 10:04:16 -08:00
Alessio Quaglino 80674149ce Allow pinning flexes to non-simple bodies. Fixes #1270.
PiperOrigin-RevId: 598865882
Change-Id: I105ff1910a7d67f5b7bcb46bcef0e5e388ec08ea
2024-01-16 09:32:26 -08:00
Yuval Tassa 3c1907e678 Fix rendering of links in documentation.
PiperOrigin-RevId: 598855374
Change-Id: I19c1ef73d23f0c2fedb8f0a6754bb9edd91f4c20
2024-01-16 08:54:38 -08:00
Copybara-Service 3b440921df Merge pull request #1268 from Balint-H:feature/unity-hmap-dyn
PiperOrigin-RevId: 598652839
Change-Id: I3285f041c5c2e3e9286f1bb106825ee20e7147e3
2024-01-15 12:54:06 -08:00
Tom Erez 2388b651e8 Unity plug-in: Fix for when xml file has no <compiler> section.
PiperOrigin-RevId: 598646137
Change-Id: Id27635dc3064f8568ae0d86c2cdee8c2d414dd2f
2024-01-15 12:04:26 -08:00
Copybara-Service c77f984d9b Merge pull request #1330 from Balint-H:fix/unity-joint-limits
PiperOrigin-RevId: 598603093
Change-Id: I441631e33e812988694f8eed48c719c6bab86148
2024-01-15 07:08:03 -08:00
Alessio Quaglino 1e2e0b3053 Remove all visual-only assets if discardvisual is selected, not only the geoms.
PiperOrigin-RevId: 598598250
Change-Id: I12e60ce41ad436d037b4877d197decf6bdce0fc8
2024-01-15 06:39:25 -08:00
Alessio Quaglino acf698e2df Store pointer to index in mjCBoundingVolume if possible.
PiperOrigin-RevId: 598592242
Change-Id: I8dc20a8d8a9a0e967688839fa22d75263c226958
2024-01-15 06:04:20 -08:00
Alessio Quaglino cab1c6bb39 Preallocate mjCBoundingVolumeHierarchy and avoid copies during MakeBVH.
PiperOrigin-RevId: 598579741
Change-Id: Iac154affa6ee22994c571f2ec00ac602bfe7f4d6
2024-01-15 04:48:44 -08:00
Alessio Quaglino 5d46c39529 Increased SdfLib bounding box by 10% to prevent querying outside it during collision detection.
In case a query outside is performed, add SDF gradient computation using finite differences.

For SDFs generated from meshes, when the query point lies outside of the bounding box, the gradient provided by SdfLib ignores the SDF and is equivalent to the gradient of the distance from the bounding box, causing local minima in the contact point optimization. This CL increased the size of the bounding boxes and replaces the SdfLib gradient with a finite difference approximation of the gradient if a point lies outside it.

PiperOrigin-RevId: 597839637
Change-Id: I79dfddbe25288eca7eb235db51781fc2bb2c3c5f
2024-01-12 07:54:10 -08:00
Bálint Hodossy 66a0cd3b0b Perform autolimit check on actuators 2024-01-11 16:29:08 +00:00
Bálint Hodossy 3a00450d00 Rephrase condition for default limited definition so it's more intuitive 2024-01-11 16:20:13 +00:00
Bálint Hodossy 56b30d9d15 Check the autolimits attribute before assigning default values for joint limitedness 2024-01-11 16:09:06 +00:00
Yuval Tassa 79bcfecba4 Tidy up mj_kinematics implementation.
PiperOrigin-RevId: 597556619
Change-Id: Iaf108a6582e8135c7169dad07ed0654bdea8ee71
2024-01-11 08:00:06 -08:00
Yuval Tassa 60cd7248c2 Add zero vector shortcut to mju_rotVecQuat.
PiperOrigin-RevId: 597504456
Change-Id: I23580fc08571db97e984a87cba3f4d14e67d6b3a
2024-01-11 03:19:30 -08:00
Baruch Tabanpour d4e8070a3f Update doc about MJX meshes, fixes #1325.
PiperOrigin-RevId: 597342387
Change-Id: Iccb47b4b57adf2392fa5c5a38b2a28e87ace1e3d
2024-01-10 13:36:45 -08:00
Erik Frey 85ab6183bc Add ray filtering based on geom transparency and filter params.
PiperOrigin-RevId: 597316447
Change-Id: If9619320f0024c486bb7abe2c63e9a1ba1a631f0
2024-01-10 11:59:11 -08:00
Alessio Quaglino 8a9b041388 Replace objid with obj pointers.
This in preparation of adding functions to remove/add elements after compilation.

PiperOrigin-RevId: 597286844
Change-Id: I940103ade986c8d057db8cc1e9a98c073ddfab98
2024-01-10 10:20:47 -08:00
Alessio Quaglino 889353dfa8 Replace meshid and hfieldid with mjCMesh and mjCHField pointers in mjCGeom.
PiperOrigin-RevId: 597279837
Change-Id: I45ca00c70c13cd5bddb3385a0c60388fb166527c
2024-01-10 09:56:54 -08:00
Yuval Tassa 42515033a7 Fix linter issues in user_objects_test.
PiperOrigin-RevId: 597204770
Change-Id: I0b396d4c64684d845dc9baf205800e22c8fac314
2024-01-10 04:00:08 -08:00
Nimrod Gileadi 371da98d97 Avoid dynamically generated strings from being used as format strings in mjCError and mjXError.
PiperOrigin-RevId: 597198372
Change-Id: I2f159436091c03c7454545877cd5f7e2383cd7c8
2024-01-10 03:20:48 -08:00
Yuval Tassa 8247ddea0b Recommend fTetWild for tetrahedral meshing in the docs.
PiperOrigin-RevId: 596918194
Change-Id: I0357739c8741a7b9fc4614c5ed7ea7fefc0fb42c
2024-01-09 06:50:10 -08:00
Yuval Tassa b643c08c0d Recommend CoACD for convex mesh decomposition in the docs.
PiperOrigin-RevId: 596917392
Change-Id: I3fa6d22b879bf6b4d16e037bb2b8896df8d682a2
2024-01-09 06:45:37 -08:00
Alessio Quaglino baaaa10612 Fix typo in plugin docs.
PiperOrigin-RevId: 596884568
Change-Id: Ic0ba59fc73fbfd95361655e7761e49b2cb4985b0
2024-01-09 04:00:29 -08:00
Yuval Tassa 5308b485dc Improve dark mode behavior of arrowhead matrix image.
PiperOrigin-RevId: 596341192
Change-Id: Id1f8cb500c6042d699dd5fd8ec55b61b17443e20
2024-01-07 01:23:03 -08:00
Yuval Tassa c79e1e5d01 Add documentation image variants compatible with dark mode. Fixes #587
PiperOrigin-RevId: 596265596
Change-Id: Iedd076fbb7a6dca77a91e52e538be1c764d1f8fb
2024-01-06 14:02:34 -08:00
Erik Frey feb92bf535 MJX ray for planes, spheres, capsules, and boxes.
PiperOrigin-RevId: 596004453
Change-Id: I6c15268f7ec6afc1aadd370a78ef225ab9c5fd04
2024-01-05 08:42:17 -08:00
Nimrod Gileadi c59a33dd81 Use std::string_view instead of absl::string_view in fixture.cc.
Clean up some lint warnings.

Fixes #1306.

PiperOrigin-RevId: 595988916
Change-Id: I0e8584ff8704ea7294cf649664ab447cb1d4ff46
2024-01-05 07:20:58 -08:00
Nimrod Gileadi ca023a6f28 Update EGL init code for Python 3.12.
Fixes google-deepmind/mujoco#1299.

PiperOrigin-RevId: 595982512
Change-Id: Ib0261483a7f6cb8addf04f5010f09d3554c8bf45
2024-01-05 06:50:55 -08:00
Baruch Tabanpour 721e2d5589 Update tutorial notebook.
PiperOrigin-RevId: 595746621
Change-Id: Ie0a4ea01d4f50491b14713f12ea8a4fe6877f890
2024-01-04 10:45:00 -08:00
Yuval Tassa 7ce05f4957 Improve documentation of solver parameters.
PiperOrigin-RevId: 595723619
Change-Id: I00b67eaec02d2e85ce60fb44eb3e582ce036be3a
2024-01-04 09:17:31 -08:00
Alessio Quaglino 63ec34f9f8 Add plugins to flex parent body if there are pinned vertices.
Fixes #1270.

PiperOrigin-RevId: 595429578
Change-Id: Ifc61d4bde4dd3c6b4d4a09106152de1d24e71ef0
2024-01-03 09:53:22 -08:00
Kevin Zakka 2940b934fe Fix typo in sdf plugin readme.
PiperOrigin-RevId: 595404942
Change-Id: I43eb079779538e4ff82d0f549b5a49819ebcd9cb
2024-01-03 08:10:01 -08:00
Kevin Zakka 8d1b05bbd2 Fix markdown hyperlink.
PiperOrigin-RevId: 595383191
Change-Id: Ia11b962c68ed33cc0fd6c5279f571f4b21d81570
2024-01-03 06:19:32 -08:00
Yuval Tassa 6860e953ed Improve docstring of mju_eig3.
PiperOrigin-RevId: 595380013
Change-Id: Ia3663c11ff1cd50a35d5d72ba01e09ff3d9054d0
2024-01-03 06:04:08 -08:00