Commit Graph

614 Commits

Author SHA1 Message Date
Yuval Tassa 608115ab95 Add output attribute to camera elements.
This attribute allows specifying the intended output types (e.g., RGB, depth, normal) for each camera in the XML. The output types are stored as bit flags in `mjModel`.

PiperOrigin-RevId: 853316261
Change-Id: I1ad2e94102593cf402756f8f4c80509371ca86d2
2026-01-07 10:22:27 -08:00
Yuval Tassa 70bc7be4bc Add additional data fields that can be reported by rangefinder sensors.
PiperOrigin-RevId: 848316991
Change-Id: Idbf7ba81b4da711a22c23302c8782ab2b0b98d82
2025-12-23 15:33:00 -08:00
Yuval Tassa 9d646e6548 Extend rangefinder sensor to support cameras.
PiperOrigin-RevId: 848255889
Change-Id: I6e1a9ed13d29d2242558625a47e24e47ad6e87db
2025-12-23 12:04:49 -08:00
Yuval Tassa 223ba99ec2 Add mju_rayFlexNormal (not exposed in public header)
PiperOrigin-RevId: 847746174
Change-Id: Ia8f597d296bf6a3eed9bd48b1c39b2ff2b5fcf90
2025-12-22 06:49:22 -08:00
Yuval Tassa c7f5766345 Add frustum visualization for orthographic cameras.
PiperOrigin-RevId: 847698917
Change-Id: I13633e8ba2d4718b127a5838c404ab74c6180e3d
2025-12-22 03:43:54 -08:00
Yuval Tassa b77977a962 Update Programming/simulation chapter.
PiperOrigin-RevId: 847424298
Change-Id: Icc6efb05dee5e67a5813ed04caa15a5703e59aee
2025-12-21 08:16:39 -08:00
Yuval Tassa b8a4ac5d48 Refactor camera orthographic attribute to projection enum.
PiperOrigin-RevId: 847069028
Change-Id: I7f686fe654e9b56519cab8bd2f37c9cc40091d3f
2025-12-20 03:28:29 -08:00
Haroon Qureshi 7190bd4912 Add flag for depth rendering.
PiperOrigin-RevId: 846203691
Change-Id: I5ec494446bcfc1f7c81536a87dd24f9967973563
2025-12-18 04:36:26 -08:00
Yuval Tassa 1ff74ba810 Change the type of state signature arguments from unsigned int to int
PiperOrigin-RevId: 843162492
Change-Id: I51d3324f088e8055898e115bdd32267c5950a412
2025-12-11 04:34:36 -08:00
Google DeepMind 1483aefe5f Make actuator_length, cdof and cdof_dot public.
PiperOrigin-RevId: 842182467
Change-Id: Id14a1c8266e13a6f95e1c87ea07da993b614b62e
2025-12-09 04:57:42 -08:00
Gabe Oppenheimer e55fff5dea CI issues resolved, we're going ahead with the 3.4.0 release.
PiperOrigin-RevId: 840763554
Change-Id: Ib50b00ec43d8713821f98a131fb19640810ea777
2025-12-05 09:37:40 -08:00
Gabe Oppenheimer 237a5e5c55 Revert the changelog to unreleased state, the 3.4.0 release will be delayed due to internal issues with CI.
PiperOrigin-RevId: 840362346
Change-Id: Ic0fb5d6d521c5abc1b98d5242416eac6c7d056c8
2025-12-04 12:53:02 -08:00
Gabe Oppenheimer 951257ad54 Fix: Update changelog formatting
PiperOrigin-RevId: 839126146
Change-Id: Ifa349b6fd013e4c23fd96b988eacaa7c9d44532c
2025-12-02 00:26:56 -08:00
Gabe Oppenheimer b663b7602b Final preparations for the v3.4.0 release
PiperOrigin-RevId: 838824676
Change-Id: Icb5a825cb41be4d0730f4a6729b63531d649066f
2025-12-01 10:06:33 -08:00
Yuval Tassa 19e2d0ae2f Add mj_fwdKinematics and a table improving documentation of the MuJoCo computation pipeline structure.
PiperOrigin-RevId: 838768130
Change-Id: I1a22d5cdca7db704ba4cea1667fcbecb16b87005
2025-12-01 07:39:00 -08:00
Yuval Tassa 888d3a7b07 Add mj_copyState
PiperOrigin-RevId: 836588419
Change-Id: I7609e121dc0ac697d4d015d4244bdd5962650def
2025-11-25 03:10:30 -08:00
Yuval Tassa 86a77ff8eb Change mjtSize from uint64_t to int64_t.
This change makes `mjtSize` a signed, rather than unsigned 64-bit integer. While sizes are non-negative, the type promotion rules for unsigned integers can lead to unituitive downstream bugs, and 8 billion terabytes are enough bytes.

