Commit Graph

500 Commits

Author SHA1 Message Date
Kyle Bayes f1007df013 Implement hash map for mj_name2id using djb2 and linear probing.
PiperOrigin-RevId: 499485127
Change-Id: I5aed6549db18b92d7c8a3b7590e50a00ce13a439
2023-01-04 07:57:55 -08:00
Kyle Bayes 5261cceb30 Fix typo in engine_io.c.
PiperOrigin-RevId: 499422793
Change-Id: Ic3a0d6dcc9119041267555efd6a8addb944d6639
2023-01-04 01:35:28 -08:00
Yuval Tassa 4bc76c93ae Remove "name" attribute from plugin specifiers.
PiperOrigin-RevId: 499187319
Change-Id: I0755a071eb4eee917fdf32db49a47fd16afa58f9
2023-01-03 05:03:20 -08:00
Tom Erez 45184bfa55 Fix Typo.
PiperOrigin-RevId: 499185052
Change-Id: I159271a229c90f38836d607511459edbe1d501bb
2023-01-03 04:49:48 -08:00
Saran Tunyasuvunakool 5fe97403c9 Remove source building instructions from python/README.md.
Most users should be fine with just `pip install mujoco`, so it seems better to keep the installation section in the README succinct to prevent confusion.

Advanced users who need to build from source are referred to our documentation, which currently just duplicates the same information.

PiperOrigin-RevId: 499182819
Change-Id: I181fee93c3d2e05b0ca8462bb364f94cf1065517
2023-01-03 04:35:31 -08:00
Tom Erez 69739426f1 Use scalar Angle to compare quaternions.
The Vector4 comparator couldn't know that q==-q.

PiperOrigin-RevId: 498947861
Change-Id: Ife9efeb369c794eedbef80829e40057794a334ee
2023-01-01 20:01:48 -08:00
Kevin Zakka a173e01f42 Prevent division by zero in Ornstein–Uhlenbeck control noise.
PiperOrigin-RevId: 498753494
Change-Id: Ib43e165a4da524c12fab4ea05848b084b2e7713c
2022-12-31 10:29:03 -08:00
Tom Erez eb8389fead Find MjScene at OnEnable: ensure MuJoCo compilation happens only once at startup.
PiperOrigin-RevId: 498655077
Change-Id: Ibed8f36a880426063b7729fc66b15c67adcc9a65
2022-12-30 18:37:59 -08:00
Tom Erez f78ebeab96 Add post-compile and pre-destroy events to MjScene.
PiperOrigin-RevId: 498516529
Change-Id: I52dbf135e3260ca2999069bcb9f9b9ad648595d2
2022-12-29 22:43:11 -08:00
Yuval Tassa 95b9a0f215 Fix typo, improve error message.
PiperOrigin-RevId: 498473694
Change-Id: I9b04df14f4afbe7148c3083da26451020bd2ebc9
2022-12-29 17:15:10 -08:00
Yuval Tassa 68ffbffc53 Fix typo.
PiperOrigin-RevId: 497330766
Change-Id: Ie8ce4968407498ca4398995734e7868b7af72c6f
2022-12-23 02:00:33 -08:00
Tom Erez 6a58fd1522 Clean-up test files.
Also, don't add a Global Settings component at import if the xml doesn't have any global settings (option/size/custom).

PiperOrigin-RevId: 495950899
Change-Id: I6599e8ea3f3a82729fc5c974fd7ced8eb93b277e
2022-12-16 13:39:28 -08:00
Yuval Tassa 69c74f850e Hierarchical restructuring of docs Programming chapter
PiperOrigin-RevId: 495941670
Change-Id: I7f92d90fd58b9e22b59c54861277be60cb43323d
2022-12-16 12:56:47 -08:00
Copybara-Service 4d91866e98 Merge pull request #652 from Balint-H:fix/unity-scene-tranisition
PiperOrigin-RevId: 495876985
Change-Id: I9880aa6bd2fc696509e518449a35a69457d92ba4
2022-12-16 08:13:03 -08:00
Saran Tunyasuvunakool 725b45b577 Internal Python bindings cleanup.
PiperOrigin-RevId: 495868304
Change-Id: Ib9cfe5f7a1d49126659176207bd6b4a314f8516a
2022-12-16 07:22:48 -08:00
Tom Erez 189349f421 Don't add an empty "user" attribute to user sensors.
This fixes the broken TAP tests.

