Commit Graph

316 Commits

Author SHA1 Message Date
Yuval Tassa 6067048537 Deprecate mju_rotVecMat and mju_rotVecMatT in favor of mju_mulMatVec3 and mju_mulMatTVec3.
These functions names and argument ordering are more consistent with the rest of the API.

PiperOrigin-RevId: 643788290
Change-Id: I783eda8021b80b82098e23ed95669b102bb82508
2024-06-16 10:02:36 -07:00
Yuval Tassa c9bcf8371e Add mj_setKeyframe function to save current state in k-th model keyframe.
Fixes #1719.

Also improve documentation of `mju_sigmoid`, was previously only documented in changelog.

PiperOrigin-RevId: 642637458
Change-Id: I811a0bf8f881c8b76c9a62d2faec8fdec4e7585b
2024-06-12 09:22:52 -07:00
fanmin shi a660051a4c Consistent spacing in python/tutorial.ipynb 2024-06-11 21:07:52 -05:00
Yuval Tassa 07fc95ca9a Add orthographic cameras.
Orthographic cameras are specified by setting the `orthographic` attribute of the `<camera>` element. The `fovy` attribute is still used to specify the field-of-view, but its semantic is different for orthographic cameras. For orthographic cameras, the field-of-view is expressed in units of length, rather than degrees.

Other related changes:

* Fix bug in the ordering of `cam_xxx` elements in `mjModel`.
* Make camera visualization translucent only when the frustum is visualized.
* Added a button to `simulate` to toggle between perspective and orthographic free cameras.

https://youtu.be/ZXBTEIDWHhs

PiperOrigin-RevId: 642293435
Change-Id: Id090a421ad88ab404b5b27ddbbd6bfc81ad49bc5
2024-06-11 09:23:18 -07:00
Meghha Dhoke 1bf90af0e0 Bumping mjVERSIONSTRING from 3.1.6 to next version 3.1.7
PiperOrigin-RevId: 639959152
Change-Id: I7b88bae6ea56b0173f00c6f0899ba4a156614f01
2024-06-04 15:27:47 +01:00
Kevin Zakka f0b633de6a Fix typos in least_squares notebook.
PiperOrigin-RevId: 635696410
Change-Id: Iba9a2c8f121ca4994678ba933e19dce5323da27b
2024-05-20 23:48:39 -07:00
Kyle Bayes d58010c3b9 Update numpy sha256 hash in build requirements.txt.
PiperOrigin-RevId: 634546683
Change-Id: I319be1fab020dff2b44658ea402684a268ec6a33
2024-05-16 15:24:14 -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 31de1dad9d Update requirements.txt for mujoco and mjx.
PiperOrigin-RevId: 632441444
Change-Id: Ia9ff35b453476b2f1f5a7a8facc819a8925dcd8b
2024-05-10 03:30:53 -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
Meghha Dhoke efbcd86e29 Update abseil to LTS 20240116.2.
This is a minor update to the previous version, LTS 20240116.1. The only change is a fix for a bug in the `absl::StrFormat` function.

PiperOrigin-RevId: 631495397
Change-Id: I28aec52fb526a2168900a4ee93ffc6e11650a3be
2024-05-07 11:40:44 -07:00
Yuval Tassa 8d896529f0 Replace .copy() with list() in minimize.py
PiperOrigin-RevId: 631413376
Change-Id: I06dd3e3897078b57b0a0668b2182fa62dcd4a74e
2024-05-07 07:16:30 -07:00
Yuval Tassa a40de1b230 Move notebook copyright notice into HTML comment.
PiperOrigin-RevId: 631222581
Change-Id: I2fe86425677cf14cbfb72cb9d32b645682edc47f
2024-05-06 16:36:45 -07:00
Yuval Tassa 34e537e557 Updates to minimize.least_squares. Fixes #1585
- Residual callable is vectorized for easy multithreading by the user. Internally all vectors are now explicitly column vectors.
- Removed central findiff option, it wasn't applicable at the bounds anyway and just complicated the code.
- Added optional user-provided norm function for non-quadratic (robust) norms.
- Added an iter_callback callable for user convenience.
- Added option to internally check user-provided Jacobian and norm against finite differences.
- Updated the notebook accordingly.

