Commit Graph

450 Commits

Author SHA1 Message Date
Gabe Oppenheimer c2024ef6d1 Update the MuJoCo version for the 3.2.4 release.
PiperOrigin-RevId: 686261295
Change-Id: Ib59e44a6829a79fd480f2822a68cb05f94c38732
2024-10-15 15:34:09 -07:00
Google DeepMind d1e004aa97 Update version hashes in MuJoCo CMake files ahead of the 3.2.4 release.
PiperOrigin-RevId: 686208889
Change-Id: I19d3e6566e76c44e199f427aed984b9a530f4262
2024-10-15 13:03:13 -07:00
Nimrod Gileadi 6881ce2437 Remove support for Python 3.8.
Python 3.8 has been deprecated upstream, and any tests depending on Homebrew already stopped working. Following our support policy, we are removing support for 3.8 from our packages, too.

PiperOrigin-RevId: 686012836
Change-Id: Ibd220eb9c10e9a74bbd4443c1d7286a1fde9e5e5
2024-10-15 01:54:18 -07:00
Yuval Tassa ee7b994021 Remove Newton Cholesky factor from mjData arena, rollback of b66da3d369.
PiperOrigin-RevId: 685726867
Change-Id: Ic2afd0dd35e38f403164d2cbe4618286abfa51ab
2024-10-14 09:07:22 -07:00
Alessio Quaglino 766cd20273 Add mjs_bodyToFrame() to convert a body to a frame.
Also add test for attaching the world body.

PiperOrigin-RevId: 685603933
Change-Id: I3cfe7d226d6f032b5a587e44d0f4f18207977188
2024-10-14 00:39:20 -07:00
Alessio Quaglino cdb167f275 Add mjs_attachToSite for attaching a body to a site.
PiperOrigin-RevId: 684432183
Change-Id: I7100bebfb6521f9dbfbb07f31490b2b9298bf18c
2024-10-10 07:12:49 -07:00
Yuval Tassa 5dcc31a6aa Fix read-from-uninitialized-memory in bindings_test.py
PiperOrigin-RevId: 684082155
Change-Id: I6f3030559ebda4eda28c17ab866c7502c74e5862
2024-10-09 10:14:26 -07:00
Yuval Tassa 9a0dc20821 Move Newton Hessian memory allocation from stack to arena.
PiperOrigin-RevId: 684054446
Change-Id: I4be0b216810ebbd9d7fa119c6a84eb08d3c16b83
2024-10-09 08:54:54 -07:00
Yuval Tassa b1941708dd Add some arena-allocated attributes to compare in mjData pickle/unpickle test.
PiperOrigin-RevId: 684025320
Change-Id: Ic3282eaae74e43a33c2ed5f1b25ad38884487829
2024-10-09 07:15:52 -07:00
Yuval Tassa b66da3d369 Add mjData.L, sparse Cholesky factor of Newton solver Hessian.
PiperOrigin-RevId: 683669555
Change-Id: I18d7530b5d68d1d48cb95d4faa0150c434109638
2024-10-08 10:13:08 -07:00
Alessio Quaglino 1f9dca8bc4 Do not expose plugin_slot.
PiperOrigin-RevId: 683215401
Change-Id: Ic64f7221ed83ca3b0c8cca16eb680ea67c67b564
2024-10-07 09:38:01 -07:00
Alessio Quaglino 66faba9aa5 Avoid changing semantics of mjsPlugin.name across XML sections.
The `extension` section used to discard the plugin name and write the instance name in `plugin.name`, while all of the other sections wrote the instance name in `plugin.instance_name` and optionally the plugin name in `plugin.name` (via the function `OnePlugin`). Now all plugin names are in `plugin.plugin_name` and the instance is written in `plugin.name`, so that it is possible to lookup a plugin via its unique instance name.

