Commit Graph

253 Commits

Author SHA1 Message Date
Yuval Tassa 6067048537 Deprecate mju_rotVecMat and mju_rotVecMatT in favor of mju_mulMatVec3 and mju_mulMatTVec3.
These functions names and argument ordering are more consistent with the rest of the API.

PiperOrigin-RevId: 643788290
Change-Id: I783eda8021b80b82098e23ed95669b102bb82508
2024-06-16 10:02:36 -07:00
Yuval Tassa c9bcf8371e Add mj_setKeyframe function to save current state in k-th model keyframe.
Fixes #1719.

Also improve documentation of `mju_sigmoid`, was previously only documented in changelog.

PiperOrigin-RevId: 642637458
Change-Id: I811a0bf8f881c8b76c9a62d2faec8fdec4e7585b
2024-06-12 09:22:52 -07:00
Yuval Tassa 07fc95ca9a Add orthographic cameras.
Orthographic cameras are specified by setting the `orthographic` attribute of the `<camera>` element. The `fovy` attribute is still used to specify the field-of-view, but its semantic is different for orthographic cameras. For orthographic cameras, the field-of-view is expressed in units of length, rather than degrees.

Other related changes:

* Fix bug in the ordering of `cam_xxx` elements in `mjModel`.
* Make camera visualization translucent only when the frustum is visualized.
* Added a button to `simulate` to toggle between perspective and orthographic free cameras.

https://youtu.be/ZXBTEIDWHhs

PiperOrigin-RevId: 642293435
Change-Id: Id090a421ad88ab404b5b27ddbbd6bfc81ad49bc5
2024-06-11 09:23:18 -07:00
Alessio Quaglino 7a06bcfdaf Make model editing API public, fixes #364
Still missing:

- Detailed documentation.
- Python bindings.

PiperOrigin-RevId: 641445626
Change-Id: I20e67b707cf1bebae7e0cc94d17f7b76a89171f0
2024-06-07 22:28:01 -07:00
Kyle Bayes 18397e61ec Replace calls to mj_makeEmptyFileVFS with mj_addBufferVFS in MuJoCo Unity bindings.
PiperOrigin-RevId: 640168011
Change-Id: Ic592b5cbedb89981ac24d4b8d2c864ceaf415e46
2024-06-04 08:50:12 -07:00
Meghha Dhoke 1bf90af0e0 Bumping mjVERSIONSTRING from 3.1.6 to next version 3.1.7
PiperOrigin-RevId: 639959152
Change-Id: I7b88bae6ea56b0173f00c6f0899ba4a156614f01
2024-06-04 15:27:47 +01:00
Copybara-Service d6712f2944 Merge pull request #1646 from Balint-H:fix/unity-sensornoise
PiperOrigin-RevId: 639722238
Change-Id: I80a941e97923169150f665fb3411605affcc0702
2024-06-03 03:49:20 -07:00
Bálint Hodossy 2aa30b188c Adjust formatting 2024-05-27 11:49:26 +01:00
Bálint Hodossy adbbcc4ff5 Track separate kv property for position actuators 2024-05-27 11:48:11 +01:00
Bálint Hodossy 161ed22299 Fix Unity tests for sensornoise attribute 2024-05-27 11:29:04 +01:00
Bálint Hodossy a9308a4420 Remove sensor noise properties 2024-05-10 16:12:51 +01:00
Yuval Tassa 02d015458c Add mj_geomDistance API function and sensors for geometric distance, normal direction and segment between between two geoms. Fixes #51
PiperOrigin-RevId: 632458301
Change-Id: I65b7e5bb0df59008028114cf4a07e0d6365ff3d3
2024-05-10 04:52:43 -07:00
Meghha Dhoke 4eca3b048d Bumping mjVERSIONSTRING from 3.1.5 to version 3.1.6
PiperOrigin-RevId: 631544334
Change-Id: Iadf8fa25e30da5b00172c8212786b1f9edb22e1a
2024-05-07 14:11:38 -07:00
Yuval Tassa 8ebc9ed2c8 Add mjModel.ngravcomp, number of bodies with nonzero gravcomp attribute.
PiperOrigin-RevId: 627087335
Change-Id: Ie85ae4150962463b8a8c8435fec068c44877aa16
2024-04-22 10:45:43 -07:00
Yuval Tassa 546a27ca72 Fix memory allocation error when memory size is larger than 2G. Fixes #1606
PiperOrigin-RevId: 627058355
Change-Id: Iebef647a0107d1f112a876d705f5b3ea888b4a41
2024-04-22 09:15:46 -07:00
Yuval Tassa caf215e342 Add metallic and roughness scalar attributes to materials.
Rename `light_radius` -> `light_bulbradius`, make the default value 0.02.

