Commit Graph

376 Commits

Author SHA1 Message Date
Alessio Quaglino 51babec9c5 Move tactile sensor to the engine.
PiperOrigin-RevId: 788863133
Change-Id: I3172ebb7641fa8146469da25cba7db794760e7b1
2025-07-30 05:27:44 -07:00
Yuval Tassa a771fc6c09 Increase mjNSENS to 3
PiperOrigin-RevId: 788468705
Change-Id: Id22f131bebb6accc9a29c9aa285efa75fa8b2c16
2025-07-29 08:38:13 -07:00
Google DeepMind a116653e5f Remove unnecessary handling of value attribute.
PiperOrigin-RevId: 788060431
Change-Id: I56acafb211441bd74dbd6e80ab1d8f82ac808c3a
2025-07-28 10:19:47 -07:00
Taylor Howell ddb7eb07c7 Initial implementation of contact sensor for MJX JAX backend.
PiperOrigin-RevId: 786742643
Change-Id: Idabd98320a4716c597bb596e32a8a90f3cd5f356
2025-07-24 09:59:40 -07:00
Alessio Quaglino 5eab59d026 Add plugin_state support to MJX API.
Move fr3 controllers states to plugin_state.

Reset plugin_state during device.reset().

PiperOrigin-RevId: 786433231
Change-Id: I7c95cc884acab23fb8c59419b573ee0a6b4cf803
2025-07-23 14:49:41 -07:00
Alessio Quaglino a2a27c113f Do not raise an error in MJX if MultiCCD is enabled.
PiperOrigin-RevId: 785473405
Change-Id: I91165ac83fa000ff51467295820330703bfb20ed
2025-07-21 09:52:09 -07:00
Google DeepMind 921bca5105 #mjx don't specify JAX default backend
PiperOrigin-RevId: 785472058
Change-Id: Iba2d3e87dd2d78e6eee8fb579a760250a91b5d23
2025-07-21 09:48:09 -07:00
Tom Erez c2f5d0f266 Add sensor_intprm to types.py
PiperOrigin-RevId: 785388933
Change-Id: I050410f0437e38e1559b2e1e4138c527daa84cb9
2025-07-21 04:51:50 -07:00
Baruch Tabanpour 27bb74d7df Set MJX minimum friction value to mjMINMU.
PiperOrigin-RevId: 783381620
Change-Id: I353a4fa39956ecb0ed0e1b2bbcaff651e8c68606
2025-07-15 10:22:27 -07:00
Alessio Quaglino 4ea778f2d3 Add octree support to MJX API.
Also, enable the touch sensor to use the octree SDF.

