Yuval Tassa
7942fe957e
Circumvent bug in mjc_BoxBox.
...
The box-box collider sometimes outputs bad contact points which are far outside one of the two boxes. This happens at configurations which are very rare numerically, but rare configurations (e.g. perfect box alignment) are often induced by the designer and the physics, making them actually not-so-rare.
Since the box collision functions are very difficult to understand, we circumvent the issue by extending the post processing code to detect and remove such contacts.
PiperOrigin-RevId: 589178197
Change-Id: I82b8a888ef04f9196111c960757e3314d0ab6d8e
2023-12-08 10:39:27 -08:00
Yuval Tassa
b1a912e9e2
Improve readability of test.
...
PiperOrigin-RevId: 589048504
Change-Id: I5087cfd67481df90103da2d7f5f06e421fc28e11
2023-12-08 01:18:59 -08:00
Alessio Quaglino
1db0a9946f
Fix frame accumulation order for <frame> meta-element.
...
PiperOrigin-RevId: 588803425
Change-Id: Id0289c34d1a6cfb6007540a29cc1f32d879e43ed
2023-12-07 08:37:20 -08:00
Alessio Quaglino
d12fe594d9
Add suffix to duplicated assets.
...
PiperOrigin-RevId: 588775467
Change-Id: I3a0d2a14601cf018b0c8c56728bd3ae22adb8ec2
2023-12-07 06:46:51 -08:00
Yuval Tassa
762371c3e4
Add kv damping attribute to position and intvelocity actuator shortcuts.
...
PiperOrigin-RevId: 588377097
Change-Id: I8ded2ff982e52ed8673019979e29b706ef65c743
2023-12-06 04:28:30 -08:00
Nimrod Gileadi
c062a8db19
Allow multiple actuators to use the same PID plugin.
...
Maintain separate state for each actuator in the Plugin object.
PiperOrigin-RevId: 587760569
Change-Id: I633a1b94f0dde9377120145066a26aef6a4033b8
2023-12-04 10:08:07 -08:00
Nimrod Gileadi
236dcb4ffd
Fix a bug with PID actuators, when plugin definition order differs from actuator order.
...
PiperOrigin-RevId: 587729879
Change-Id: If71c7e374f36ef08c5147e7316066d6f5365925f
2023-12-04 08:31:45 -08:00
Matthew Bennice
c0b7b9873d
Store paths for hfields, textures, and skins similar to meshes.
...
PiperOrigin-RevId: 587283093
Change-Id: Ie6d8d2ecb185697a27d1b6f7fca1312df006af12
2023-12-02 03:51:25 -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
Alessio Quaglino
eb9568a48b
Add frame element to MJCF.
...
PiperOrigin-RevId: 585598244
Change-Id: I4c06be3dd586dab5a4458f05faaf1e7f2b615458
2023-11-27 03:32:18 -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
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
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
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
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
Alessio Quaglino
9ae40e718e
Define mj_multiRay bindings explicitly.
...
Fixes #1184 .
PiperOrigin-RevId: 581956413
Change-Id: I6c611ac7537442a65e6961430ec724326ee6095a
2023-11-13 07:31:22 -08:00
Yuval Tassa
893c404230
Runtime disabling of actuators according to group.
...
Added `option-actuatorgroupdisable` attribute and associated `mjOption.disableactuator` integer bitfield, used to disable sets of actuators at runtime according to their group.
- The first 6 actuator groups are toggleable in the `simulate` viewer.
- Minor refactor and cleanup of actuator documentation.
https://youtu.be/H9qG9Zf2W44
Fixes #1092 .
PiperOrigin-RevId: 578335600
Change-Id: I4cf663b90ea768e4380acfa2fe3b8c15c7cbb568
2023-10-31 16:24:38 -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
Nimrod Gileadi
f8c5ad2ba8
Check for errors when calling std::stod in XML loading.
...
PiperOrigin-RevId: 576608985
Change-Id: I148ca67d8960d73c281df2d6f2440d47940a6369
2023-10-25 12:26:43 -07:00
Alessio Quaglino
034bb62986
Add cam_intrinsic to mjvSceneState.
...
Add `frustum.xml` to engine_vis_state_test models.
Fixes #1115 .
PiperOrigin-RevId: 576567292
Change-Id: I642c32a87427507580046d2d260263c689d50c99
2023-10-25 10:17:42 -07:00
Alessio Quaglino
1a47a97040
Disable shadows for geoms of category mjCAT_DECOR. Fixes #1114 .
...
Added `frustum` to `rgba` and `scale` in the `visual` section.
PiperOrigin-RevId: 576547599
Change-Id: I69bf528680e3d4a59d6e04f6db99a6d345001d1d
2023-10-25 09:08:20 -07:00
Alessio Quaglino
83515446b6
Add missing models to all_models and all_test_models.
...
PiperOrigin-RevId: 574491634
Change-Id: I943043b21056d7f22dd1c50454deee3f49e7eac0
2023-10-18 08:59:54 -07:00
Yuval Tassa
3c6b573f78
Add flex model to test/testdata
...
PiperOrigin-RevId: 574431067
Change-Id: Ide06b145afeca5df80acfc05e290e7bc54786a8e
2023-10-18 04:11:46 -07:00
Nimrod Gileadi
393cfec1e8
Don't use PluginTest as the fixture name in xml_native_writer_test
...
PiperOrigin-RevId: 574129298
Change-Id: I8c3e10bf271d54cb414b8d2af3724d8c81b6fc80
2023-10-17 06:32:37 -07:00
Alessio Quaglino
d67b8c6251
Add membrane plugin (2D Flex elastic stiffness).
...
PiperOrigin-RevId: 574109411
Change-Id: I4a701d8189cecf540cd200bd30cb4582f3c7dd43
2023-10-17 04:55:33 -07:00
Alessio Quaglino
110ade1435
Update Solid and Shell plugins to use FlexComp.
...
PiperOrigin-RevId: 573755821
Change-Id: I3b8d7fb27f0e940038fa9fd2b26ecc746df4f7ac
2023-10-16 03:03:06 -07:00
Yuval Tassa
d88675a034
Change the default of <compiler autolimits> from "false" to "true".
...
PiperOrigin-RevId: 573184793
Change-Id: I24075a8d953d0a3c3ddf65c67e1e18075cd029b6
2023-10-13 05:05:24 -07:00
Yuval Tassa
493ae95d69
Add stack leak test to WriteReadCompare
...
PiperOrigin-RevId: 572953669
Change-Id: Id6cad3fc86777d68f218119f67c9dc473bdcfcc8
2023-10-12 10:53:24 -07:00
Alessio Quaglino
6f8128dc6a
Fix benchmark label for plugin flag test.
...
PiperOrigin-RevId: 572891541
Change-Id: I442e31f7e4164789759be0d2c71275fdb1398955
2023-10-12 06:53:38 -07:00
Alessio Quaglino
5a70ad08ab
Add Flex component.
...
PiperOrigin-RevId: 572830650
Change-Id: I6908228087b7b9683be3506c8d9cdc725ed5dcd5
2023-10-12 10:49:35 +01:00
Matthew Bennice
2842245ca9
Multithread parallelizable operations in mj_fwdPosition
...
PiperOrigin-RevId: 572576240
Change-Id: I70eb518385366a0027c5dad44ac15e3904d1b4a3
2023-10-11 08:01:53 -07:00
Nimrod Gileadi
cd06629a92
Give the test fixture a local name in elasticity_test.
...
PiperOrigin-RevId: 571900967
Change-Id: Ie9bfea00dff1f9068f7fb3bf426dcbf6bfd6b4d2
2023-10-09 04:35:00 -07:00
Alessio Quaglino
77d0400733
Accelerate inertia computation for simple bodies.
...
PiperOrigin-RevId: 571411319
Change-Id: I82732e95795cc0f0645f8273a1b084f2a9187a75
2023-10-06 12:51:14 -07:00
Matthew Bennice
071af3b015
Implement threading for island constraint solving.
...
Humanoids22 No threads:
Benchmark Execution Time: 9.475905812s
Humanoids22 with 10 Threads:
Benchmark Execution Time: 4.871352s
PiperOrigin-RevId: 571214307
Change-Id: I1f4f2c761b4ae6bc8fac1f28c6c695f6c499f339
2023-10-05 21:05:19 -07:00
Yuval Tassa
22fab04c02
Add keyframe to golden data test model, start simulation from that keyframe.
...
0. Keyframe was generated by simulating passively for 64 timesteps and then saving from `simulate`.
1. This makes forward.data much more informative. There are more contacts, velocities are not 0.
2. Added non-zero controls to forward.data.
3. 70 timesteps is a lot to integrate, things can change a lot. Since we now start at time = 0.128 = after 64 steps of passive simulation, we continue to integrate for only 6 timesteps.
PiperOrigin-RevId: 570966233
Change-Id: I9538aa44619393ff05ed8c3177e73993e222150a
2023-10-05 03:52:57 -07:00
Yuval Tassa
ee78b8f76b
Added mjData.eq_active user input variable, for enabling/disabling the state of equality constraints.
...
Renamed `mjModel.eq_active` to `mjModel.eq_active0`, which now has the semantic of "initial value of `mjData.eq_active`".
Fixes #876 .
PiperOrigin-RevId: 570410643
Change-Id: Id03171e751377c7cc453f143abee64239ee2e2ed
2023-10-03 09:32:24 -07:00
Alessio Quaglino
36d2ffe4f2
Specify camera parameters using standard robotics conventions.
...
PiperOrigin-RevId: 569147555
Change-Id: I3443f95e5de56a17024f5e5c03f33888dd583edb
2023-09-28 05:19:19 -07:00
Saran Tunyasuvunakool
8ed321d469
Rename mesh_assetpathadr to mesh_pathadr and move it to the end of the mesh section.
...
PiperOrigin-RevId: 568911603
Change-Id: I8f21c3d1cc9c73b6a95292a50f262b1a199d0898
2023-09-27 11:32:10 -07:00
Matthew Bennice
0dfeedb320
fix open source build failure by switching C's _Alignof for C++'s alignof
...
PiperOrigin-RevId: 568400917
Change-Id: I90eff5e149d491f181370d72e43fdee9d4a3a20e
2023-09-25 20:43:59 -07:00
Matthew Bennice
ff4158efff
Modify memory allocation in MuJoCo to be thread safe:
...
1) protect mj_arenaAllocBytes with mutexes
2) create shards for each thread in the stack and update mj_stackAllocBytes to allocate memory within each shard for a given thread
PiperOrigin-RevId: 568315726
Change-Id: I0dee6694f2a5200fa4df22ade0e68dfaebf637fc
2023-09-25 13:53:28 -07:00
Alessio Quaglino
d3d46e16a4
Remove cloth and rope composites and deprecate loop.
...
PiperOrigin-RevId: 568168329
Change-Id: Ida4a5236bef74828c7bf59affdc28adea3db53b1
2023-09-25 03:38:43 -07:00
Matthew Bennice
7f8018a3f3
Update XML parsing to store asset path so that assets can be recovered and sent to external renderers
...
PiperOrigin-RevId: 567347908
Change-Id: I4d8e1abe35be3a67643ff925af709921280856f8
2023-09-21 10:27:52 -07:00
Alessio Quaglino
dd5a7115cf
Add shell plugin.
...
- Add bending passive force
- Add two examples (plate and poncho)
- Add stretching constraints for particles using tendons on mesh edges
PiperOrigin-RevId: 566980584
Change-Id: Id0cd8e1084c05560f1008518a8afbd5311d563e2
2023-09-20 09:00:20 -07:00
Yuval Tassa
9cf1f6eba4
Remove mjOption.collision and associated option/collision attribute.
...
PiperOrigin-RevId: 566427090
Change-Id: I6e5873b8db707586820b17b53c7ab4bbff0f0b2b
2023-09-18 15:15:54 -07:00
Yuval Tassa
9902b73502
Rename mj_stackAlloc to mj_stackAllocByte.
...
PiperOrigin-RevId: 566351365
Change-Id: I91541168e83b05a730113661cc9f07985ac9ff0c
2023-09-18 10:53:35 -07:00
Yuval Tassa
2cc1205498
Add island support to CG solver.
...
BEGIN_PUBLIC
Add island support to CG solver.
END_PUBLIC
PiperOrigin-RevId: 565653886
Change-Id: Ib971ae37dd011b8f2cbe1f88d8875e0ed657c7af
2023-09-15 05:47:24 -07:00
Alessio Quaglino
1afd98ec4b
Add [SdfLib]( https://github.com/UPC-ViRVIG/SdfLib ) plugin to first-party SDFs.
...
The following dependencies are disabled with a cmake patch file.
- Enoki
- OpenMP
- Assimp
- FCPW
PiperOrigin-RevId: 565352386
Change-Id: Icff9de68408e0afa2032bb83b24491fc4e41d181
2023-09-14 06:42:42 -07:00
Alessio Quaglino
b0abafe3bb
Set camera origin at top-left of the first pixel.
...
PiperOrigin-RevId: 564768176
Change-Id: Ieef632f0f6888390acca91b6de01c8951c747fe4
2023-09-12 10:44:51 -07:00
Alessio Quaglino
8064ad59c8
Add camera projection sensor.
...
BEGIN_PUBLIC
Add camera projection sensor.
END_PUBLIC
PiperOrigin-RevId: 564726114
Change-Id: I33b8e5562eff29c21538bf8f38ce3116c7dfc5a9
2023-09-12 08:16:20 -07:00
Yuval Tassa
2b192cebb6
PUBLIC: In mju_normalize4, don't normalize if norm is less than mjMINVAL away from 1.
...
This makes mj_forward calls idempotent if warmstart is disabled and quats in qpos are normalized.
PiperOrigin-RevId: 564442666
Change-Id: I9c43add82bcfb4101c19fbfbfc8c30091b8906d5
2023-09-11 11:09:53 -07:00