PiperOrigin-RevId: 627032170
Change-Id: I1e01e2eca028c0aefc2e7dc384e8b34abac184aa
2024-04-22 07:39:06 -07:00
Yuval Tassa 0cd28d2423 Add light radius attribute.
Also fix bug: light defaults were not being saved.

PiperOrigin-RevId: 625142278
Change-Id: I8ec3a5a06e9f314e98b7c34346db3c24b34d7e0b
2024-04-15 17:55:15 -07:00
Yuval Tassa 7b3f1a0261 Add mjModel.mesh_scale: scaling applied to asset vertices.
PiperOrigin-RevId: 625083195
Change-Id: I36290282379e57ad23ec771d65d1bd6bf2a75b07
2024-04-15 14:26:06 -07:00
Gabe Oppenheimer 225619c964 Update MuJoCo internal version to be the external version +1
PiperOrigin-RevId: 623607403
Change-Id: Ia8f6516bb6b2fb6a3ecb8273b59e61667098f308
2024-04-10 14:32:54 -07:00
Yuval Tassa 5a365603f8 Add mju_euler2Quat.
PiperOrigin-RevId: 623469398
Change-Id: Ia86b29a764018cd4c3bc57d23616bed7393081f5
2024-04-10 06:02:50 -07:00
Yuval Tassa 5d26b50fce Remove native sensor noise sampling.
PiperOrigin-RevId: 620075316
Change-Id: I6a0a1d63834e7c8bfd290f89d86fea791d794739
2024-03-28 15:33:03 -07:00
Yuval Tassa 47ba72ea59 Add actuatorgravcomp joint attribute, to treat gravity compensation forces as applied by actuators, rather than passive buoyancy.
PiperOrigin-RevId: 620049593
Change-Id: I2c8a9dc152c087b408e4f904838034271a7dd910
2024-03-28 14:01:52 -07:00
Balint-H c2bef232b6 Handle the implicit auto value for limits now written by the compiler to the xml 2024-03-14 12:38:56 +00:00
Alessio Quaglino bda03af49a Add childclass support to frames.
PiperOrigin-RevId: 615487831
Change-Id: I0e4d2efd52211701b4286a0b0de84424470a3a47
2024-03-13 11:31:22 -07:00
Meghha Dhoke 106453fa2b Updated version number to be (v3.1.4) ahead of current release (v3.1.3)
PiperOrigin-RevId: 613236845
Change-Id: I3ee759493f27cfa1e367c71e3e073b54738b73d4
2024-03-06 09:07:25 -08:00
Copybara-Service 0631a406c4 Merge pull request #1470 from Balint-H:bugfix/unity-tendon-rendering
PiperOrigin-RevId: 612839845
Change-Id: Idf5b5cec4adc350b3ed36e902e2e52fbe9080281
2024-03-05 07:49:57 -08:00
Copybara-Service 6b7d714291 Merge pull request #1450 from v-r-a:angmomMat
PiperOrigin-RevId: 612835207
Change-Id: I8e7b01cc433563556a3ae4bbdd0c53612cc15e97
2024-03-05 07:35:15 -08:00
Balint-H f70db6b0ee Remove unnecessary using 2024-03-04 13:51:08 +00:00
Balint-H 2f64cf36c5 Conditional compilation for Tendon visualization 2024-03-04 13:49:00 +00:00
Balint-H 1baa478b64 Fix rendering of tendons 2024-03-04 13:41:50 +00:00
Copybara-Service 73f65ec408 Merge pull request #1428 from Balint-H:feature/unity-plugins
PiperOrigin-RevId: 612144507
Change-Id: Ie355c0da2b4a51331aadcfce865a1edd720381b5
2024-03-03 02:16:08 -08:00
Kyle Bayes a4a621f6e3 Add checksums (used as a timestamp) to VFS.
Deprecate mj_makeEmptyFileVFS in favor of mj_addBufferVFS.

