Alessio Quaglino
7d8d4d398e
Make elasticity plugins compatible with flex pins. Fixes #1235 .
...
Before change:
poncho 18.20s
poncho_flex 44.60s
floppy 4.70s
floppy_flex 6.43s
After change:
poncho 18.23s
poncho_flex 44.62s
floppy 4.67s
floppy_flex 6.57s
PiperOrigin-RevId: 585952587
Change-Id: I0e7c1513f64c7ab1e6ad71e2168b4467c042b46f
2023-11-28 06:13:43 -08:00
Alessio Quaglino
7cb84d45c1
Prevent integer overflow in history buffer for large models.
...
PiperOrigin-RevId: 585949038
Change-Id: Iabec5feedd1632b635583a608a5488b39e6bb9a2
2023-11-28 06:04:00 -08:00
Yuval Tassa
51d80564fa
Don't initialize plugins during model compilation.
...
PiperOrigin-RevId: 585701389
Change-Id: I4e5e34276f404abadf6f5d4d9764ca717304ee34
2023-11-27 11:01:08 -08:00
Nimrod Gileadi
6412c95a37
Remove the use of plugin_state from PID plugin.
...
The plugin was storing a boolean to indicate whether the previous ctrl value was set in `act`. Use d->time == 0 instead.
PiperOrigin-RevId: 585692686
Change-Id: I95335cebdb5716bd6fad81f463a4f248406c80ec
2023-11-27 10:32:07 -08:00
Baruch Tabanpour
35c90844ae
Add sites to MJX.
...
PiperOrigin-RevId: 585691582
Change-Id: I6cc594daf436231f91534f137ff259e7b39811d9
2023-11-27 10:28:50 -08:00
Yuval Tassa
37bb03f435
Move humanoid geoms to group 1
...
PiperOrigin-RevId: 585632746
Change-Id: I832804b9c0d090506c3b4ed5c0eeeb5e4cae412a
2023-11-27 06:23:54 -08:00
Yuval Tassa
21334ea704
Delete local frame members from MJC objects.
...
PiperOrigin-RevId: 585629699
Change-Id: I12dbd235dee49223fa7b1a097f04561da69550a0
2023-11-27 06:07:53 -08:00
Yuval Tassa
ca046cbf64
Fix rendering bug in changelog.
...
PiperOrigin-RevId: 585627863
Change-Id: I238b9d7eb13dbc8660f15f45efe6a84ccbb84c66
2023-11-27 05:59:53 -08:00
Yuval Tassa
25ddb3e6e8
simulate: Add states to history when stepping with right arrow key.
...
PiperOrigin-RevId: 585613870
Change-Id: I7fb051946e8a91a900442e3d7048dfa8b8bd7c5c
2023-11-27 04:45:51 -08:00
Alessio Quaglino
eb9568a48b
Add frame element to MJCF.
...
PiperOrigin-RevId: 585598244
Change-Id: I4c06be3dd586dab5a4458f05faaf1e7f2b615458
2023-11-27 03:32:18 -08:00
Alessio Quaglino
8010aad7be
Add flex_elemlayer to mjvSceneState. Fixes #1193 and #1219 .
...
PiperOrigin-RevId: 585581657
Change-Id: Iec4da74437544184c19765a2feee1cca4c368d34
2023-11-27 02:25:05 -08:00
Kevin Zakka
e33adaca9c
Fix typos in mju_boxQP documentation.
...
PiperOrigin-RevId: 585462325
Change-Id: Ib1c15c3d5af8475ec1a62b50c66b729579a23e60
2023-11-26 11:23:52 -08:00
Nimrod Gileadi
002b427a32
PID Controller as an actuator plugin.
...
Implement a configurable PID controller.
PiperOrigin-RevId: 585282014
Change-Id: I2d884554629101a0a25b5e0979ffb1ff8ed9cab4
2023-11-25 08:41:01 -08:00
Alessio Quaglino
d070b1893e
Improved SDF objective function.
...
For two colliding SDFs `A` and `B`, the function is `(A+B)+abs(max(A,B))`. This can also be written as `clearance + abs(intersection)`. This function has the following properties:
- On the penetrating surface, it is equal to `A+B`, i.e. the clearance field which is the penetration depth.
- The object boundary is a set of local minima in 3D space, since `abs(max(A, B))>0` away from the surface.
- Along the penetrating surface, the maximum penetration is a local minimum of the clearance since this field is orthogonal to the midsurface field `A-B`, which acts as a support plane for the contact.
[Level sets of the improved function for two colliding circles](https://www.wolframalpha.com/input?i=plot+sqrt%28x%5E2%2By%5E2%29-1+%2B+sqrt%28%28x-1%29%5E2%2B%28y-1%29%5E2%29-1+%2B+max%28max%28sqrt%28x%5E2%2By%5E2%29-1%2C+sqrt%28%28x-1%29%5E2%2B%28y-1%29%5E2%29-1%29%2C+0%29+-+min%28max%28sqrt%28x%5E2%2By%5E2%29-1%2C+sqrt%28%28x-1%29%5E2%2B%28y-1%29%5E2%29-1%29%2C+0%29+ ).
PiperOrigin-RevId: 585106580
Change-Id: I5b18a1ef262ceb0a1ab8abcad8acfd6dc1992e2c
2023-11-24 09:07:17 -08:00
Yuval Tassa
6a83b86553
Update M1 Pro with M3 Max benchmarks in MJX docs
...
PiperOrigin-RevId: 584918133
Change-Id: I442972cdc1f19020e6b5bbc7ff3e98fd556cf125
2023-11-23 10:46:54 -08:00
Nimrod Gileadi
f2025c6abf
Allow plugin actuators to have activation state.
...
Accept new attributes on the plugin/actuator tag:
- dyntype
- dynprm
- actlimited
- actrange
- actearly
This addresses some of the requests in #1098 .
PiperOrigin-RevId: 584866281
Change-Id: I4f7559e446888216093efba4ced9119cfc0528a4
2023-11-23 05:14:03 -08:00
Copybara-Service
20eeb75086
Merge pull request #1187 from tmplt:ref/cmake-system-pybind
...
PiperOrigin-RevId: 584560576
Change-Id: I1c16fbf80e3ba7175cf4d1d89a459e817100e1f8
2023-11-22 02:20:02 -08:00
Yuval Tassa
b41f6d0942
Correct documentation of eulerseq attribute w.r.t URDF conventions.
...
PiperOrigin-RevId: 584394256
Change-Id: I0afcb6ced81b98898988cc66f46742175a9a55c5
2023-11-21 12:11:05 -08:00
Yuval Tassa
2bc2bc902f
Clarify that the contact disable flag also disables collision detection.
...
PiperOrigin-RevId: 584300974
Change-Id: I740fd6833b2ea1b77bdb70dc210a1bd1f7eb6f17
2023-11-21 05:57:51 -08:00
Yuval Tassa
cd56a41f83
Fix bug in Cartesian actuation with movable refsite.
...
PiperOrigin-RevId: 584035818
Change-Id: I005f6bbbe02f8b36d287ecada0406a6ae4d720ba
2023-11-20 08:37:29 -08:00
Alessio Quaglino
8ca51b5318
Backtracking line search for SDF collisions.
...
Increased tolerance above zero in nutbolt.xml since now the two parts lock otherwise. Measured speedup of 2x in this example.
This solves the issue of scale-dependent step sizes. Tested on gears with 10cm diameter and 2cm thickness.
PiperOrigin-RevId: 584009449
Change-Id: Ied2f62dbbbc592470b91cf910f3553802a57c752
2023-11-20 06:33:01 -08:00
Viktor Sonesten
0ea316ed71
cmake: support system-wide pybind11
...
Original behavior remains.
2023-11-20 14:43:46 +01:00
Alessio Quaglino
dbf44fe2b4
New SDF objective function.
...
This solves the jittery behavior observed with the gear example in the case of small applied torques (~0.5).
The new quadratic option has the form max(A, 0)^2/2 + max(B, 0)^2/2 - min(A, 0)*min(B, 0). This function has a minimum in the intersections of two SDFs A and B, while avoiding the flat areas which would be generated if only the clearance field A+B were employed. See for example [the function resulting from two colliding circles](https://www.wolframalpha.com/input?i=minimize+max%28sqrt%28x%5E2%2By%5E2%29-1%2C0%29%5E2+%2B+max%28sqrt%28%28x-1%29%5E2%2B%28y-1%29%5E2%29-1%2C0%29%5E2+-+2*min%28sqrt%28x%5E2%2By%5E2%29-1%2C0%29*min%28sqrt%28%28x-1%29%5E2%2B%28y-1%29%5E2%29-1%2C0%29 )
PiperOrigin-RevId: 583992855
Change-Id: I135a1b5931cd136d7d33cc275f8d361a8b7e290c
2023-11-20 05:06:33 -08:00
Yuval Tassa
98082ae7f9
Add description of eq_active state variable to documentation. Fixes #1208 .
...
PiperOrigin-RevId: 583712793
Change-Id: I6f4adca5692fd181bb8f6c0f34ae09a756a84fc1
2023-11-18 20:06:33 -08:00
Matthew Bennice
d3eee0316c
Small changes to Kuka IIWA7 Biarm
...
PiperOrigin-RevId: 583412101
Change-Id: Icee1c5f1f2a9354425d8f6c311322903e1e0af83
2023-11-17 09:37:26 -08:00
Copybara-Service
b03d312cbf
Merge pull request #1205 from Balint-H:fix/memory-default
...
PiperOrigin-RevId: 583393024
Change-Id: Ia553d67ddf5c94e482a453bd9f6f23aa3be04b9d
2023-11-17 08:19:01 -08:00
Bálint Hodossy
4fb1787a3b
Use default value of memory option if not present in imported XML
2023-11-17 12:46:55 +00: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
23cdfef7fe
Update C++ dependency versions.
...
PiperOrigin-RevId: 583105482
Change-Id: Ieeffd477a3b3baafd1d7f622881c81944298d233
2023-11-16 11:15:01 -08:00
Yuval Tassa
8693e0bba5
Stop actuator group disable from mistakenly binding to the number keys (should toggle geom groups, not actuators).
...
PiperOrigin-RevId: 583038620
Change-Id: Ibf339aed339b7ad862f61ac72298f43e717e3973
2023-11-16 07:34:58 -08:00
Yuval Tassa
530058cadb
Clarify support for muscles/tendons in future MJX. Add details to the large scene benchmark.
...
PiperOrigin-RevId: 583018058
Change-Id: I3d93a73b4bd71ade1ecf28b8cff9a114259e71e1
2023-11-16 06:10:34 -08:00
Alessio Quaglino
4014196c6c
Add pin to flex golden data.
...
Also reduce slightly the resolution of the models to make comparing golden data more readable.
PiperOrigin-RevId: 582990641
Change-Id: I4f935a4ce316c70f4b1641e1c0f2fe49f801b32c
2023-11-16 04:14:58 -08:00
Tom Erez
9952f1708c
Remove collision option from Unity plug-in GUI.
...
PiperOrigin-RevId: 582978831
Change-Id: I97275438c730655a9c942526fa410bf006189968
2023-11-16 03:24:05 -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
Yuval Tassa
8d5966eec9
Update changelog for 3.0.1 release.
...
PiperOrigin-RevId: 582705280
Change-Id: I6d2a8df7bccfa2ecb76b7ef3ef8d5a7377927589
2023-11-15 09:30:35 -08:00
Yuval Tassa
2d2b6ecf93
Fix formatting bugs in XMLreference doc page.
...
PiperOrigin-RevId: 582661350
Change-Id: I85a67b1286e9d70dc253e541d95fdfc58ce8f451
2023-11-15 07:00:37 -08:00
Alessio Quaglino
e3b3f96373
Add flex_texcoordadr to mjvSceneState. Fixes #1193 .
...
PiperOrigin-RevId: 582630943
Change-Id: I113b135752268773e0afafe004b8f27c1e96ffc7
2023-11-15 05:02:05 -08:00
Yuval Tassa
7051ab99e0
Enable keyframe loading and saving in passive viewer. Fixes #1175
...
PiperOrigin-RevId: 582332757
Change-Id: Iff23359e670906c0e88a2d34273c493bc8cbe2af
2023-11-14 08:38:04 -08:00
Alessio Quaglino
f5285e0b23
Add flex to dm_control schema.
...
PiperOrigin-RevId: 582323853
Change-Id: I4ce25bf29d0a883bca286954a14c4a07a500f145
2023-11-14 08:05:29 -08:00
Alessio Quaglino
ffca553f64
Do not use the inertia box for volume computation.
...
PiperOrigin-RevId: 582319067
Change-Id: I347d820f48faab15b609bcfc8295b07bd2d0f7ed
2023-11-14 07:46:33 -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
Nimrod Gileadi
97ad543051
Test-only change: Don't update actuator_force in Advance in TestActuator.
...
Actuators update actuator_force in compute and not in advance.
PiperOrigin-RevId: 581985081
Change-Id: I013d6c4f0888ee8e25df15a6f58c9e3412d33ceb
2023-11-13 09:11:42 -08:00
Nimrod Gileadi
f1bf394415
Add missing commas in attribute lists in XML reference.
...
PiperOrigin-RevId: 581984255
Change-Id: Ie834a9578357bba68839d5172892cd9d6329122e
2023-11-13 09:08:43 -08:00
Alessio Quaglino
9ae40e718e
Define mj_multiRay bindings explicitly.
...
Fixes #1184 .
PiperOrigin-RevId: 581956413
Change-Id: I6c611ac7537442a65e6961430ec724326ee6095a
2023-11-13 07:31:22 -08:00
Erik Frey
d0cabcf7db
Only apply torquescale once, when setting efc_pos.
...
PiperOrigin-RevId: 580694671
Change-Id: Ic0e2ee773d65d4fd92f4b4102cdfdd040516680a
2023-11-08 16:15:36 -08:00
Saran Tunyasuvunakool
cdf55e2ae9
Do not override search bar text color when data-theme="auto" in light mode.
...
PiperOrigin-RevId: 580546595
Change-Id: If39cd937e9288c860b8b713911f0ef5114aee5f5
2023-11-08 08:46:08 -08:00
Yuval Tassa
57e6940f57
Prevent division by zero in testspeed. This can happen when parts of the pipeline are disabled.
...
PiperOrigin-RevId: 580208528
Change-Id: Ia5971ea9f15e0b19896392e86a65592357b2df61
2023-11-07 09:38:30 -08:00
Saran Tunyasuvunakool
7207b60b5a
Place untrusted data from the git commit metadata in environment variables.
...
This prevents bash from executing strings in the commit metadata as code when reporting build errors.
PiperOrigin-RevId: 580155315
Change-Id: I4046eabd76eba14297fffe4e2fced59259d80f21
2023-11-07 06:14:17 -08:00
Yuval Tassa
1881c2d881
Improve sorting of samples in documentation.
...
PiperOrigin-RevId: 579847239
Change-Id: I392cd87b9a3e5616fcb10657db4ac81a38e430ed
2023-11-06 08:12:24 -08:00
Yuval Tassa
8a5e2b19a8
Improve mjContact documentation. Fixes #1136
...
PiperOrigin-RevId: 579836970
Change-Id: Ife8dd73eecdbdaacecc1e48460cf6efcf4f7b487
2023-11-06 07:28:51 -08:00