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
d7c47de353
Add mjStatistic to mjmModel.
...
PiperOrigin-RevId: 607657424
Change-Id: I17f6ef37570651e002258ee2a509fc52d213c0f5
2024-02-16 05:17:35 -08:00
Yuval Tassa
f9f7827a64
Trim trailing default values in saved xmls.
...
For attributes which accept variable-length inputs. Currently used for `gainprm, biasprm, friction, solref, solimp` Example:
- Saved before: `biasprm="0 -3 -4 0 0 0 0 0 0 0"`.
- Saved after: `biasprm="0 -3 -4"`.
PiperOrigin-RevId: 607609550
Change-Id: I0501348280663867693175236872e2aabc703601
2024-02-16 01:36:06 -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
80a986c0f5
Add mjmBodyPair to C API.
...
PiperOrigin-RevId: 606997065
Change-Id: Iefc2dff6ae942ce93ca83ec5f5fe9d7ae8bb6a40
2024-02-14 08:40:05 -08:00
Alessio Quaglino
c9e7586499
Add mjmHField to C API.
...
PiperOrigin-RevId: 606933108
Change-Id: I21c895ed3e137dab8f57e2d0bcfb558aae2b971a
2024-02-14 04:12:29 -08:00
Alessio Quaglino
2ee8a4dabd
Add mjmNumeric, mjmText, mjmTuple, mjmKey to C API.
...
PiperOrigin-RevId: 606919327
Change-Id: I477f6cd8beefcb3962238722565e3b398b73446c
2024-02-14 03:10:38 -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
06505f49f9
Add mjmTexture to C API.
...
PiperOrigin-RevId: 606543622
Change-Id: I2db743c1c40116f0503329fb1d004d9b041e83e7
2024-02-13 02:09:39 -08:00
Alessio Quaglino
13d6eeacdd
Add mjmPair to C API.
...
PiperOrigin-RevId: 606274243
Change-Id: I15e2a38096a61bc1377a666c96113ae20ce3ed59
2024-02-12 09:25:33 -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
4e5b194e88
Add mjmMaterial and mjmFrame to C API.
...
PiperOrigin-RevId: 606191307
Change-Id: Iaf43f81522029002b28bba14ea046b1c968ab2e7
2024-02-12 02:56:03 -08:00
Yuval Tassa
3601026b1d
Refactor handling of auto-limits.
...
PiperOrigin-RevId: 605972151
Change-Id: If468af2081182787178d805124f2d2c90ee29951
2024-02-10 22:01:13 -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
6fa139a693
Add mjmActuator and mjmSensor.
...
PiperOrigin-RevId: 605600704
Change-Id: I0a2f5eb9d894c068ca9ee08940c752066021b6ec
2024-02-09 05:11:13 -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
1fe258fb60
Add mjmGeom to C API.
...
PiperOrigin-RevId: 605302719
Change-Id: Ib4208e60cf4299473a96f62db2c9dc8c7a5b0b36
2024-02-08 06:53:01 -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
Alessio Quaglino
b3f93d436b
Convert mjmStruct to a C-struct.
...
PiperOrigin-RevId: 603357871
Change-Id: I27918b0030fc6a589c361cad965611adc3bf7247
2024-02-01 06:57:47 -08:00
Yuval Tassa
e143b3dbc0
Allow height-field elevation data to be specified in XML.
...
PiperOrigin-RevId: 602374498
Change-Id: I2d3364d68876a35799b24aca1051e2f5aebdda75
2024-01-29 06:59:28 -08: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
Alessio Quaglino
8a9b041388
Replace objid with obj pointers.
...
This in preparation of adding functions to remove/add elements after compilation.
PiperOrigin-RevId: 597286844
Change-Id: I940103ade986c8d057db8cc1e9a98c073ddfab98
2024-01-10 10:20:47 -08:00
Alessio Quaglino
889353dfa8
Replace meshid and hfieldid with mjCMesh and mjCHField pointers in mjCGeom.
...
PiperOrigin-RevId: 597279837
Change-Id: I45ca00c70c13cd5bddb3385a0c60388fb166527c
2024-01-10 09:56:54 -08:00
Yuval Tassa
21334ea704
Delete local frame members from MJC objects.
...
PiperOrigin-RevId: 585629699
Change-Id: I12dbd235dee49223fa7b1a097f04561da69550a0
2023-11-27 06:07:53 -08:00
Nimrod Gileadi
f2025c6abf
Allow plugin actuators to have activation state.
...
Accept new attributes on the plugin/actuator tag:
- dyntype
- dynprm
- actlimited
- actrange
- actearly
This addresses some of the requests in #1098 .
PiperOrigin-RevId: 584866281
Change-Id: I4f7559e446888216093efba4ced9119cfc0528a4
2023-11-23 05:14:03 -08:00
Yuval Tassa
893c404230
Runtime disabling of actuators according to group.
...
Added `option-actuatorgroupdisable` attribute and associated `mjOption.disableactuator` integer bitfield, used to disable sets of actuators at runtime according to their group.
- The first 6 actuator groups are toggleable in the `simulate` viewer.
- Minor refactor and cleanup of actuator documentation.
https://youtu.be/H9qG9Zf2W44
Fixes #1092 .
PiperOrigin-RevId: 578335600
Change-Id: I4cf663b90ea768e4380acfa2fe3b8c15c7cbb568
2023-10-31 16:24:38 -07:00
Alessio Quaglino
1a47a97040
Disable shadows for geoms of category mjCAT_DECOR. Fixes #1114 .
...
Added `frustum` to `rgba` and `scale` in the `visual` section.
PiperOrigin-RevId: 576547599
Change-Id: I69bf528680e3d4a59d6e04f6db99a6d345001d1d
2023-10-25 09:08:20 -07:00
Yuval Tassa
d88675a034
Change the default of <compiler autolimits> from "false" to "true".
...
PiperOrigin-RevId: 573184793
Change-Id: I24075a8d953d0a3c3ddf65c67e1e18075cd029b6
2023-10-13 05:05:24 -07:00
Alessio Quaglino
5a70ad08ab
Add Flex component.
...
PiperOrigin-RevId: 572830650
Change-Id: I6908228087b7b9683be3506c8d9cdc725ed5dcd5
2023-10-12 10:49:35 +01:00
Alessio Quaglino
36d2ffe4f2
Specify camera parameters using standard robotics conventions.
...
PiperOrigin-RevId: 569147555
Change-Id: I3443f95e5de56a17024f5e5c03f33888dd583edb
2023-09-28 05:19:19 -07:00
Yuval Tassa
9cf1f6eba4
Remove mjOption.collision and associated option/collision attribute.
...
PiperOrigin-RevId: 566427090
Change-Id: I6e5873b8db707586820b17b53c7ab4bbff0f0b2b
2023-09-18 15:15:54 -07:00
Alessio Quaglino
8064ad59c8
Add camera projection sensor.
...
BEGIN_PUBLIC
Add camera projection sensor.
END_PUBLIC
PiperOrigin-RevId: 564726114
Change-Id: I33b8e5562eff29c21538bf8f38ce3116c7dfc5a9
2023-09-12 08:16:20 -07:00
Google DeepMind
040d3efce2
Add options for controlling early termination criteria of CG/Newton linesearch.
...
Useful for performance tuning models.
PiperOrigin-RevId: 563175078
Change-Id: Id64a510d6080038ea8d5876dabbf0b2b311435bb
2023-09-06 12:02:58 -07:00
Yuval Tassa
55173e58f9
Save <compiler {boundmass/boundinertia}> if nonzero.
...
Fixes #928
PiperOrigin-RevId: 560967976
Change-Id: Idc8c043278362d8925ce41061c65f3e678ad50ce
2023-08-29 02:41:22 -07:00
Tom Erez
819b5cb982
Add invdiscrete flag to enable discrete-time inverse dynamics with mj_inverse.
...
PiperOrigin-RevId: 560161140
Change-Id: If3e30be5e9af4982571dd310172f2fc0d8d1c551
2023-08-25 12:08:37 -07:00
Yuval Tassa
b7cf479abe
Add flag for disabling implicit integration of joint damping in the Euler integrator.
...
PiperOrigin-RevId: 559398414
Change-Id: I43b23c5e75a2830a64b1898daeaa16f19e011718
2023-08-23 05:51:37 -07:00
Alessio Quaglino
fdb041580c
Add Signed Distance Field to collision geometries.
...
PiperOrigin-RevId: 557507088
Change-Id: I358a642407aee1ba8dfc9d405eb9a4f609435fe9
2023-08-16 09:15:23 -07:00
Yuval Tassa
3e034e38b2
Add constraint island discovery
...
PiperOrigin-RevId: 557067599
Change-Id: Ic41e1d0efef02b7a79142518afe49cf9d4e74725
2023-08-15 02:30:05 -07:00
Yuval Tassa
a276c49c30
Rename `actuatorforcerange and actuatorforcelimited, to actuatorfrcrange and actuatorfrclimited`, respectively.
...
PiperOrigin-RevId: 556780590
Change-Id: Ide12cf390920f9efe6f79cc9f864a480ce5f256d
2023-08-14 07:18:57 -07:00
Nimrod Gileadi
2c3297b3e7
Add filterexact and actearly options to MuJoCo.
...
When filterexact is a new dyntype which is just like the existing `filter`, but the activation state is integrated with exact integration, instead of simple Euler integration.
When actearly is specified on a general actuator, `qfrc_actuator` is computed using the next timestep's `act` value, instead of the current value.
PiperOrigin-RevId: 554438423
Change-Id: If901e4988fa6b518d6f3097f149770665a189a4b
2023-08-07 04:50:33 -07:00
Kyle Bayes
efca1a76aa
Encapsulate mjCMesh data, apply Google C++ naming convention to class members (See https://google.github.io/styleguide/cppguide.html#Variable_Names ), and fix a couple of typos.
...
PiperOrigin-RevId: 553129088
Change-Id: Ic515154220af472f4fc90ca9ade92d86b205cc94
2023-08-02 16:07:44 +01:00
Yuval Tassa
51aa375af0
Improvements related to models where joint-actuator relationship is not one-to-one:
...
- Add `joint-actuatorforcerange` for clamping total actuator force at joints. Add `sensor-jointactuatorfrc` for sensing total actuator forces on a single joint.
See [documentation](https://mujoco.readthedocs.io/en/latest//modeling.html#actuator-force-clamping ) for justification and use cases.
- Add simple car model to `model/`.
- Move actuation-related test models into `engine/testdata/actuation/`.
PiperOrigin-RevId: 549355941
Change-Id: I27f6c1f80426d73a2811ef5ae74684a228b2fbd1
2023-07-19 10:29:32 -07:00
Kyle Bayes
5fcdae771b
Add content_type attribute that takes a MIME type to specify the file contents for meshes, hfields, and textures.
...
PiperOrigin-RevId: 549302344
Change-Id: I30a8adfef5b5d87bb20479329f3396892f5137ff
2023-07-19 06:51:36 -07:00
Kyle Bayes
24c1ec9aec
Add support for printing to stdout in mj_saveLastXML.
...
PiperOrigin-RevId: 546849864
Change-Id: I799ea3fcd723cf036f82ef5c1ef8152c314072dc
2023-07-10 06:08:10 -07:00
Alessio Quaglino
46e06c4cac
Add elasticity plugins to xml_native_writer_test. Fixes #961 .
...
PiperOrigin-RevId: 545454207
Change-Id: I4e93499eaa53e5bc8c8afa682986657cef3ac20f
2023-07-04 08:30:30 -07:00
Yuval Tassa
d82f5ce5a4
Add mjContact.solreffriction, mjModel.pair_solreffriction and related implementation, allowing contact reference acceleration to be different for normal and frictional contact directions. This is required for e.g. elastic frictional collisions.
...
PiperOrigin-RevId: 538513357
Change-Id: Id9eb910fe791cf898c712030cb2c0fc481389c91
2023-06-07 09:40:20 -07:00
Alessio Quaglino
4f5da9c554
Add OnePlugin read/write functions and remove redundant plugin attributes from mjCActuator.
...
PiperOrigin-RevId: 525708657
Change-Id: I762de238f989b13877d5f9198c83c16ea9dc1d8b
2023-04-20 04:25:43 -07:00
Yuval Tassa
c65e046043
Don't save actdim="{0,1}" for state{less,ful} actuators, respectively.
...
actdim has a default value of -1 (==unset), which means it currently gets saved for all actuators. After this change, it will only be saved if the value is > 1, errors are thrown for stateful actuators with actdim=0 and stateless actuators with actdim>0.
PiperOrigin-RevId: 520627313
Change-Id: Ia498dae5c7314cfaa0995f8077d297c2339a5c35
2023-03-30 07:00:17 -07:00
Yuval Tassa
1d6a9e09bb
Don't save body pos if "0 0 0".
...
PiperOrigin-RevId: 520598416
Change-Id: I5bb6ffaec386f228ac7a5fa221822000635900ae
2023-03-30 04:09:22 -07:00
Yuval Tassa
3f9defa8d0
Don't save an empty <default/> section.
...
PiperOrigin-RevId: 520594748
Change-Id: Ib5e1eb3a93e9d579adeda1052a2c29d724d6b497
2023-03-30 03:51:14 -07:00