PiperOrigin-RevId: 631205889
Change-Id: I3b9f8893756e329640de464e6f2e26a39e7dbd9e
2024-05-06 15:36:01 -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
Google DeepMind d2392efe6c Allow gl_context.GLContext to be None.
PiperOrigin-RevId: 625927487
Change-Id: I85d5658c8ea529716aaac12b17957c59319367cc
2024-04-17 23:38:06 -07:00
Yuval Tassa 2b4975811b Fix bug in Python binding of mj_saveModel
PiperOrigin-RevId: 625655183
Change-Id: I80d3390d739a8d6e280343087b79c15b543ff50a
2024-04-17 05:58:50 -07:00
Gabe Oppenheimer 225619c964 Update MuJoCo internal version to be the external version +1
PiperOrigin-RevId: 623607403
Change-Id: Ia8f6516bb6b2fb6a3ecb8273b59e61667098f308
2024-04-10 14:32:54 -07:00
Yuval Tassa 5a365603f8 Add mju_euler2Quat.
PiperOrigin-RevId: 623469398
Change-Id: Ia86b29a764018cd4c3bc57d23616bed7393081f5
2024-04-10 06:02:50 -07:00
Gabe Oppenheimer 930d7b0487 Update MuJoCo Cmake dependency on PyBind11 to the latest release
PiperOrigin-RevId: 622853925
Change-Id: Ic2009c8ffd5441fbb87034915f6dd850a9836660
2024-04-08 08:32:25 -07:00
Yuval Tassa 5d26b50fce Remove native sensor noise sampling.
PiperOrigin-RevId: 620075316
Change-Id: I6a0a1d63834e7c8bfd290f89d86fea791d794739
2024-03-28 15:33:03 -07:00
Copybara-Service f0ad80f268 Merge pull request #1534 from aftersomemath:simulate-clear-load-error
PiperOrigin-RevId: 618005670
Change-Id: Id2d33463e01dfb4193c1b22155d42c792d5d4f7d
2024-03-21 17:06:47 -07:00
Levi Burner 848e014020 Copybara import of the project:
--
40996ab1a05f328c2b5d1b940abb189d43f646de by Levi Burner <leviburner@gmail.com>:

[Python Viewer] load mjb files, fixes #1421

COPYBARA_INTEGRATE_REVIEW=https://github.com/google-deepmind/mujoco/pull/1535 from aftersomemath:simulate-load-mjb 40996ab1a05f328c2b5d1b940abb189d43f646de
PiperOrigin-RevId: 617913250
Change-Id: I09e858495784122c29e0a3895ce43b95010003bc
2024-03-21 11:40:40 -07:00
Levi Burner af38845280 [Python Viewer] clear load error on successful reload, fixes #1116 2024-03-21 12:52:23 -04:00
Copybara-Service 67982c4961 Merge pull request #1509 from awesome-aj0123:camera-bug-fixes
PiperOrigin-RevId: 617864822
Change-Id: If8bca106ecf725f9a7103eb3e009af901d6495a4
2024-03-21 09:18:04 -07:00
Matthew Bennice 20c8e3e43b Implement basic USD test
PiperOrigin-RevId: 617302442
Change-Id: Ic598df9757288640b5f35c4e740958884b1b4698
2024-03-19 14:53:18 -07:00
Kevin Zakka c16a23d6c5 Fix typo in least squares notebook.
PiperOrigin-RevId: 616927630
Change-Id: I06f361a6ec55f37123bd9eced29111e1920b9dc7
2024-03-18 13:23:07 -07:00
Abhishek Joshi 7013c288bd bug fix for no camera; changed objid argument to obj_name 2024-03-14 09:02:34 -05:00
Yuval Tassa 40baa51072 Add tutorial notebook for mujoco.minimize module.
PiperOrigin-RevId: 615410341
Change-Id: If9748ab56fb04e5203024327e2422a3737d2aab8
2024-03-13 07:34:36 -07:00
Yuval Tassa e42f9c6490 Tweaks to basic tutorial notebook.
PiperOrigin-RevId: 615368113
Change-Id: I888b252c75a1f6253dc78494e8348d00e8283ed7
2024-03-13 04:42:45 -07:00
Yuval Tassa b61a09aa95 Delete redundant blank lines.
PiperOrigin-RevId: 615359482
Change-Id: If1f850d560938b0c8cf6dd13c83ed72d1faae4cc
2024-03-13 04:03:30 -07:00
Yuval Tassa 1fb3ab26f0 Tweaks to LQR tutorial notebook:
- Unify all imports in one cell.
- Make final motion more interesting by adding more noise to joints which are not critical to balancing.