PiperOrigin-RevId: 834292964
Change-Id: Iea9c47c2a5d80fde63851a543d59ed0549db0f01
2025-11-19 07:55:54 -08:00
Yuval Tassa 042c5223a6 Change mj_sizeModel return type to mjtSize.
PiperOrigin-RevId: 831768095
Change-Id: I079fbadc403b32a3ce8a73fe21b2cd66391401c3
2025-11-13 02:32:18 -08:00
Taylor Howell 883836848a Fix box-box distance computation.
PiperOrigin-RevId: 829431553
Change-Id: I9e28bc8eb7687c3c83e5ff68c65e93d8a07378a9
2025-11-07 07:37:03 -08:00
Yuval Tassa 8734cab366 Add sleeping documentation
https://youtu.be/vct493lGQ8Q

PiperOrigin-RevId: 829390353
Change-Id: I92f85a03be0bb585d2d8e29de1ed1a2e848f247f
2025-11-07 05:12:42 -08:00
Yuval Tassa 252a0d73df Add sleep related data structures
PiperOrigin-RevId: 829055431
Change-Id: I1ccbd77a57044a754ae7db611b4c2c0010fbda53
2025-11-06 12:10:55 -08:00
Baruch Tabanpour d0f32a7fe6 Modify mjx.Model tex_data type.
PiperOrigin-RevId: 828606695
Change-Id: I708dcf8e75766bf16d339999a9e8c70c8f65fd0c
2025-11-05 13:33:11 -08:00
Baruch Tabanpour c34ac712a0 Import warp-lang 1.10.0.
PiperOrigin-RevId: 828583884
Change-Id: Ia1c6d8c41fa0785360b85287cab562228fcc80cf
2025-11-05 12:35:25 -08:00
Yuval Tassa 2245210e87 Fix formatting error in the 3.3.6 changelog
PiperOrigin-RevId: 828455246
Change-Id: I6cd08f7819bde27c32ddd1ff56cbd9b23b92134d
2025-11-05 07:17:47 -08:00
Yuval Tassa d5e953e707 Use sphinx.ext.extlinks for GitHub issue and PR links.
Added `sphinx.ext.extlinks` to the Sphinx configuration and defined `extlinks` for `:issue:` and `:pr:` roles, pointing to the MuJoCo GitHub repository. Updated `changelog.rst` to use these new roles, replacing `:github:issue:` and `:github:pull:` which are currently failing.

Also fix a formatting bug in the 3.3.7 changelog

PiperOrigin-RevId: 828403002
Change-Id: I7f0134e4dd555fc59a3fee090338de56aababe1c
2025-11-05 04:12:08 -08:00
Alessio Quaglino 3a7aa84e53 Add quadratic stiffness to flex.
PiperOrigin-RevId: 827409919
Change-Id: I3dff8ea49fb1726fec4acf5b91138d6d52c4bfba
2025-11-03 03:01:38 -08:00
Baruch Tabanpour d001bd6525 Add naconmax, deprecation warning for nconmax.
PiperOrigin-RevId: 825018530
Change-Id: I344b296ac4353592d65a85b826850eaa7df5d39a
2025-10-28 06:59:01 -07:00
Sam Haves ac2cd5dfd6 Add support for querying of MjsTendon path from Python.
Fixes #2670

PiperOrigin-RevId: 822215254
Change-Id: Ice5a264e54f963776093511c6e4ac830aae6d4f8
2025-10-21 11:51:24 -07:00
Saran Tunyasuvunakool 2f65e23779 Add mj_extractState as a public API function.
This function allows the caller to extract a subset of components of a state previously obtained via `mj_getState` without having to first write it back into `mjData`.

PiperOrigin-RevId: 822165077
Change-Id: I6433261f4f5ec2e8d024bb7dee8f7dbf1e62666c
2025-10-21 10:01:22 -07:00
Yuval Tassa 64add36adb Update documentation to be compatible with PDF generation
PiperOrigin-RevId: 822081040
Change-Id: I935b08751109e973398bc61c21f7217408983494
2025-10-21 06:02:53 -07:00
Alessio Quaglino b6f25ca623 Check mjs_getName return value in XML parser. Fixes #2898.
PiperOrigin-RevId: 819351410
Change-Id: I0807d71328068f6388991ae15274c7d61b4d3e53
2025-10-14 12:40:28 -07:00
Gabe Oppenheimer f7708954cb Update changelog to version 3.3.7 and reformat lists.
We won't be bumping the minor version until the next release.

