Commit Graph

2265 Commits

Author SHA1 Message Date
Baruch Tabanpour 306e52c30f internal change.
PiperOrigin-RevId: 678355240
Change-Id: I271bece139de5d6e2e629d7f2fe84a4e2dd71138
2024-09-24 12:37:58 -07:00
Alessio Quaglino f0d52813b8 Copy joint state to the modified mjSpec when detaching bodies.
Fixes #2085.

PiperOrigin-RevId: 678351210
Change-Id: I2a546877dd50abc7805099f8d5c40807ffe780e6
2024-09-24 12:26:29 -07:00
Baruch Tabanpour b09c1a977e Add jit flag to viewer (easier debugging). Make convex.xml stable.
PiperOrigin-RevId: 678312872
Change-Id: I0d65d7c2d05a7b5103fa0be2233cbc5ba232817c
2024-09-24 10:49:34 -07:00
Alessio Quaglino 5bca7876c4 Update spec.from_string() and spec.from_file() to match the respective mjModel functions.
PiperOrigin-RevId: 678230403
Change-Id: I7f3d8c5fd44d30b5695eee1f8513cc27f4158d94
2024-09-24 06:57:20 -07:00
Copybara-Service 910cd89cc7 Merge pull request #2083 from jjyyxx:patch-1
PiperOrigin-RevId: 678207225
Change-Id: I440823d00faa119bbd948351f38e3774c6fa37a6
2024-09-24 05:42:17 -07:00
Yuxuan Jiang 55962538c4 Fix typo in programming documentation 2024-09-24 15:33:27 +08:00
Baruch Tabanpour 3a17be2d24 Add pause key to MJX viewer.
PiperOrigin-RevId: 677959701
Change-Id: I7f816eb6bf702461f0d749b2aa6cd1664c258f3d
2024-09-23 15:23:13 -07:00
Erik Frey 5838f84777 Fix bug where MJX data tendon fields are incorrect after calling put_data.
PiperOrigin-RevId: 677911639
Change-Id: I75f536fa348e2941d9ec2d454f475cd067e6d3af
2024-09-23 13:12:49 -07:00
Yuval Tassa 5219893813 Replace mjQUICKSORT with std::stable_sort in user_mesh.cc
PiperOrigin-RevId: 677864209
Change-Id: I1cca8e1ae8c84e652b12c24cfddfbca97d8c6841
2024-09-23 11:06:46 -07:00
Google DeepMind bbe8a0c516 Strip weak_types in mjx.put_model.
PiperOrigin-RevId: 677859138
Change-Id: I9ef010c0c37d04f9931adf884ab1dce0521b8567
2024-09-23 10:54:53 -07:00
Yuval Tassa 84e0e2839d Improve error message when requested stack allocation is larger than 2^64 bytes.
PiperOrigin-RevId: 677851110
Change-Id: Iaef92f7f48f41f3a4bfaae9c517ff6664afed039
2024-09-23 10:34:33 -07:00
Taylor Howell 76b48b8e61 Add site semantics to weld constraint in MJX.
PiperOrigin-RevId: 677823461
Change-Id: Iab20e042695dfad416d61fa7cc938faba8c7a6b6
2024-09-23 09:25:08 -07:00
Kyle Bayes 04f8403d8e Add unit tests for NativeCCD to produce better test coverage.
PiperOrigin-RevId: 677793306
Change-Id: I435865f00553c74d1d0c0fa86d9c41fb1e5497ff
2024-09-23 07:55:39 -07:00
Alessio Quaglino b5bcc91a03 Add bindings generation for mjOption, mjVisual, and mjStatistic.
Fixes #2076.

PiperOrigin-RevId: 677789263
Change-Id: Ie1bda40af62c5ac9bbba541668a50adfc59d3f7c
2024-09-23 07:43:09 -07:00
Yuval Tassa 41ea95f077 Add a section for element casting in the function API reference, move these functions to the end.
PiperOrigin-RevId: 677783917
Change-Id: I5042e7df20f2a2e0ecfe01a85a1969ccfc2307cd
2024-09-23 07:26:01 -07:00
Alessio Quaglino 0ba11b9623 Add plugins list to mjSpec Python API.
Fixes #2061.

PiperOrigin-RevId: 677762985
Change-Id: I8e407373e7b505d9b0f1c023e97c5ea92169bbf6
2024-09-23 06:13:42 -07:00
Yuval Tassa 91cedfd65c Avoid square roots in barycentric coordinate computation.
Also add some `inline` qualifiers.

