Commit Graph

68 Commits

Author SHA1 Message Date
Yuval Tassa fae5e822c0 Add links to default attributes.
PiperOrigin-RevId: 517639045
Change-Id: I45f766bda8ce5bd182ba2669c4121c21896d40c1
2023-03-18 07:07:01 -07:00
Yuval Tassa d97ff39e86 Improvements to schema table.
- Schema table now has attribute links and is open by default.
- Attributes are in 4 columns.
- Fixed various documentation bugs made visible by this change.
- Removed distance equality constraint from xml_native_reader.cc

PiperOrigin-RevId: 517558035
Change-Id: Ibc7715587dd4e72253231bfd55bd037f0193b3fd
2023-03-17 18:57:34 -07:00
Yuval Tassa 7bff68dac8 Fix syntax of permalinks.
PiperOrigin-RevId: 517428359
Change-Id: I1409f91ca3b82116464b264c1b798807636506f0
2023-03-17 09:12:54 -07:00
Alessio Quaglino 70959c1a2c Added a collision midphase on geom pairs using rotated AABBs static trees.
PiperOrigin-RevId: 517357695
Change-Id: I068fee714d9638be2fb6d042d5d86f8ff970635b
2023-03-17 02:37:29 -07:00
Yuval Tassa 1731baa925 Add links to all attributes in XMLreference.rst
PiperOrigin-RevId: 517158584
Change-Id: Ia50a2840049e1c5c24eb2f571483d65537276296
2023-03-16 10:22:53 -07:00
Kevin Zakka ed52b4084e Add missing affine gaintype to XMLreference.
PiperOrigin-RevId: 514359011
Change-Id: I96668ed20dbb20b4d2b60a08eb71286bdfe5fe37
2023-03-06 06:37:26 -08:00
Yuval Tassa cadab1f438 Make the word extent more clearly visible in documentation of zfar and znear.
Fixes #746.

PiperOrigin-RevId: 511719937
Change-Id: If697e2dd4992dfa3f345ae4caa25bd67d015a91b
2023-02-23 01:33:27 -08:00
Yuval Tassa a6730aa740 Keep only immediate parent in XMLreference TOC header names.
PiperOrigin-RevId: 510095682
Change-Id: I72973c955cce14a90f5af0037b2abc5f2ee3644c
2023-02-16 03:29:02 -08:00
Yuval Tassa 9f79acd7da Remove redundant space from XMLreference TOC titles
PiperOrigin-RevId: 510076364
Change-Id: I59e0e7fd2f6eae9b89f5bb00f2192358da8abf7a
2023-02-16 01:47:38 -08:00
Saran Tunyasuvunakool ace5b74f83 Rename inteval attribute in mjLROpt to interval.
PiperOrigin-RevId: 509275105
Change-Id: I0ffb9cf485a504843ed255f0b4f24e9285a1c273
2023-02-13 10:54:25 -08:00
DeepMind 929e09f84a Improve URDF geom name loading API.
PiperOrigin-RevId: 505112774
Change-Id: I866e58e664089256a41908dddab9ad79745fb1da
2023-01-27 07:29:45 -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
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
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
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 3b89b0fd30 Particles with arbitrary geoms and joints.
Fixes #553

PiperOrigin-RevId: 486614769
Change-Id: I9a09bf73da97b6b9746800a72ac6c97cce2efa92
2022-11-07 03:22:25 -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
Kyle Bayes 23092a11d7 Add per-body gravity compensation (buoyancy) passive force.
PiperOrigin-RevId: 485342531
Change-Id: Icb3e6bb5080b6ef17a3d3b1cc67e0503cfeaeffb
2022-11-01 09:48:06 -07:00
Yuval Tassa 8db949ac19 Improve rendering of LaTex equation in composite documentation.
PiperOrigin-RevId: 484509794
Change-Id: Ie98cd33414c119417279a6d87f37886fb74eeb8a
2022-10-28 05:58:28 -07:00
Yuval Tassa 893942a729 Allow tendon springlength attribute to take two values between which the spring produces no force (a deadband).
If given two non-decreasing values, `springlength` specifies a deadband for spring stiffness, inside of which the force is 0 and outside of which force behaves like a regular spring, with the setpoint corresponding to the nearest value. This can be used to create tendons whose limits are enforced by springs rather than constraints, which are cheaper and easier to analyse. See test/engine/testdata/tendon_springlength.xml example model.

Spring-limited spatial tendons whose lower range value is 0 are rendered as catenaries.

Fixes #520.