PiperOrigin-RevId: 818748607
Change-Id: I34d0ac8836eeb6512f8dde112980f49f17125400
2025-10-13 11:16:16 -07:00
Gabe Oppenheimer 27e8736fc7 This CL updates the changelog to mark the release of MuJoCo 3.4.0. It also updates the versions of Eigen3, Abseil, and benchmark used in the CMake build.
PiperOrigin-RevId: 818719010
Change-Id: I865b0f647003d579af9d6c87fa081c4f7cbe34d0
2025-10-13 10:13:01 -07:00
Matija Kecman bd68f0c6cc Update CMake to use C++20
PiperOrigin-RevId: 817573868
Change-Id: I22c98515763623d7411fd12910cf88cdaa336e6e
2025-10-10 03:54:47 -07:00
Baruch Tabanpour 192da87475 Remove _full_compat from MJX io.
PiperOrigin-RevId: 817337868
Change-Id: Ic61b8d57937452371b85416c624ff2672c908aac
2025-10-09 14:26:19 -07:00
Alessio Quaglino 98682ae284 Do not modify mesh position when fitting a geom to the mesh AABB.
Also, unify the meaning of fitting a geom to an AABB: it now means to find the smallest geom such that its AABB contains the mesh AABB.

Fixes #2881.

PiperOrigin-RevId: 817097544
Change-Id: I883c686feffa803bd16ba461db24a474dfec7712
2025-10-09 03:05:00 -07:00
Baruch Tabanpour b56cf98e41 Import google-deepmind/mujoco_warp from GitHub. Update MJX io.py.
PiperOrigin-RevId: 816431884
Change-Id: I54881e7e350fbe5b2be1833e66745894b122f374
2025-10-07 16:43:30 -07:00
Yuval Tassa 431f96572e Remove unused mjOption.apirate.
PiperOrigin-RevId: 815633571
Change-Id: Ib98f3eb2df47f96fa1fe6e987a3a0cd23a9479f6
2025-10-06 02:51:17 -07:00
Sam Haves e4704cd28b Create list_dependencies sample to list all dependencies for an MCJF file.
PiperOrigin-RevId: 814816067
Change-Id: Idc6232e5d1ef1ff0318aeacd0e3d4b4a5a303485
2025-10-03 13:47:28 -07:00
Baruch Tabanpour 6ae9cc8061 Fix #2508.
PiperOrigin-RevId: 814761747
Change-Id: Ic3d1ed359f377799126987c3640b7e534e764c6b
2025-10-03 11:17:14 -07:00
Yuval Tassa fe8384b6c5 Visualize joint and tendon limits by re-coloring.
PiperOrigin-RevId: 811590674
Change-Id: I5b65f2294a4bcda3c321fb51ebf29501bd0d416d
2025-09-25 19:02:26 -07:00
Alessio Quaglino c3bc793331 Add meshdir changelog item.
PiperOrigin-RevId: 811572927
Change-Id: I5aa3f5d8012781d39bd11fd4caa97f5d42577af3
2025-09-25 18:00:51 -07:00
Rishi Krishnan eacad44a1a Update changelog for 3.3.6 release
PiperOrigin-RevId: 807337529
Change-Id: I48bffe879a462a68ad0e55a75a8461bf3a98e97b
2025-09-15 12:27:46 -07:00
Rishi Krishnan 6ec5f8b9c2 Update Mujoco Deps in preperation for the 3.3.6 release
PiperOrigin-RevId: 805007266
Change-Id: I9332d0b8439f8941b9dc9889c1e27d54e9a70b99
2025-09-09 12:01:53 -07:00
Alessio Quaglino 8acd83f317 Add passive collision mode for flexes.
PiperOrigin-RevId: 801754907
Change-Id: I4147af2ee2596519d42cb9a03cf8d5488f0bc3e8
2025-09-01 04:13:58 -07:00
Yuval Tassa 5d598a49a2 Documentation bug fixes.
PiperOrigin-RevId: 801283863
Change-Id: I85bb11f4970bd6206f99a91cee04c2b99f73c576
2025-08-30 11:03:43 -07:00
Yuval Tassa b092563cab Remove mjDSBL_PASSIVE, split it into mjDSBL_SPRING and mjDSBL_DAMPING.
PiperOrigin-RevId: 800870384
Change-Id: I273e0ceec090901e2620febb67e57914928e94bb
2025-08-29 06:06:28 -07:00
Haroon Qureshi ed6fa7fe09 Remove unused mjMOUSE_SELECT option.
PiperOrigin-RevId: 799957524
Change-Id: I69d091781dc2a2e4a762d2255d04fc411295602a
2025-08-27 03:19:04 -07:00
Yuval Tassa 7443e685ac Allow contact sensor subtree1/subtree2 to be any body.
PiperOrigin-RevId: 799632590
Change-Id: If9cd6c5a3a5f83d89ae024a8f64232ab1f1d603a
2025-08-26 11:00:39 -07:00
Yuval Tassa ec94bb49aa Make constraint island discovery on by default.
Also fix latent bug in mjData serialization.

PiperOrigin-RevId: 799505349
Change-Id: I299e7cc8133fa2ec0b339a7ff3d02543e06778b1
2025-08-26 04:27:24 -07:00