Alessio Quaglino
adc3cc06fa
Change private->public spec for error checking in mjCSkin recompilation.
...
Fixes #2485 .
PiperOrigin-RevId: 735323174
Change-Id: Ifcc2055f6a74afaa18ad5228633f36f760adcffd
2025-03-10 04:19:40 -07:00
Kyle Bayes
4d024f9421
Convert internal representation of vertices to double. Also replace remove duplicate vertices with fast hash implementation.
...
PiperOrigin-RevId: 734516595
Change-Id: Ic78556688d5f2b75d69cd286b8d060e2cdeb7c48
2025-03-07 05:17:49 -08:00
Yuval Tassa
a816ca6dd5
Use qLDiagInv instead of qLD in engine_vis_interact.c
...
PiperOrigin-RevId: 734399015
Change-Id: I97c80a8b25dbd40e86560c328cc786a0bed6a2d1
2025-03-06 21:15:36 -08:00
Yuval Tassa
109a223cf6
Narrow some includes in src/user/
...
PiperOrigin-RevId: 734389490
Change-Id: I2834aadbbb38b396536e467c0dfea11dcc21972f
2025-03-06 20:45:18 -08:00
Alessio Quaglino
e04e0e5c3d
Rename "facetexcoord" to "elemtexcoord" in mjsFlex element for consistency.
...
PiperOrigin-RevId: 734153759
Change-Id: Ic17d7c8a6e53fba04da511d405c815a723c5e55b
2025-03-06 08:28:36 -08:00
Kyle Bayes
37d6d7792a
Fix bug with handling of invalid maxhullvert values (smaller than 4).
...
PiperOrigin-RevId: 734136442
Change-Id: I531e5a5b9244e026a9368e0d6a83d2b559c1b58d
2025-03-06 07:33:41 -08:00
Yuval Tassa
0f563ecf31
Switch mjData.{qH,qLD} from reduced ("C") to full ("M") inertia matrix structure. No performance impact of extra zeros because of existing "simple dof" skipping mechanism.
...
PiperOrigin-RevId: 733523931
Change-Id: Ic8d8a152dda5532331c239cb6b4ce7d8d09b7fff
2025-03-04 17:34:35 -08:00
Yuval Tassa
7d9df8c9a9
Fill-in qM CSR matrix structure on mjData (currently unused).
...
PiperOrigin-RevId: 733258529
Change-Id: I903548ae60139e4858550194e1aedf0efa2f3033
2025-03-04 03:20:11 -08:00
Yuval Tassa
8f37ae1bf2
Add missing fields in mj_printData, don't print integration-related fields if identically zero.
...
PiperOrigin-RevId: 732917127
Change-Id: Ia5fe8e4b6c2485fcf4336847535c1cc72b9d6d62
2025-03-03 07:34:14 -08:00
Alessio Quaglino
7651cb1b33
Copy texture coordinates from OBJ into flex. Fixes #2464 .
...
PiperOrigin-RevId: 732109960
Change-Id: I506b3540ab5d489ce8f10d0c473919611ccb654a
2025-02-28 06:04:19 -08:00
Kevin Sayed
06e217df7e
[MJ3.3.1] Bumping internal version number.
...
PiperOrigin-RevId: 731876412
Change-Id: I1c0f4a18bbc2e0bf80e01512ea196841848220af
2025-02-27 14:53:28 -08:00
Kevin Sayed
9996500de9
update the version number to 3.3.0 instead of 3.2.8
...
PiperOrigin-RevId: 731397143
Change-Id: I54089f1678097acf7e4998958effb396da1e47be
2025-02-26 11:42:55 -08:00
Kyle Bayes
ed16f2daf2
Set nativeccd as default.
...
PiperOrigin-RevId: 731343200
Change-Id: I315779017b676f3d118e0d38ee53a515272f50b8
2025-02-26 09:15:15 -08:00
Kyle Bayes
4f691eeae4
Fix minor issues in EPA in nativeccd.
...
PiperOrigin-RevId: 731327356
Change-Id: Iba8215b7991ef74bf890c8da7e9332474e19e9c3
2025-02-26 08:28:35 -08:00
Kyle Bayes
bd66fbd046
Fix return value in mesh edge contact in nativeccd.
...
PiperOrigin-RevId: 730924994
Change-Id: Iab4f26da126713bae6629eef502bb2aad690c595
2025-02-25 09:54:05 -08:00
Alessio Quaglino
ed7adf3d17
Do not namespace the body that contains the frame during mjs_attachFrame.
...
PiperOrigin-RevId: 730912252
Change-Id: I026993af648766c09d569709d268430207d83169
2025-02-25 09:16:44 -08:00
Kyle Bayes
fbe0990b17
Fix bugs in nativeccd with collisions with margin.
...
PiperOrigin-RevId: 730903745
Change-Id: I45ddb674f32cb1f28ff37c587ea953ec595241b3
2025-02-25 08:51:21 -08:00
Alessio Quaglino
ce82b63155
Add mjs_attachFrameToSite.
...
This is required in preparation of changing the spec.attach behavior in the Python bindings.
PiperOrigin-RevId: 730810198
Change-Id: I095808f0afe62b5bbd27201ed5c75804e0e9c4bf
2025-02-25 03:21:05 -08:00
Alessio Quaglino
14c8dc62f0
Add termination character to flattened plugin attributes if empty.
...
Fixes #2450 .
PiperOrigin-RevId: 730521722
Change-Id: Iec3fa377c65693d782eeb766a144a1c89096d1f3
2025-02-24 11:07:18 -08:00
Kyle Bayes
024616345d
Support edge contacts with multiccd in nativeccd.
...
PiperOrigin-RevId: 730489114
Change-Id: I02847d84bbc15a1526391d5e1b7109ab83ea4a59
2025-02-24 09:48:43 -08:00
Kyle Bayes
a6f1dc5e9e
Match faceset type to intersect res param type in nativeccd.
...
PiperOrigin-RevId: 730470904
Change-Id: Id7b3712c10d5ec871e2d272036e4e87c1e8620e0
2025-02-24 08:58:10 -08:00
Kyle Bayes
ae1c3b7ec0
Support multi-contact with meshes in nativeccd. Contacts are pruned to up to 4 per geom.
...
PiperOrigin-RevId: 730457036
Change-Id: Ib2368f3a7def4fdb94673620df3603e372c35745
2025-02-24 08:14:04 -08:00
Alessio Quaglino
b3aa5df68a
Improve composite docs and changelog.
...
PiperOrigin-RevId: 730394496
Change-Id: Ie993214deb82b526a96510e02f6ecff103c58607
2025-02-24 04:26:35 -08:00
Alessio Quaglino
c52d1b3941
Remove the particle composite (replaced by replicate).
...
PiperOrigin-RevId: 730089997
Change-Id: If8d18fb56ae01241e76f84dbf7951e034026d829
2025-02-23 03:14:11 -08:00
Alessio Quaglino
0fcd20f0da
Remove grid from composite types.
...
Replaced it with flexcomp in the models.
PiperOrigin-RevId: 730070619
Change-Id: Icbc69e4c6784c6252743f689a1eafb6482d0c393
2025-02-23 01:31:41 -08:00
Alessio Quaglino
6aabbc1892
Fixes an issue when self-attaching a model with pulley in tendons.
...
The decision to attach a tendon is taken by looking at whether any of the elements in its path exist when the namespace is added to them. This does not work when pulleys are present so we need to ignore them in the count of unreferenced element.
PiperOrigin-RevId: 729484365
Change-Id: I561a3a2eaa975a17421c8abe3ebfec8d4dd88951
2025-02-21 04:54:31 -08:00
Yuval Tassa
fe9fcae5dc
Clean up mj_tendon.
...
PiperOrigin-RevId: 729042293
Change-Id: Id0d8483b71b9dbb99e19a67323034f3762e26346
2025-02-20 03:44:39 -08:00
Alessio Quaglino
6a86247810
Fix flex textures for 3D grids.
...
Fixes #2013 .
PiperOrigin-RevId: 728673726
Change-Id: Idb2b6bf9e5392576d0b09f3e71dbea6f4636ae81
2025-02-19 07:59:22 -08:00
Kyle Bayes
7f3bb062c3
Add fields in mjModel for supporting mesh multicontact in nativeccd.
...
PiperOrigin-RevId: 728659204
Change-Id: I7f8a11b082640284ea009d8693f228078680b953
2025-02-19 07:12:26 -08:00
Yuval Tassa
b516edae1b
Rename inertia factorization routines:
...
```
mj_factorI -> mj_factorI_legacy
mj_solveLD -> mj_solveLD_legacy
mj_factorIs -> mj_factorI
mj_solveLDs -> mj_solveLD
```
PiperOrigin-RevId: 728246367
Change-Id: I3bc7804cb96faac2ae5419ba9abfc3c1648ed4c6
2025-02-18 09:42:05 -08:00
Yuval Tassa
fb07e0d1f7
Convert qLD to CSR format.
...
PiperOrigin-RevId: 728196818
Change-Id: I31bdf32e251293284426ed345019f27fd051a0e1
2025-02-18 07:14:45 -08:00
Kyle Bayes
442b968e22
Improve box-box multicontact with nativeccd.
...
PiperOrigin-RevId: 728136635
Change-Id: I2343110e5c87b6621d5750c7ad42f0e75081d737
2025-02-18 03:41:26 -08:00
Alessio Quaglino
7f11a0df12
Add check for height fields size during compilation.
...
Fixes #2427 .
PiperOrigin-RevId: 727805729
Change-Id: Idf3192e5fb238249faaeae6b4fb9de4c55755d96
2025-02-17 04:01:27 -08:00
Tom Power
78a4d2f389
Fix mass/inertia checking for moving bodies with nested children.
...
Previously, we only checked immediate children of moving bodies.
PiperOrigin-RevId: 726999705
Change-Id: I133a557daf86223b8751c6d46e25809781e168a1
2025-02-14 11:26:28 -08:00
Tom Power
89253d957d
Changes to inertia inference from meshes.
...
PiperOrigin-RevId: 726051033
Change-Id: I6edfc118280d103a2dd9d07f29f0094858769761
2025-02-12 07:43:13 -08:00
Yuval Tassa
e39a5df06a
mju_compressSparse(): add option to compress away small elements.
...
PiperOrigin-RevId: 726010576
Change-Id: Ib6458037a5cf9a9d82abb364b7dda7aab2f36807
2025-02-12 05:08:20 -08:00
Yuval Tassa
faed1a1137
Clean up mj_jacSparse.
...
PiperOrigin-RevId: 725994792
Change-Id: I928a6312a6910231bfeb96ef7a3f29f1d128565c
2025-02-12 04:06:00 -08:00
Kyle Bayes
e3b9538d92
Add saving the indices of mesh vertices with the support points in nativeccd.
...
PiperOrigin-RevId: 725660975
Change-Id: I036882a5bde5d009bfa6e66b6a10f6cfb1a78292
2025-02-11 09:28:49 -08:00
Google DeepMind
ac2a324fbd
Reduce "shadow acne" artifacts
...
PiperOrigin-RevId: 725640931
Change-Id: I95df97d6076b99c12e291f69e8e54bbe70538293
2025-02-11 08:28:12 -08:00
Yuval Tassa
5ee0654830
Roll back recent change to mjData.qLD until some issues are resolved.
...
PiperOrigin-RevId: 724389161
Change-Id: I1b30ab0950ab5c5e611b1c6fc3bf3f42f964939c
2025-02-07 10:21:42 -08:00
Alessio Quaglino
c1ecc50081
Store joint damping and stiffness in the private spec when springdamper is used in the public spec.
...
PiperOrigin-RevId: 724288204
Change-Id: I7341d5d804e1ea73ded48b8b447addd4e124ab97
2025-02-07 03:55:24 -08:00
Yuval Tassa
c27d3758c2
Convert qLD to CSR format.
...
PiperOrigin-RevId: 723955038
Change-Id: I30c3dc7f59739e89ae5fff8841432bc74717ec1b
2025-02-06 08:59:35 -08:00
Copybara-Service
cb1696eb34
Merge pull request #2390 from talregev:TalR/mesh
...
PiperOrigin-RevId: 723916727
Change-Id: I0abb0a12121c9eb291ccbc6afa0b4117bd389956
2025-02-06 06:46:40 -08:00
Alessio Quaglino
fe16c27555
Always compute the convex hull if the mesh inertia is set to convex.
...
PiperOrigin-RevId: 723477903
Change-Id: Ibc50d62741f47a5b96a648efd8fb244810664c17
2025-02-05 05:52:10 -08:00
Yuval Tassa
49d07c6100
Fix text edit buffer underrun.
...
PiperOrigin-RevId: 723474334
Change-Id: Ibff6d83d67275e6c6333a00cabe33967913dceb1
2025-02-05 05:36:32 -08:00
Alessio Quaglino
0d4bc1de00
Do not use flexedge_length if trilinear interpolation is used.
...
PiperOrigin-RevId: 723452451
Change-Id: I5a67fb74c13e80ae6d390694dd0c9f8c5e4d5213
2025-02-05 04:09:32 -08:00
Kyle Bayes
3235f69afc
Make polytope2 and polytope4 more numerically robust in nativeccd.
...
PiperOrigin-RevId: 723412555
Change-Id: Id262a3c19bcd30b74b1495591bdc95f951bfca50
2025-02-05 01:40:41 -08:00
Tom Power
3d9946cff3
Improve mesh processing readability
...
PiperOrigin-RevId: 721524528
Change-Id: I3af4e25815cbc7517b772826af7d929ea93f8164
2025-01-30 14:41:21 -08:00
Alessio Quaglino
7cdf180641
Introduce trilinear flex parametrization.
...
These flexes use only 24 DOFs (3 per vertex of the bounding box), while colliding with the full high resolution mesh.
On an 8x8x8 cube, the performance using DOFs at all vertices is
```
Simulation time : 18.74 s
Steps per second : 533
Realtime factor : 0.53 x
Time per step : 1874.4 µs
Contacts per step : 114.88
Constraints per step : 3322.51
Degrees of freedom : 1536
```
With the new implementation, it is the following:
```
Simulation time : 1.82 s
Steps per second : 5507
Realtime factor : 5.51 x
Time per step : 181.6 µs
Contacts per step : 38.84
Constraints per step : 155.36
Degrees of freedom : 24
```
PiperOrigin-RevId: 721008829
Change-Id: I833df027527db578d86667cc4b24295bcf6f7d22
2025-01-29 09:38:22 -08:00
Tal Regev
fd568d68d4
Generalize mesh object to be the type of tiny_obj_loader.
2025-01-28 11:33:29 +02:00