PiperOrigin-RevId: 676873457
Change-Id: I76f57dc870a8714bd86749a7dee1f10fc5e4be1c
2024-09-20 09:37:40 -07:00
Taylor Howell ab3954d892 Set actuator_force in MJX. Fixes #2068.
PiperOrigin-RevId: 676867005
Change-Id: I80514a050ff40cb6d43a95b74c4a36c4991db588
2024-09-20 09:16:55 -07:00
Yuval Tassa 50f43b8745 Fix various issues with body inertial parsing and compiling.
- Add errors in body compiler for incorrect mixing of specifiers.
- Correctly process inertia orientation specifiers.

PiperOrigin-RevId: 676843326
Change-Id: I7e7eb22e25a6769754794f98fad5e0dcc0e5946f
2024-09-20 07:53:42 -07:00
Yuval Tassa 78832db53f Use designated initializers for mjCCDObj.
PiperOrigin-RevId: 676794693
Change-Id: Ie8a35415232e8a9f619713763c5d5a37a6f82935
2024-09-20 04:32:10 -07:00
Kyle Bayes 7a92423cf2 Add height fields to list of discrete objects in NativeCCD.
PiperOrigin-RevId: 676452215
Change-Id: I5d6a0d1e26ee852c774b44f550c1d0531b7a269b
2024-09-19 09:48:41 -07:00
Alessio Quaglino 4998e7b392 Move flex damping to the engine and remove membrane and solid plugins.
PiperOrigin-RevId: 676434954
Change-Id: I24e8dbaa90afcffd613a9cf106ef8b7262195328
2024-09-19 09:01:30 -07:00
Taylor Howell 6c7e1095c5 Add mjsPlugin and mjsOrientation related keyword argument support for mjSpec Python bindings.
PiperOrigin-RevId: 676412967
Change-Id: I8cc1bfcc443327fde33246981400b375f8d4ff3d
2024-09-19 07:55:31 -07:00
Alessio Quaglino f4381e12a2 Delete plugins when their corresponding objects are deleted, if their instance belonged the object.
Fixes #2061.