PiperOrigin-RevId: 615100505
Change-Id: I8302e441b3ca52d5134c317a35f99c5f74bac36b
2024-03-12 10:52:34 -07:00
Meghha Dhoke 106453fa2b Updated version number to be (v3.1.4) ahead of current release (v3.1.3)
PiperOrigin-RevId: 613236845
Change-Id: I3ee759493f27cfa1e367c71e3e073b54738b73d4
2024-03-06 09:07:25 -08:00
Nimrod Gileadi a00f1b5f30 Tidy up Colab notebook files.
PiperOrigin-RevId: 613163325
Change-Id: Iec56375bb7631b8a3035f884b3aad6b54fb7b88b
2024-03-06 04:14:11 -08:00
Meghha Dhoke e2c14188ad Updated abseil for release version v3.1.3
PiperOrigin-RevId: 612939979
Change-Id: I0e5c5301d6d6f2139a71d8df95966124e584e14d
2024-03-05 12:57:23 -08:00
Copybara-Service 827cdfd7d5 Merge pull request #1413 from awesome-aj0123:usd-integration
PiperOrigin-RevId: 612933036
Change-Id: Ia29230b1d91508dbc8b1cf7c76ff48c17448bf89
2024-03-05 12:33:58 -08:00
Meghha Dhoke 7e87c6ac44 Updated Eigen3 hash in below files for Mujoco release version v3.1.3
- CMakeLists.txt
- MujocoDependencies.cmake

PiperOrigin-RevId: 612910476
Change-Id: I67ec8b4550abde82378a875809552fa10d4924cd
2024-03-05 11:26:16 -08:00
Copybara-Service 6b7d714291 Merge pull request #1450 from v-r-a:angmomMat
PiperOrigin-RevId: 612835207
Change-Id: I8e7b01cc433563556a3ae4bbdd0c53612cc15e97
2024-03-05 07:35:15 -08:00
Yuval Tassa 982760a63b Improve bindings for mjd_subQuat.
- Accept `None` for optional arguments.
- Accept 3x3 matrices for matrix arguments.

PiperOrigin-RevId: 611000820
Change-Id: Id28cdb2ae574f372ff251f94ab4557d9d2eaa80b
2024-02-27 23:55:19 -08:00
Abhishek Joshi e1531f6e15 removing usd import from __init__.py 2024-02-26 10:59:33 -06:00
Yuval Tassa 03a8fa9ca9 Improvements to minimize.least_squares:
- Added central differencing option.
- Changed `mu` semantics from log10 to actual values.
- `mu` control is now more aggressive, saves a few iterations.
- Use Armijo sufficient reduction criterion.
- Added some checks for float64 and NaNs.
- Added log of final result to trace.
- Removed unhelpful QP timing.

PiperOrigin-RevId: 610096950
Change-Id: Idf1a7c3155ce8e82fc2d5fe0f2da2f16636ff63d
2024-02-24 20:42:45 -08:00
Kyle Bayes 109f2d7119 Replace mj_makeEmptyFileVFS in Python bindings with mj_addBufferVFS.
PiperOrigin-RevId: 609383859
Change-Id: Ib23ee49e803630a2895a471e9a3ed8b33551cbb9
2024-02-22 08:36:42 -08:00
Abhishek Joshi 7ffd43b55c addressing PR comments 2024-02-21 10:18:13 -06:00
Abhishek Joshi f721d3900d Merge branch 'google-deepmind:main' into usd-integration 2024-02-21 07:03:55 -08:00
Saran Tunyasuvunakool abf6d41b7f Fix incorrect data types in Python bindings of certain arrays.
The mismatch between the `py::array_t` template argument and the type of the MuJoCo struct member being wrapped caused the `py::array_t` to be constructed via an unintended constructor overload, which in turn triggered `use-after-poison` under asan.

This bug affected the `geom`, `flex`, `elem`, and `vert` arrays in `mjContact`, and all array members in `mjrContext`.

PiperOrigin-RevId: 608632860
Change-Id: Ic227f691041b004a0fcf0cb6fa3d62c44861d9aa
2024-02-20 09:26:19 -08:00
Yuval Tassa b56d4bf8a5 Add mujoco.minimize module.
PiperOrigin-RevId: 608443678
Change-Id: Ib5dc78fe4523488b6c4e824f226591cf6a8a6216
2024-02-19 18:58:42 -08:00
Abhishek Joshi a50f002bed changing to exporter file name 2024-02-15 09:34:39 -06:00
Abhishek Joshi e7a493bcca changing name to exporter 2024-02-15 09:34:11 -06:00
Abhishek Joshi 18edadb975 Merge branch 'google-deepmind:main' into usd-integration 2024-02-12 06:04:57 -08:00
Meghha Dhoke f763254a00 Updating Mujoco Release version number to v3.1.3
PiperOrigin-RevId: 604459311
Change-Id: I766f704c28740cf751cb935bb48fb6954fccf024
2024-02-05 15:59:20 -08:00