PiperOrigin-RevId: 495867491
Change-Id: I740651ed0dd8d1c84053a48f3fca577b6024bf95
2022-12-16 07:17:42 -08:00
Tom Erez f70403d00a Add support for global custom numeric fields.
PiperOrigin-RevId: 495865065
Change-Id: I59ed65e84a0bcaa90220b938ed34fdc26165aa09
2022-12-16 07:03:31 -08:00
Copybara-Service 516d13d678 Merge pull request #657 from Balint-H:fix/spring-import-units
PiperOrigin-RevId: 495845558
Change-Id: I391a89403b8e5be170ddefe36d29dbd916970995
2022-12-16 05:00:07 -08:00
Saran Tunyasuvunakool 58b623ae5c Update README badge URL.
https://github.com/badges/shields/issues/8671

PiperOrigin-RevId: 495835738
Change-Id: I92199979b30b3f5ba90c5da82faf3bcb0967f461
2022-12-16 03:57:48 -08:00
Bálint Hodossy a0ab1940bf Fix ignored units of springref 2022-12-15 15:36:14 +00:00
Tom Erez e95b0c0eaf Add anchor support for connect constraint components.
Fixes #647

PiperOrigin-RevId: 495587232
Change-Id: I528a69dabbc1ac9a12f9ab7c16716e3d69c635e2
2022-12-15 07:25:59 -08:00
Kevin Zakka bc02c2455e Sensor plugin parsing: Ensure sensor reftype is only assigned if a value in the XML exists.
PiperOrigin-RevId: 495314131
Change-Id: I5f955c435474de1dd1d75f7a7492e3a21ea9d289
2022-12-14 07:57:29 -08:00
Bálint Hodossy aec125fb4e Check whether MjScene exists in components' OnDisable() 2022-12-14 13:38:36 +00:00
Saran Tunyasuvunakool 05216f183c Fix broken test on MSVC.
Test was broken by 2e6af64b31.

PiperOrigin-RevId: 495196716
Change-Id: I0402b05da2778c54c2761efe5d9977fd091cddd6
2022-12-13 20:22:50 -08:00
Yuval Tassa 30b4309af9 Rename mjpPlugin.capabilities -> mjpPlugin.capabilityflags
PiperOrigin-RevId: 495080532
Change-Id: I81743472b816a331890a7cb05bfb7a89ebf07ff9
2022-12-13 11:33:27 -08:00
Saran Tunyasuvunakool 5c021d042b Modify signature of plugin reset callback.
The `reset` function is called inside `mj_resetData`, before any physics forwarding call has been made. It is therefore an error to read anything from mjData at this stage.

The only valid operation on mjData during `reset` is for a plugin to write into its own state variable slots and data struct. We modify the function signature to only provide access to these.

PiperOrigin-RevId: 495032492
Change-Id: Ic6d2967d2571a9083cbca1ba239ca70a8a51f474
2022-12-13 08:41:35 -08:00
Saran Tunyasuvunakool 2e6af64b31 Change mj_versionString test to not rely on a golden value.
PiperOrigin-RevId: 495026376
Change-Id: I378d2cff1edfe4d49c1bd7c131d92502d0a6b5b2
2022-12-13 08:16:55 -08:00
Saran Tunyasuvunakool 093125c2bd Fix incorrect plugin error message during model compilation.
PiperOrigin-RevId: 495023028
Change-Id: Iec0fa213235793c1b96409d86b9e2af1055404b2
2022-12-13 08:03:36 -08:00
Alessio Quaglino 3de2873883 Add deprecation warning for the Rope Composite type.
PiperOrigin-RevId: 494985209
Change-Id: I6ce7ca2aeae6f1e798bd4bda9b755852add26a36
2022-12-13 04:35:48 -08:00
Nimrod Gileadi 7076da6909 Correctly validate the size of user sensors in mj_validateReference.
PiperOrigin-RevId: 494877162
Change-Id: I0a070d7813efea6216d15270f62b6009c55e1a54
2022-12-12 17:49:06 -08:00
Tom Erez 21f10ce1b6 Add user sensor bindings.
Stop force-setting nusersensor, instead allow MuJoCo to infer the size.

PiperOrigin-RevId: 494783883
Change-Id: Ia2a1b1803b2904f2dded7b790d01eb6f1920dbaf
2022-12-12 11:43:00 -08:00
Tom Erez 7a248a8bde Rename bindings file for consistency.
PiperOrigin-RevId: 494779230
Change-Id: I693a0e389febc51276bde565bbbfc87c241f15e0
2022-12-12 11:24:12 -08:00
Saran Tunyasuvunakool 946c12faae Add missing semicolons after mjFREESTACK.
The code is already well-formed since the macro itself contains a semicolon, however this is stylistically inconsistent with the rest of the codebase. The missing semicolon is also problematic for automated code transformations.