PiperOrigin-RevId: 608915388
Change-Id: Id9e9b042799bc1bf547f0795ae6f386447d53cdd
2024-02-21 02:25:36 -08:00
Bálint Hodossy c65410a92d Preliminary support for plugins. Load all plugins in plugin folder. 2024-02-18 14:45:54 +00:00
Yuval Tassa b6873ec8a2 Move mjModel.mesh_{pos,quat} before mesh_pathadr so all attributes related to original asset data are next to each other.
PiperOrigin-RevId: 606277473
Change-Id: Ia4f6df552192c8a2847126975b6a1a31df63cf65
2024-02-12 09:37:48 -08:00
Meghha Dhoke f763254a00 Updating Mujoco Release version number to v3.1.3
PiperOrigin-RevId: 604459311
Change-Id: I766f704c28740cf751cb935bb48fb6954fccf024
2024-02-05 15:59:20 -08:00
Bálint Hodossy ee071242c6 Constrain MjScene EventHandlers as events, consistently use MjStepArgs 2024-01-26 14:35:03 +00:00
Yuval Tassa fea7c10b95 Add bvhactive flag to visual/global. Fixes #1279.
PiperOrigin-RevId: 599778272
Change-Id: If5530629035cc68b198447503388f59a04041b13
2024-01-19 02:59:56 -08:00
Yuval Tassa 2feefbc5d2 Remove fine-grained timing from narrow-phase collision functions, delete mjTIMER_COL_MID.
PiperOrigin-RevId: 599225419
Change-Id: Ieca166753c20a0abf660e2821b2844dda8758951
2024-01-17 10:54:23 -08:00
Yuval Tassa 67a00a3a51 Rename mjMAXTHREADS -> mjMAXTHREAD (consistency).
PiperOrigin-RevId: 599130235
Change-Id: Ia80379b8ae0574a7cd8fbc668657f806e90d6c5c
2024-01-17 04:33:44 -08:00
Copybara-Service 3b440921df Merge pull request #1268 from Balint-H:feature/unity-hmap-dyn
PiperOrigin-RevId: 598652839
Change-Id: I3285f041c5c2e3e9286f1bb106825ee20e7147e3
2024-01-15 12:54:06 -08:00
Tom Erez 2388b651e8 Unity plug-in: Fix for when xml file has no <compiler> section.
PiperOrigin-RevId: 598646137
Change-Id: Id27635dc3064f8568ae0d86c2cdee8c2d414dd2f
2024-01-15 12:04:26 -08:00
Copybara-Service c77f984d9b Merge pull request #1330 from Balint-H:fix/unity-joint-limits
PiperOrigin-RevId: 598603093
Change-Id: I441631e33e812988694f8eed48c719c6bab86148
2024-01-15 07:08:03 -08:00
Bálint Hodossy 66a0cd3b0b Perform autolimit check on actuators 2024-01-11 16:29:08 +00:00
Bálint Hodossy 3a00450d00 Rephrase condition for default limited definition so it's more intuitive 2024-01-11 16:20:13 +00:00
Bálint Hodossy 56b30d9d15 Check the autolimits attribute before assigning default values for joint limitedness 2024-01-11 16:09:06 +00:00
Bálint Hodossy 2c024164ea Edit hfield_data in Unity 2023-12-21 16:04:25 +00:00
Bálint Hodossy 1028051d1a Merge branch 'main' of https://github.com/google-deepmind/mujoco into feature/unity-hmap-dyn
Merge with main to keep branch up to date
2023-12-21 11:45:49 +00:00
Bálint Hodossy d0b505c67b Reformat scripts to better follow guidelines 2023-12-19 13:54:49 +00:00
Google DeepMind 7fb448613f Post release version update: Update to V3.1.2
PiperOrigin-RevId: 592019826
Change-Id: I64fd7da628bf3312ede4970b9b10ef5d0cc75b45
2023-12-18 15:03:37 -08:00
Nimrod Gileadi 7cb7c87f70 Fix a few issues with the passive viewer.
1. Create an arena for the mjData instance used by the passive viewer visualization.

When using the passive viewer, stuff gets copied from the real mjData into a minimal struct.
That struct didn't have a stack, and now visualization for Flex does stack allocs.

2. Add missing a missing field in scene state for flex visualization.

3. Fix a memory leak where mjvScene wasn't released on exit in the passive viewer.

4. Add some locks in places where the render thread and Simulate::Sync collide.

This fixes #1280.

PiperOrigin-RevId: 591891676
Change-Id: I592f286cab9719c8d9af84e42f9756ea1f9f1971
2023-12-18 07:33:19 -08:00