Commit Graph

62 Commits

Author SHA1 Message Date
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
Kevin Zakka 0b2f19bbe7 Fix "actrange" parsing for "intvelocity" actuators.
PiperOrigin-RevId: 468759706
Change-Id: I1d9eeb723d28cccb64a6112b103345fcf451700f
2022-08-19 12:22:55 -07:00
Yuval Tassa ae0ac86ec3 Add catenary visualisation to string-like tendons.
https://youtu.be/I2q7D0Vda-A

PiperOrigin-RevId: 468687422
Change-Id: I84f34e149cf098346a77a51f265113d8fa4f2525
2022-08-19 06:25:07 -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 29535a8eca Fix typos.
PiperOrigin-RevId: 467656092
Change-Id: If908b58129c975a042c920ca2242f320876e4f54
2022-08-15 06:38:20 -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
Copybara-Service 396fdf00c3 Merge pull request #425 from aftersomemath:cull-face-flag
PiperOrigin-RevId: 466904386
Change-Id: Icd5515c2bbb8f8f3417501ea43c8e5ae22b32f91
2022-08-11 02:44:37 -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
Copybara-Service 9cd1c2f726 Merge pull request #428 from aftersomemath:segmentation-doc-fix
PiperOrigin-RevId: 465644599
Change-Id: I5f3c0ef5d52935906e73035c371345f936e062ea
2022-08-05 14:11:08 -07:00
Kevin Zakka 80b4ffdd6a Add screenshot button to simulate.
PiperOrigin-RevId: 465628684
Change-Id: I0eb86d6b18c25bb437f197229be6d1c57ccbc50a
2022-08-05 12:56:32 -07:00
Levi Burner 581f009c02 Cull face flag 2022-08-05 11:53:46 -04:00
Levi Burner eab1f0da7d Fix off by one in segmentation with IDCOLOR documentation 2022-08-05 11:46:22 -04: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
Alessio Quaglino 5c5449bf82 Compute moment of inertia for concave and boundary meshes. Resolve #338.
- Mesh inertias can now be computed exactly for well-formed (no holes) non-convex meshes.
- To activate this feature, set `<compiler exactmeshinertia="true">` (defaults to `false`). This default may change in the future.
- Added `<geom shellinertia="true/false">` (defaults to `false`). When true, geom inertia is computed assuming all the mass is concentrated on the surface, and `density` is interpreted as surface density (mass/area). Currently only mesh geoms are supported.

PiperOrigin-RevId: 464368395
Change-Id: I17afd99b9b221c9d24ae951f6e63d5c61ff89820
2022-07-31 04:32:28 -07:00
Yuval Tassa fcf4131771 Add mj_jacSubtreeCom for computing subtree center-of-mass Jacobians.
PiperOrigin-RevId: 464075727
Change-Id: If679c0fdd05b7dc84154cec00963aeea7bbdacc3
2022-07-29 07:44:32 -07:00
Alessio Quaglino 8ead54d2dc Add missing gain type "affine" to general actuators.
PiperOrigin-RevId: 463605415
Change-Id: I849e6f2f0ec5eaedaa774099e5e07f27919bb943
2022-07-27 09:24:17 -07:00
Kevin Zakka eef473b1e1 Fix hyperlink to mjd_transitionFD.
PiperOrigin-RevId: 462150695
Change-Id: If736fee2cb629d649c2931aa0c0cbf4ddb56d68b
2022-07-20 08:44:36 -07:00
Yuval Tassa f6e1b02f48 Fix rendering of mjd_transitionFD docstring.
PiperOrigin-RevId: 462117193
Change-Id: Ia7fbd0c1a3cb3a9241f75759fc416a84d55d75fe
2022-07-20 05:23:29 -07:00
Kevin Zakka fa1536c2de Nit fixes to documentation.
PiperOrigin-RevId: 461932200
Change-Id: I3f929e09239c526b1686aa65641e47e759d32827
2022-07-19 11:27:33 -07:00
Saran Tunyasuvunakool 373cc894a8 Bump version number to 2.2.1.
PiperOrigin-RevId: 461471944
Change-Id: Ia752d992fabdc57b822bc30b01030c19162917ac
2022-07-17 09:50:31 -07:00
Yuval Tassa 138a01625e Fix typo.
PiperOrigin-RevId: 460312313
Change-Id: I4ff1f82afb28d1286e33aaee8b008f76f81935ac
2022-07-11 15:20:38 -07:00
Yuval Tassa c14a7ef4a7 Add clock sensor type.
PiperOrigin-RevId: 459720950
Change-Id: Ibda48ae7dc4aa7be451a947a1c53d10a7eaf176b
2022-07-08 03:50:08 -07:00
Yuval Tassa d3a86bb748 - Add floating changes to changelog.
- Add sections about the state and derivatives to the Computation chapter.