PiperOrigin-RevId: 484509706
Change-Id: I6698e94ee36168f52d501e83057559805e05172d
2022-10-28 05:57:37 -07:00
Yuval Tassa c7c6a870b4 Fix rendering of example attribute in XMLreference.rst
PiperOrigin-RevId: 481614595
Change-Id: Ie582b2ba0b3fc89e3296337b0d43c492ac0d65fa
2022-10-17 05:29:28 -07:00
Alessio Quaglino e250ff0d5a - Added passive forces plugins
- Added new `cable` composite type:
  * The `initial` parameter specifies the joint at the starting boundary: `free`, `ball`, or `none`.
  * The boundary bodies are exposed with the names:`B_left` and `B_right`.
  * The vertex initial positions can be specified directly in the XML with the parameter `vertex`.
  * The orientation of the body frame **is** the orientation of the material frame of the curve.

- Added new `cable` passive force plugin:
  * Twist and bending stiffness can be set separately with the parameters `twist` and `bend`.
  * The stress-free configuration can be set to be the initial one or flat with the flag `flat`.
  * New cable example showing the formation of plectoneme.
  * New coil example.
  * New belt example showing interaction between twist and anisotropy.
  * Added test using cantilever exact solution.

PiperOrigin-RevId: 480033694
Change-Id: I491271bce8fccb185961477e903e5a72d172c8a3
2022-10-10 02:46:51 -07:00
Alessio Quaglino d55e70b576 Add links automatically to all sections of XMLschema.
PiperOrigin-RevId: 479556475
Change-Id: Ie188ecc5c0801bd6bbe27554afcb5436c19f5fa6
2022-10-07 05:33:52 -07:00
Yuval Tassa eac04ce5e9 Reflow all documentation source files to 120 chars.
PiperOrigin-RevId: 479552166
Change-Id: I777df18cf96d35d5260b4003452b7a6da6707a26
2022-10-07 05:02:21 -07:00
Yuval Tassa 6da125ea37 Standardise tags of MJCF elements in XMLreference.rst
PiperOrigin-RevId: 479541059
Change-Id: I98cb7933469f7010870d04608fbb931539769c2e
2022-10-07 03:45:53 -07:00
Saran Tunyasuvunakool f0343ff3ed Fix documentation for nstack to more accurately describe what it does now.
PiperOrigin-RevId: 479409986
Change-Id: Ic7cfadb610e6938bdea58cc01b381fd2bbc21a7c
2022-10-06 14:14:50 -07:00
Saran Tunyasuvunakool 58fd72f53d Dynamically allocate contact and efc_ arrays on a new memory arena.
- Add private function `mj_arenaAlloc`. This is used internally to allocate memory from the arena.

- Add private function `mj_nefc` to count constraints. This function returns a tight upper bound on `d->nefc`. The number of counted constraints can be slightly bigger than exact `d->nefc` in the case of constraints with empty Jacobian, as when placing a frictional tendon between two world sites.

- Add new `memory` attribute to the `size` XML element for specification of arena memory size. This attribute is mutually exclusive with `nstack` and `njmax` specifications, which are now deprecated (but left around for the time being for legacy compatibility).

- Move `d->stack` to the end of the new arena space. The stack now grows in reverse from the end.

PiperOrigin-RevId: 479341539
Change-Id: Ie019c202e0908577ffc6f833a37920858116f667
2022-10-06 10:03:05 -07:00
Alessio Quaglino bc1490b7a8 Add realtime parameter to visual global.
PiperOrigin-RevId: 478775714
Change-Id: Ic2d178a5c57d298d005215219ce8470392c4651b
2022-10-04 07:09:15 -07:00
Kevin Zakka f85cfb8ed2 Fix broken simulate links.
PiperOrigin-RevId: 478775551
Change-Id: I1c4f43c7cbe01f267948f5915a7511744eb0d158
2022-10-04 07:07:57 -07:00
Alessio Quaglino 52c415eb80 Move schema from XMLReference to the new XMLschema RST file.
PiperOrigin-RevId: 478436495
Change-Id: Ib1db879eef2720f897360810eccb198bb9946f72
2022-10-03 01:18:57 -07:00
Kevin Zakka cce35e1816 Add assetdir compiler option.
PiperOrigin-RevId: 478117894
Change-Id: I4a93108e00558034aa02d22047da80adfa4232b2
2022-09-30 17:59:25 -07:00
Kevin Zakka 48f2ed99a5 Enforce strict positivity of extent and znear attributes at parse time.
PiperOrigin-RevId: 477597498
Change-Id: Ic927655cd5ba2fd8fdb1a1a5f7e54ff5040c3370
2022-09-28 17:53:05 -07:00
Kevin Zakka c13b9e89b6 Fix typos.
PiperOrigin-RevId: 476632296
Change-Id: I136556acc43d3cd24273fb975a515e72a3cf23d7
2022-09-24 15:25:39 -07:00
DeepMind 549437ca52 Fix typo in MuJoCo docs.
PiperOrigin-RevId: 474414621
Change-Id: I0585d0f087fcf82ddb0b606f9680a9ffebeddc67
2022-09-14 16:06:04 -07:00
Nimrod Gileadi a693a2d981 Don't infer limited attributes automatically by default.
This is an amendment to 4bfc2c0311.

