Commit Graph

550 Commits

Author SHA1 Message Date
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
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
Baruch Tabanpour a02fc405af Add naive ray mesh implementation.
PiperOrigin-RevId: 598993152
Change-Id: I708505bf20a89d5a4840451a11b99771195003e6
2024-01-16 16:29:11 -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
Yuval Tassa 3c1907e678 Fix rendering of links in documentation.
PiperOrigin-RevId: 598855374
Change-Id: I19c1ef73d23f0c2fedb8f0a6754bb9edd91f4c20
2024-01-16 08:54:38 -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
Baruch Tabanpour d4e8070a3f Update doc about MJX meshes, fixes #1325.
PiperOrigin-RevId: 597342387
Change-Id: Iccb47b4b57adf2392fa5c5a38b2a28e87ace1e3d
2024-01-10 13:36:45 -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
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
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
Yuval Tassa 6860e953ed Improve docstring of mju_eig3.
PiperOrigin-RevId: 595380013
Change-Id: Ia3663c11ff1cd50a35d5d72ba01e09ff3d9054d0
2024-01-03 06:04:08 -08:00
Nimrod Gileadi 2a46ca3787 Update the documentation on the maximum number of contacts from hfield collisions.
The docs were incorrectly asserting that the limit is 9 contacts, which hasn't been true since version 1.5.

This fixes #1285.

PiperOrigin-RevId: 592526249
Change-Id: Id45d73666fec8dcfd18d11605975e787f2cfeba2
2023-12-20 05:03:35 -08:00
Baruch Tabanpour 77b4132c47 Add site transmission to MJX.
PiperOrigin-RevId: 592373042
Change-Id: I54d941f4ee6f74404fe2aea7253f5b426d097e23
2023-12-19 16:19:17 -08:00
Baruch Tabanpour 80f50c943c Add filterexact to MJX.
PiperOrigin-RevId: 592026712
Change-Id: Ia73d67f36db5a4a1786a2532b5daa9e9a36f714c
2023-12-18 15:29:18 -08:00
Google DeepMind 7fb448613f Post release version update: Update to V3.1.2
PiperOrigin-RevId: 592019826
Change-Id: I64fd7da628bf3312ede4970b9b10ef5d0cc75b45
2023-12-18 15:03:37 -08:00
Baruch Tabanpour 1c31676e2d Fix formatting error.
PiperOrigin-RevId: 592018049
Change-Id: If0b59d18c380997c4c94795e275b56d2f6293c22
2023-12-18 14:57:15 -08:00
Google DeepMind 3ed81f864c Update version number in third_party/mujoco/doc/changelog.rst for v3.1.1
PiperOrigin-RevId: 591962782
Change-Id: I7c498e1339013e9207ef8c21e793c1d80f55d16d
2023-12-18 11:35:28 -08:00
Yuval Tassa d39ed1d3c8 Update changelog.
PiperOrigin-RevId: 591932297
Change-Id: I9131400fee6839e9311baf28a069fc1e7237ee86
2023-12-18 10:05:27 -08:00
Nimrod Gileadi 7cb7c87f70 Fix a few issues with the passive viewer.
1. Create an arena for the mjData instance used by the passive viewer visualization.

When using the passive viewer, stuff gets copied from the real mjData into a minimal struct.
That struct didn't have a stack, and now visualization for Flex does stack allocs.

2. Add missing a missing field in scene state for flex visualization.

3. Fix a memory leak where mjvScene wasn't released on exit in the passive viewer.

4. Add some locks in places where the render thread and Simulate::Sync collide.

This fixes #1280.

