Commit Graph

2991 Commits

Author SHA1 Message Date
Tom Power 6c201d3e1c Add examples of scaling assets into tutorial notebook. Fixes #2476
PiperOrigin-RevId: 760617809
Change-Id: I86d4fadb473cf8ad9bcfd058567551c431f2bf31
2025-05-19 07:34:51 -07:00
Yuval Tassa 84d658a5ad Remove redundant variable in mj_factorI
PiperOrigin-RevId: 760604094
Change-Id: I664b4cc9d717bc12a4711feb3fa585777fb7a1aa
2025-05-19 06:42:11 -07:00
Sam Haves 178fb49c2b Fix namespacing in USD schema.
PiperOrigin-RevId: 759632714
Change-Id: I666ca0e5b7f264f63eae0bbb39f0403654fb1c56
2025-05-16 08:54:24 -07:00
Sam Haves df09980258 Create python module for MjcPhysics.
PiperOrigin-RevId: 759602056
Change-Id: I06e604a5f6b3ca3b1a4bb949589d1b7ab72dd6ad
2025-05-16 07:13:05 -07:00
Yuval Tassa ee8abdf854 Speed up mju_sqrMatTDSparse
PiperOrigin-RevId: 759593417
Change-Id: I0168e1f96333769d09d61e835560910d43aac608
2025-05-16 06:42:17 -07:00
Sam Haves 81442e06a0 Add MjcPhysicsSiteAPI support and testing.
PiperOrigin-RevId: 759124593
Change-Id: Ic2fa2a00f8384f432ee2eef95c80f5c180aa4ca9
2025-05-15 06:38:03 -07:00
Alessio Quaglino 7ba507323d Handle mocap body in bind.
PiperOrigin-RevId: 759065524
Change-Id: Ic4cc737596af883f267b6e2c470ac4591ea1eead
2025-05-15 03:10:19 -07:00
Yuval Tassa e8c566bee1 Remove use of diagnum in solver
PiperOrigin-RevId: 759021147
Change-Id: I9e5c85b6542380780fc487781398f406ddaad51b
2025-05-15 00:39:28 -07:00
Sam Haves dc4968506b Remove MjcPhysics prefix from schema API types.
PiperOrigin-RevId: 758718987
Change-Id: I8a3a5dc7a990d401a91f5982e62c590e8924472a
2025-05-14 09:39:24 -07:00
Sam Haves 0a5da8db22 Rename MjcSiteAPI to MjcPhysicsSiteAPI for consistency.
PiperOrigin-RevId: 758708231
Change-Id: I75914ba52159996515547aa9e2e93690cadbfc66
2025-05-14 09:10:30 -07:00
Yuval Tassa e1baa15776 Remove unnecessary argument in mju_mulSymVecSparse
PiperOrigin-RevId: 758688536
Change-Id: Ife1099b948215363ddaa6d0b0edcf3492edcddcc
2025-05-14 08:12:15 -07:00
Alessio Quaglino 71bdd915f7 Move bending stiffness from plugin to the compiler.
PiperOrigin-RevId: 758677644
Change-Id: I7d5c5140ba6948002bfa4ae9d6b4bf0f6de0e39b
2025-05-14 07:39:24 -07:00
Yuval Tassa d8bebdc675 Remove unnecessary diagnum argument in mj_solveLD and mj_factorI
PiperOrigin-RevId: 758669364
Change-Id: Icfefc4a7a1e7d28da373725358ccf9d5f589f689
2025-05-14 07:13:27 -07:00
Yuval Tassa b0c36c6b33 Remove dead functions.
PiperOrigin-RevId: 758663369
Change-Id: I2de0d9802eb73c3541ef17e46182608b08a3793e
2025-05-14 06:55:39 -07:00
Yuval Tassa dd28b887d4 Rename C sparse structure to M in mjdata, improve docstrings.
PiperOrigin-RevId: 758636638
Change-Id: If78acc423601d2911f514929b27f7b6d0af9ef58
2025-05-14 05:26:19 -07:00
Silvia Cruciani 4ba04586ae Fix setting slices of multidimensional arrays for multiple targets
PiperOrigin-RevId: 758623598
Change-Id: Ie05b36c25be74ddf7451a95377caf1ed1d692141
2025-05-14 04:36:58 -07:00
Yuval Tassa 1165018f71 Add island support to Newton solver
PiperOrigin-RevId: 758618486
Change-Id: I257d78c7dc9aa4dbf7cd6d8849d8ec48201edf24
2025-05-14 04:20:34 -07:00
Google DeepMind fa95fe0c59 Add intensity and range parameters to lights.
PiperOrigin-RevId: 758603199
Change-Id: I74e88bdfeedd9224e84d953f237d68eca79e6cb7
2025-05-14 03:28:03 -07:00
Yuval Tassa a6c3a287d6 Prepare Newton solver for island support
PiperOrigin-RevId: 758600631
Change-Id: Iac354588ad91f404a30fa035893560db60db733f
2025-05-14 03:18:03 -07:00
Alessio Quaglino 34e8ff1aad Add flex edge flap connectivity to mjModel.
PiperOrigin-RevId: 758593152
Change-Id: I79836df961972c9eae8037e5fcbfc3d0122645de
2025-05-14 02:50:37 -07:00
Alessio Quaglino 2386dfd7da Add touch sensor for estimating the surface contact stresses from the SDF.
PiperOrigin-RevId: 758556339
Change-Id: Ib56d76fab084b530fd68d61a29294cb6f1d05f3f
2025-05-14 00:45:58 -07:00
Alessio Quaglino 23865c7491 Skip cow.xml from xml_native_writer_test.
Including it caused tests to become flaky.

