Commit Graph

52 Commits

Author SHA1 Message Date
Baruch Tabanpour 92c161a61b Add ncon to __init__.
PiperOrigin-RevId: 603468404
Change-Id: I20c622b8f6f84ecacb9f3cdd26ac9560cf2788be
2024-02-01 13:38:23 -08:00
Baruch Tabanpour 8be966cdf9 Avoid NaN in gradient of where. Fixes #1349.
PiperOrigin-RevId: 602461299
Change-Id: I7c976d3b7262027bdc63967dcc00674fb2802e70
2024-01-29 12:09:29 -08:00
Baruch Tabanpour 508669a9f2 Raise not implemented for frictionloss for now. #1344
PiperOrigin-RevId: 602453907
Change-Id: I0ea506b54f96c4fadc0f29f9ed0a21b0b6a7e5d9
2024-01-29 11:45:36 -08:00
Baruch Tabanpour a1e5ede266 Allow Brax data structures to inherit from MJX data structures.
PiperOrigin-RevId: 601290735
Change-Id: I6dad1b6d7e6b3e71acecc36189ab59cc81ab90b4
2024-01-24 18:03:17 -08:00
Erik Frey e59605135a Make benchmarks and viewer more accessible.
- Drop google_benchmark module dependency, wasn't really using it.
- Move benchmark models into test_data
- Rename benchmark => testspeed, make default output more like MJ testspeed.
- Update viewer to use new io functions and add get_data_into.
- Add "mjx-testspeed" and "mjx-viewer" bin scripts

PiperOrigin-RevId: 601277135
Change-Id: I782f666c58a96ac1a0a1c5ffc8ecf29d9fcd810f
2024-01-24 17:04:02 -08:00
Erik Frey 0a7be1732c Adds support for explicit dense/sparse mass matrices to MJX.
This increases performance, particularly for the Newton solver on TPU.

PiperOrigin-RevId: 600696483
Change-Id: If69bb9a2e21ba8dad6ca23f093ce7b7ceae644ff
2024-01-23 00:32:07 -08:00
Erik Frey 5cbaa23388 Remove TEST_FILES from MJX test_util.py.
PiperOrigin-RevId: 599886327
Change-Id: I4d166e09db22fffc959dbe34fa3469bd4a1b9f84
2024-01-19 11:15:06 -08:00
Baruch Tabanpour a02fc405af Add naive ray mesh implementation.
PiperOrigin-RevId: 598993152
Change-Id: I708505bf20a89d5a4840451a11b99771195003e6
2024-01-16 16:29:11 -08:00
Erik Frey ee922be393 Benchmark improvements.
- Use multiple devices if present
- FLAGS more agnostic to diverse platforms

PiperOrigin-RevId: 598990299
Change-Id: Ifbd454ca521a788324f2b62f1c79e7d4b8305a30
2024-01-16 16:17:56 -08:00
Erik Frey 85ab6183bc Add ray filtering based on geom transparency and filter params.
PiperOrigin-RevId: 597316447
Change-Id: If9619320f0024c486bb7abe2c63e9a1ba1a631f0
2024-01-10 11:59:11 -08:00
Erik Frey feb92bf535 MJX ray for planes, spheres, capsules, and boxes.
PiperOrigin-RevId: 596004453
Change-Id: I6c15268f7ec6afc1aadd370a78ef225ab9c5fd04
2024-01-05 08:42:17 -08:00
Baruch Tabanpour 721e2d5589 Update tutorial notebook.
PiperOrigin-RevId: 595746621
Change-Id: Ie0a4ea01d4f50491b14713f12ea8a4fe6877f890
2024-01-04 10:45:00 -08:00
Baruch Tabanpour 8ce2c92021 Add refsite transmission.
PiperOrigin-RevId: 595239860
Change-Id: Id1ca8fe2ffab4b55013e8987e92eb99847278dc4
2024-01-02 16:45:50 -08:00
Baruch Tabanpour 77b4132c47 Add site transmission to MJX.
PiperOrigin-RevId: 592373042
Change-Id: I54d941f4ee6f74404fe2aea7253f5b426d097e23
2023-12-19 16:19:17 -08:00
Baruch Tabanpour 80f50c943c Add filterexact to MJX.
PiperOrigin-RevId: 592026712
Change-Id: Ia73d67f36db5a4a1786a2532b5daa9e9a36f714c
2023-12-18 15:29:18 -08:00
Google DeepMind 7fb448613f Post release version update: Update to V3.1.2
PiperOrigin-RevId: 592019826
Change-Id: I64fd7da628bf3312ede4970b9b10ef5d0cc75b45
2023-12-18 15:03:37 -08:00
Erik Frey 0915d69c3f Correctly transform site_xmat in MJX get_data/put_data.
PiperOrigin-RevId: 590750273
Change-Id: I836e1f5d20725ed9b93bf86fe3e8e61954a56b47
2023-12-13 16:34:42 -08:00
Google DeepMind c2c76195dd Updating Mujoco Release version number to v3.1.1
PiperOrigin-RevId: 590712172
Change-Id: Ibf32322222212c1bf098e75bbb2e145344c57b93
2023-12-13 14:26:08 -08:00
Tyler Lindberg b82c382c53 Use positional arguments with jp.where 2023-12-12 16:28:36 -08:00
Google DeepMind fcebdf4d09 Update MuJoCo to v3.1.0 for release.
PiperOrigin-RevId: 590256664
Change-Id: I42ad788d609dde0ff00b13a2e456b2a8d3d9e952
2023-12-12 10:37:47 -08:00
Baruch Tabanpour e7d637f375 Fix issue with foot vel in MJX notebook
PiperOrigin-RevId: 589276253
Change-Id: I2c8c24e42d037d8c59667364a298f8b669d779b6
2023-12-08 16:44:36 -08:00
Erik Frey b3ccf67ebf Cleanup MJX tests and migrate them to put_model/put_data.
PiperOrigin-RevId: 588304729
Change-Id: I58075383e6eed64ae00cea305a568eba6465b0b0
2023-12-05 23:08:05 -08:00
Erik Frey 67fa7c1dc2 Add put_model, put_data, and get_data to MJX.
These io functions replace device_put, device_get_into. These new functions correctly copy intermediate fields such as efc_J, which the old functions could not.