PiperOrigin-RevId: 591891676
Change-Id: I592f286cab9719c8d9af84e42f9756ea1f9f1971
2023-12-18 07:33:19 -08:00
Yuval Tassa 38fa756a20 Add mjGEOM_LINEBOX, used in visualization of collision trees.
PiperOrigin-RevId: 591224734
Change-Id: I09ad8c4b711021ff4dd5548ba5381d25d5a3d7f8
2023-12-15 05:36:35 -08:00
Yuval Tassa da211ddf29 Improve description of the collision detection pipeline.
PiperOrigin-RevId: 590742091
Change-Id: Idfcc37cece21dcf46401a147a43aa8ec4eeb05aa
2023-12-13 16:06:30 -08:00
Google DeepMind c2c76195dd Updating Mujoco Release version number to v3.1.1
PiperOrigin-RevId: 590712172
Change-Id: Ibf32322222212c1bf098e75bbb2e145344c57b93
2023-12-13 14:26:08 -08:00
Yuval Tassa 537d649e95 Improvements to transmission documentation.
PiperOrigin-RevId: 590694542
Change-Id: I9dc25655116c9300061095c2a2b701530bbbbeca
2023-12-13 13:22:40 -08:00
Google DeepMind 89d15c48e8 Update version number in third_party/mujoco/doc/changelog.rst for v3.1.0
PiperOrigin-RevId: 590258202
Change-Id: I1220eb48e7c3871fdf785cf74819aca12d0c75c0
2023-12-12 10:42:22 -08:00
Google DeepMind fcebdf4d09 Update MuJoCo to v3.1.0 for release.
PiperOrigin-RevId: 590256664
Change-Id: I42ad788d609dde0ff00b13a2e456b2a8d3d9e952
2023-12-12 10:37:47 -08:00
Yuval Tassa 28a9e6d9a2 Add mjNOBJECT value to mjtObj enum.
PiperOrigin-RevId: 590164716
Change-Id: I500741aa4fb97fe2c4f5d2086188bb2c9fdfd1a0
2023-12-12 05:15:00 -08:00
Yuval Tassa 64c33cefcf Correct formula for solref direct stiffness. Fixes #732.
PiperOrigin-RevId: 590144795
Change-Id: I94def777c7456243509374caecea2a335859f1f2
2023-12-12 03:56:18 -08:00
Yuval Tassa 07e05b4c55 Fix typo. Fixes #1221
PiperOrigin-RevId: 589835888
Change-Id: Iacedbe642709d5fbd43b7f0f1f9daa6447ce6155
2023-12-11 08:42:06 -08:00
Yuval Tassa 1885d518eb Use the string (rot:lin) in mjdata.h to clarify where 6D motion vectors use the Featherstone convention. Also add clarifying text to the appropriate note in the documentation.
Fixes #982.

PiperOrigin-RevId: 589556339
Change-Id: I3e7ff185a089715a386694321d4b89d09d481cf9
2023-12-10 03:27:44 -08:00
Yuval Tassa 762371c3e4 Add kv damping attribute to position and intvelocity actuator shortcuts.
PiperOrigin-RevId: 588377097
Change-Id: I8ded2ff982e52ed8673019979e29b706ef65c743
2023-12-06 04:28:30 -08:00
Kevin Zakka 899ba4b7ec Add missing period in documentation.
PiperOrigin-RevId: 588127219
Change-Id: Ib39808f303cebb6c619d1119024e9a1352326473
2023-12-05 11:02:26 -08:00
Nimrod Gileadi 3c05f9fafc Add a note to future change log about releasing 10.16 macOS wheels.
This change relates to #1213, and should fix it when we push the next release.

PiperOrigin-RevId: 588099974
Change-Id: Ic1c4164f8a6400e92b5f509c3e03ff9fbc1c6033
2023-12-05 09:39:52 -08:00
Matthew Bennice c0b7b9873d Store paths for hfields, textures, and skins similar to meshes.
PiperOrigin-RevId: 587283093
Change-Id: Ie6d8d2ecb185697a27d1b6f7fca1312df006af12
2023-12-02 03:51:25 -08:00
Erik Frey 67fa7c1dc2 Add put_model, put_data, and get_data to MJX.
These io functions replace device_put, device_get_into. These new functions correctly copy intermediate fields such as efc_J, which the old functions could not.

PiperOrigin-RevId: 586712273
Change-Id: Ia3a4104af17db2ebd41b41a2ca501c5de9ac5d05
2023-11-30 10:14:46 -08:00
Yuval Tassa 822b03446c Improve pipeline documentation, expose mj_implicit function to public header.
PiperOrigin-RevId: 586380774
Change-Id: I3fafa563ebc852e17e1233288455b96f4499027b
2023-11-29 10:18:57 -08:00
Alessio Quaglino 7d8d4d398e Make elasticity plugins compatible with flex pins. Fixes #1235.
Before change:
poncho       18.20s
poncho_flex  44.60s
floppy       4.70s
floppy_flex  6.43s

After change:
poncho       18.23s
poncho_flex  44.62s
floppy       4.67s
floppy_flex  6.57s

PiperOrigin-RevId: 585952587
Change-Id: I0e7c1513f64c7ab1e6ad71e2168b4467c042b46f
2023-11-28 06:13:43 -08:00
Baruch Tabanpour 35c90844ae Add sites to MJX.
PiperOrigin-RevId: 585691582
Change-Id: I6cc594daf436231f91534f137ff259e7b39811d9
2023-11-27 10:28:50 -08:00
Yuval Tassa ca046cbf64 Fix rendering bug in changelog.
PiperOrigin-RevId: 585627863
Change-Id: I238b9d7eb13dbc8660f15f45efe6a84ccbb84c66
2023-11-27 05:59:53 -08:00
Alessio Quaglino eb9568a48b Add frame element to MJCF.
PiperOrigin-RevId: 585598244
Change-Id: I4c06be3dd586dab5a4458f05faaf1e7f2b615458
2023-11-27 03:32:18 -08:00
Alessio Quaglino 8010aad7be Add flex_elemlayer to mjvSceneState. Fixes #1193 and #1219.
PiperOrigin-RevId: 585581657
Change-Id: Iec4da74437544184c19765a2feee1cca4c368d34
2023-11-27 02:25:05 -08:00