Yuval Tassa
06557c1489
Set time correctly in mjd_transitionFD, to support time-dependent user code.
...
PiperOrigin-RevId: 502380864
Change-Id: Ief36135a900c091d95e4450992c7c73e86de267c
2023-01-16 07:52:17 -08:00
Yuval Tassa
6e02c19ebb
Print contacting geom names, if non-empty, in mj_printData output.
...
PiperOrigin-RevId: 502340142
Change-Id: I6359a1ea8fb515e13cb434e31d9592b9d6ce9181
2023-01-16 03:08:33 -08:00
Yuval Tassa
5b942329d2
Fix various typos.
...
PiperOrigin-RevId: 500951615
Change-Id: I3c61ef4328d77457d12091bbf75514872b53c2d0
2023-01-10 03:59:27 -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
Alessio Quaglino
19b6c70e13
Use global coordinates for computing the frame position of a primitive geom fitted to a mesh.
...
PiperOrigin-RevId: 500720200
Change-Id: I0a564aff1fe6943002db14f46f789cfdaef4d2de
2023-01-09 08:29:27 -08:00
Yuval Tassa
f19d5d2f28
Fix typo in mujoco.h
...
PiperOrigin-RevId: 500675056
Change-Id: Ie4958609563b2826cc4965b42ad4d22248c733ef
2023-01-09 04:04:25 -08:00
Saran Tunyasuvunakool
1215067f5c
Add an option in mjrContext for mjr_readPixels output format.
...
PiperOrigin-RevId: 500342924
Change-Id: I43e8c6208db341e2bdbef10382b7293c35bdca65
2023-01-07 00:11:01 -08:00
Kyle Bayes
048bd43724
Fix various typos.
...
PiperOrigin-RevId: 499888205
Change-Id: I38ccf9edb2a745fe8087f14b67ecccca872f7743
2023-01-05 08:29:49 -08:00
Nimrod Gileadi
f85f3fba2f
Avoid duplicate contact points in compound bodies.
...
Sometimes broadphase returns the same body pair multiple times. In those cases, avoid creating every contact twice.
PiperOrigin-RevId: 499869235
Change-Id: I58606168b0723d40b4fdd43b1fafad79bf35d76d
2023-01-05 07:28:05 -08:00
Kyle Bayes
0c463366a0
Reduce internal names hash map from factor of 1 to 0.5.
...
PiperOrigin-RevId: 499762072
Change-Id: Id4ea606b5c534c55665485c9f71412523164d2ed
2023-01-05 01:29:14 -08:00
Kyle Bayes
f1007df013
Implement hash map for mj_name2id using djb2 and linear probing.
...
PiperOrigin-RevId: 499485127
Change-Id: I5aed6549db18b92d7c8a3b7590e50a00ce13a439
2023-01-04 07:57:55 -08:00
Kyle Bayes
5261cceb30
Fix typo in engine_io.c.
...
PiperOrigin-RevId: 499422793
Change-Id: Ic3a0d6dcc9119041267555efd6a8addb944d6639
2023-01-04 01:35:28 -08:00
Yuval Tassa
4bc76c93ae
Remove "name" attribute from plugin specifiers.
...
PiperOrigin-RevId: 499187319
Change-Id: I0755a071eb4eee917fdf32db49a47fd16afa58f9
2023-01-03 05:03:20 -08:00
Tom Erez
45184bfa55
Fix Typo.
...
PiperOrigin-RevId: 499185052
Change-Id: I159271a229c90f38836d607511459edbe1d501bb
2023-01-03 04:49:48 -08:00
Yuval Tassa
95b9a0f215
Fix typo, improve error message.
...
PiperOrigin-RevId: 498473694
Change-Id: I9b04df14f4afbe7148c3083da26451020bd2ebc9
2022-12-29 17:15:10 -08:00
Kevin Zakka
bc02c2455e
Sensor plugin parsing: Ensure sensor reftype is only assigned if a value in the XML exists.
...
PiperOrigin-RevId: 495314131
Change-Id: I5f955c435474de1dd1d75f7a7492e3a21ea9d289
2022-12-14 07:57:29 -08:00
Yuval Tassa
30b4309af9
Rename mjpPlugin.capabilities -> mjpPlugin.capabilityflags
...
PiperOrigin-RevId: 495080532
Change-Id: I81743472b816a331890a7cb05bfb7a89ebf07ff9
2022-12-13 11:33:27 -08:00
Saran Tunyasuvunakool
5c021d042b
Modify signature of plugin reset callback.
...
The `reset` function is called inside `mj_resetData`, before any physics forwarding call has been made. It is therefore an error to read anything from mjData at this stage.
The only valid operation on mjData during `reset` is for a plugin to write into its own state variable slots and data struct. We modify the function signature to only provide access to these.
PiperOrigin-RevId: 495032492
Change-Id: Ic6d2967d2571a9083cbca1ba239ca70a8a51f474
2022-12-13 08:41:35 -08:00
Saran Tunyasuvunakool
093125c2bd
Fix incorrect plugin error message during model compilation.
...
PiperOrigin-RevId: 495023028
Change-Id: Iec0fa213235793c1b96409d86b9e2af1055404b2
2022-12-13 08:03:36 -08:00
Alessio Quaglino
3de2873883
Add deprecation warning for the Rope Composite type.
...
PiperOrigin-RevId: 494985209
Change-Id: I6ce7ca2aeae6f1e798bd4bda9b755852add26a36
2022-12-13 04:35:48 -08:00
Nimrod Gileadi
7076da6909
Correctly validate the size of user sensors in mj_validateReference.
...
PiperOrigin-RevId: 494877162
Change-Id: I0a070d7813efea6216d15270f62b6009c55e1a54
2022-12-12 17:49:06 -08:00
Saran Tunyasuvunakool
946c12faae
Add missing semicolons after mjFREESTACK.
...
The code is already well-formed since the macro itself contains a semicolon, however this is stylistically inconsistent with the rest of the codebase. The missing semicolon is also problematic for automated code transformations.
PiperOrigin-RevId: 494734527
Change-Id: I9aef5844c8c3cce6eefea8f8bf13a4ab3dd79878
2022-12-12 08:22:37 -08:00
Saran Tunyasuvunakool
e9869d3bf3
Add a missing TM_END call when mj_fwdConstraint returns early.
...
PiperOrigin-RevId: 494375187
Change-Id: I013b6cdac06350a6c563fb686df9104dfb7258dd
2022-12-10 04:13:58 -08:00
Alessio Quaglino
2d304d65e5
Use memcmp for mju_compare if no AVX. 15% faster on Humanoid.
...
PiperOrigin-RevId: 493324356
Change-Id: I5f71dc1a8ae40c18864ea80f00a5f86ff952f72c
2022-12-06 09:14:33 -08:00
Alessio Quaglino
7f459ab8ca
Print vertex IDs when inconsistent face is found.
...
PiperOrigin-RevId: 493311839
Change-Id: I0283d86bc6092fbe4f47b845fa8ec212bffdfa1a
2022-12-06 08:24:46 -08:00
Saran Tunyasuvunakool
e4f1d584ad
Add control plugin API.
...
PiperOrigin-RevId: 493311715
Change-Id: Iccd99fb26004f39832818e378f01f9149a0e3e3b
2022-12-06 08:23:49 -08:00
Kyle Bayes
73fb61e3e2
Bump version number to 2.3.1.
...
PiperOrigin-RevId: 493076656
Change-Id: I48c7a45b503c4a7363ea1455a4a3788262d007f7
2022-12-05 12:13:55 -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
Alessio Quaglino
0d52feaa94
Add updateScene callback for plugins.
...
PiperOrigin-RevId: 492497689
Change-Id: I4a15cc5fa39dc7c9b85d132727f82033d4aec2c8
2022-12-02 10:11:32 -08:00
Alessio Quaglino
89185b4af2
Using full path when adding a file to VFS. Fixes #616 .
...
PiperOrigin-RevId: 492204185
Change-Id: If2b2230c095fe0bb776fcc3ffda48f13d0be5cb2
2022-12-01 08:34:20 -08:00
Alessio Quaglino
26f71e2f6c
Check that spacing is greater than geometry size for Composite particles and grid.
...
PiperOrigin-RevId: 491858371
Change-Id: I03a669286c283a72947705463426badcfc9b0bfd
2022-11-30 02:17:42 -08:00
Saran Tunyasuvunakool
df25d7d602
Raise an informative error when running on macOS under Rosetta 2.
...
Current users only get a cryptic "Illegal instruction" crash.
Context: https://github.com/deepmind/mujoco/issues/611
PiperOrigin-RevId: 491705647
Change-Id: I1285897a36e858300ee3d125957e90754be9a7f7
2022-11-29 12:19:06 -08:00
Alessio Quaglino
d0b1a97338
Deformable solid plugin for particles.
...
Using coordinate-free formula equivalent to linear finite elements.
PiperOrigin-RevId: 491317615
Change-Id: I096b9a56075bbb630f64bfffac8a8d66457e5e2d
2022-11-28 05:32:30 -08:00
Yuval Tassa
165e72f798
Apply force perturbations at selection point rather than body center-of-mass.
...
PiperOrigin-RevId: 489996756
Change-Id: I87870a0c1d173449f15a7249f2459a6b726ff417
2022-11-21 09:13:16 -08:00
Alessio Quaglino
638c9a6994
Support capsules in URDF import.
...
PiperOrigin-RevId: 489980760
Change-Id: I1c21e736a86f6637a00e2062727d2e6fd5694c42
2022-11-21 07:58:42 -08:00
Yuval Tassa
45b3af78a0
Fix typos.
...
PiperOrigin-RevId: 489681378
Change-Id: I867ef743e27aedfb4b732671246c8e8e880943f0
2022-11-19 07:02:10 -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
Saran Tunyasuvunakool
9ecade0707
Move plugin loading and scanning logic from Simulate to MuJoCo library.
...
PiperOrigin-RevId: 489020177
Change-Id: I1c29d931b47d5252e57e1d797cc7c17645859ffc
2022-11-16 13:15:51 -08:00
Alessio Quaglino
7b0fbc63f8
Speed improvement with no AVX. 40% on Linux Intel Xeon and 60% on ARM Mac.
...
PiperOrigin-RevId: 488360660
Change-Id: I423269cd362fdcc2434393b691638ac6ed778ef2
2022-11-14 07:31:32 -08:00
Alessio Quaglino
7b7fc09d1f
Raise error if an invalid curve is specified for the cable composite.
...
PiperOrigin-RevId: 486967001
Change-Id: I7220966e172400542417d8f715dbee0c0f154d9b
2022-11-08 09:05:44 -08:00
Alessio Quaglino
9fc9823a8c
Speed improvements in mj_solveLD (14% on Intel Skylake Xeon 36 cores).
...
PiperOrigin-RevId: 486960670
Change-Id: I8fce96427158ec36069dea893500059e93bd40db
2022-11-08 08:38:45 -08:00
Yuval Tassa
5004a4c8c5
Better memory setting and reporting, updated example models.
...
- Memory heuristic rounds up to the nearest MB.
- `simulate` reports total memory currently allocated in the info box.
- All example models use `<size memory/>` rather than legacy attributes.
- Regenerated `example_saved.xml` and reformatted original model in [overview chapter](https://mujoco.readthedocs.io/en/latest/overview.html?#examples ).
- `<size>` top-level section does not get written if empty.
PiperOrigin-RevId: 486702670
Change-Id: I0306e335f32344c59562ba606664ec9d2101f8a8
2022-11-07 10:36:37 -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
Alessio Quaglino
fd4d47e4a5
Format memory warning in human-friendly way.
...
PiperOrigin-RevId: 486610408
Change-Id: I6beecb12059e69f4407e921d20efc54ce6b3f491
2022-11-07 02:56:07 -08:00
Alessio Quaglino
fc24097b92
Compute nonzero default mass value only if geom is not in the default section.
...
Fixes #561 .
PiperOrigin-RevId: 486604407
Change-Id: Ie62578808f96f0de3a2353c6bc4cc8bd3ae3afbc
2022-11-07 02:18:31 -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
Yuval Tassa
c83be2bc05
Add mju_clip, mju_fill, mju_eye and mju_symmetrize to python bindings.
...
- Also change signatures of `mju_fill` and `mju_symmetrize` to conform to standard.
PiperOrigin-RevId: 485613824
Change-Id: I8dd618bac92ef40aa6c76380fa73302e81968687
2022-11-02 09:22:28 -07:00
Alessio Quaglino
7458a6e90f
Remove unused "flat" attribute from XML schema.
...
PiperOrigin-RevId: 485358643
Change-Id: Ia9e46b346e86e3784ad12be32404ac22ce4c881a
2022-11-01 10:41:47 -07: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
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