PiperOrigin-RevId: 783313462
Change-Id: I0032c2a7164f4770aa10a3612db3fd70bea954db
2025-07-15 06:44:43 -07:00
Taylor Howell 2a700c98aa Check MJX with JAX backend for flex.
PiperOrigin-RevId: 782964265
Change-Id: I744d114569738ad0d5c4ee11ffba90bd50ef25ed
2025-07-14 10:49:30 -07:00
Rishi Krishnan 3c99705f85 Update MuJoCo's version number following the 3.3.4 release.
PiperOrigin-RevId: 781596261
Change-Id: Iac050c4b9cb65542b52fa6b8c54ff2537bc6a648
2025-07-10 10:47:26 -07:00
Taylor Howell a86461fc57 Set MJX minimum friction value to mjMINMU.
PiperOrigin-RevId: 780934075
Change-Id: I1ae0b678526218514cc260fdb9f2a62d88394cbe
2025-07-09 01:59:29 -07:00
Taylor Howell 8da4e1c354 Fix deriv_smooth_vel docstring.
PiperOrigin-RevId: 780923683
Change-Id: I05fc5426a980dfffa22cba7cac71f5e4a811b5eb
2025-07-09 01:33:33 -07:00
Baruch Tabanpour 45d4cacc45 Remove dense actuator_moment for _put_data_c.
PiperOrigin-RevId: 779234984
Change-Id: I19ac2849aa2b00b1688781491c9230558c24c7a2
2025-07-04 11:03:59 -07:00
Taylor Howell 2ce5caa239 Update MJX rne_postconstraint with contributions from equality connect and equality weld constraints.
PiperOrigin-RevId: 777491801
Change-Id: Ib32dda4178def7a96d31e91787f3d0866a56cd76
2025-06-30 03:21:45 -07:00
Baruch Tabanpour 48205fb570 Symmetrize dense matrices before cho_factor, since the jax.scipy.linalg.cho_factor API had a breaking change in https://github.com/jax-ml/jax/commit/a981e1c4b99b7628efe2bf70a75c0422a70e9524.
PiperOrigin-RevId: 775740310
Change-Id: I1a172ec4851b5d6a7f3d56179c54fec5d4c9e0c5
2025-06-25 10:15:00 -07:00
Taylor Howell d0faa3624e Update MJX inverse dynamics for tendon armature.
PiperOrigin-RevId: 775658246
Change-Id: Ie6a71b971d4b165e0235689b7b4ee3246486e10d
2025-06-25 06:14:46 -07:00
Alessio Quaglino a00bfa819c Raise error when binding to a removed element.
PiperOrigin-RevId: 774462737
Change-Id: I820c0e1c010ae9fbf6d9667c3364d4b65bf21002
2025-06-22 10:15:31 -07:00
Taylor Howell a64f1fd335 Compute M in mjx._get_data_into.
PiperOrigin-RevId: 772594295
Change-Id: I7da992e9e5590c6060fbe1e2c1e40ccbd3c9b2b9
2025-06-17 13:21:22 -07:00
Taylor Howell 8084b06a35 Add tendon armature with sparse qM to MJX. Fixes #2681.
PiperOrigin-RevId: 772583693
Change-Id: I827d61aacada33f53500bf54613ccb8145bc854b
2025-06-17 12:52:03 -07:00
Baruch Tabanpour 41eb966c9b Resolve deprecation warnings in playground.
PiperOrigin-RevId: 771184565
Change-Id: Ic2056ad82a6a0c20897a02ea39c37b3f44a80513
2025-06-13 12:28:57 -07:00
Kevin Sayed a4ab35c194 update scrubs and set next version
PiperOrigin-RevId: 770740070
Change-Id: I6b2f1356706b1849872df2583adbbb3f72057884
2025-06-12 11:39:45 -07:00
Baruch Tabanpour 65deedbc75 Rename backend_impl to impl. Remove _full_compat from callsites.
PiperOrigin-RevId: 770400560
Change-Id: I7bec79aeae07322a30b15cc04d4dd05077741a8b
2025-06-11 18:05:49 -07:00
Erik Frey e5631c0bab [MJX] Don't raise sparse qM error in tendon_armature if there are no tendons.
PiperOrigin-RevId: 769753590
Change-Id: I5dd7a953f08e0566c5e22c2c926d7bd9c2c57bd6
2025-06-10 12:46:47 -07:00
Erik Frey caaf7b3a69 Add tendon armature to MJX.
PiperOrigin-RevId: 769294284
Change-Id: Idfbd4f355eb26fba5035973ab989a9d3af05c85f
2025-06-09 14:27:18 -07:00
Alessio Quaglino f72a175a2c Enable using sensor and SDF plugins in MJX:C.
PiperOrigin-RevId: 765089354
Change-Id: I3cacc2980ac8aeff68cfb927beb5b1dbb13261d4
2025-05-30 01:52:59 -07:00
Tom Erez 4a102c37bc Add support for indexing qfrc fields in MJX bind() method.
PiperOrigin-RevId: 763415415
Change-Id: Idb567a1711679565444779fb1062d7b65434ef13
2025-05-26 07:04:12 -07:00
Copybara-Service e44513bee5 Merge pull request #2640 from google-deepmind:dependabot/pip/mjx/setuptools-78.1.1
PiperOrigin-RevId: 762416151
Change-Id: I40e47cb3334ab2fa7f8bdfef27fa1720186cd082
2025-05-23 07:37:33 -07:00
Google DeepMind 74cc904edc Convert light directional boolean into a type enum.
PiperOrigin-RevId: 761983728
Change-Id: Id5bf93c103e5358d9c5cd9f1176532a978e0b3a8
2025-05-22 08:51:18 -07:00
Erik Frey 7da6b5b9d9 Ensure mjx.get_data_into returns correct efc_J, qLD, and qLDiagInv.
PiperOrigin-RevId: 761264885
Change-Id: Ia3e669e24b2cc05f1506f0508c552c48233298cb
2025-05-20 16:03:18 -07:00
Baruch Tabanpour 5051520733 Delete commented code.
PiperOrigin-RevId: 761234852
Change-Id: Ibea32eee47448073fff1ed2df307b1e44c78423f
2025-05-20 14:37:50 -07:00
dependabot[bot] 06e4937ed7 Bump setuptools from 75.5.0 to 78.1.1 in /mjx
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.5.0 to 78.1.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.5.0...v78.1.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 78.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 21:16:37 +00:00
Erik Frey cada50434a Raise an error if MJX scan functions are called on models with zero DoFs.
In the future, MJX will support correctly simulating models with zero dofs.

