Skip to content

Conversation

@arsesito
Copy link

No description provided.

yuvaltassa and others added 30 commits August 19, 2022 06:45
…odent.xml.

- This model has a bunch of ranges defined (tendon length ranges and actuator force-limit ranges) that are actually inactive due to the associated "limited" property not being set to "true".
- A recent change in MuJoCo enabled automatically inferring the "limited" property according to the presence of the associated "range" property, which changed the behaviour of this model and helped us realise the above situation.
- This CL explicitly disables tendon ranges limits and actuator force limits while leaving the ranges in place, so the model behaviour remains unchanged.
- Since many of the numbers seem to be carefully calibrated, it might be worth investigating in the future whether the limits should actually be activated.

PiperOrigin-RevId: 468690429
Change-Id: Icd097a2cafe15e910bca71c5378bddcf3d92665a
Before this change, setting any keyword attribute to False meant the attribute wasn't specified at all. This is fine for attributes where the default is false, but wrong for other keyword attributes.

In particular, since commit google-deepmind/mujoco@4bfc2c0, ctrllimited and similar attributes changed their default value from "false" to "auto", breaking some models that specify forcelimited=False and forcerange=something.

Also in this commit: update the ctrllimited and similar attributes' schemas to include the value "auto".

PiperOrigin-RevId: 468699407
Change-Id: I7f64d2e757678a00aec8b1cfa33894ac1b7f5b5b
PiperOrigin-RevId: 469135739
Change-Id: I60d239051e8bbded0f90add424418f7bd5c63c2f
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 469190483
Change-Id: Idf5928fbf278fb10357a77d2de2455d4a525d95a
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 469228149
Change-Id: I2863b8a52b35bc562d37fd2d779dd8b8f0bea24a
PiperOrigin-RevId: 469473066
Change-Id: I0a6e4370f93d47033630a86be988804062b6c273
- `anchor` determines the point of wrench application, in the frame of body2.
- `tfratio` scales applied torques relative to applied forces.
- Add visualisation of both anchor points to both weld and connect constraints.
- Add a test model showing how the new weld parameters behave.

PiperOrigin-RevId: 470021901
Change-Id: I14226e80b8ed65580822186e55995810033ad757
- Added `refsite` attribute to actuators with `site` transmission.
- Such actuators now have a well defined length and can be used for e.g., Cartesian end-effector control.
- Added example models and documentation describing the new feature.

PiperOrigin-RevId: 471561218
Change-Id: I969c93a21d9a517a75e6ee013d4ebe3146ee48d3
This is to prevent conflict with TensorFlow. Fixes google-deepmind#339.

PiperOrigin-RevId: 472258727
Change-Id: I886360eb687d62192bad2ccb94266c207efd2050
Fixes google-deepmind#310.

PiperOrigin-RevId: 472296006
Change-Id: I558c1fdf3753ed660f4463ae2dc054f496164c8a
This is an amendment to 4bfc2c0311233017293748e558a114a510a21f91.

Add an autolimits compiler option. When true, *limited will be inferred from the presence of the *range attributes.
When false, models where limited is not specified, and range is will fail to compile.

PiperOrigin-RevId: 472438650
Change-Id: Ia76247064e54f9f876061d8455f84cb939e7d73e
PiperOrigin-RevId: 472485161
Change-Id: Ic5fa30c97e1a33b6e0c8878818d0f51539795acb
PiperOrigin-RevId: 472678116
Change-Id: I754ae8817c41bebbaab41c5e439dfd1d6518a822
The viewer has its own set of default renderer flags, and when the `mjRND_CULL_FACE` flag was introduced in MuJoCo (google-deepmind/mujoco@396fdf0) the viewer's default was not updated.

Fixes google-deepmind#346.

