Fix the options not being propagated#34
Conversation
|
Happy to investigate replacing the The main challenge is the multi-articulation conflict. MuJoCo has one global option block per compiled model, so in scenes with more than one articulation we need a defensible precedence rule when their A couple of things worth noting:
The current PR picks first-wins implicitly by only applying The Manager's Rough shape I'm thinking:
Does that direction sound right to you? Are you happy to sketch the priority-field approach (or any other deterministic strategy) in a follow-up commit on your branch, or do you want me to take a look at it? |
|
The priority system sounds complicated. Honestly, I'd be fine with detecting that the option is set in the XML and complaining loudly that it is ignored. It seems to be if you expect multiple articulations as a typical use case, then you can't really expect a MuJoCo XML file to work without any modification. |
|
In most cases I don't think xml files (and therefore our internal articulations) will typically have conflicting options. But, for the sake of robustness I I'll draft up a PR for the priority system. I'm planning on treating it similar to MuJoCo's own internal priority system for contacts + physics where whatever (geoms) in our case (articulations) have conflicting parameters the highest takes priority. We will have a loud warning when this takes place so it is clear to the user. Users can feel free to ignore this option as we will default priority to 0 and as a fallback the first articulation will win. It is then up to the user to tweak any overides themselves to get their required behaviour. |
Summary
Make options specified in the model XML be actually propagated to the compiled XML.
This was primarily written by Claude.
Motivation
Some models set options, such as impratio, that materially affect the simulation quality. This change lets the models work exactly as they do in the mujoco viewer without using the manager to override those options.
Build + test evidence
Manual verification steps
Checklist
URLab.*automation suite passes