Commit Graph

721 Commits

Author SHA1 Message Date
Yuval Tassa 2830a4071f Add dampratio attribute to position and intvelocity actuators.
PiperOrigin-RevId: 639745135
Change-Id: I94ba4c346d2750c6c454a60a568f2e6f6bce19d4
2024-06-03 05:28:35 -07:00
Yuval Tassa 8fa0fea02d Allow partial specification of polycoef attribute of equality constraints.
- Usually the user only wants to tweak `polycoef[1]`, after this change `"0 2"` is equivalent to `"0 2 0 0 0"`.
- Also improve documentation of this attribute.
- Tighten margins of documentation display equations.

PiperOrigin-RevId: 639720742
Change-Id: Ibafa0e093cebe1c1c75bf2e47ff3bd2ad7619414
2024-06-03 03:43:13 -07:00
Alessio Quaglino 14a3ce5ffa Add tree traversal utilities to C API.
PiperOrigin-RevId: 639285787
Change-Id: Ieb52da87fb5e1c674985f03c9ff2b18783d1d657
2024-06-01 01:28:13 -07:00
Alessio Quaglino 936866be0f Add mjModel and mjData arguments to mj_makeModel and mj_makeRawData. If they are NULL, then the functions allocate the memory, otherwise they will use the memory allocated by the caller.
PiperOrigin-RevId: 639283021
Change-Id: I765f95fe1b5c27202ae033b05a13ae7b5fb8dbc3
2024-06-01 01:08:56 -07:00
Alessio Quaglino b38998eff2 Replace mjs_deleteBody with mjs_delete.
PiperOrigin-RevId: 639058333
Change-Id: I9ac9ca8c6b8c0219f0130cd65dc83602f1829684
2024-05-31 09:24:59 -07:00
Alessio Quaglino f616975e28 Forward fix for MJCF parsing: A recent libc++ update does not natively accept ".x" float format ('.' being the first character) but rather requires "0.x".
PiperOrigin-RevId: 638946382
Change-Id: I3ccb1b5fedc6749a3459916b41148629933fb8c4
2024-05-31 01:17:52 -07:00
Alessio Quaglino dec55b59fa Allow detaching from a compiled model.
PiperOrigin-RevId: 638299270
Change-Id: I944d2a24578b63463eddfa55d89f39fcfbafd2b4
2024-05-29 08:47:30 -07:00
Kyle Bayes 50aab2dd48 Move engine/engine_vfs.{c,h} to user/user_vfs.{c,h}.
PiperOrigin-RevId: 636219666
Change-Id: I820de511948e82256784edb0893f209a73b221e6
2024-05-22 10:44:53 -07:00
Kyle Bayes 0108b7b569 Group CCD common initialization options together.
PiperOrigin-RevId: 635896664
Change-Id: Ib3135b1137484df5606a0377052c7db001b746c9
2024-05-21 12:45:58 -07:00
Kyle Bayes 2f19941fcf Move mj_loadModel to xml_api.cc.
PiperOrigin-RevId: 635748029
Change-Id: Ie4c7d34c9738e5497ec700089d4dba780ba7d5ed
2024-05-21 03:37:24 -07:00
Tom Erez 727893f0f2 Add timeconst attribute to position actuator.
PiperOrigin-RevId: 635018979
Change-Id: I919573f4241ecb4a4c61c3b8b6641b31aa79eca4
2024-05-18 03:38:20 -07:00
Kyle Bayes f6f9ff537b Wrap LibCCD MPR function in a macro and initialize ccd_t struct.
PiperOrigin-RevId: 634556417
Change-Id: I6a980e9b86c082523758fa401fbc75fcdc798c6b
2024-05-16 16:00:23 -07:00
Kyle Bayes e885a3dc3d Make default class members private.
PiperOrigin-RevId: 634288934
Change-Id: I1b7a5ec8dd51c65377b09bcb85c56a849573cac7
2024-05-16 03:22:31 -07:00
Yuval Tassa 65d4f04cd4 Add some missing const qualifiers.
PiperOrigin-RevId: 632463634
Change-Id: Id3e3e53371f8ed53d970ad7c471bbefd2a70cf5a
2024-05-10 05:20:37 -07:00
Yuval Tassa 02d015458c Add mj_geomDistance API function and sensors for geometric distance, normal direction and segment between between two geoms. Fixes #51
PiperOrigin-RevId: 632458301
Change-Id: I65b7e5bb0df59008028114cf4a07e0d6365ff3d3
2024-05-10 04:52:43 -07:00
Yuval Tassa 39601b0f52 Fix bug in compiler error string construction.
PiperOrigin-RevId: 632404023
Change-Id: I79e24e44fc4eec67b76fbf62b053b169ba3070a3
2024-05-10 00:40:07 -07:00
Kyle Bayes 13bf9ae6bd Encapsulate mjCModel internal lists.
PiperOrigin-RevId: 631760335
Change-Id: I9b67f6ed2e65a01877de15a92a04a1b31a6b3ff4
2024-05-08 05:02:21 -07:00
Alessio Quaglino 96844db926 Update BVH during fusestatic. Fixes #1069 and #1577.
PiperOrigin-RevId: 631748750
Change-Id: I4e1ae01207568c90fc49bcd7d9f760f5187f1afa
2024-05-08 04:13:16 -07:00
Meghha Dhoke 4eca3b048d Bumping mjVERSIONSTRING from 3.1.5 to version 3.1.6
PiperOrigin-RevId: 631544334
Change-Id: Iadf8fa25e30da5b00172c8212786b1f9edb22e1a
2024-05-07 14:11:38 -07:00
Kyle Bayes dbb258eb69 Fix compile-time size_t narrowing to bool.
PiperOrigin-RevId: 631381101
Change-Id: I5188c352354573476decb8ae6bc007faf623a884
2024-05-07 05:00:15 -07:00
Kyle Bayes ad0459680d Enable compiler asset cache for public use, and add changelog entry.
PiperOrigin-RevId: 631352810
Change-Id: If6208327499e3e4bd37cbb2a1b0cdcfb912c1056
2024-05-07 02:50:50 -07:00
Yuval Tassa 62bc837b4c Rename remaining model to spec in xml/
PiperOrigin-RevId: 630855094
Change-Id: Ib921fe43b9b5a5a64867ef4c8c1cca217c27a5aa
2024-05-05 12:03:49 -07:00
Yuval Tassa ac1af8e461 Remove urdfeffort attribute, parse URDF "effort" into mjsJoint.actforcerange.
PiperOrigin-RevId: 630796429
Change-Id: I45363aca8afcce68bf48b2e8bdb556b39852f073
2024-05-05 03:28:22 -07:00
Kyle Bayes 61a651c63a Fix uninitialized variable error in asset cache.
PiperOrigin-RevId: 630491063
Change-Id: If5ac05beaee28b38975845682b92a9cb767f009b
2024-05-03 14:00:59 -07:00
Alessio Quaglino 259d3876ce Remove C-style vectors from user_mesh.
PiperOrigin-RevId: 630031676
Change-Id: I87cba3eb816095657acd886037af2c0f06fe4fdd
2024-05-02 05:27:29 -07:00
Alessio Quaglino 7eb8c4b9f4 Set all flex edges to rigid when the flex is rigid.
PiperOrigin-RevId: 629740153
Change-Id: Ib2fb6f64e3d160268d2521d63830f41e44d03b20
2024-05-01 09:06:01 -07:00
Kyle Bayes ad5bee73ef Cache decoded PNG images for hfields and textures in the MuJoCo compiler.
PiperOrigin-RevId: 629738092
Change-Id: Ie1b69a5dcee0695aadb2f02ef3b4d7a73cdf07b4
2024-05-01 08:59:21 -07:00
Mohammad Hamid 131b1745db Added support for GMSH22 surface loading
PiperOrigin-RevId: 629734063
Change-Id: I6a250b81de4e7c8f7520795bfe74a81d719dfb50
2024-05-01 08:44:05 -07:00
Yuval Tassa 1b70907060 Convert user_api header and user_init source files to valid C code.
PiperOrigin-RevId: 629691192
Change-Id: I9be78aca27ae584fff0b733e9015b2bb3b927ca4
2024-05-01 04:53:01 -07:00
Alessio Quaglino ec84ddb5a4 Use plane-convex for plane-sdf collisions, using the marching cube mesh.
PiperOrigin-RevId: 629437563
Change-Id: Ic7fb6ec8a5c6680dd2c0a71baa7cc78636d478b1
2024-04-30 09:30:39 -07:00
Yuval Tassa 6f97f42458 Geoms of type mesh with zero density don't trigger the check for valid mesh volume.
PiperOrigin-RevId: 629416817
Change-Id: I23eaa0d61a703988a4eb96a3cad09e562384035e
2024-04-30 08:12:40 -07:00
Alessio Quaglino 26f23066d1 Add replicate element to MJCF. Fixes #553
PiperOrigin-RevId: 629393578
Change-Id: Ia1db1b9e47eba8868117b0f7b85edcd0cc1b6d79
2024-04-30 06:29:18 -07:00
Alessio Quaglino 618d879904 Make BVH generation robust to very small perturbations.
PiperOrigin-RevId: 629070367
Change-Id: I62b91a572cd59a51ed85e4e97aea53fdb2da1986
2024-04-29 08:06:32 -07:00
Alessio Quaglino d6553ed192 Update contype and conaffinity if fusestatic is true. Fixes #1577.
PiperOrigin-RevId: 628073529
Change-Id: I2fe88736d12ec16d72bbd4dce5d349b930147b50
2024-04-25 07:46:00 -07:00
Yuval Tassa 027c26a153 Improve error reporting of sensorized objects.
Also remove duplication of element name and id from most error messages.