PiperOrigin-RevId: 683183804
Change-Id: I179ef5d221143b720db24d745b09e327bf1449ef
2024-10-07 07:57:03 -07:00
Copybara-Service bce43b63ed Merge pull request #2120 from hartikainen:fix-2118
PiperOrigin-RevId: 683098606
Change-Id: Ib558bab7aca9042e318056de411ddf1a229d421d
2024-10-07 02:39:29 -07:00
Alessio Quaglino 6e66cafe76 Capture mjs_attach error message in the Python bindings.
PiperOrigin-RevId: 682409212
Change-Id: I391ee48626e7dcd985f65a231370ef5ec16124d7
2024-10-04 12:19:42 -07:00
Copybara-Service 7e9481fbeb Merge pull request #2067 from abhihjoshi:documentation
PiperOrigin-RevId: 682364758
Change-Id: I3a5000a2851a560018ae0e04a2b7ad13415cb7c6
2024-10-04 10:15:19 -07:00
Kristian Hartikainen 3634bd5063 Fix python namespacing 2024-10-04 11:23:18 +03:00
Kristian Hartikainen 5d46884efe Rename MuJoCo (mjpython).app -> MuJoCo_(mjpython).app 2024-10-04 11:10:28 +03:00
Alessio Quaglino e973dc74dd Yield ownership of char[], vector<string>, and vector<byte> to mjSpec in Python bindings.
PiperOrigin-RevId: 681522091
Change-Id: Icb3788d9ef6e914a307531e39ad8171c24f590af
2024-10-02 11:14:48 -07:00
Google DeepMind befe4af8f0 Add missing includes necessary after changes in libc++ headers.
Tested:
    TAP train for global presubmit queue
    http://test/OCL:680649491:BASE:680620735:1727746506750:fa29d104
PiperOrigin-RevId: 681090682
Change-Id: I3346ed996d9b6cd0fc7d600c02c41e0cd1b72400
2024-10-01 11:08:01 -07:00
Alessio Quaglino 89aea5e217 Add body.find_all() to Python bindings.
This enables to generate a list of all body children of a given type.

Also, add recursive option to mjs_firstChild and mjs_nextChild. Fixes #2112.

PiperOrigin-RevId: 681039348
Change-Id: Iebbb26fd5ec314150206edfdddd88633baa0bec6
2024-10-01 08:57:25 -07:00
Alessio Quaglino 8a825e6050 Add auto-generated tree element lists to Python bindings.
PiperOrigin-RevId: 680973047
Change-Id: I948151260cba330c6b7218cecf13aae2c7ae92c7
2024-10-01 05:23:03 -07:00
Alessio Quaglino 25e4d75a07 Return attached body/frame in mjs_attachBody/Frame.
PiperOrigin-RevId: 679601525
Change-Id: Icdc4616808e14bf0a3ebc17d89392382d084c31b
2024-09-27 08:34:00 -07:00
Alessio Quaglino 6a415da267 Make from_file() and from_string() classmethod functions.
This prevents the user from modifying an mjSpec and then calling the functions to load it from string/file.