PiperOrigin-RevId: 758414305
Change-Id: I6a5b6b20df7faf736bb3dd8610019b9c9a23d633
2025-05-13 16:10:18 -07:00
Yuval Tassa 4186589738 Use mjData.M where appropriate
PiperOrigin-RevId: 758374391
Change-Id: I9de7af7be8e41b5c300d0a04ea99082b4cefdec6
2025-05-13 14:22:41 -07:00
Yuval Tassa 79c74d7eae Add mjData.M, not yet used.
PiperOrigin-RevId: 758351796
Change-Id: I0786966b2f2c2e699db845cda6940a8821b23f49
2025-05-13 13:28:03 -07:00
Yuval Tassa 1e02d66c3d Remove M matrix structure from mjData.
Introduced in March 2025 as a temporary measure, this is not considered a breaking change.

PiperOrigin-RevId: 758311298
Change-Id: Ia08857c18b791f6a62a2d8d136b45fc075507b93
2025-05-13 11:47:18 -07:00
Baruch Tabanpour 6bc0bbf7df internal change
PiperOrigin-RevId: 758287280
Change-Id: I8b99a5d44910d5b2e7857b808b1696f244778a26
2025-05-13 10:53:25 -07:00
Yuval Tassa 627fffdef9 Switch mjData.{qH,qLD} from full ("M") to reduced ("C") inertia matrix structure.
PiperOrigin-RevId: 758273074
Change-Id: If1a2e663ea70044694af985e0119afd6d58115ac
2025-05-13 10:20:32 -07:00
Yuval Tassa 436b5a8e1f Add mju_addToSymSparse
- Internal engine function to add a symmetric sparse matrix to a dense matrix.
- Also minor refactors to related functions.

PiperOrigin-RevId: 757954336
Change-Id: I8d8a48bcbbd5d6c618ae097a87df2bc1e6f5ef1d
2025-05-12 16:19:43 -07:00
Yuval Tassa 755564a348 Remove unused code related to legacy island implementation.
Also fix a docstring.