PiperOrigin-RevId: 628065116
Change-Id: Idd962fbab7aeba09e3a70c6c9d044b23db94cf23
2024-04-25 07:13:54 -07:00
Yuval Tassa cbb048ff00 Allow parent targeting for cameras and lights.
PiperOrigin-RevId: 628002614
Change-Id: I047dd3d62cfbc6432a3ec53fe6465afc52ca615b
2024-04-25 02:10:35 -07:00
Yuval Tassa cf433a4ad9 Use enum instead of NaNs for alternative orientation specification.
PiperOrigin-RevId: 627413508
Change-Id: I9f1a682a1533e1a3fa3cac0a462f28ce9b0fa192
2024-04-23 09:32:51 -07:00
Yuval Tassa f457789de1 Improve full inertia user API.
PiperOrigin-RevId: 627399310
Change-Id: Ie2bdc6778e80b2b8127b52c73a3cc4b4755d8e0a
2024-04-23 08:40:01 -07:00
Yuval Tassa 3ddf1b492a Fix control reaches end of non-void function in engine_forward.c
PiperOrigin-RevId: 627104708
Change-Id: I790b2bd22fd83ed616605a35f3e7268e28c73aa6
2024-04-22 11:36:39 -07:00
Yuval Tassa 8ebc9ed2c8 Add mjModel.ngravcomp, number of bodies with nonzero gravcomp attribute.
PiperOrigin-RevId: 627087335
Change-Id: Ie85ae4150962463b8a8c8435fec068c44877aa16
2024-04-22 10:45:43 -07:00
Yuval Tassa 546a27ca72 Fix memory allocation error when memory size is larger than 2G. Fixes #1606
PiperOrigin-RevId: 627058355
Change-Id: Iebef647a0107d1f112a876d705f5b3ea888b4a41
2024-04-22 09:15:46 -07:00
Yuval Tassa caf215e342 Add metallic and roughness scalar attributes to materials.
Rename `light_radius` -> `light_bulbradius`, make the default value 0.02.

