Commit Graph

166 Commits

Author SHA1 Message Date
Saran Tunyasuvunakool d022cd1a31 Fix broken launch_repl in the Python viewer.
The REPL functionality was broken in 9fcf3b0c2e.

PiperOrigin-RevId: 501818153
Change-Id: I3fe2f14d78839e63deb43c1017527e7a1cf79e3c
2023-01-13 04:59:22 -08:00
Kyle Bayes deb14dc081 Autogenerate functions.rst for API reference docs.
PiperOrigin-RevId: 501496950
Change-Id: I92ab013e6acb4d6772eb5dcf56740105908afc97
2023-01-12 01:34:28 -08:00
Kyle Bayes 15c2e0362a Split functions API from APIreference.rst.
PiperOrigin-RevId: 501209457
Change-Id: Ia77fe988fb34e323a2c66503903c4618f5fb3087
2023-01-11 01:13:37 -08:00
Yuval Tassa adf71cc6b4 Improve mesh-fitting image in changelog.
PiperOrigin-RevId: 500782543
Change-Id: Iecec45abd3cb1e5a06df58ae32ebe1998584024a
2023-01-09 12:40:10 -08:00
DeepMind 703b33c064 Add geom names to URDF parsing in MuJoCo.
Fixes #566

PiperOrigin-RevId: 500750288
Change-Id: I00f94ee37bb2f15be59df3933d0d4dba583f0921
2023-01-09 10:34:22 -08:00
Alessio Quaglino 19b6c70e13 Use global coordinates for computing the frame position of a primitive geom fitted to a mesh.
PiperOrigin-RevId: 500720200
Change-Id: I0a564aff1fe6943002db14f46f789cfdaef4d2de
2023-01-09 08:29:27 -08:00
Saran Tunyasuvunakool 1215067f5c Add an option in mjrContext for mjr_readPixels output format.
PiperOrigin-RevId: 500342924
Change-Id: I43e8c6208db341e2bdbef10382b7293c35bdca65
2023-01-07 00:11:01 -08:00
Saran Tunyasuvunakool e40775fab3 Abstract out GLFW calls from Simulate.
PiperOrigin-RevId: 500129478
Change-Id: I7ba998e20439575ad9a3fe1a866c3db4c36b9328
2023-01-06 02:45:56 -08:00
Yuval Tassa 928eb7a067 Add link from "build from source" sections to GitHub CI.
PiperOrigin-RevId: 499737486
Change-Id: If9c5fa730166bfc73b828c87cf4ba4ddb9ace28c
2023-01-04 23:59:10 -08:00
Kyle Bayes f1007df013 Implement hash map for mj_name2id using djb2 and linear probing.
PiperOrigin-RevId: 499485127
Change-Id: I5aed6549db18b92d7c8a3b7590e50a00ce13a439
2023-01-04 07:57:55 -08:00
Yuval Tassa 4bc76c93ae Remove "name" attribute from plugin specifiers.
PiperOrigin-RevId: 499187319
Change-Id: I0755a071eb4eee917fdf32db49a47fd16afa58f9
2023-01-03 05:03:20 -08:00
Yuval Tassa 68ffbffc53 Fix typo.
PiperOrigin-RevId: 497330766
Change-Id: Ie8ce4968407498ca4398995734e7868b7af72c6f
2022-12-23 02:00:33 -08:00
Yuval Tassa 69c74f850e Hierarchical restructuring of docs Programming chapter
PiperOrigin-RevId: 495941670
Change-Id: I7f92d90fd58b9e22b59c54861277be60cb43323d
2022-12-16 12:56:47 -08:00
Yuval Tassa 30b4309af9 Rename mjpPlugin.capabilities -> mjpPlugin.capabilityflags
PiperOrigin-RevId: 495080532
Change-Id: I81743472b816a331890a7cb05bfb7a89ebf07ff9
2022-12-13 11:33:27 -08:00
Saran Tunyasuvunakool 5c021d042b Modify signature of plugin reset callback.
The `reset` function is called inside `mj_resetData`, before any physics forwarding call has been made. It is therefore an error to read anything from mjData at this stage.

The only valid operation on mjData during `reset` is for a plugin to write into its own state variable slots and data struct. We modify the function signature to only provide access to these.