PiperOrigin-RevId: 679311284
Change-Id: I4f1ae3cc8f15bece245f624303470d538deec410
2024-09-26 15:16:10 -07:00
Nimrod Gileadi 86ea1e498c Update pillow dependency used in tests to 10.3.0.
PiperOrigin-RevId: 679114607
Change-Id: I5729d5ce1baff02cdf1caa8124ef46b2b17b85b5
2024-09-26 05:53:41 -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
Abhishek Joshi 456dcc150c Updating documentation for comments 2024-09-23 14:10:48 -04: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
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
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
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
Google DeepMind 476599f8b6 Update pybind11 to v2.13.6
PiperOrigin-RevId: 675241879
Change-Id: Icaa0a957b7c7ac64daf5d29ccae1ab8bf89a8e1d
2024-09-16 12:09:02 -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
Google DeepMind dde25d039b Update Mujoco dependencies to latest versions.
PiperOrigin-RevId: 674003245
Change-Id: Ib758fa361cb34a786dcd3d55fbf3e5a459b75a3f
2024-09-12 14:10:21 -07:00
Yuval Tassa 8fa7fe7f5b Add a tutorial section on multiple frames in the same scene. Fixes #1757, #1356.
PiperOrigin-RevId: 672902542
Change-Id: Ie9fae2151354206b1418c129e2bd2ab016695ec3
2024-09-10 04:22:07 -07:00
Copybara-Service 56bb3ca5de Merge pull request #1901 from abhihjoshi:usd-fixes
PiperOrigin-RevId: 671815757
Change-Id: I8a08385b63401c743253545d89389ab8aaac91bc
2024-09-06 10:31:09 -07:00
Abhishek Joshi fe1d6dad02 Using temp directory for usd exporter test 2024-09-04 18:18:37 -04:00
Alessio Quaglino d3dfa6f970 Add mjs_findElement() to find any element in a spec by name.
Also, remove mjs_findMesh() and mjs_findKeyframe().

PiperOrigin-RevId: 670978980
Change-Id: Id88b800eb8a4c5efc40866f72a4442bf1d1437d0
2024-09-04 08:24:22 -07:00
Nimrod Gileadi 9a27fc14c2 Raise appropriate errors for mj_addBufferVFS in Python bindings.
When loading models in the XML bindings, different issues with the asset dictionary were all reported as "assets dict is too big".

PiperOrigin-RevId: 670960339
Change-Id: I2e47d91a6b433fd90ebdf9960a9b5b47413af410
2024-09-04 07:20:25 -07:00
Yuval Tassa 2d3d5415b7 Add mj_jacDot: Time derivative of kinematic Jacobian.
PiperOrigin-RevId: 670505417
Change-Id: Icf30cff5dc955e002bd2f5d5fb3a04f8388d0780
2024-09-03 04:49:47 -07:00
Nimrod Gileadi fb38727303 Update zipp to 3.19.1 in make_sdist_requirements.txt
PiperOrigin-RevId: 670486730
Change-Id: I1dfabb8d5206024595a49d2421f148a284a4eac7
2024-09-03 03:37:49 -07:00
Abhishek Joshi c0dc787cee Removing mujoco renderer dependency 2024-08-30 18:23:13 -04:00
Abhishek Joshi 5dc9c07fa6 Removing scipy dependency 2024-08-30 12:56:25 -04:00
Abhishek Joshi 1d2ee40c9b Updating pillow hashes 2024-08-30 12:32:45 -04:00
Abhishek Joshi f54380206c Adding pillow dependency 2024-08-30 12:30:15 -04:00
Abhishek Joshi 4a8b54c7ec Adding backslash char 2024-08-30 12:16:16 -04:00
Abhishek Joshi 83c8814149 Adding new usd-core hashes 2024-08-30 12:14:26 -04:00
Abhishek Joshi e03f8f5f65 Merge branch 'main' into usd-fixes 2024-08-25 19:15:17 -04:00
Alessio Quaglino 505d01a1c1 Add error handling to mj_recompile.
This CL adds error handling to the mj_recompile function. If the recompile fails, the function will return -1 and set the error message in the spec. The Python wrapper for mj_recompile will catch the error and raise a ValueError exception.

PiperOrigin-RevId: 666784579
Change-Id: I225eca1769ea839c782be3c03fc4ff1ea5885a48
2024-08-23 07:18:28 -07:00
Abhishek Joshi 85d19e189b Adding usd-core optional dependency 2024-08-20 21:39:24 -05:00
Copybara-Service 2425358c3b Merge pull request #1796 from google-deepmind:dependabot/pip/python/zipp-3.19.1
PiperOrigin-RevId: 665308489
Change-Id: I2db78ac1445cd12a3a4c0ea5d8f4f4fa2403517f
2024-08-20 05:11:29 -07:00