PiperOrigin-RevId: 586712273
Change-Id: Ia3a4104af17db2ebd41b41a2ca501c5de9ac5d05
2023-11-30 10:14:46 -08:00
Nimrod Gileadi a306e32707 Add new hash for scipy in mjx/requirements.txt
PiperOrigin-RevId: 586674164
Change-Id: Idcda8f57addbce331da04cc1510e01ff91563040
2023-11-30 07:48:45 -08:00
Erik Frey 2f37147fc0 Guard against NaNs in MJX solver when no cost is imposed. Fixes #1225.
PiperOrigin-RevId: 586020958
Change-Id: I82f398b1538d2c3801a35c80c862e49be3b110a2
2023-11-28 10:12:17 -08:00
Baruch Tabanpour 35c90844ae Add sites to MJX.
PiperOrigin-RevId: 585691582
Change-Id: I6cc594daf436231f91534f137ff259e7b39811d9
2023-11-27 10:28:50 -08:00
Baruch Tabanpour 4d2a176a8a Modify name of mjx integration tests.
PiperOrigin-RevId: 583108693
Change-Id: If972c376181ca98201ff61ff06d200c82d214e2b
2023-11-16 11:24:07 -08:00
Baruch Tabanpour 1554048856 Bump dev version number to 3.0.2.
PiperOrigin-RevId: 582773849
Change-Id: I07a70911578fabb556eec1a4d8aa6fcb6557513f
2023-11-15 12:51:04 -08:00
Erik Frey c8146372cf Simplify pendula test data. Fix bug in `scan.body_tree` that led to incorrect smooth dynamics for some kinematic tree layouts.
PiperOrigin-RevId: 582125477
Change-Id: I47505ceb4be4c88052bc670f401b8c45ff320bbd
2023-11-13 16:48:49 -08:00
Saran Tunyasuvunakool f7bdd5dc0e Upgrade pip to version 23.3.1.
PiperOrigin-RevId: 579062729
Change-Id: Id6a78e6002a7aabb0f947d7722d5c178d5d9ca62
2023-11-02 21:20:55 -07:00
Erik Frey 3c0a56c1e5 Adds support for Newton solver to MJX.
PiperOrigin-RevId: 578738033
Change-Id: Id0e68c7b961380cb1ed88b40d99f202c3fa8e228
2023-11-01 22:05:10 -07:00
Baruch Tabanpour 45878b7eef Raise an exception in MJX if given a model with tendons.
Fixes #1149

PiperOrigin-RevId: 578278430
Change-Id: Ie633975b830379ca554438307a6e674675eaf8e7
2023-10-31 13:09:27 -07:00
Erik Frey 7069976557 Implement joint equality constraint. Streamline constraint functions.
PiperOrigin-RevId: 577905570
Change-Id: I70580d21e3c612606b967cdd84ad22794c672397
2023-10-30 11:38:15 -07:00
Yuval Tassa 86d9c84e59 Fix bug in implementation of torquescale
PiperOrigin-RevId: 577466789
Change-Id: I3c8e5dd9b4af9a629e777f7ccad8417075b0046c
2023-10-28 08:25:25 -07:00
Erik Frey 930c707e00 Ensure equality constraints are active irrespective of sign.
Fixes #1129