Add an autolimits compiler option. When true, *limited will be inferred from the presence of the *range attributes.
When false, models where limited is not specified, and range is will fail to compile.

PiperOrigin-RevId: 472438650
Change-Id: I489098e879ee695030f44e0d8cd969787e75fb90
2022-09-06 06:11:53 -07:00
Yuval Tassa 46da1285af Cartesian end-effector control using site transmission.
- Added `refsite` attribute to actuators with `site` transmission.
- Such actuators now have a well defined length and can be used for e.g., Cartesian end-effector control.
- Added example models and documentation describing the new feature.

PiperOrigin-RevId: 471561218
Change-Id: I538f09af9600d5c53992c4a9fed325648aab4fa3
2022-09-01 10:06:52 -07:00
Alessio Quaglino d26501c0f3 Add two new attributes to weld constraints:
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 470021901
Change-Id: I3faba0e5dcab2e29ee81096f5ff71ff66d99758c
2022-08-25 10:22:15 -07:00
Yuval Tassa c7e36e9350 Fix typo.
PiperOrigin-RevId: 469880250
Change-Id: I4d7d61ced696bb5dcbaafc9c49188d8a61a20ae5
2022-08-24 19:04:32 -07:00
Yuval Tassa 090fe2db3f Add a disable flag for sensors.
PiperOrigin-RevId: 469473066
Change-Id: I296ed790c6261c4fb15b349540edcb77e53e0567
2022-08-23 09:02:56 -07:00
Alessio Quaglino abc0a39b7a Add two new attributes to weld constraints:
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 469228149
Change-Id: I836b0791f10fb624607a12ef3c687da991c21789
2022-08-22 10:46:46 -07:00
Alessio Quaglino 8ca5887c20 Add two new attributes to weld constraints:
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 469190483
Change-Id: I20f6da85b09cd2c4c0b5d29eb8003eabb524e55e
2022-08-22 08:19:22 -07:00
Yuval Tassa 833dc74074 Add support for excluded contacts in adhesion actuators.
- Update example model.
- Update video.

PiperOrigin-RevId: 468464196
Change-Id: I603c5a89c2d5a736de127440e6d542beffc12583
2022-08-18 08:28:11 -07:00
Kevin Zakka 4bfc2c0311 Automatically infer *limited field from *range field for joints, tendons and actuators.
PiperOrigin-RevId: 467980594
Change-Id: If635c55a90cf949796b99a41395a6c2c4f7ea094
2022-08-16 11:35:34 -07:00
Yuval Tassa c8ff7b3d34 Remove distance constraints.
- `distance` constraints were not very useful and increased the contact buffer within the constraint solver, violating a core design principle. Therefore they have been removed.
- The enum value `mjEQ_DISTANCE` is retained, but errors will be thrown in the parser and engine if these constraints are selected.

PiperOrigin-RevId: 467050101
Change-Id: Ie72a07e4fe338eea5107004a9fc0f5e47eb0c3b7
2022-08-11 14:31:11 -07:00
Yuval Tassa 1e41bf5076 Improve <statistic meansize/> documentation.
PiperOrigin-RevId: 466002484
Change-Id: I83edfa4f49e0129c85a2558ecc7bbdef8725ff13
2022-08-08 03:48:21 -07:00
Yuval Tassa 83b30a6210 Correct mention of the implicit integrator in viscosity documentation.
PiperOrigin-RevId: 465763354
Change-Id: I605165c536de294c6d0981524d7dfab566da55aa
2022-08-06 07:54:10 -07:00
Kevin Zakka a6841120f8 Mention the new Implicit-in-velocity Euler integrator in the XML reference.
#mujoco

PiperOrigin-RevId: 465754132
Change-Id: If1578afe00a69bfa6816d8e18d5fdc9296a69dc4
2022-08-06 05:44:34 -07:00
Yuval Tassa b966a37855 Add optional azimuth and elevation to initial free camera.
- Add `azimuth` and `elevation` to `visual.global`.
- Add `mjv_defaultFreeCamera`.
- Use `mjv_defaultFreeCamera` in `simulate`.

PiperOrigin-RevId: 465505244
Change-Id: I61e60f14a990d4e2d220958adb75c325001978ee
2022-08-05 01:04:02 -07:00
Kevin Zakka f71daed66f Fix various typos in doc.
PiperOrigin-RevId: 464730883
Change-Id: Id90d7ca07dddbe2b7a991d0d018c9145fae3c698
2022-08-02 01:46:54 -07:00
Yuval Tassa 3d77eb1ef4 Add adhesion actuators.
- Adhesion actuators using contact normals as force transmission mechanism.
- Related video: https://youtu.be/HdBue4MUZys

Closes #229

PiperOrigin-RevId: 464389367
Change-Id: I9f69b3cd152d957e8f65870d208788463c036a6d
2022-07-31 08:54:06 -07:00