PiperOrigin-RevId: 676402701
Change-Id: Ia4807d57a3763e2100702b7e7ec96c300d0a9cfb
2024-09-19 07:21:42 -07:00
Yuval Tassa f161b63a22 Set default body position to (0, 0, 0).
The "undefined" body position is a remnant of the now-removed `compiler/coordinate` attribute, see [documentation in version 2.3.3](https://mujoco.readthedocs.io/en/2.3.3/modeling.html#cframe) (or older).

PiperOrigin-RevId: 676361485
Change-Id: I104c8da2a988a0430eb85fff8b9b60f8c1e08582
2024-09-19 04:36:39 -07:00
Copybara-Service 3839ad186e Merge pull request #2050 from kevinzakka:doc-fix
PiperOrigin-RevId: 676339046
Change-Id: Ibefee71f7437999f9c78f7833bfaaa252e902ea4
2024-09-19 03:05:07 -07:00
Alessio Quaglino aca4b3324d Resolve default asset names while attaching a spec.
PiperOrigin-RevId: 676053538
Change-Id: I717b87be4bc18a5d9f8e5f2dc071bd93409eea81
2024-09-18 10:58:12 -07:00
Alessio Quaglino 1a5536ce5b Make edges array const.
PiperOrigin-RevId: 676046588
Change-Id: Ica4bcdb49311bae8ccbf071717d7eb1c7cb55b87
2024-09-18 10:40:38 -07:00
Alessio Quaglino 66a9cacc90 Move elasticity force computation to the engine.
PiperOrigin-RevId: 676028775
Change-Id: I994e3dda8d6470815763c04df0c276e265aa1f54
2024-09-18 09:55:00 -07:00
Kyle Bayes e439b748a4 Replace calls to floor/ceil with mju_floor/mju_ceil.
PiperOrigin-RevId: 675988982
Change-Id: I5f4d09d957ac7030cd4ce70e72f78dd4f07a6090
2024-09-18 07:49:23 -07:00
Alessio Quaglino ddbc083810 Move elasticity computation to mjCFlex.
PiperOrigin-RevId: 675949380
Change-Id: Ia48f4fd6ae1ede206ccacd1205914e7e4b3c7aec
2024-09-18 05:23:10 -07:00
Kyle Bayes 0657e3e871 Fix bug in DeleteFace in NativeCCD.
PiperOrigin-RevId: 675948504
Change-Id: If9d967c8e75580a3a002fce9c10a2e1bfd0b5d46
2024-09-18 05:20:11 -07:00
Taylor Howell bfda9f4ace Add optional kwarg inputs to mjSpec Python bindings for mjSpec add constructors.
PiperOrigin-RevId: 675929024
Change-Id: Idd8c584276d8f585b79585230f5167f79760eaef
2024-09-18 04:02:10 -07:00
Kyle Bayes 4975c35657 Fix typo in README.md
PiperOrigin-RevId: 675619380
Change-Id: Ifdc026b7cbd967645930d923f7de9a114121466f
2024-09-17 10:28:37 -07:00
Kyle Bayes 317f480224 Properly initialize hfield mjCCDObj for collisions.
PiperOrigin-RevId: 675580798
Change-Id: I119258c46562f73af4b7a5d100f69d0e52fbe71c
2024-09-17 08:37:59 -07:00
Kyle Bayes bd811a44e7 Remove redundant copying in NativeCCD and refactor code for readability.
PiperOrigin-RevId: 675573079
Change-Id: If9f7bc21d9ee7806997f05a8985ebe6b1b3c8332
2024-09-17 08:14:10 -07:00
Yuval Tassa fb56d70dee Add model with mixed geoms for CCD performance testing.
PiperOrigin-RevId: 675567065
Change-Id: I9629b0757270ca541a96bb64384b5c41e7a9b728
2024-09-17 07:56:35 -07:00
Google DeepMind 476599f8b6 Update pybind11 to v2.13.6
PiperOrigin-RevId: 675241879
Change-Id: Icaa0a957b7c7ac64daf5d29ccae1ab8bf89a8e1d
2024-09-16 12:09:02 -07:00
Yuval Tassa 7f7c5ec943 Fix mismatch in mju_wrap function signature definition.
PiperOrigin-RevId: 675204328
Change-Id: I820f10237b6d3bfd36067a9c3aef82cb1908ef6a
2024-09-16 10:34:22 -07:00
Kyle Bayes e94bd8348c Store polytope faces in heap in NativeCCD.
PiperOrigin-RevId: 675197250
Change-Id: Ibe9194d777d68729bffd085e36313fb33ee2756d
2024-09-16 10:17:20 -07:00
Yuval Tassa 48fee9487e Clean up tendon wrapping code.
PiperOrigin-RevId: 675185000
Change-Id: I3d93d7ce65b617c4869eb002dfe9440efa9abf66
2024-09-16 09:47:22 -07:00
Yuval Tassa ebcffaf121 Improve wording of changelog item.
PiperOrigin-RevId: 675176166
Change-Id: I3b902efcc618e5121fea33f9a746df57a3979710
2024-09-16 09:22:26 -07:00
Yuval Tassa ce3681a26d Replace hard-coded mjNCATENARY with mjVisual.quality.numslices.
PiperOrigin-RevId: 675157138
Change-Id: I87ea16e4df8ed63b301ceaeac6e1b1d0513b77a0
2024-09-16 08:25:19 -07:00
Kyle Bayes 4628a5e438 Remove vertex struct from NativeCCD and allocate fixed memory for vertices on MuJoCo stack.
PiperOrigin-RevId: 675144892
Change-Id: I23d3316b9346ce7137bcfe84265717b60950898a
2024-09-16 07:45:53 -07:00
Taylor Howell f9401776d4 Add framelinacc and frameangacc sensors to MJX.
PiperOrigin-RevId: 675141513
Change-Id: Ie38dba3e8be82e0554c7c9e47c6d07f3cdad29b8
2024-09-16 07:34:16 -07:00
Taylor Howell b0c7101f1c Add optional kwarg inputs to mjSpec Python bindings for mjsBody add constructors.
PiperOrigin-RevId: 675141078
Change-Id: I8d735ae7d0a018ce7cd1aca56c899d1455586015
2024-09-16 07:32:55 -07:00
Yuval Tassa 2ffa0fe942 Avoid freeing model and/or data twice in case of errors during the compilation process.
PiperOrigin-RevId: 675136721
Change-Id: Ibe01216f86893db44a8279c560c307726fb03f81
2024-09-16 07:18:15 -07:00
Alessio Quaglino 31abd7900a Add edge ids to flex elements in mjModel.
PiperOrigin-RevId: 675130981
Change-Id: If2ccfb268142d235273b7a50e15740f6399903b2
2024-09-16 06:58:10 -07:00
Taylor Howell 9d73211757 Add force and torque sensors to MJX.
PiperOrigin-RevId: 675130978
Change-Id: I8a3b925c57f317aebc0c345578cebeb4210dc11d
2024-09-16 06:57:00 -07:00
Alessio Quaglino b15de2c951 Add elasticity parameters to the schema.
PiperOrigin-RevId: 675115200
Change-Id: Ic6608ce61cbb857dca71b3d9cbdac057e8f1ac7a
2024-09-16 05:56:36 -07:00