PiperOrigin-RevId: 495032492
Change-Id: Ic6d2967d2571a9083cbca1ba239ca70a8a51f474
2022-12-13 08:41:35 -08:00
Kevin Zakka 29a8c69825 Undo doc permalink change.
PiperOrigin-RevId: 493858259
Change-Id: I7467fd4b405fa71cd47f0beab6b654e0c74b51da
2022-12-08 04:33:12 -08:00
Kyle Bayes 7baee096a5 Update references.h for docs.
PiperOrigin-RevId: 493571258
Change-Id: Ie2c5f2a16116e8a056e69aed3adbed9b891c4eea
2022-12-07 04:52:06 -08:00
Saran Tunyasuvunakool e4f1d584ad Add control plugin API.
PiperOrigin-RevId: 493311715
Change-Id: Iccd99fb26004f39832818e378f01f9149a0e3e3b
2022-12-06 08:23:49 -08:00
Kyle Bayes 60fbb77b2a Fix typos in MuJoCo 2.3.1 changelog.
PiperOrigin-RevId: 493305455
Change-Id: I10c8dc198e60d9dd5ef107fc7210c80b66e123c9
2022-12-06 07:56:21 -08:00
Saran Tunyasuvunakool 36641cdb2c Update release date for 2.3.1.
PiperOrigin-RevId: 493165432
Change-Id: Ib88d2e487d7726076f50f8a44a44d1d2d72a15ab
2022-12-05 18:16:08 -08:00
Kyle Bayes 73fb61e3e2 Bump version number to 2.3.1.
PiperOrigin-RevId: 493076656
Change-Id: I48c7a45b503c4a7363ea1455a4a3788262d007f7
2022-12-05 12:13:55 -08:00
Kyle Bayes ef695bb8a8 Add Renderer class to Python native bindings.
PiperOrigin-RevId: 492994751
Change-Id: Iebbe5980668a15b1cd62c0076cc131255462b2eb
2022-12-05 06:54:33 -08:00
Kevin Zakka 1ef5f9266e Improve the documentation.
* Add code block `copy` button via `sphinx_copybutton`
* Change permalink icon

PiperOrigin-RevId: 492955205
Change-Id: I2bcebcf7dd1fcace26ba03a4e348cb46eb838b57
2022-12-05 02:48:22 -08:00
Copybara-Service dc212c276d Merge pull request #612 from qleonardolp:patch-1
PiperOrigin-RevId: 492705106
Change-Id: I2265892aeca413e221a2cbb2244021c74afefd58
2022-12-03 10:49:22 -08:00
Saran Tunyasuvunakool 0846f38c82 Rename Python mujoco.simulate to mujoco.viewer.
PiperOrigin-RevId: 492701386
Change-Id: I059c572e2a63bd5529e863a9404720973df8ea46
2022-12-03 10:09:42 -08:00
Yuval Tassa dee1d6020a Make "acc" the default computation stage for sensors of type user.
PiperOrigin-RevId: 492689134
Change-Id: I21c07c74cb4b94d39c091ae98b169fd1235769d4
2022-12-03 07:50:15 -08:00
Alessio Quaglino 0d52feaa94 Add updateScene callback for plugins.
PiperOrigin-RevId: 492497689
Change-Id: I4a15cc5fa39dc7c9b85d132727f82033d4aec2c8
2022-12-02 10:11:32 -08:00
Alessio Quaglino 89185b4af2 Using full path when adding a file to VFS. Fixes #616.
PiperOrigin-RevId: 492204185
Change-Id: If2b2230c095fe0bb776fcc3ffda48f13d0be5cb2
2022-12-01 08:34:20 -08:00
Kevin Zakka 07371e5e08 Make Python bindings source installation instructions in docs match README.
PiperOrigin-RevId: 491961258
Change-Id: I4d2749b3963db3034d5fc8fca5bd43ab416117f7
2022-11-30 10:45:36 -08:00
Leonardo Felipe dos Santos ab56a394bc Update computation.rst
spell check
2022-11-29 17:49:25 -03:00
Saran Tunyasuvunakool df25d7d602 Raise an informative error when running on macOS under Rosetta 2.
Current users only get a cryptic "Illegal instruction" crash.

Context: https://github.com/deepmind/mujoco/issues/611
PiperOrigin-RevId: 491705647
Change-Id: I1285897a36e858300ee3d125957e90754be9a7f7
2022-11-29 12:19:06 -08:00
Kyle Bayes 5f7d9f4f02 Autogenerate C code snippets using new Sphinx extension for the API reference docs.
PiperOrigin-RevId: 491613858
Change-Id: I0a878038bee5e929237fa23686f97319b15bddfc
2022-11-29 06:02:48 -08:00
Kyle Bayes 5a8e861152 Add MuJoCo tutorial Colab using the native Python bindings.
PiperOrigin-RevId: 491424124
Change-Id: I5bdeb68fd1bd1b4bc92fb40e0b876d9dcfc568cb
2022-11-28 13:09:51 -08:00
Alessio Quaglino d0b1a97338 Deformable solid plugin for particles.
Using coordinate-free formula equivalent to linear finite elements.