PiperOrigin-RevId: 577337939
Change-Id: Id835bb6d361525e5cb26f7696038d73d3c1a703e
2023-10-27 16:51:58 -07:00
Erik Frey 189dcc865b Use typing for Sequence instead of collections.abc
PiperOrigin-RevId: 577247039
Change-Id: If09884429070d74bcf517da78a3fa43c158978a2
2023-10-27 10:55:08 -07:00
Erik Frey 843360b732 Avoid efc rows for joints with no limit.
Fixes #1117

PiperOrigin-RevId: 576276387
Change-Id: I7d2a3860b19d83d65acf1995f7be05cb2d1247d4
2023-10-24 14:12:28 -07:00
Erik Frey 29f6f06788 Bump benchmarks from V100 to A100 to match published numbers.
PiperOrigin-RevId: 576230623
Change-Id: Ib17ffd210a781e1024f8bb484c75547ee39876f7
2023-10-24 12:38:01 -07:00
Baruch Tabanpour a4588cee12 Fix https://github.com/google-deepmind/mujoco/issues/1123
PiperOrigin-RevId: 576159322
Change-Id: I29fc3df294af008f55324bc49c0f597d778e3392
2023-10-24 09:08:34 -07:00
Kevin Zakka a53b5be956 Allow pre-release mujoco installs in mjx source install.
PiperOrigin-RevId: 575629464
Change-Id: I47615dee0e965c6016d90871fa100f52bb74bf0c
2023-10-22 10:19:24 -07:00
Baruch Tabanpour e57b34303a Reformat notebook and add back sim2sim.
PiperOrigin-RevId: 575246433
Change-Id: I8627916e7dedd5cf64dab6e0151f41c3153e7a68
2023-10-20 09:53:53 -07:00
Baruch Tabanpour ebe081f27e Add contact disable flag to collision driver.
PiperOrigin-RevId: 575245746
Change-Id: If2ea8a5de6f6c751729c9b8dd5efc42e7bdd51ea
2023-10-20 09:51:24 -07:00
Baruch Tabanpour e4a9f535a4 Make MJX device_put type validation more verbose.
PiperOrigin-RevId: 575050350
Change-Id: I7cab4ee54d462b61e9478dbd58d99bb9fb662daf
2023-10-19 17:30:33 -07:00
Baruch Tabanpour dd841c9283 Fix bug in joint range for MJX.
PiperOrigin-RevId: 575023489
Change-Id: I717333064ed4d6971a841bec60e8afd3019120a7
2023-10-19 15:40:09 -07:00
Baruch Tabanpour 79e9589515 Change test_box_box slightly.
PiperOrigin-RevId: 574937448
Change-Id: If84c8e192b230fea0e858fdd12beceedaa280f30
2023-10-19 11:07:42 -07:00
Baruch Tabanpour 9decb7389f Make humanoid default in colab.
PiperOrigin-RevId: 574925299
Change-Id: I619438b4c61b882db27c3984fb8c061ec0c39e4d
2023-10-19 10:38:09 -07:00
Saran Tunyasuvunakool 2970a2575d Change assertTrue to np.testing.assert_array_less.
This gives a more informative error message on failure, e.g. in https://github.com/conda-forge/mujoco-feedstock/pull/31#issuecomment-1770195171

PiperOrigin-RevId: 574879703
Change-Id: I1936c16264b00d6f80c4817d982b0ab4ab6d4b5d
2023-10-19 08:27:08 -07:00
Baruch Tabanpour 44ba099fd6 Fix bug with single actuator in transmission.
PiperOrigin-RevId: 574637727
Change-Id: Ibfc01ff3bc80afe5da253fd9d6d76609b8e9198d
2023-10-18 16:18:21 -07:00
Baruch Tabanpour b989a85364 Remove block in colab.
PiperOrigin-RevId: 574595549
Change-Id: I3814a8ecb909a581d96b614edd99002c05de014b
2023-10-18 14:19:05 -07:00
Kevin Zakka 2fefa7dd8a Improve MJX Colab description in README.
PiperOrigin-RevId: 574521404
Change-Id: If236aa97a7d5ef6fa3884728652011f1311031cb
2023-10-18 10:37:37 -07:00