PiperOrigin-RevId: 760731314
Change-Id: Iadddf80a959c64cddb31610e60927ae0437ebcaf
2025-05-19 12:42:19 -07:00
Alessio Quaglino 7ba507323d Handle mocap body in bind.
PiperOrigin-RevId: 759065524
Change-Id: Ic4cc737596af883f267b6e2c470ac4591ea1eead
2025-05-15 03:10:19 -07:00
Yuval Tassa dd28b887d4 Rename C sparse structure to M in mjdata, improve docstrings.
PiperOrigin-RevId: 758636638
Change-Id: If78acc423601d2911f514929b27f7b6d0af9ef58
2025-05-14 05:26:19 -07:00
Silvia Cruciani 4ba04586ae Fix setting slices of multidimensional arrays for multiple targets
PiperOrigin-RevId: 758623598
Change-Id: Ie05b36c25be74ddf7451a95377caf1ed1d692141
2025-05-14 04:36:58 -07:00
Yuval Tassa 79c74d7eae Add mjData.M, not yet used.
PiperOrigin-RevId: 758351796
Change-Id: I0786966b2f2c2e699db845cda6940a8821b23f49
2025-05-13 13:28:03 -07:00
Yuval Tassa 1e02d66c3d Remove M matrix structure from mjData.
Introduced in March 2025 as a temporary measure, this is not considered a breaking change.

PiperOrigin-RevId: 758311298
Change-Id: Ia08857c18b791f6a62a2d8d136b45fc075507b93
2025-05-13 11:47:18 -07:00
Baruch Tabanpour 6bc0bbf7df internal change
PiperOrigin-RevId: 758287280
Change-Id: I8b99a5d44910d5b2e7857b808b1696f244778a26
2025-05-13 10:53:25 -07:00
Yuval Tassa 627fffdef9 Switch mjData.{qH,qLD} from full ("M") to reduced ("C") inertia matrix structure.
PiperOrigin-RevId: 758273074
Change-Id: If1a2e663ea70044694af985e0119afd6d58115ac
2025-05-13 10:20:32 -07:00
Baruch Tabanpour 6cfea71985 Allow for different MJX backend implementations.
PiperOrigin-RevId: 755935704
Change-Id: Ic135cd00137c2857c73c683ed9fdc5ac4418715d
2025-05-07 11:28:39 -07:00
Baruch Tabanpour 421c487d9d Set mocap_pos/quat in make_data. Fixes #2606.
PiperOrigin-RevId: 755903897
Change-Id: Ied04e9bd3febfe1bbbba24ed1f52b3c0c6e50f38
2025-05-07 10:13:17 -07:00
Google DeepMind 4137a4c774 Bump version to 3.3.3 following the 3.3.2 release
PiperOrigin-RevId: 752482043
Change-Id: I3dae8a0b9de2be4d456e856825c18f16f62bf51a
2025-04-28 16:09:25 -07:00
Taylor Howell d168135189 Remove duplicate test_tendon_force_clamp from inverse_test.py.
PiperOrigin-RevId: 747835971
Change-Id: I96ca7a2e3f71dbc05af238c269a81b41b51fa48b
2025-04-15 05:40:25 -07:00
Taylor Howell f317bd17c3 Add tendon actuator force sensor to MJX.
PiperOrigin-RevId: 747344916
Change-Id: Iab513ff953408c002216ffff12e3f8c825cedc10
2025-04-14 03:51:20 -07:00
Gabe Oppenheimer 440ce5eb7a Update the version number to 3.3.2 following the 3.3.1 release.
PiperOrigin-RevId: 746147577
Change-Id: Idb7b4e7e06a4730b4f2eea8f6600b898e998f8db
2025-04-10 13:17:20 -07:00
Taylor Howell 3c530976e3 Add rne_postconstraint dependence for FRAMELINACC and FRAMEANGACC sensors to MJX.
PiperOrigin-RevId: 746009774
Change-Id: Ide45298b463f1ad04f1ffa7f60a7a8aeaf18f063
2025-04-10 06:48:40 -07:00
Taylor Howell 51c489fc30 Add inverse dynamics to MJX.
PiperOrigin-RevId: 745998273
Change-Id: I203af89332ace5d7a60fff3ec6ff4cc88c02340d
2025-04-10 06:08:41 -07:00
Taylor Howell 8fc616bf8f Add tendon actuator force limits to MJX.
PiperOrigin-RevId: 745529685
Change-Id: I43c372116daefc3dd2ed6ad1bb9c6e3978bc8527
2025-04-09 04:28:45 -07:00