PiperOrigin-RevId: 627032170
Change-Id: I1e01e2eca028c0aefc2e7dc384e8b34abac184aa
2024-04-22 07:39:06 -07:00
Yuval Tassa 9aa885aa63 Fix attribute order in mjsDefault.
PiperOrigin-RevId: 626992244
Change-Id: I0755745d2d4a55fbf6c685ad383a5be0842e7984
2024-04-22 04:36:56 -07:00
Alessio Quaglino cc78db41f4 Add mjs_detachBody to C API.
PiperOrigin-RevId: 626947850
Change-Id: I7c897048098ecd4f2247725ef2d378dbd00ef4a0
2024-04-22 01:11:13 -07:00
Alessio Quaglino c331d18a6e Support nested frames in mjs_attachFrame.
PiperOrigin-RevId: 626001651
Change-Id: I3dc52baa6aad875504dd4c7d969a4091f52c4c16
2024-04-18 05:37:12 -07:00
Alessio Quaglino 4a76496533 Compile frames during compilation instead of parsing.
PiperOrigin-RevId: 625717564
Change-Id: Ib82230f6cb423bb3091efd04a7fa0b1411e7cdf1
2024-04-17 09:56:24 -07:00
Yuval Tassa a4c31c09a8 Clean up user_api.h
PiperOrigin-RevId: 625693719
Change-Id: I8e75abb9a38bd45ba7a81938eda3baf68b878d4a
2024-04-17 08:35:37 -07:00
Alessio Quaglino 81feadad5c Add mjs_attachFrame to user_api.
PiperOrigin-RevId: 625648309
Change-Id: I4d6dfc4d38ad6ce688df83eb7cc2c34676076193
2024-04-17 05:25:16 -07:00
Alessio Quaglino 4b6c07cd7d Prevent bodies from overwriting the frame names in xml_native_writer.
PiperOrigin-RevId: 625632369
Change-Id: If3bd048ac40e116fcb97beb3dca3d99826fe4ad0
2024-04-17 04:07:50 -07:00
Yuval Tassa 7c86a02a80 Improve printing of geom/geom contacts.
PiperOrigin-RevId: 625338796
Change-Id: I89267c3512c0ab28c0e1d35c571fd4d4bafa9b43
2024-04-16 08:25:02 -07:00