Alessio Quaglino
372aa021d0
Add copy constructor and assignment to mjCModel.
...
PiperOrigin-RevId: 616850780
Change-Id: I7fedab2efa2a90fd7ce952eac4e195f77c5ff5bc
2024-03-18 09:25:27 -07:00
Nimrod Gileadi
de918a8b2d
Small cosmetic fixes to MakeBVH.
...
Remove the index member of BVElement, since it's redundant for the purpose of sorting. BVElement is now 32 bytes instead of 40, which should make things a bit better, as this data gets moved around during MakeBVH. Unfortunately, this has no measurable effect on the benchmark.
PiperOrigin-RevId: 616806520
Change-Id: I3b8a28c42a4a21dc25985e63ac57764fdb669afa
2024-03-18 06:19:33 -07:00
Alessio Quaglino
acaf86a96f
Fix input array size in mju_mulMatMat3.
...
PiperOrigin-RevId: 616802192
Change-Id: I4dbc07d392b23a7014331ab850b685c1b82d3dcf
2024-03-18 06:00:45 -07:00
Yuval Tassa
dd2580e546
Add internal functions for 3x3 matmul.
...
PiperOrigin-RevId: 616749614
Change-Id: I7f3ac2ffc826076b6c97424324f03ecd9ccd4655
2024-03-18 01:44:10 -07:00
Kyle Bayes
74d3d8cb4e
Cache OBJ files in MuJoCo compiler.
...
PiperOrigin-RevId: 616211896
Change-Id: I3b765f4529957914e6154f0e62ef36fd9df93c96
2024-03-15 12:32:06 -07:00
Yuval Tassa
bf66801bc9
Move printing of model BVH data to the end, make it more compact.
...
PiperOrigin-RevId: 616186922
Change-Id: Id6368a5efd831698f182fe97251b9608312c663c
2024-03-15 11:10:15 -07:00
Nimrod Gileadi
c5aa22b177
Speed up MakeBVH.
...
1. Avoid creating unnecessary temporary vectors for the left and right sides of the recursive call, since std::nth_element already splits the array in the right way.
2. Filter contype and conaffinity before calling MakeBVH. This only affects the top level of the MakeBVH recursion.
3. Avoid repeatedly computing mju_rotVecQuat for each element at each nesting level.
This is roughly a 2x speedup.
PiperOrigin-RevId: 616152673
Change-Id: I6ce7d99cd4a923c43156beb3f2493c649602260e
2024-03-15 09:24:40 -07:00
Kyle Bayes
c7a8b104f9
Add modified callback for VFS resource provider.
...
PiperOrigin-RevId: 616152275
Change-Id: I417f9b204eaa1eb9fc68a15927f86031dcd20575
2024-03-15 09:23:29 -07:00
Kyle Bayes
c42868a91b
Update logic for OS filesystem timestamps for caching.
...
PiperOrigin-RevId: 616138153
Change-Id: I0ce966546bc4af04e57b983e27bbd75a94377237
2024-03-15 08:31:56 -07:00
Kyle Bayes
9fef77193f
Fix V -> B typo in lookup table for encoding Base64.
...
PiperOrigin-RevId: 615968363
Change-Id: I1dae697462afcae48442610b1fe4acab93b6d62d
2024-03-14 18:29:21 -07:00
Alessio Quaglino
bda03af49a
Add childclass support to frames.
...
PiperOrigin-RevId: 615487831
Change-Id: I0e4d2efd52211701b4286a0b0de84424470a3a47
2024-03-13 11:31:22 -07:00
Kyle Bayes
0d16587135
Don't read from file until mju_readResource is called.
...
PiperOrigin-RevId: 615434757
Change-Id: I96a1e77f74203e91bc62dc24ac9225810fcacb20
2024-03-13 08:55:54 -07:00
Alessio Quaglino
693e3c66c8
Add copy constructors and assignments to user_objects.
...
All of the constructors and assignments operators are declared by this CL, but only those that are currently used are implemented here.
PiperOrigin-RevId: 615369559
Change-Id: I9f8cc4a7cd2070362baba04f2af4c5567a696596
2024-03-13 04:50:05 -07:00
Alessio Quaglino
c418139fec
Add copy constructor to mjCBody.
...
PiperOrigin-RevId: 615050891
Change-Id: I420e19a0444e93e5ec99da10f5cc20b429802d3e
2024-03-12 08:33:35 -07:00
Alessio Quaglino
93cbdaee07
Move mjC objects attributes to parent classes in user_objects.
...
This is in preparation of adding copy constructors for all of the objects.
PiperOrigin-RevId: 615014168
Change-Id: I24801d71d74dd6756167a6c438f9573825a396b5
2024-03-12 06:06:51 -07:00
Alessio Quaglino
8413a615d7
Add copy constructors to body subelements.
...
PiperOrigin-RevId: 614665384
Change-Id: I1ad2b644cf9816fb9490b5634c16e95f360a8684
2024-03-11 08:00:10 -07:00
Yuval Tassa
b1a941db8b
Add special handling for perturbations applied to static bodies.
...
These bodies have `body_invweight0 == 0` (infinite mass) and no degrees of freedom (identically 0 Jacobians). This was breaking some assumptions of the perturbation code which assumed perturbation applied only to moving bodies and led to very large forces/torques being applied. While these huge forces had no effect on the dynamics, they were reported by sensors, leading to unreasonable sensor readings.
PiperOrigin-RevId: 614398354
Change-Id: If5efe1c9e57e2be28af33d109679db8b3129da7f
2024-03-10 05:34:55 -07:00
Alessio Quaglino
655e3d0914
Renamed Model to Spec in C API function names.
...
PiperOrigin-RevId: 613922860
Change-Id: Ic47a83aa33b57ef96bd742088442e6237282ee92
2024-03-08 07:05:44 -08:00
Alessio Quaglino
ef3cb7ec2e
Renamed mjmModel to mjSpec.
...
PiperOrigin-RevId: 613516063
Change-Id: I09e360d3eba2accba2e260ec4754b0879b12892f
2024-03-07 02:48:32 -08:00
Meghha Dhoke
106453fa2b
Updated version number to be (v3.1.4) ahead of current release (v3.1.3)
...
PiperOrigin-RevId: 613236845
Change-Id: I3ee759493f27cfa1e367c71e3e073b54738b73d4
2024-03-06 09:07:25 -08:00
Alessio Quaglino
9ac048e262
Add recompilation test to user_api_test.
...
PiperOrigin-RevId: 613192683
Change-Id: Ibb44e1c2d63ac0afb7b5f3a15dff26378deb6c82
2024-03-06 06:27:28 -08:00
Copybara-Service
6b7d714291
Merge pull request #1450 from v-r-a:angmomMat
...
PiperOrigin-RevId: 612835207
Change-Id: I8e7b01cc433563556a3ae4bbdd0c53612cc15e97
2024-03-05 07:35:15 -08:00
Kyle Bayes
31384bdfeb
Speed up String2Vector.
...
PiperOrigin-RevId: 612767185
Change-Id: I4a4de5e03bbd6653be7ccb3e730ad64a335e17b0
2024-03-05 02:50:26 -08:00
Alessio Quaglino
1bd44e73bb
Replace mjCModel with mjmModel in mjXBase.
...
PiperOrigin-RevId: 611762880
Change-Id: I22254689b6cbf10fe7b61f9742b6ffd6c2074477
2024-03-01 03:38:28 -08:00
Alessio Quaglino
8f1ea05bef
Add disc mesh generation to user_flexcomp.
...
PiperOrigin-RevId: 611462985
Change-Id: I0fc195d8733172f5f4347b04b5de0edfdd12613d
2024-02-29 07:24:47 -08:00
Alessio Quaglino
9e1d7d6ab8
Fix typo in flex and composite error message.
...
PiperOrigin-RevId: 611115238
Change-Id: Iadb9b4b078e60bca15184f3435380eb67b2da8a9
2024-02-28 08:45:11 -08:00
Kyle Bayes
b2bd377bad
Clean up mjCModel definition.
...
PiperOrigin-RevId: 611102699
Change-Id: I64a3927c30f16764742966f4c5e1e0e579af5f50
2024-02-28 07:58:31 -08:00
Alessio Quaglino
478ce0c8d8
Use previous edge length when setting the position of a cable body.
...
Fixes #1440 .
PiperOrigin-RevId: 610690343
Change-Id: I0d5288e68069d1117c0c674530e0644960bab06c
2024-02-27 02:55:14 -08:00
Alessio Quaglino
1f2d673c7b
Add missing global fields to mjmModel.
...
PiperOrigin-RevId: 610415124
Change-Id: I07f284804bf73cb67703597973b50b8c00ea8deb
2024-02-26 08:25:08 -08:00
Yuval Tassa
8679c9fc59
Fix null pointer deref for unknown class names.
...
PiperOrigin-RevId: 610391077
Change-Id: I5abd62ff46e31e788f06fe111adb3c25287d4fdc
2024-02-26 06:38:52 -08:00
Vyankatesh
063edf5a09
corrections
2024-02-26 12:03:42 +05:30
Vyankatesh Ashtekar
fe9b057dfe
minor style corrections
2024-02-25 21:17:44 +05:30
Vyankatesh Ashtekar
fad7ed30d2
added function mj_subtreeAngMomMat()
2024-02-25 21:09:11 +05:30
Alessio Quaglino
c6a41fbfe6
Copy default spec before assigning defaults.
...
PiperOrigin-RevId: 609766747
Change-Id: I79ebff62928ac2ffa5133020ee8bd001b68cdcd3
2024-02-23 10:24:13 -08:00
Alessio Quaglino
ce52047c6f
Remove column = -1 from error messages.
...
PiperOrigin-RevId: 609664538
Change-Id: I1cf27cbd0812d1d88d53724ae416a0b618140acc
2024-02-23 02:40:23 -08:00
Alessio Quaglino
c248beb7e2
Remove name and classname from mjmWrap.
...
PiperOrigin-RevId: 609563968
Change-Id: Ic69b95412ec5914fb5a8dcd134c7e6e733bc05b0
2024-02-22 18:14:33 -08:00
Alessio Quaglino
0ae9ba37f9
Replace PointToLocal with operator overload in mjCDef.
...
PiperOrigin-RevId: 609376948
Change-Id: Id69909d06ab48824a9cbe0d5a305e8f8b72a193d
2024-02-22 08:12:52 -08:00
Alessio Quaglino
cf7bd77cd3
Fix refpos typo in xml_native_reader.
...
PiperOrigin-RevId: 609376004
Change-Id: I2c722b03aaee63c4dcd8ac34f3e7c834bf15052d
2024-02-22 08:09:57 -08:00
Saran Tunyasuvunakool
b04de39e4e
Fix false positives from mjData stack leakage detection.
...
When built and run under address sanitizer (asan), `mj_markStack` and `mj_freeStack` are instrumented to detect leakage of mjData stack frames. When the compiler inlines several callees that call into mark/free in the same function, this instrumentation requires that the compiler retains separate mark/free calls for each original callee.
This change adds necessary optimization barriers to ensure that this is the case.
PiperOrigin-RevId: 609373993
Change-Id: I30dfd998fb66530735348e9715d92ee713f28210
2024-02-22 08:03:51 -08:00
Alessio Quaglino
34d4a69027
Remove user_objetcs and user_model includes from xml_urdf.
...
PiperOrigin-RevId: 609330384
Change-Id: I19b330e4063d3be4401dcf1b2b957b55e0616037
2024-02-22 04:54:49 -08:00
Alessio Quaglino
5fe3e169ab
Remove mjm_finalize.
...
PiperOrigin-RevId: 609284351
Change-Id: I066332784d8210de6fec5aa718e097c9ef67903c
2024-02-22 01:27:06 -08:00
Alessio Quaglino
7edacd39cd
Add engine settings to mjmModel.
...
PiperOrigin-RevId: 608915453
Change-Id: Ic58566d7a9cdb57e25954caec69f595c8c9ee88a
2024-02-21 02:26:57 -08:00
Kyle Bayes
a4a621f6e3
Add checksums (used as a timestamp) to VFS.
...
Deprecate mj_makeEmptyFileVFS in favor of mj_addBufferVFS.
PiperOrigin-RevId: 608915388
Change-Id: Id9e9b042799bc1bf547f0795ae6f386447d53cdd
2024-02-21 02:25:36 -08:00
Alessio Quaglino
042760eba8
Add compiler settings to mjmModel.
...
PiperOrigin-RevId: 608908314
Change-Id: Id3b0d8c62ca710b5b6d6e423abbbddcb7e7079a1
2024-02-21 01:58:22 -08:00
Alessio Quaglino
78dc5aee9f
Remove mjCPlugin from xml_native_reader.
...
PiperOrigin-RevId: 608546883
Change-Id: Ib529c2756102e4e2185d1d8e9585187c30049011
2024-02-20 03:46:42 -08:00
Kyle Bayes
24eb4c9f09
Improve include meta-element to load included resourced from the directory relative to the included XML file, fully backwards compatible.
...
PiperOrigin-RevId: 608312069
Change-Id: I80eadb32d7d78fb35bd24975f2e514021c2aa009
2024-02-19 05:40:31 -08:00
Alessio Quaglino
b77dfc683a
Use OnePlugin for parsing Composite and Flexcomp plugins.
...
PiperOrigin-RevId: 608265172
Change-Id: I053441a9e534d81c4847ad60fe4a3f7dce87350c
2024-02-19 02:02:29 -08:00
Alessio Quaglino
d7c47de353
Add mjStatistic to mjmModel.
...
PiperOrigin-RevId: 607657424
Change-Id: I17f6ef37570651e002258ee2a509fc52d213c0f5
2024-02-16 05:17:35 -08:00
Nimrod Gileadi
f1d4f8f0a1
Test that mj_resetDataKeyframe treats negative keyframe IDs as a normal reset.
...
PiperOrigin-RevId: 607655812
Change-Id: Ia9bb1031468f04e8f9563b9228a46983356dafef
2024-02-16 05:09:05 -08:00
Yuval Tassa
05150546e3
Add inheritrange attribute to position and intvelocity actuators.
...
PiperOrigin-RevId: 607650147
Change-Id: Ibc1846f89179786d4f93435c3924687b4c5d1432
2024-02-16 04:42:44 -08:00