Commit Graph

358 Commits

Author SHA1 Message Date
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
Taylor Howell 96dda6ea75 Add tendon actuator force limits and tendon actuator force sensor.
PiperOrigin-RevId: 745096883
Change-Id: Ib9acb727fbbfc6b0b0323ee6a889053a7a878056
2025-04-08 05:16:35 -07:00
Baruch Tabanpour 4e0a4f4d39 Defer device puts to the end of make_data. Fixes #2461.
PiperOrigin-RevId: 744875869
Change-Id: I8d88d4f73407b44f761d01309e2cc28b43aa305f
2025-04-07 15:43:43 -07:00
Alessio Quaglino cc2f57d820 Change mjSpec and mjModel signature mechanism.
The signature now contains the necessary information to safely perform `bind`. The private UIDs are now removed.

Fixes an issue of changing signature when compiling a copy of an mjSpec.

PiperOrigin-RevId: 744670626
Change-Id: Id3c66419cf2afbe78e91bc4b37d2299f5ec00ab1
2025-04-07 04:21:27 -07:00
Yuval Tassa e1f5ceb65a Add mjModel.tendon_armature (in preparation, not yet implemented)
PiperOrigin-RevId: 743649968
Change-Id: I1d893e3e06afc48b652575bc7837750ab3573670
2025-04-03 12:06:27 -07:00
Baruch Tabanpour 54f132f3f0 Resolve discrepancy in RK4 between MJX and MJ.
PiperOrigin-RevId: 743185866
Change-Id: I478faca1d8733999cc9a0682e931b19ee05e3843
2025-04-02 10:16:07 -07:00
Alessio Quaglino ebd30493c8 Allow nameless bind in MJX.
PiperOrigin-RevId: 742592221
Change-Id: I9490aebd64e3a31219c552d5b6eb55236680f10d
2025-04-01 01:45:44 -07:00
Saran Tunyasuvunakool 2e11afa2de Fix a bug in the handling of efc_J in put_data.
PiperOrigin-RevId: 738877177
Change-Id: Ie469af0e1c31843e8c59cd2cf6fc0befb1ed4956
2025-03-20 11:26:14 -07:00
Alessio Quaglino 1f1d5287fb Fix bind.set when using a single joint instead of a list.
PiperOrigin-RevId: 738546056
Change-Id: I26ae045be9e983cb0760132b9d47eac018ca33cd
2025-03-19 14:44:22 -07:00
Jake Harmon a0fc6b18b5 Update references to JAX's GitHub repo
JAX has moved from https://github.com/google/jax to https://github.com/jax-ml/jax

PiperOrigin-RevId: 733951719
Change-Id: Iee4a7bf4bcc9fc3108ca9d30b6b98f5df20c79c7
2025-03-05 19:25:00 -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 c72c83aa3b Allocate qM CSR matrix structure on mjData (currently empty).
PiperOrigin-RevId: 733247419
Change-Id: I814e574e3161875e89433a6e03f2c9e200d8b1d6
2025-03-04 02:37:47 -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
Alessio Quaglino 2abb2e2d5d Add further MJX bind tests to clarify dimensions.
Fixes #2463.

PiperOrigin-RevId: 731674489
Change-Id: I9e21a2dd0b0636c94b2b917615889b9d721d542d
2025-02-27 04:34:08 -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
Alessio Quaglino 1c240d8bad Raise error if trying to bind with a spec with an empty name.
PiperOrigin-RevId: 731360983
Change-Id: I00365d158c1cae1cd912962ef453f43e93701080
2025-02-26 10:07:46 -08:00
Kyle Bayes ed16f2daf2 Set nativeccd as default.
PiperOrigin-RevId: 731343200
Change-Id: I315779017b676f3d118e0d38ee53a515272f50b8
2025-02-26 09:15:15 -08:00
Google DeepMind 1532cffdf0 #mjx Update bind type checks.
PiperOrigin-RevId: 729566363
Change-Id: Ifb4fd3e83988140f781ac1d5db690cf6fbe70fbf
2025-02-21 10:02:02 -08:00
Alessio Quaglino 41c2918819 Add batch support to MJX data bind.
PiperOrigin-RevId: 729033713
Change-Id: I331317a54a7882dc67bf329da8aeaff7246754e4
2025-02-20 03:10:30 -08:00