PiperOrigin-RevId: 459032736
Change-Id: I0b69401688f24c84d5747f1b49980e38e19a54a3
2022-07-05 02:18:01 -07:00
Yuval Tassa 09a5efc09e Add control values to keyframes.
- Add basic test for keyframes.
- Add missing documentation for keyframe mocap positions and quaternions.

PiperOrigin-RevId: 459021649
Change-Id: I91cf7ecbddc6262e8c72a868eeb82d627f389fb3
2022-07-05 01:07:37 -07:00
Yuval Tassa 5ba880506c Improve header and paragraph spacing.
PiperOrigin-RevId: 458935896
Change-Id: Ibbd084ddd18cf9c1a5fe59b3ca60b715595cf606
2022-07-04 11:05:16 -07:00
Nimrod Gileadi 2b319c81bc Update sphinx and jq for documentation.
Old versions of Sphinx don't support Python 3.10.

sphinx-rtd-theme 1.0.0 supports Sphinx 4.x:
https://sphinx-rtd-theme.readthedocs.io/en/stable/changelog.html#features

PiperOrigin-RevId: 458455382
Change-Id: Ic34a7d350d5ecd1dfff53d88472a3b25a7245ec0
2022-07-01 06:27:14 -07:00
Alessio Quaglino 2d0995b47c Add visualisation groups to skins.
PiperOrigin-RevId: 458441645
Change-Id: I14324e8efda5142b2718a5cc9215228c7556dbf7
2022-07-01 04:57:34 -07:00
Alessio Quaglino 307cf692e5 Add <damper> actuator shortcut and related mjGAIN_AFFINE.
**Rationale**

A general `mjGAIN_AFFINE` actuator adds the term `force = (c + kp * length + kv * velocity) * ctrl`. The damper shortcut restricts it to `kv * velocity * ctrl` and sets the `ctrllimited` attribute to true.

**API**

```xml
<actuator>
  <damper ctrlrange="0 1" kv="1"/>
</actuator>
```

* Required attributes: `ctrlrange` (>=0)
* Optional attributes: `kv` (>=0)

PiperOrigin-RevId: 455366866
Change-Id: I88773abbeccabb6442f215c9fc05e205df63f692
2022-06-16 06:21:17 -07:00
Kevin Zakka 2de8aa9e92 Fix redundant actuators in modeling doc.
PiperOrigin-RevId: 454942117
Change-Id: Id5ffa3339cb0188863570071dc56f6ead794e5a4
2022-06-14 13:29:42 -07:00
Kevin Zakka 6048a55daf Add intvelocity actuator shortcut.
PiperOrigin-RevId: 454899823
Change-Id: I9b5494baacfab5a7d03bd680d0ded06a7790e75e
2022-06-14 10:36:58 -07:00
Copybara-Service 959ed08246 Merge pull request #320 from djbutler:main
PiperOrigin-RevId: 454562743
Change-Id: Ia0d3067f7a37f30b1d2ae3b7a5755b7cbad3a114
2022-06-13 03:13:42 -07:00
Yuval Tassa f428c1bf56 Improve example XML snippet in "URDF Extensions" section.
`discardvisual="false"` is often required when importing URDF models.

