Google DeepMind
fb84ee4e17
#mjx Always define prefix attribute in Bind* classes.
...
PiperOrigin-RevId: 727885838
Change-Id: I3e7dd0541fecf1eb913bb98b30e3df146ea665b8
2025-02-17 09:23:39 -08:00
Alessio Quaglino
d5065f867b
Check type correctness in all bind paths.
...
PiperOrigin-RevId: 727877128
Change-Id: I4f4f74a1fb96d3fc5abdea531b78eb54dc53d186
2025-02-17 08:46:10 -08:00
Silvia Cruciani
0a4eda5065
Fix setting slice of multidimensional arrays in mjx bind
...
PiperOrigin-RevId: 727834258
Change-Id: Id8fa25ab3aacb02603f2e0ec701f89bb69a7ac7e
2025-02-17 05:52:51 -08:00
Alessio Quaglino
7f11a0df12
Add check for height fields size during compilation.
...
Fixes #2427 .
PiperOrigin-RevId: 727805729
Change-Id: Idf3192e5fb238249faaeae6b4fb9de4c55755d96
2025-02-17 04:01:27 -08:00
Tom Power
78a4d2f389
Fix mass/inertia checking for moving bodies with nested children.
...
Previously, we only checked immediate children of moving bodies.
PiperOrigin-RevId: 726999705
Change-Id: I133a557daf86223b8751c6d46e25809781e168a1
2025-02-14 11:26:28 -08:00
Google DeepMind
37d7591ce0
Add support for user-defined figures in the MuJoCo viewer.
...
PiperOrigin-RevId: 726983516
Change-Id: Ifb821f3cafb163d4f3077d76b0668037b4bc5a9c
2025-02-14 10:45:47 -08:00
Alessio Quaglino
6f0bd0a5f8
Fix setting multidimensional arrays in MJX bind.
...
PiperOrigin-RevId: 726956380
Change-Id: I51ab91b73a3a34938ac7bcd03e9691fd634cb296
2025-02-14 09:28:39 -08:00
Alessio Quaglino
5b924fec98
Add support for binding to arrays of mjs element.
...
Fixes #2402 .
PiperOrigin-RevId: 726449592
Change-Id: I0cde44889837a71a222b20cf91fa56568b4af689
2025-02-13 06:01:30 -08:00
Alessio Quaglino
1b4258d274
Change set_default and default to classname in the bindings.
...
Having defaults in the names of the attribute or function names is confusing for the users since the defaults are not re-applied but are only used for writing to XML. The alternative would be to change mjs_setDefault to re-apply them, but this would overwrite any other attribute set by the user so far.
PiperOrigin-RevId: 726431090
Change-Id: I41f4a23e1722e278b0ecc0a00b07db9b384fe994
2025-02-13 04:52:02 -08:00
Tom Power
89253d957d
Changes to inertia inference from meshes.
...
PiperOrigin-RevId: 726051033
Change-Id: I6edfc118280d103a2dd9d07f29f0094858769761
2025-02-12 07:43:13 -08:00
Yuval Tassa
e39a5df06a
mju_compressSparse(): add option to compress away small elements.
...
PiperOrigin-RevId: 726010576
Change-Id: Ib6458037a5cf9a9d82abb364b7dda7aab2f36807
2025-02-12 05:08:20 -08:00
Yuval Tassa
faed1a1137
Clean up mj_jacSparse.
...
PiperOrigin-RevId: 725994792
Change-Id: I928a6312a6910231bfeb96ef7a3f29f1d128565c
2025-02-12 04:06:00 -08:00
Yuval Tassa
7af9bcbf00
mjSpec tutorial: Move humanoid and Menagerie imports to the cells that require them.
...
PiperOrigin-RevId: 725945693
Change-Id: I3f0d4c867626ef61605815bb708a55c8e29d79e2
2025-02-12 01:02:17 -08:00
Copybara-Service
d830691f53
Merge pull request #2291 from AaronYoung5:main
...
PiperOrigin-RevId: 725933976
Change-Id: I207cf272d30e28f00fb4d07bd237385ad4c26a84
2025-02-12 00:16:10 -08:00
Yuval Tassa
ef1ef8ef6a
Fix Sphinx-Toolbox dependency issue in documentation.
...
PiperOrigin-RevId: 725818375
Change-Id: I9f241f9575d4bebceeab62937caf682e455b3816
2025-02-11 16:41:02 -08:00
Kyle Bayes
e3b9538d92
Add saving the indices of mesh vertices with the support points in nativeccd.
...
PiperOrigin-RevId: 725660975
Change-Id: I036882a5bde5d009bfa6e66b6a10f6cfb1a78292
2025-02-11 09:28:49 -08:00
Google DeepMind
ac2a324fbd
Reduce "shadow acne" artifacts
...
PiperOrigin-RevId: 725640931
Change-Id: I95df97d6076b99c12e291f69e8e54bbe70538293
2025-02-11 08:28:12 -08:00
Alessio Quaglino
cef5b31a3f
Drop find_ prefix in Python MjSpec methods accessing elements by name.
...
PiperOrigin-RevId: 725594833
Change-Id: Ibf8a9918e98b298751d0ef2e657714e28e5fa460
2025-02-11 05:50:49 -08:00
Yuval Tassa
a6dd5f086f
Document element name lookup in MjSpec.
...
PiperOrigin-RevId: 725258206
Change-Id: I5c9a85d25787eb38e9e8c3854eda2581700e188e
2025-02-10 10:10:41 -08:00
Alessio Quaglino
e54f3c222d
Autogenerate mjSpec find_* methods.
...
PiperOrigin-RevId: 725255440
Change-Id: Ia9112f6c582ea9bb0af38aa97a917e72a98a84f5
2025-02-10 10:03:44 -08:00
Alessio Quaglino
94115ecf08
Fix qvel bind in MJX when using multiple joints.
...
Reported by #2402 .
PiperOrigin-RevId: 725237347
Change-Id: I279c73e5cf2b959086292b739972afe5f70ceffb
2025-02-10 09:09:18 -08:00
Alessio Quaglino
4156350708
Add to_file function to save the Spec to a file.
...
Fixes #2415 .
PiperOrigin-RevId: 725161617
Change-Id: I6c374cc7f7cb3f1da1cc0da531dd7e5be5d62b6a
2025-02-10 04:33:14 -08:00
Nimrod Gileadi
0e01b51590
Output a useful message when there's a mismatch between MJX data and MuJoCo data array sizes.
...
PiperOrigin-RevId: 725151186
Change-Id: I71f81bb82e2b8667880a31db5913e98f7885e677
2025-02-10 03:51:31 -08:00
Copybara-Service
694eb6bb1d
Merge pull request #2409 from maximevtush:main
...
PiperOrigin-RevId: 724879879
Change-Id: I5e65c1892d7160690f6f1d5ae7ddab5f7d46d02b
2025-02-09 03:37:37 -08:00
Yuval Tassa
f73f0e1d0d
Fix aspect ratios of embedded videos in docs.
...
Note that small videos, for some reason, need an aspect ratio that is different from the actual aspect ratio.
PiperOrigin-RevId: 724879307
Change-Id: I681f071baf4eb09cfda41edeca0d1ee16be4181a
2025-02-09 03:33:10 -08:00
Maxim Evtush
5874c8a8df
Update xml_native_writer_test.cc
2025-02-08 22:14:32 +01:00
Maxim Evtush
1025335c0c
Update MjXmlModifiers.cs
2025-02-08 22:14:03 +01:00
Yuval Tassa
73aba91297
Add simple procedural tree example to model editing tutorial.
...
https://youtu.be/7VJG61AapEc
PiperOrigin-RevId: 724729966
Change-Id: I48c288de8e01baa3cd8f40700bc7137744de37a0
2025-02-08 13:02:11 -08:00
Yuval Tassa
5ee0654830
Roll back recent change to mjData.qLD until some issues are resolved.
...
PiperOrigin-RevId: 724389161
Change-Id: I1b30ab0950ab5c5e611b1c6fc3bf3f42f964939c
2025-02-07 10:21:42 -08:00
Alessio Quaglino
06758e35ab
Fix mjSpec colab after changing the default behavior of attach to be a shallow copy.
...
PiperOrigin-RevId: 724375710
Change-Id: I5fac7d24c1d0b1ad4d427c021022c47620accf53
2025-02-07 09:41:03 -08:00
Alessio Quaglino
c1ecc50081
Store joint damping and stiffness in the private spec when springdamper is used in the public spec.
...
PiperOrigin-RevId: 724288204
Change-Id: I7341d5d804e1ea73ded48b8b447addd4e124ab97
2025-02-07 03:55:24 -08:00
Yuval Tassa
c27d3758c2
Convert qLD to CSR format.
...
PiperOrigin-RevId: 723955038
Change-Id: I30c3dc7f59739e89ae5fff8841432bc74717ec1b
2025-02-06 08:59:35 -08:00
Copybara-Service
cb1696eb34
Merge pull request #2390 from talregev:TalR/mesh
...
PiperOrigin-RevId: 723916727
Change-Id: I0abb0a12121c9eb291ccbc6afa0b4117bd389956
2025-02-06 06:46:40 -08:00
Alessio Quaglino
dec7b661c1
Add mujoco.MjSpec.MjStruct type.
...
PiperOrigin-RevId: 723552214
Change-Id: I8ecb43b4025b532ba8b48e15c9c6a2b350293d20
2025-02-05 10:01:35 -08:00
Alessio Quaglino
fe16c27555
Always compute the convex hull if the mesh inertia is set to convex.
...
PiperOrigin-RevId: 723477903
Change-Id: Ibc50d62741f47a5b96a648efd8fb244810664c17
2025-02-05 05:52:10 -08:00
Yuval Tassa
49d07c6100
Fix text edit buffer underrun.
...
PiperOrigin-RevId: 723474334
Change-Id: Ibff6d83d67275e6c6333a00cabe33967913dceb1
2025-02-05 05:36:32 -08:00
Alessio Quaglino
0d4bc1de00
Do not use flexedge_length if trilinear interpolation is used.
...
PiperOrigin-RevId: 723452451
Change-Id: I5a67fb74c13e80ae6d390694dd0c9f8c5e4d5213
2025-02-05 04:09:32 -08:00
Kyle Bayes
3235f69afc
Make polytope2 and polytope4 more numerically robust in nativeccd.
...
PiperOrigin-RevId: 723412555
Change-Id: Id262a3c19bcd30b74b1495591bdc95f951bfca50
2025-02-05 01:40:41 -08:00
Alessio Quaglino
6bd88711a8
Add parent to MjSpec wrapper in Python bindings.
...
This keeps track of specs attached with the full attach function `attach`. It does not track fine-grained attach via `attach_body` and `attach_frame`.
PiperOrigin-RevId: 722597081
Change-Id: I56188f1718592128b7033538acc9a40553cbbed2
2025-02-03 04:04:11 -08:00
Alessio Quaglino
86ace5e562
Remove body.spec() function from the Python API
...
We can only use the MjSpec wrapper, not the raw::MjSpec struct in the API.
PiperOrigin-RevId: 722589064
Change-Id: I007150f92738487f27211d7435e328cab86214f7
2025-02-03 03:31:35 -08:00
Alessio Quaglino
709b8d6b83
Add support for vector-valued joints in MJX bind.
...
PiperOrigin-RevId: 721743855
Change-Id: I68d7f6220ade89a5c0c507ea955e45657541d4eb
2025-01-31 05:53:04 -08:00
Tom Power
3d9946cff3
Improve mesh processing readability
...
PiperOrigin-RevId: 721524528
Change-Id: I3af4e25815cbc7517b772826af7d929ea93f8164
2025-01-30 14:41:21 -08:00
Yuval Tassa
767be23207
Fix pretty printing in mjspec notebook.
...
PiperOrigin-RevId: 721367994
Change-Id: Ia1c4ee5b64540ff2f9c08a1953295ff366e0c72b
2025-01-30 06:32:35 -08:00
Copybara-Service
2680bd3e8b
Merge pull request #2395 from hartikainen:main
...
PiperOrigin-RevId: 721367039
Change-Id: Icb79cb50c2a07e5f10fdece3edc52b40cdcdfbac
2025-01-30 06:28:44 -08:00
Alessio Quaglino
904b49848f
Add worldbody assertions in attach tests.
...
This clarifies the difference between attaching a full spec, which converts the worldbody to a frame, and attaching a specific body (or frame).
PiperOrigin-RevId: 721297010
Change-Id: Iff87fe99b81746e6ab3a189a3057b274d3c9a939
2025-01-30 01:35:55 -08:00
Baruch Tabanpour
e0664b1bb8
Fix bug with box-box #2356 .
...
PiperOrigin-RevId: 721138760
Change-Id: Ib9548b0bc505a9856176188c91858cff7c9accdf
2025-01-29 16:00:29 -08:00
Yuval Tassa
5b245e5d02
Fix handling of _full_compat argument in put_data.
...
PiperOrigin-RevId: 721128021
Change-Id: Ic1cce42fbb38799228d6433ef0c761b1f9b81c4b
2025-01-29 15:27:14 -08:00
Kristian Hartikainen
0fda5344c2
Fix typos
2025-01-29 15:31:39 -05:00
Erik Frey
7232a91617
Add keyframe fields to mjx.Model.
...
PiperOrigin-RevId: 721060807
Change-Id: Iae6aa8773e0e9802b0bd1de9a14d83987cd56936
2025-01-29 12:02:48 -08:00
Alessio Quaglino
7cdf180641
Introduce trilinear flex parametrization.
...
These flexes use only 24 DOFs (3 per vertex of the bounding box), while colliding with the full high resolution mesh.
On an 8x8x8 cube, the performance using DOFs at all vertices is
```
Simulation time : 18.74 s
Steps per second : 533
Realtime factor : 0.53 x
Time per step : 1874.4 µs
Contacts per step : 114.88
Constraints per step : 3322.51
Degrees of freedom : 1536
```
With the new implementation, it is the following:
```
Simulation time : 1.82 s
Steps per second : 5507
Realtime factor : 5.51 x
Time per step : 181.6 µs
Contacts per step : 38.84
Constraints per step : 155.36
Degrees of freedom : 24
```
PiperOrigin-RevId: 721008829
Change-Id: I833df027527db578d86667cc4b24295bcf6f7d22
2025-01-29 09:38:22 -08:00