PiperOrigin-RevId: 757939564
Change-Id: I3a970fd38c63886d34cd23b1fb45617a9ce5c147
2025-05-12 15:39:16 -07:00
Alessio Quaglino 8a7c42c747 Add SDF functions to public API.
PiperOrigin-RevId: 757829339
Change-Id: I81ee7c3f33acf234835bf34cbb632e23cb9e284e
2025-05-12 10:53:39 -07:00
Alessio Quaglino d77126dc58 Add vertcollide option for adding spheres at flex vertices.
PiperOrigin-RevId: 757789990
Change-Id: I8ccba52b13e8c02a7be78f992297d6f414d98f8e
2025-05-12 09:13:48 -07:00
Sam Haves 09bf5409ab Add code generated files for mjcPhysics schema.
PiperOrigin-RevId: 757784741
Change-Id: Iacef6ef78c8e95ce51c5546562ad5b679f460deb
2025-05-12 09:00:45 -07:00
Yuval Tassa b53ed63b5f Use 2humanoid100.xml model in a benchmark test.
PiperOrigin-RevId: 757784271
Change-Id: I7da11ab85ba9f5e023cdbe3c77d31224f3444ca5
2025-05-12 08:59:14 -07:00
Sam Haves bd5cb88211 Change mjPhysics schema library name from mujocoPhysics to mjcPhysics.
PiperOrigin-RevId: 757777584
Change-Id: I6c8661aac3018892f113e65fada1b27903635200
2025-05-12 08:37:10 -07:00
Yuval Tassa dfe22f7ef7 Remove stale reference to uncompressed sparse matrix.
PiperOrigin-RevId: 757775265
Change-Id: Ic18c0c89ab84285a7d93e24c65e50832ebc53c6f
2025-05-12 08:30:43 -07:00
Saran Tunyasuvunakool 6a977d073b Fix GitHub Actions builds.
PiperOrigin-RevId: 757765160
Change-Id: Idaf86f80a24bc480ce35711cb706a4702a249d31
2025-05-12 08:00:43 -07:00
Yuval Tassa 9ac5fff41d Move local function to top of test file.
PiperOrigin-RevId: 757722664
Change-Id: Ief7d8ca9fda990bf582ca0feaa4b645f0a4bb6e7
2025-05-12 05:36:38 -07:00
Sam Haves af088adaee Add mjPhysics schemas, starting with MjcPhysicsSceneAPI and MjcPhysicsSiteAPI
PiperOrigin-RevId: 757710745
Change-Id: Ia920abecdf8c6a05f61dd0fd3a8e6bc001ccc7d0
2025-05-12 04:57:52 -07:00
Yuval Tassa 85dd78d6f3 Add private function mj_makeM.
PiperOrigin-RevId: 757689756
Change-Id: Ie8bb49d9f18a95da2e3fd8622e30f9266a1ced98
2025-05-12 03:52:38 -07:00
Taylor Howell 9accc7ae51 Update mj_energyPos.
PiperOrigin-RevId: 757678945
Change-Id: If236b9e8f376a2673abc87e818326e9188f6c15a
2025-05-12 03:14:43 -07:00
Taylor Howell b0b2c48190 Update comment in mj_energyPos.
PiperOrigin-RevId: 757670899
Change-Id: I3827089f4298b3800c20ed64ca0ccfcf3ed83d92
2025-05-12 02:45:45 -07:00
Sam Haves 924ee3070a Modify user values in mujoco to allow users to provide cleanup functions to avoid memory leaks.
For the MJCF -> USD plugin, and I suspect other usecases for user values, it's necessary to give ownership of the object to Mujoco. However since they get type erased, we can't clean up the data automatically for the user. Instead this allows c++ clients to provide a cleanup function with their data.

PiperOrigin-RevId: 756832010
Change-Id: I80b8e7822e1a0e399a0d19dcaa57ee69b3ccc16a
2025-05-09 11:03:06 -07:00
Taylor Howell baf84265b8 Improve wrap_circle.
PiperOrigin-RevId: 756704385
Change-Id: Id44ba317c6072790763a958f4227a76278d3ab74
2025-05-09 04:13:14 -07:00
Alessio Quaglino ad80a4625b Always generate a BVH in flex.
The BVH is used also for computing normalized vertex coordinates in the trilinear interpolation, so we need to compute it also when the flex cannot collide.

PiperOrigin-RevId: 756349244
Change-Id: Ib397c472e31251df5a7ea85850d83a62f3b2c949
2025-05-08 09:46:47 -07:00
Kyle Bayes f4774a5449 Fix bug in cached meshes where convex hull was missing. Previously if a mesh was copied from the cache it would not have its convex hull if the original mesh that was cached didn't previously compute it.
Fixes #2609

PiperOrigin-RevId: 756223337
Change-Id: I54705456636c270607a17340b249047e0df75d0b
2025-05-08 02:42:15 -07:00
Baruch Tabanpour 6cfea71985 Allow for different MJX backend implementations.
PiperOrigin-RevId: 755935704
Change-Id: Ic135cd00137c2857c73c683ed9fdc5ac4418715d
2025-05-07 11:28:39 -07:00
Baruch Tabanpour 421c487d9d Set mocap_pos/quat in make_data. Fixes #2606.
PiperOrigin-RevId: 755903897
Change-Id: Ied04e9bd3febfe1bbbba24ed1f52b3c0c6e50f38
2025-05-07 10:13:17 -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
Alessio Quaglino 449de73430 Do not skip cow and touch_grid during WriteReadCompare.
PiperOrigin-RevId: 755370618
Change-Id: I90dfe66b20c316b19c943eab8d031f5aef187fa7
2025-05-06 07:54:39 -07:00
Robin Alazard 253abad210 Add MeshCollisionAPI to collider Meshes with convexHull approximation.
PiperOrigin-RevId: 754014642
Change-Id: I44cff505a2b9b7120a38f8c896b2c6560ce51c43
2025-05-02 08:35:15 -07:00