Alessio Quaglino
159f23e6b4
Remember compiler options during attach.
...
Note:
- Move compiler options into `mjsCompiler` struct.
- The compiler options from the attached model are not written by mj_SaveXML.
PiperOrigin-RevId: 689391440
Change-Id: I1d63c146a32f87c737b7a55b64a54b0ffe3aecc9
2024-10-24 08:31:15 -07:00
Mohammad Hamid
694bdebc19
Fixed a bug that caused dim to be necessary in flexcomp even when it was inferred from GMSH files.
...
Fixes #2107 .
Co-authored-by: Alessio Quaglino <quaglino@google.com >
PiperOrigin-RevId: 684419740
Change-Id: Ia73e719bd37503563223ed92f4dbe0ae07eef300
2024-10-10 06:20:43 -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
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
Kyle Bayes
39896f8064
Restructure mjCMesh for caching.
...
PiperOrigin-RevId: 662496475
Change-Id: I4c3a58a63ef2c3b1196b3e6b30eb556b5528ff7f
2024-08-13 06:40:36 -07:00
Nimrod Gileadi
ff5d339e48
GMSH loading: Check that std::stoi isn't out of range.
...
PiperOrigin-RevId: 659485119
Change-Id: I584ba33f87dbe3b87a8c4fb90feb8963106115da
2024-08-05 02:41:19 -07:00
Kyle Bayes
5ac5cfb618
Support directories in VFS via mj_addBufferVFS.
...
PiperOrigin-RevId: 655286683
Change-Id: I846376a0571d8df28d979beb5981a0cbccd7a04f
2024-07-23 13:39:18 -07:00
Alessio Quaglino
f57dc90669
Refactor Default class to use pointers instead of indices.
...
This in order to make it easier to append the default tree to another tree.
PiperOrigin-RevId: 649812975
Change-Id: I2915ac7e37957e45eadc24d6caaf7beea236bf29
2024-07-06 03:51:30 -07:00
Kyle Bayes
c6fd002f87
Move engine/engine_resource.{c,h} to user/user_resource.{c,h}.
...
PiperOrigin-RevId: 649628768
Change-Id: Id90c983cf70c0f92c3b033ac1b1654c53696955d
2024-07-05 05:41:55 -07:00
Kyle Bayes
2a4410e4e5
Fix bug with absolute meshdirs in included XML files. Fixes #1772 .
...
PiperOrigin-RevId: 649150979
Change-Id: I5df08c689afc4f5bc625e989a8c0b9733fcfa3c2
2024-07-03 11:49:17 -07:00
Yuval Tassa
8f16b72f44
Rename mjSpec.euler to eulerseq to match MJCF.
...
PiperOrigin-RevId: 649007737
Change-Id: Iedb53c1d8a6e6a082a6ba30a1fb2bb4516839fa1
2024-07-03 03:10:02 -07:00
Yuval Tassa
8e2f830fd2
Fix type errors in compiler and tests.
...
In preparation for a float32 build of MuJoCo.
PiperOrigin-RevId: 644407674
Change-Id: I60069f0f865ef89fbf613f5a2ca0c336cc63461e
2024-06-18 09:12:44 -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
Alessio Quaglino
f6084b4328
Change user_api handle types.
...
PiperOrigin-RevId: 640978033
Change-Id: I53496671ac823b50e6f90ceee15bf3b314b06db8
2024-06-06 12:06:10 -07:00
Kyle Bayes
e885a3dc3d
Make default class members private.
...
PiperOrigin-RevId: 634288934
Change-Id: I1b7a5ec8dd51c65377b09bcb85c56a849573cac7
2024-05-16 03:22:31 -07:00
Kyle Bayes
13bf9ae6bd
Encapsulate mjCModel internal lists.
...
PiperOrigin-RevId: 631760335
Change-Id: I9b67f6ed2e65a01877de15a92a04a1b31a6b3ff4
2024-05-08 05:02:21 -07:00
Alessio Quaglino
259d3876ce
Remove C-style vectors from user_mesh.
...
PiperOrigin-RevId: 630031676
Change-Id: I87cba3eb816095657acd886037af2c0f06fe4fdd
2024-05-02 05:27:29 -07:00
Alessio Quaglino
7eb8c4b9f4
Set all flex edges to rigid when the flex is rigid.
...
PiperOrigin-RevId: 629740153
Change-Id: Ib2fb6f64e3d160268d2521d63830f41e44d03b20
2024-05-01 09:06:01 -07:00
Mohammad Hamid
131b1745db
Added support for GMSH22 surface loading
...
PiperOrigin-RevId: 629734063
Change-Id: I6a250b81de4e7c8f7520795bfe74a81d719dfb50
2024-05-01 08:44:05 -07:00
Yuval Tassa
1b70907060
Convert user_api header and user_init source files to valid C code.
...
PiperOrigin-RevId: 629691192
Change-Id: I9be78aca27ae584fff0b733e9015b2bb3b927ca4
2024-05-01 04:53:01 -07:00
Google DeepMind
f086dc9b4b
Better parsing for GMSH2.2
...
PiperOrigin-RevId: 625267106
Change-Id: Iecf767c43cee1067fdab3859df28050f8a365e2b
2024-04-16 03:23:52 -07:00
Nimrod Gileadi
9463a8816d
Add more validation in gmsh parsing.
...
PiperOrigin-RevId: 624179874
Change-Id: I423a740d7c2aae617a87ff31329a49b8275bb578
2024-04-12 08:02:49 -07:00
Nimrod Gileadi
7d3b662d5b
Check for invalid node tags in gmsh parser.
...
PiperOrigin-RevId: 621538409
Change-Id: I91ba56b931d815fccd65ae32281bc19ae3a45ee7
2024-04-03 08:56:57 -07:00
Alessio Quaglino
dfe2b75378
Convert mjElement to struct rather than opaque pointer.
...
By making mjElement the parent of mjCBase, mjCModel, and mjCDef, this CL enables safer casting using static_cast instead of reinterpret_cast and C-style casting.
PiperOrigin-RevId: 619526291
Change-Id: Ifa2b4bd3ecd95bade61f41a7005c62212f456c00
2024-03-27 07:37:49 -07:00
Google DeepMind
4f0293c6cb
Added support for msh2.2
...
Now we can load flex with format 2.2 binary and ASCII.
There are two different parsing strategies. One for gmsh app and the other is for ftetwild.
Used the shark model from Scanned Objects by Google Research:
https://app.gazebosim.org/GoogleResearch/fuel/models/Weisshai_Great_White_Shark
PiperOrigin-RevId: 619229499
Change-Id: I6eb876afcbc8a00631914b093c45bde10c0caaf6
2024-03-26 10:12:13 -07:00
Alessio Quaglino
357ff8bbdc
Remove mjCAlternative and user_objects dependency from xml_urdf.
...
PiperOrigin-RevId: 618832482
Change-Id: I626bb956cd3eb35317811b9b577cc7db128262ea
2024-03-25 07:21:03 -07:00
Yuval Tassa
4660a297d1
rename mjspec api structs and functions mjm -> mjs
...
PiperOrigin-RevId: 618017976
Change-Id: I5f790167e5ca670f8d5f92e8e1c920db8d236144
2024-03-21 18:04:50 -07:00
Alessio Quaglino
655e3d0914
Renamed Model to Spec in C API function names.
...
PiperOrigin-RevId: 613922860
Change-Id: Ic47a83aa33b57ef96bd742088442e6237282ee92
2024-03-08 07:05:44 -08:00
Alessio Quaglino
ef3cb7ec2e
Renamed mjmModel to mjSpec.
...
PiperOrigin-RevId: 613516063
Change-Id: I09e360d3eba2accba2e260ec4754b0879b12892f
2024-03-07 02:48:32 -08:00
Alessio Quaglino
1bd44e73bb
Replace mjCModel with mjmModel in mjXBase.
...
PiperOrigin-RevId: 611762880
Change-Id: I22254689b6cbf10fe7b61f9742b6ffd6c2074477
2024-03-01 03:38:28 -08:00
Alessio Quaglino
8f1ea05bef
Add disc mesh generation to user_flexcomp.
...
PiperOrigin-RevId: 611462985
Change-Id: I0fc195d8733172f5f4347b04b5de0edfdd12613d
2024-02-29 07:24:47 -08:00
Alessio Quaglino
9e1d7d6ab8
Fix typo in flex and composite error message.
...
PiperOrigin-RevId: 611115238
Change-Id: Iadb9b4b078e60bca15184f3435380eb67b2da8a9
2024-02-28 08:45:11 -08:00
Alessio Quaglino
1f2d673c7b
Add missing global fields to mjmModel.
...
PiperOrigin-RevId: 610415124
Change-Id: I07f284804bf73cb67703597973b50b8c00ea8deb
2024-02-26 08:25:08 -08:00
Alessio Quaglino
042760eba8
Add compiler settings to mjmModel.
...
PiperOrigin-RevId: 608908314
Change-Id: Id3b0d8c62ca710b5b6d6e423abbbddcb7e7079a1
2024-02-21 01:58:22 -08:00
Alessio Quaglino
78dc5aee9f
Remove mjCPlugin from xml_native_reader.
...
PiperOrigin-RevId: 608546883
Change-Id: Ib529c2756102e4e2185d1d8e9585187c30049011
2024-02-20 03:46:42 -08:00
Alessio Quaglino
b77dfc683a
Use OnePlugin for parsing Composite and Flexcomp plugins.
...
PiperOrigin-RevId: 608265172
Change-Id: I053441a9e534d81c4847ad60fe4a3f7dce87350c
2024-02-19 02:02:29 -08:00
Alessio Quaglino
5e353efaaf
Add mjmModel opaque pointer to C API.
...
PiperOrigin-RevId: 607619891
Change-Id: Ic1eaaa842438d9c2e19f742deff41967287853f5
2024-02-16 02:21:25 -08:00
Alessio Quaglino
414a67640a
Add mjmDef to C API.
...
PiperOrigin-RevId: 607310534
Change-Id: I530f32c8fd4340dc1006585259a5e05cb4aa62b8
2024-02-15 06:17:58 -08:00
Alessio Quaglino
6f958bc404
Add mjmSkin to C API.
...
PiperOrigin-RevId: 607295996
Change-Id: I63bf7213d41acbfb98770c097979ce9b889f21ca
2024-02-15 05:09:10 -08:00
Alessio Quaglino
9ecd700923
Add mjmMesh to C API.
...
PiperOrigin-RevId: 606642150
Change-Id: Iae69ce8426729b1e2394d9da9f349a2f0f7ccf98
2024-02-13 09:09:59 -08:00
Alessio Quaglino
b224367a9b
Add mjmFlex to C API.
...
PiperOrigin-RevId: 606264589
Change-Id: Ifd94f5241a3eaaf23653b136cece81c054f43202
2024-02-12 08:48:11 -08:00
Alessio Quaglino
1bd6a32af2
Add mjmEquality, mjmTendon and mjmWrap to C API.
...
PiperOrigin-RevId: 605853716
Change-Id: Ieb468cdec5a3032200cf1121960408a61bb08fc5
2024-02-10 03:30:31 -08:00
Alessio Quaglino
e3cbad280c
Add mjmJoint, mjmCamera, and mjmLight to C API.
...
PiperOrigin-RevId: 605596008
Change-Id: Ie53ac4b99f5336380039ab5eb9b2ca4a82768b28
2024-02-09 04:44:58 -08:00
Alessio Quaglino
a3e49d582e
Add mjmBody and mjmPlugin and their compiler C APIs.
...
PiperOrigin-RevId: 604937231
Change-Id: Ib8a2105ce6c0500d6a610258b46f192d9e73169d
2024-02-07 04:17:30 -08:00
Matthew Bennice
b9c50ad79c
Move fullinertia from mjCAlternative to mjCBody with correction to handle URDF with 0 inertias.
...
PiperOrigin-RevId: 604812870
Change-Id: I018254d1362a654a4f99bf5e621d5abc7129a0c6
2024-02-06 17:21:31 -08:00
Matthew Bennice
84f20ffb66
Automated g4 rollback of changelist 604607692.
...
*** Reason for rollback ***
breakage resulting in "inertia must have positive eigenvalues" when parsing URDF's
*** Original change description ***
Move fullinertia from mjCAlternative to mjCBody.
***
PiperOrigin-RevId: 604677400
Change-Id: Iab8263b5b0aee310bd75404e314f3b707ce3300e
2024-02-06 09:47:04 -08:00
Alessio Quaglino
737342bdfe
Move fullinertia from mjCAlternative to mjCBody.
...
PiperOrigin-RevId: 604607692
Change-Id: Ic2fcc08b9073d01ab190e7acacc3d827dbdfbca4
2024-02-06 04:43:12 -08:00
Alessio Quaglino
63ec34f9f8
Add plugins to flex parent body if there are pinned vertices.
...
Fixes #1270 .
PiperOrigin-RevId: 595429578
Change-Id: Ifc61d4bde4dd3c6b4d4a09106152de1d24e71ef0
2024-01-03 09:53:22 -08:00
Alessio Quaglino
d67b8c6251
Add membrane plugin (2D Flex elastic stiffness).
...
PiperOrigin-RevId: 574109411
Change-Id: I4a701d8189cecf540cd200bd30cb4582f3c7dd43
2023-10-17 04:55:33 -07:00
Alessio Quaglino
110ade1435
Update Solid and Shell plugins to use FlexComp.
...
PiperOrigin-RevId: 573755821
Change-Id: I3b8d7fb27f0e940038fa9fd2b26ecc746df4f7ac
2023-10-16 03:03:06 -07:00