Saran Tunyasuvunakool
2e15574b58
Allow user-defined visualization geoms to be added to the passive viewer.
...
Fixes #1023 , #1082
PiperOrigin-RevId: 572303635
Change-Id: Ia8399f816f311b38a7b137f5bd4f359f77a1da1c
2023-10-10 10:52:21 -07:00
Google DeepMind
1bd6c94e6d
Fix setting wrong value in efc_diagApprox for rotational components of weld constraints.
...
PiperOrigin-RevId: 572276016
Change-Id: Ic985a342777aca976f5c4bc781133fb4a8976e3f
2023-10-10 09:34:34 -07:00
Alessio Quaglino
8af09eb70d
Add timing of collision phases.
...
PiperOrigin-RevId: 572273621
Change-Id: Ib9440a996a05e42e00dcf4f1ce487a12f65e999b
2023-10-10 09:27:45 -07:00
Yuval Tassa
7cd6b3db73
Fix typo in changelog
...
PiperOrigin-RevId: 572264830
Change-Id: Ifbbb9d7ee06a73c768b4c13aad843146e8aa9dde
2023-10-10 08:55:59 -07:00
Yuval Tassa
95fec9f84e
Add derivation of ellipsoid projection lemma in collapsible element.
...
PiperOrigin-RevId: 572243118
Change-Id: I7b6c97dcf046f1bec85a0970bc018411d3009ae7
2023-10-10 07:34:59 -07:00
Alessio Quaglino
77d0400733
Accelerate inertia computation for simple bodies.
...
PiperOrigin-RevId: 571411319
Change-Id: I82732e95795cc0f0645f8273a1b084f2a9187a75
2023-10-06 12:51:14 -07:00
Yuval Tassa
7b7cf5e86c
Add cards.xml model.
...
PiperOrigin-RevId: 571341445
Change-Id: I3a02bb01099cacb62e0c599e6198ed90b48baad0
2023-10-06 08:13:33 -07:00
Yuval Tassa
a9b761ee1b
Add double underscore suffix to all links in the changelog.
...
PiperOrigin-RevId: 571304907
Change-Id: Ie726f3d703421f9d13a5d16f2282123c71c2b530
2023-10-06 05:01:09 -07:00
Matthew Bennice
071af3b015
Implement threading for island constraint solving.
...
Humanoids22 No threads:
Benchmark Execution Time: 9.475905812s
Humanoids22 with 10 Threads:
Benchmark Execution Time: 4.871352s
PiperOrigin-RevId: 571214307
Change-Id: I1f4f2c761b4ae6bc8fac1f28c6c695f6c499f339
2023-10-05 21:05:19 -07:00
Saran Tunyasuvunakool
991aa97bc4
Make the doc search text readable in dark theme.
...
Currently it's dark blue text on dark grey background.
PiperOrigin-RevId: 570985075
Change-Id: I7dc97163babd4d6c2f99fa600b259274e69fdd8b
2023-10-05 05:33:55 -07:00
Yuval Tassa
3e12f0d50c
Add history scrubbing mechanism to simulate.
...
[screen capture](https://www.youtube.com/watch?v=YSvWn_poqWs )
PiperOrigin-RevId: 570676968
Change-Id: Id9a1fccc9418b851e007ddcf3fa89acd4edff3e9
2023-10-04 06:36:34 -07:00
Yuval Tassa
1e94c12cdd
Fix typos in docs.
...
PiperOrigin-RevId: 570643723
Change-Id: I20a999c7a5ff79bdb67ced209105cca6751a50dc
2023-10-04 03:32:49 -07:00
Yuval Tassa
ee78b8f76b
Added mjData.eq_active user input variable, for enabling/disabling the state of equality constraints.
...
Renamed `mjModel.eq_active` to `mjModel.eq_active0`, which now has the semantic of "initial value of `mjData.eq_active`".
Fixes #876 .
PiperOrigin-RevId: 570410643
Change-Id: Id03171e751377c7cc453f143abee64239ee2e2ed
2023-10-03 09:32:24 -07:00
Yuval Tassa
177aec68dc
Add overlay positions in the center of viewport edges, move PAUSE and LOADING... overlays to the top center.
...
PiperOrigin-RevId: 570054949
Change-Id: If0046df382e67ad3a48e7138a75e9e200c0626b9
2023-10-02 07:05:50 -07:00
Yuval Tassa
ebded4747f
Replace fruitfly image with a more dynamic pose.
...
PiperOrigin-RevId: 569481337
Change-Id: I00246c4ed8264252a89b979a118463d8b35fa8ce
2023-09-29 07:01:00 -07: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
Saran Tunyasuvunakool
8ed321d469
Rename mesh_assetpathadr to mesh_pathadr and move it to the end of the mesh section.
...
PiperOrigin-RevId: 568911603
Change-Id: I8f21c3d1cc9c73b6a95292a50f262b1a199d0898
2023-09-27 11:32:10 -07:00
Alessio Quaglino
d3d46e16a4
Remove cloth and rope composites and deprecate loop.
...
PiperOrigin-RevId: 568168329
Change-Id: Ida4a5236bef74828c7bf59affdc28adea3db53b1
2023-09-25 03:38:43 -07:00
Matthew Bennice
7f8018a3f3
Update XML parsing to store asset path so that assets can be recovered and sent to external renderers
...
PiperOrigin-RevId: 567347908
Change-Id: I4d8e1abe35be3a67643ff925af709921280856f8
2023-09-21 10:27:52 -07:00
Matthew Bennice
4f34cacf35
Add maxuse_threadstack to mjData
...
PiperOrigin-RevId: 567334177
Change-Id: Ifd772350042e548a63ab269fd68fb5e5fef55831
2023-09-21 09:41:00 -07:00
Alessio Quaglino
dd5a7115cf
Add shell plugin.
...
- Add bending passive force
- Add two examples (plate and poncho)
- Add stretching constraints for particles using tendons on mesh edges
PiperOrigin-RevId: 566980584
Change-Id: Id0cd8e1084c05560f1008518a8afbd5311d563e2
2023-09-20 09:00:20 -07:00
Yuval Tassa
c54aba15f9
Fix typo in docs.
...
PiperOrigin-RevId: 566957533
Change-Id: I39ebafaf3ad938837d864b3272ae2c4af6510583
2023-09-20 07:29:16 -07:00
Yuval Tassa
35e7bb354d
Add documentation of ellipsoid-based fluid drag model.
...
PiperOrigin-RevId: 566935233
Change-Id: I45980ea2def06d5ffd9091c49543b737b864701d
2023-09-20 05:41:44 -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
Yuval Tassa
9902b73502
Rename mj_stackAlloc to mj_stackAllocByte.
...
PiperOrigin-RevId: 566351365
Change-Id: I91541168e83b05a730113661cc9f07985ac9ff0c
2023-09-18 10:53:35 -07:00
Yuval Tassa
ee8da5babe
Fix indentation bugs in docs, improve attribute order in schema.
...
PiperOrigin-RevId: 566230568
Change-Id: I0f536a2048d3e35d8ee510d86b6eba7a74c4e80a
2023-09-18 01:48:14 -07:00
Yuval Tassa
63fd23a934
Remove mjTIMER_ACCELERATION, add mjTIMER_ADVANCE.
...
- mjTIMER_ACCELERATION is not very useful, it's usually very tiny (0.5% for humanoid, 1% for 22humanoids). It basically times a single call to `mj_solveM`.
- Added `mjTIMER_ADVANCE` to time `mj_Euler` and `mj_implicit` (which can be significant).
- Moved `mj_transmission` to `mjTIMER_KINEMATICS` where it belongs (and used to be).
PiperOrigin-RevId: 565936880
Change-Id: I26b8a067133594e5500ca1c809beb3518b4a8d9c
2023-09-16 08:03:45 -07:00
Yuval Tassa
2cc1205498
Add island support to CG solver.
...
BEGIN_PUBLIC
Add island support to CG solver.
END_PUBLIC
PiperOrigin-RevId: 565653886
Change-Id: Ib971ae37dd011b8f2cbe1f88d8875e0ed657c7af
2023-09-15 05:47:24 -07:00
Yuval Tassa
2aea61942c
Replace Humanoids with Bipeds in docs.
...
PiperOrigin-RevId: 565474154
Change-Id: If8fe4220e7e86fe251d8d83e9d5dc1023f6452bc
2023-09-14 14:13:59 -07:00
Kevin Zakka
de5c3b1a09
PUBLIC: Update model gallery with new Menagerie models.
...
PiperOrigin-RevId: 565329315
Change-Id: I819ba429aacf5cd68d2b101047879319fba259be
2023-09-14 04:28:58 -07:00
Yuval Tassa
976a6df78d
Fix typo in docs.
...
PiperOrigin-RevId: 565097458
Change-Id: I7a4440d72665d5db2853c18f72e83b130dde8d1a
2023-09-13 10:48:16 -07:00
Yuval Tassa
86d8b912f4
Rejigged solver statistics in preparation for islanding.
...
- See public description below.
- Stopped incrementing the iteration count in saveStats().
- `sizeof(mjSolverStat) == 40`, so this ends up costing 160KB, up from 40KB.
BEGIN_PUBLIC
Changed the size of `mjData.solver`, the structure used to collect solver diagnostic information. The array is now of length `mjNISLAND * mjNSOLVER`, where each row of length `mjNSOLVER` contains separate solver statistics for each constraint island. Until solver islanding is implemented, only row 0 is used.
- The new constant `mjNISLAND` is set to 20.
- `mjNSOLVER` is reduced from 1000 to 200.
- Added `mjData.solver_nisland`, the number of islands for which the solver ran.
- `mjData.solver_niter` (renamed from mjData.solver_iter) and `mjData.solver_nnz` are now integer vectors of length `mjNISLAND`.
END_PUBLIC
PiperOrigin-RevId: 565030093
Change-Id: I773e918805c6ced79f0dab5f19ea23956760c8c5
2023-09-13 06:18:37 -07:00
Alessio Quaglino
b0abafe3bb
Set camera origin at top-left of the first pixel.
...
PiperOrigin-RevId: 564768176
Change-Id: Ieef632f0f6888390acca91b6de01c8951c747fe4
2023-09-12 10:44:51 -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
Saran Tunyasuvunakool
78183e60e1
Refactor thread pool implementation.
...
- Make mjTask non-opaque and remove C++ Task class.
- Make C++ thread pool a subclass of a skeletal mjThreadPool C struct.
- Make the mjTask status enum more consistent with the rest of MuJoCo.
- Change mju_threadPoolEnqueue to take just the mjTask. Users must now prepare the mjTask by assigning the function pointer and argument into the struct.
- Rename files in thread/ to be more consistent with the rest of MuJoCo.
- Run threading tests in CMake.
- Allow use of C++20 designated initializers.
Otherwise the functionality remains identical.
PiperOrigin-RevId: 564374675
Change-Id: I37c9894566bc39faf217e5aa97a4e2713a70e467
2023-09-11 07:20:34 -07:00
Matthew Bennice
0ba10cc4f0
Save normalising transform applied to mesh assets in mjModel.mesh_{pos,quat}
...
Fixes #409
PiperOrigin-RevId: 564217402
Change-Id: I53ddeef4e343905021cd7852d548f6769c876474
2023-09-10 15:25:59 -07:00
Saran Tunyasuvunakool
7e5a7b76fc
Change GitHub org name to google-deepmind.
...
PiperOrigin-RevId: 563512242
Change-Id: Ife98501e95bb3459d96c7c73e5fb53be5513dd4b
2023-09-07 12:34:20 -07:00
Kevin Zakka
1a3215e329
Fix typo in changelog.
...
PiperOrigin-RevId: 563399339
Change-Id: I59b6e70bbde64d06a581b45ed529de09603ef8f8
2023-09-07 05:23:23 -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
ba66bd4f8b
Fixes to documentation:
...
1. Cleaned up changelog, fixed some typos, removed nested admonitions.
2. Added missing documentation for `mjfResourceModified` function type.
PiperOrigin-RevId: 562859015
Change-Id: I34dc4f3131561cbe95be3127e6e318cc4b803a24
2023-09-05 12:36:28 -07:00
Saran Tunyasuvunakool
4929077211
Remove mjMARKSTACK and mjFREESTACK macros.
...
PiperOrigin-RevId: 562844184
Change-Id: Id2f57f5d132c47094dad75c6dab7297d7aa73458
2023-09-05 11:41:43 -07:00
Saran Tunyasuvunakool
329ed193ac
Disallow variable-length arrays and turn on -Wpedantic in Clang and GCC.
...
PiperOrigin-RevId: 562832747
Change-Id: I0532624cee31e089a47426305d885687eb0fc5c5
2023-09-05 11:05:04 -07:00
Nimrod Gileadi
f976d6d228
Use a raw function pointer instead of std::function objects in thread pool.
...
std::function can have an allocation cost when it's created, and also adds overhead to function calls. Since this API must be used from C, using a raw function pointer is good enough.
PiperOrigin-RevId: 562760324
Change-Id: I2b714a13e07a2b71566d013f21f76c506e817a52
2023-09-05 06:31:05 -07:00
Matthew Bennice
6225186964
Add threading primitives.
...
PiperOrigin-RevId: 562649644
Change-Id: I9c35b270e4b3b50cc7eb5a152f24d71def8e2fcd
2023-09-04 20:09:19 -07:00
Saran Tunyasuvunakool
94a8705ad0
Add mj_markStack and mj_freeStack as public API functions.
...
Also add asan instrumentation to detect stack frame leakages (i.e. `mj_markStack` without a corresponding `mj_freeStack` in the same caller function).
PiperOrigin-RevId: 562625645
Change-Id: I4e3ff66ca0b9d08ed0a95cef45393db8e3053e22
2023-09-04 17:04:11 -07:00
Saran Tunyasuvunakool
33f51856c1
Check that alignment is power of 2 in mj_stackAlloc.
...
PiperOrigin-RevId: 562024496
Change-Id: I9230c6dc05ebb78e935f9b2f606aa77c921d67e5
2023-09-01 12:45:35 -07:00
Yuval Tassa
02e819e76a
Tighten const qualifiers of mjData in Jacobian multiplication functions.
...
PiperOrigin-RevId: 561711229
Change-Id: I66dc1d2fbcfbf8e935b244fe496ada314d53b135
2023-08-31 11:27:15 -07:00
Yuval Tassa
43a0bd3646
Formatting improvements to docs Overview chapter.
...
PiperOrigin-RevId: 561586361
Change-Id: Ib529cbd49cebf26d802d023d12d973491e41d3ad
2023-08-31 01:43:44 -07:00
Alessio Quaglino
f371ca7a4e
Add missing face attribute to the XML schema.
...
PiperOrigin-RevId: 561330536
Change-Id: I693fc5228591e4a26ea0749435a6ce9869afd457
2023-08-30 07:08:10 -07:00
Kyle Bayes
16ee0dfde5
Add modified callback to resource providers (for caching purposes).
...
PiperOrigin-RevId: 561327623
Change-Id: Id6683f6d6d32ee91019aba46599c28cbffe29df6
2023-08-30 06:53:20 -07:00