You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/experimental/usd/mjcPhysics/generatedSchema.usda
+63Lines changed: 63 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,69 @@ class "MjcSceneAPI" (
7
7
doc = "API providing global simulation options for MuJoCo."
8
8
)
9
9
{
10
+
uniform bool mjc:compiler:alignFree = 0 (
11
+
displayName = "Align Free"
12
+
doc = "This attribute toggles the default behaviour of an optimization that applies to bodies with a free joint and no child bodies. When True, the body frame and free joint will automatically be aligned with inertial frame, which leads to both faster and more stable simulation."
13
+
)
14
+
uniform token mjc:compiler:angle = "degree" (
15
+
allowedTokens = ["degree", "radian"]
16
+
displayName = "Angle"
17
+
doc = "This attribute specifies whether the angles in mjcPhysics attributes have units of degrees or radians if not otherwise noted."
18
+
)
19
+
uniform bool mjc:compiler:autoLimits = 1 (
20
+
displayName = "Automatic Limits"
21
+
doc = 'This attribute affects the behavior of attributes such as "limited" (on MjcJointAPI), "forcelimited" "ctrllimited", and "actlimited" (on MjcActuator). If True, these attributes are unnecessary and their value will be inferred from the presence of their corresponding "range" attribute. If False, no such inference will happen: For a joint to be limited, both limited=True and range:min/max must be specified. In this mode, it is an error to specify a range without a limit.'
22
+
)
23
+
uniform bool mjc:compiler:balanceInertia = 0 (
24
+
displayName = "Balance Inertia"
25
+
doc = 'A valid diagonal inertia matrix must satisfy A+B>=C for all permutations of the three diagonal elements. Some poorly designed models violate this constraint, which will normally result in a compile error. If this attribute is set to "true", the compiler will silently set all three diagonal elements to their average value whenever the above condition is violated.'
26
+
)
27
+
uniform double mjc:compiler:boundInertia = 0 (
28
+
displayName = "Bound Inertia"
29
+
doc = "This attribute imposes a lower bound on the diagonal inertia components of each body except for the world body."
30
+
)
31
+
uniform double mjc:compiler:boundMass = 0 (
32
+
displayName = "Bound Mass"
33
+
doc = "This attribute imposes a lower bound on the mass of each body except for the world body."
34
+
)
35
+
uniform bool mjc:compiler:fitAABB = 0 (
36
+
displayName = "Fit AABB"
37
+
doc = "The compiler is able to replace a mesh with a geometric primitive fitted to that mesh. If this attribute is True, the fitting procedure uses the axis-aligned bounding box (AABB) of the mesh. Otherwise it uses the equivalent-inertia box of the mesh."
38
+
)
39
+
uniform bool mjc:compiler:fuseStatic = 0 (
40
+
displayName = "Fuse Static"
41
+
doc = """This attribute controls a compiler optimization feature where static bodies are fused with their parent, and any elements defined in those bodies are reassigned to the parent. Static bodies are fused with their parent unless
42
+
43
+
* They are referenced by another element in the model.
44
+
45
+
* They contain a site which is referenced by a force or torque sensor.
doc = 'This attribute controls the automatic inference of body masses and inertias from geoms attached to the body. If this setting is "false", no automatic inference is performed. In that case each body must have explicitly defined mass and inertia with the inertial element, or else a compile error will be generated. If this setting is "true", the mass and inertia of each body will be inferred from the geoms attached to it, overriding any values specified with the inertial element. The default setting "auto" means that masses and inertias are inferred automatically only when the inertial element is missing in the body definition. One reason to set this attribute to "true" instead of "auto" is to override inertial data imported from a poorly designed model.'
52
+
)
53
+
uniform int mjc:compiler:inertiaGroupRange:max = 5 (
54
+
displayName = "Inertia Group Range Max"
55
+
doc = "This attribute specifies the maximum of the geom group range that is used to infer body masses and inertias (when such inference is enabled). The group attribute of geom is an integer. If this integer falls in the range specified here, the geom will be used in the inertial computation, otherwise it will be ignored. This feature is useful in models that have redundant sets of geoms for collision and visualization. Note that the world body does not participate in the inertial computations, so any geoms attached to it are automatically ignored. Therefore it is not necessary to adjust this attribute and the geom-specific groups so as to exclude world geoms from the inertial computation."
56
+
)
57
+
uniform int mjc:compiler:inertiaGroupRange:min = 0 (
58
+
displayName = "Inertia Group Range Min"
59
+
doc = "This attribute specifies the maximum of the geom group range that is used to infer body masses and inertias (when such inference is enabled). The group attribute of geom is an integer. If this integer falls in the range specified here, the collider will be used in the inertial computation, otherwise it will be ignored. Note that the world body does not participate in the inertial computations, so any geoms attached to it are automatically ignored. Therefore it is not necessary to adjust this attribute and the geom-specific groups so as to exclude world geoms from the inertial computation."
60
+
)
61
+
uniform bool mjc:compiler:saveInertial = 0 (
62
+
displayName = "Save Inertial"
63
+
doc = "If True, the compiler will save explicit inertial clauses for all bodies."
64
+
)
65
+
uniform double mjc:compiler:setTotalMass = -1 (
66
+
displayName = "Set Total Mass"
67
+
doc = "If this value is positive, the compiler will scale the masses and inertias of all bodies in the model, so that the total mass equals the value specified here. The world body has mass 0 and does not participate in any mass-related computations. This scaling is performed last, after all other operations affecting the body mass and inertia. The same scaling operation can be applied at runtime to the compiled mjModel with the function mj_setTotalmass."
68
+
)
69
+
uniform bool mjc:compiler:useThread = 1 (
70
+
displayName = "Use Thread"
71
+
doc = "If this is True, the model compiler will run in multi-threaded mode. Currently multi-threading is used for computing the length ranges of actuators and for parallel loading of meshes."
72
+
)
10
73
uniform bool mjc:flag:actuation = 1 (
11
74
displayName = "Actuation Forces Toggle"
12
75
doc = "Enables all standard computations related to actuator forces, including actuator dynamics."
0 commit comments