PiperOrigin-RevId: 494734527
Change-Id: I9aef5844c8c3cce6eefea8f8bf13a4ab3dd79878
2022-12-12 08:22:37 -08:00
Copybara-Service 63d1c0ccea Merge pull request #634 from Balint-H:fix/unity-bindings-meta
PiperOrigin-RevId: 494391719
Change-Id: I22e16ab38d6d81565d96814a67f93cd334678d7b
2022-12-10 07:18:36 -08:00
Saran Tunyasuvunakool e9869d3bf3 Add a missing TM_END call when mj_fwdConstraint returns early.
PiperOrigin-RevId: 494375187
Change-Id: I013b6cdac06350a6c563fb686df9104dfb7258dd
2022-12-10 04:13:58 -08:00
Copybara-Service b9f7e400f7 Merge pull request #638 from cool-RR:patch-1
PiperOrigin-RevId: 494142429
Change-Id: Ic279ab235b5c8dd0fb467495ee8136b7fcab56c4
2022-12-09 05:01:11 -08:00
Copybara-Service 320a342162 Merge pull request #632 from LocutusOfBorg:patch-1
PiperOrigin-RevId: 494141201
Change-Id: I20777ddd0102eab4f90157ac764c1fa15d27acac
2022-12-09 04:53:06 -08:00
Copybara-Service 3a00e025ce Merge pull request #619 from traversaro:fixpypytests
PiperOrigin-RevId: 494129535
Change-Id: I301cb505a224eaa26df4896924d36c623b1a4a26
2022-12-09 03:39:22 -08:00
Copybara-Service 064d9f9707 Merge pull request #629 from kevinzakka:github-action-change
PiperOrigin-RevId: 494105265
Change-Id: Idaad9a69ba54b280e34fbebe4e47497ba822137c
2022-12-09 01:04:18 -08:00
Nimrod Gileadi 91455b3e1e Add a naive test of mujoco.viewer.
It just tries to import mujoco.viewer and sees that nothing crashes.

PiperOrigin-RevId: 493998120
Change-Id: I56ee696283a3c28f6c8b72de45c8fdbedb41b05f
2022-12-08 14:35:20 -08:00
Gianfranco Costamagna 0b33fd9eaa sed s/atomic_bool/atomic_int/g -i simulate/simulate.h
Change atomic_bool to atomic_int to make sure that the compiler will try the best to
generate machine code, instead of relying on an external atomic library
2022-12-08 21:24:00 +01:00
Ram Rachum 0b0002c8c6 Fix exception causes in introspect/type_parsing.py 2022-12-08 19:50:39 +02:00
Kevin Zakka 29a8c69825 Undo doc permalink change.
PiperOrigin-RevId: 493858259
Change-Id: I7467fd4b405fa71cd47f0beab6b654e0c74b51da
2022-12-08 04:33:12 -08:00
Silvio Traversaro bfe1017fc8 Skip tests that cannot run on PyPy 2022-12-07 19:19:21 +01:00
Alessio Quaglino b712e0757e Define kNumEdges and kNumVerts constants in Solid plugin.
PiperOrigin-RevId: 493587525
Change-Id: Ifa82211a4dfc3b288825b0961c48fc679aae204c
2022-12-07 06:30:40 -08:00
Kyle Bayes 7baee096a5 Update references.h for docs.
PiperOrigin-RevId: 493571258
Change-Id: Ie2c5f2a16116e8a056e69aed3adbed9b891c4eea
2022-12-07 04:52:06 -08:00
Bálint Hodossy ae2a8a4247 Add .meta file to Bindings folder 2022-12-07 11:44:44 +00:00
Copybara-Service bebfcad685 Merge pull request #628 from Balint-H:feature/unity-mesh-import
PiperOrigin-RevId: 493556582
Change-Id: I26bac07a8fc996043ec478d0ec0c5b56fe447e50
2022-12-07 03:18:38 -08:00
Kevin Zakka d7e082ae96 Testing doc change. 2022-12-06 18:15:10 +00:00
Alessio Quaglino 2d304d65e5 Use memcmp for mju_compare if no AVX. 15% faster on Humanoid.
PiperOrigin-RevId: 493324356
Change-Id: I5f71dc1a8ae40c18864ea80f00a5f86ff952f72c
2022-12-06 09:14:33 -08:00