PiperOrigin-RevId: 472753294
Change-Id: I33e6f48ff1ea887d07765ae851651f6c106cb08b
PiperOrigin-RevId: 474874088
Change-Id: I1bbcc20439dc59de7e18327a2cdc6fad0a57201e
PiperOrigin-RevId: 475600801
Change-Id: Id298b3614ad67fcb707500fbcb2d87e0f7b58bce
…/assets/`.

- Preparation for improved dog model.
- Added dog_base.xml with all the defaults.
- Moved floor and tennis ball to scene.xml, removed target.

PiperOrigin-RevId: 476119984
Change-Id: I8c5e836fe61956872973528659137fe74045badc
…except for camera_id, which has to be -1.

PiperOrigin-RevId: 478002851
Change-Id: I78253a2887073490cfbd92e4295eb0539003d710
PiperOrigin-RevId: 478117894
Change-Id: Iedb1f1083bfcbbb7d8643973444b7f0e2c219107
- Add private function `mj_arenaAlloc`. This is used internally to allocate memory from the arena.

- Add private function `mj_nefc` to count constraints. This function returns a tight upper bound on `d->nefc`. The number of counted constraints can be slightly bigger than exact `d->nefc` in the case of constraints with empty Jacobian, as when placing a frictional tendon between two world sites.

- Add new `memory` attribute to the `size` XML element for specification of arena memory size. This attribute is mutually exclusive with `nstack` and `njmax` specifications, which are now deprecated (but left around for the time being for legacy compatibility).

- Move `d->stack` to the end of the new arena space. The stack now grows in reverse from the end.

PiperOrigin-RevId: 479341539
Change-Id: I27f67d524607db71e24f714dc96b221c0448795e
…hese are lists and the time variable clashes with the imported time and causes errors.

PiperOrigin-RevId: 479538684
Change-Id: If9a47d1a4b84636435bcc980a4563ee7d2871fd1
… errors

Following these instructions: https://docs.python.org/3/library/abc.html#abc.abstractproperty

PiperOrigin-RevId: 480906718
Change-Id: I7c9a9754a4da2c30fcc94841bf728dbb229d1b5a
…dlers.

PiperOrigin-RevId: 481106930
Change-Id: Ib2645050ae2757759b4aac87887e965a6716c092
PiperOrigin-RevId: 481885969
Change-Id: I5030c6daef18afcc7367200531ed7a68207cad8b
PiperOrigin-RevId: 482699032
Change-Id: Iefbc093544d48d3020d6ecbb400f44503028e620
…h the spring produces no force (a deadband).

If given two non-decreasing values, `springlength` specifies a deadband for spring stiffness, inside of which the force is 0 and outside of which force behaves like a regular spring, with the setpoint corresponding to the nearest value. This can be used to create tendons whose limits are enforced by springs rather than constraints, which are cheaper and easier to analyse. See test/engine/testdata/tendon_springlength.xml example model.

Spring-limited spatial tendons whose lower range value is 0 are rendered as catenaries.

Fixes google-deepmind#520.

PiperOrigin-RevId: 484509706
Change-Id: I821465553c69bf8ea76a55452a4fb79563fdb7c3
PiperOrigin-RevId: 485335378
Change-Id: Icbb01086db33aef2bcf199df89e8b6069e26974c
PiperOrigin-RevId: 485342531
Change-Id: Id9acf63205941ac9ac2f87ec30099bff4ec0f1b7
… `user`.

Fixes google-deepmind#305.

PiperOrigin-RevId: 486597273
Change-Id: I0b5913622c1d2e8297427d4ffe34cf8bfd70ec5e
… and steps physics.step.

PiperOrigin-RevId: 486675254
Change-Id: Ib6b70e707354f89679db90371dcc315f7a8ae18f
quagla and others added 29 commits May 19, 2025 10:51
PiperOrigin-RevId: 760688502
Change-Id: I543c764be1316e1f9415b451f8446b9306d975b6
PiperOrigin-RevId: 761907261
Change-Id: I399efbc3d554efc0b3d9edcb26763007002f7b17
PiperOrigin-RevId: 761983728
Change-Id: I4d0db5a0f1e8cd4dcd08246b232ddcf2391383ee
PiperOrigin-RevId: 763706413
Change-Id: If3e630681599e2be94fe78b929fe83545b4c3806
PiperOrigin-RevId: 763739805
Change-Id: I0bdec6f2fd3bd75ad35a7d129c8c29d36105f4bc
PiperOrigin-RevId: 764251713
Change-Id: I52afdcc6924f883c3153e56945024bcb62571c81
PiperOrigin-RevId: 770049967
Change-Id: I1c5ed344cbb08c2945079c5d1480ce0600c80818
…mera to use at model load.

PiperOrigin-RevId: 773783069
Change-Id: I3d6db983273994b7649204bb06f977b2feab56ee
…lume of a site.

PiperOrigin-RevId: 780993257
Change-Id: Ie6eaa1cc2dc7734f154c55499ff6b918cd89ef00
PiperOrigin-RevId: 782641294
Change-Id: Iba6ab9063e2a7e31d43ff337f7363e8311965429
PiperOrigin-RevId: 788538127
Change-Id: I91676240bf7b787480cce2fd80e3bd91b43941a9
This extends both the spec and the XML definition to allow specification of a material name on a mesh. This material acts as a fallback in the case that the referencing geom element does not specify a material of it's own.

PiperOrigin-RevId: 798232378
Change-Id: Ibac3264b79b9f2192910853ca8caf3ce49fb738e
PiperOrigin-RevId: 800508302
Change-Id: Ie9b28dc9f295448bace7cee236026b18b9d44473
PiperOrigin-RevId: 800553533
Change-Id: Icf24af4a0dcde15d73a750cd48a28ef48b83883c
…and `damper` flags.

PiperOrigin-RevId: 800881752
Change-Id: I6b33c9135db4c91f32a94feb2dc6bf520e675c80
PiperOrigin-RevId: 801754907
Change-Id: If13c0f5d062dffe8c971ce4f7c158d446beb78d3
PiperOrigin-RevId: 802089588
Change-Id: I95f6d3f64452328169b2a05d5c6bfd525d7128b1
Allowing keys in this form means the asset dict can be constructed without needing to first parse the XML to determine whether any special directories have been specified in the compiler options.

For example, given an asset in `assets/textures/texture.png` and an `assetdir` set to "assets", this asset previously had to be keyed in the assets dict by "textures/texture.png". After this CL, it's also permitted to use "assets/textures/texture.png".

PiperOrigin-RevId: 807216952
Change-Id: Ie1b8680eec447562675e4ca83aa15b1c4511461e
PiperOrigin-RevId: 808666717
Change-Id: I6255821c44a596bc4281956184fd0d8445209c33
PiperOrigin-RevId: 809702931
Change-Id: Iffccdd8d87b818b87797bd3570888a0e8e423815
PiperOrigin-RevId: 809703253
Change-Id: I12b77a7d7c539419c2e3ee4fce50ed04e604a3cc
PiperOrigin-RevId: 815633571
Change-Id: Ie4eb65d9b2aab1e96f472558b6eaada5e1d86bea
PiperOrigin-RevId: 819939614
Change-Id: Ib713567d217560200a1200ae012a447359a26e91
When sig is provided, these functions behave like mj_{get,set}State.

PiperOrigin-RevId: 823171024
Change-Id: I9d42f3f59c6404e6894f3ab384e92ca928fa6b56
PiperOrigin-RevId: 829055431
Change-Id: I7fd12752421bc3456105ae6849a7274e36acc6a3
PiperOrigin-RevId: 830831651
Change-Id: I96bb73b9d2c317b21358a1e17abf64a61f583e78
np.in1d is removed in NumPy 2.4.

PiperOrigin-RevId: 840207834
Change-Id: I27dcc518ed3325515001ec965af12e4c81928acc
PiperOrigin-RevId: 840254100
Change-Id: I2cbe66a74c3a1727ee57533b17fc59a565e8852e
@arsesito arsesito changed the base branch from main to merel_2017_humanoid December 15, 2025 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.