[Relevant issue](https://github.com/deepmind/mujoco/issues/326).

PiperOrigin-RevId: 453429187
Change-Id: I6dccc5656114224d11010c87e6a127321cce93c1
2022-06-07 07:12:26 -07:00
Yuval Tassa c062531fc7 Fix formatting bug in overview.rst
PiperOrigin-RevId: 453257852
Change-Id: I9312f6a30e0b73199148435da8f6dd8ed1249e10
2022-06-06 12:28:29 -07:00
Kevin Zakka 53d3220fcc Fix quaternion typos.
PiperOrigin-RevId: 453203844
Change-Id: I7d788c21bb00b7746f941fb2cf755f0b046e35f2
2022-06-06 08:24:21 -07:00
Yuval Tassa 652bab3eec Improve documentation of <freejoint> element.
PiperOrigin-RevId: 453192974
Change-Id: I14b02c8c37f6208a67b35efc17887668f6555aef
2022-06-06 07:15:41 -07:00
Yuval Tassa 880304abba Update the asset/mesh section of the XML reference to mention OBJ files.
Also clean up some formatting.

PiperOrigin-RevId: 453173729
Change-Id: I069b9433542dda0e3effe71d162cb51a46ce2f4e
2022-06-06 05:02:41 -07:00
Dan Butler c0282237f1 Update documentation for 'boundmass' attribute of 'compiler' xml element to include usage 2022-06-02 19:35:06 -07:00
Saran Tunyasuvunakool 5cc73c30bf Align all arrays in mjData's buffer to 64 byte boundaries.
The introduction of additional mjData arrays for the implicit integrator caused in a shift in data alignment in memory. In certain combinations of machines and models, this change resulted in ~5% performance regression that appears to be attributable to L2 cache misses.

This change aligns all arrays in mjData to the boundary of a typical L2 cache line size. Benchmarking shows that this resolves the performance regression on a Broadwell machine.

PiperOrigin-RevId: 451652783
Change-Id: I4ed2c2d03453a83a0b4a9b8e224e2fd7c0dadea9
2022-05-28 13:03:38 -07:00
Kevin Zakka 70b19d5fd6 Typo fixes in programming.rst.
PiperOrigin-RevId: 450494768
Change-Id: I039430931c3357135724aaccff609bd8fd8a2553
2022-05-23 12:05:00 -07:00
Saran Tunyasuvunakool a2ee3d8df0 Fix a typo in changelog.rst and update intro in overview.rst.
PiperOrigin-RevId: 450422495
Change-Id: Icc10fd6cfae38cb51a7499cba9b05e002e68e986
2022-05-23 06:21:58 -07:00
Saran Tunyasuvunakool 7eb4ab3a8f Fix documentation typos and CMake framework setup for macOS.
The previous commit missed out some recent changes in the internal repo. This commit brings the public GitHub repo in sync.

PiperOrigin-RevId: 450377010
Change-Id: I59a68ae4a39c5cd5ed5f7df77ba870273243d623
2022-05-23 14:06:12 +01:00
DeepMind 64bc6d27b2 Add implicit integrator.
Added analytic derivatives of smooth (unconstrained) dynamics forces, with respect to velocities:
  - Centripetal and Coriolis forces computed by the Recursive Newton-Euler algorithm.
  - Damping and fluid-drag passive forces.
  - Actuation forces.

A new implicit-in-velocity integrator is implemented using the analytic derivatives. This integrator lies between the Euler and Runge Kutta integrators in terms of both stability and computational cost.

PiperOrigin-RevId: 450377010
Change-Id: Ie192b441876c22e732fb749333926f296e0a09cc
2022-05-23 01:22:15 -07:00
Saran Tunyasuvunakool 1913a02b40 Initial open sourcing of MuJoCo.
PiperOrigin-RevId: 450374687
Change-Id: Ie3225a46ce095fc28ae8e63c326a640261f562bb
2022-05-23 01:08:49 -07:00