PiperOrigin-RevId: 491317615
Change-Id: I096b9a56075bbb630f64bfffac8a8d66457e5e2d
2022-11-28 05:32:30 -08:00
Yuval Tassa 165e72f798 Apply force perturbations at selection point rather than body center-of-mass.
PiperOrigin-RevId: 489996756
Change-Id: I87870a0c1d173449f15a7249f2459a6b726ff417
2022-11-21 09:13:16 -08:00
Alessio Quaglino 638c9a6994 Support capsules in URDF import.
PiperOrigin-RevId: 489980760
Change-Id: I1c21e736a86f6637a00e2062727d2e6fd5694c42
2022-11-21 07:58:42 -08:00
Yuval Tassa 221c63d744 Sensors of type user no longer require objtype and objname. If unspecified, the objtype will be mjOBJ_UNKNOWN. Also, `user sensors datatype default is now "real"`.
PiperOrigin-RevId: 489652972
Change-Id: I0a8f21ee1a2f5292e6bbcfe3785536cfd1498b85
2022-11-19 02:05:42 -08:00
Copybara-Service 0c3492fed9 Merge pull request #589 from vaxenburg:patch-1
PiperOrigin-RevId: 489434606
Change-Id: Idd7e2fa2fe5786ad87a2097e29a867290fa00034
2022-11-18 03:27:51 -08:00
Roman Vaxenburg 68d9fd3f2e Update APIreference.rst 2022-11-17 12:13:49 -05:00
Saran Tunyasuvunakool 9ecade0707 Move plugin loading and scanning logic from Simulate to MuJoCo library.
PiperOrigin-RevId: 489020177
Change-Id: I1c29d931b47d5252e57e1d797cc7c17645859ffc
2022-11-16 13:15:51 -08:00
Saran Tunyasuvunakool 2ebc5f097b Change simulate plugin directory name to mujoco_plugin.
This helps distro packagers avoid having to create a directory with the generic `plugin` name in system locations.

Context: https://github.com/deepmind/mujoco/issues/552
PiperOrigin-RevId: 489011386
Change-Id: Ie9f1748cbb4f2b9dc8c328064caaeb50c88fdec3
2022-11-16 12:40:31 -08:00
Kevin Zakka 571b703f1c Switch documentation to custom furo theme with dark mode option.
Co-authored-by: Saran Tunyasuvunakool <stunya@google.com>
Co-authored-by: Yuval Tassa <tassa@google.com>
PiperOrigin-RevId: 488975449
Change-Id: Ia2db8ac7ecd27a00ca2c4c9ca5e85b9167813473
2022-11-16 10:24:06 -08:00
Alessio Quaglino 7b0fbc63f8 Speed improvement with no AVX. 40% on Linux Intel Xeon and 60% on ARM Mac.
PiperOrigin-RevId: 488360660
Change-Id: I423269cd362fdcc2434393b691638ac6ed778ef2
2022-11-14 07:31:32 -08:00
Copybara-Service f7b256de91 Merge pull request #419 from aftersomemath:simulate-python
PiperOrigin-RevId: 487496285
Change-Id: I17d15bd2a3886e5ce1631f4eb78afa94830d08cc
2022-11-10 04:12:34 -08:00
Yuval Tassa 0b45129ca4 Clarification regarding saving integration state variables.
Fix some documentation bugs.

PiperOrigin-RevId: 487492900
Change-Id: I16ab9ae82cf203ebeaca10baaba7319d214202d0
2022-11-10 03:51:57 -08:00
Alessio Quaglino 9fc9823a8c Speed improvements in mj_solveLD (14% on Intel Skylake Xeon 36 cores).
PiperOrigin-RevId: 486960670
Change-Id: I8fce96427158ec36069dea893500059e93bd40db
2022-11-08 08:38:45 -08:00
Yuval Tassa 5004a4c8c5 Better memory setting and reporting, updated example models.
- Memory heuristic rounds up to the nearest MB.
- `simulate` reports total memory currently allocated in the info box.
- All example models use `<size memory/>` rather than legacy attributes.
- Regenerated `example_saved.xml` and reformatted original model in [overview chapter](https://mujoco.readthedocs.io/en/latest/overview.html?#examples).
- `<size>` top-level section does not get written if empty.

PiperOrigin-RevId: 486702670
Change-Id: I0306e335f32344c59562ba606664ec9d2101f8a8
2022-11-07 10:36:37 -08:00
Alessio Quaglino 3b89b0fd30 Particles with arbitrary geoms and joints.
Fixes #553

PiperOrigin-RevId: 486614769
Change-Id: I9a09bf73da97b6b9746800a72ac6c97cce2efa92
2022-11-07 03:22:25 -08:00
Alessio Quaglino fd4d47e4a5 Format memory warning in human-friendly way.
PiperOrigin-RevId: 486610408
Change-Id: I6beecb12059e69f4407e921d20efc54ce6b3f491
2022-11-07 02:56:07 -08:00
Yuval Tassa 36b30e4500 Allow more than 1 activation state per actuator, but only for dyntype user.
Fixes #305.

PiperOrigin-RevId: 486597273
Change-Id: I3eb806f60949e68ebe6cbe35a6e66218a167ed45
2022-11-07 01:43:02 -08:00