246 lines
12 KiB
Plaintext
246 lines
12 KiB
Plaintext
<element name="surface" required="0">
|
|
<description>The surface parameters</description>
|
|
<element name="bounce" required="0">
|
|
<description></description>
|
|
<element name="restitution_coefficient" type="double" default="0" min="0.0" max="1.0" required="0">
|
|
<description>Bounciness coefficient of restitution, from [0...1], where 0=no bounciness.</description>
|
|
</element>
|
|
<element name="threshold" type="double" default="100000" required="0">
|
|
<description>Bounce capture velocity, below which effective coefficient of restitution is 0.</description>
|
|
</element>
|
|
</element> <!-- End Bounce -->
|
|
|
|
<element name="friction" required="0">
|
|
<description></description>
|
|
|
|
<element name="torsional" required="0">
|
|
<description>Parameters for torsional friction</description>
|
|
<element name="coefficient" type="double" default="1.0" min="0.0" required="0">
|
|
<description>
|
|
Torsional friction coefficient, unitless maximum ratio of
|
|
tangential stress to normal stress.
|
|
</description>
|
|
</element>
|
|
<element name="use_patch_radius" type="bool" default="1" required="0">
|
|
<description>
|
|
If this flag is true,
|
|
torsional friction is calculated using the "patch_radius" parameter.
|
|
If this flag is set to false,
|
|
"surface_radius" (R) and contact depth (d)
|
|
are used to compute the patch radius as sqrt(R*d).
|
|
</description>
|
|
</element>
|
|
<element name="patch_radius" type="double" default="0" min="0.0" required="0">
|
|
<description>Radius of contact patch surface.</description>
|
|
</element>
|
|
<element name="surface_radius" type="double" default="0.0" min="0.0" required="0">
|
|
<description>Surface radius on the point of contact.</description>
|
|
</element>
|
|
<element name="ode" required="0">
|
|
<description>Torsional friction parameters for ODE</description>
|
|
<element name="slip" type="double" default="0.0" required="0">
|
|
<description>
|
|
Force dependent slip for torsional friction,
|
|
equivalent to inverse of viscous damping coefficient
|
|
with units of rad/s/(Nm).
|
|
A slip value of 0 is infinitely viscous.
|
|
</description>
|
|
</element>
|
|
</element> <!-- End ODE -->
|
|
</element> <!-- End torsional -->
|
|
|
|
<element name="ode" required="0">
|
|
<description>ODE friction parameters</description>
|
|
<element name="mu" type="double" default="1" min="0.0" required="0">
|
|
<description>
|
|
Coefficient of friction in first friction pyramid direction,
|
|
the unitless maximum ratio of force in first friction pyramid
|
|
direction to normal force.
|
|
</description>
|
|
</element>
|
|
<element name="mu2" type="double" default="1" min="0.0" required="0">
|
|
<description>
|
|
Coefficient of friction in second friction pyramid direction,
|
|
the unitless maximum ratio of force in second friction pyramid
|
|
direction to normal force.
|
|
</description>
|
|
</element>
|
|
<element name="fdir1" type="vector3" default="0 0 0" required="0">
|
|
<description>
|
|
Unit vector specifying first friction pyramid direction in
|
|
collision-fixed reference frame.
|
|
If the friction pyramid model is in use,
|
|
and this value is set to a unit vector for one of the
|
|
colliding surfaces,
|
|
the ODE Collide callback function will align the friction pyramid directions
|
|
with a reference frame fixed to that collision surface.
|
|
If both surfaces have this value set to a vector of zeros,
|
|
the friction pyramid directions will be aligned with the world frame.
|
|
If this value is set for both surfaces, the behavior is undefined.
|
|
</description>
|
|
</element>
|
|
<element name="slip1" type="double" default="0.0" required="0">
|
|
<description>
|
|
Force dependent slip in first friction pyramid direction,
|
|
equivalent to inverse of viscous damping coefficient
|
|
with units of m/s/N.
|
|
A slip value of 0 is infinitely viscous.
|
|
</description>
|
|
</element>
|
|
<element name="slip2" type="double" default="0.0" required="0">
|
|
<description>
|
|
Force dependent slip in second friction pyramid direction,
|
|
equivalent to inverse of viscous damping coefficient
|
|
with units of m/s/N.
|
|
A slip value of 0 is infinitely viscous.
|
|
</description>
|
|
</element>
|
|
</element> <!-- End ODE -->
|
|
<element name="bullet" required="0">
|
|
<element name="friction" type="double" default="1" min="0.0" required="0">
|
|
<description>
|
|
Coefficient of friction in first friction pyramid direction,
|
|
the unitless maximum ratio of force in first friction pyramid
|
|
direction to normal force.
|
|
</description>
|
|
</element>
|
|
<element name="friction2" type="double" default="1" min="0.0" required="0">
|
|
<description>
|
|
Coefficient of friction in second friction pyramid direction,
|
|
the unitless maximum ratio of force in second friction pyramid
|
|
direction to normal force.
|
|
</description>
|
|
</element>
|
|
<element name="fdir1" type="vector3" default="0 0 0" required="0">
|
|
<description>
|
|
Unit vector specifying first friction pyramid direction in
|
|
collision-fixed reference frame.
|
|
If the friction pyramid model is in use,
|
|
and this value is set to a unit vector for one of the
|
|
colliding surfaces,
|
|
the friction pyramid directions will be aligned
|
|
with a reference frame fixed to that collision surface.
|
|
If both surfaces have this value set to a vector of zeros,
|
|
the friction pyramid directions will be aligned with the world frame.
|
|
If this value is set for both surfaces, the behavior is undefined.
|
|
</description>
|
|
</element>
|
|
<element name="rolling_friction" type="double" default="1" required="0">
|
|
<description>Coefficient of rolling friction</description>
|
|
</element>
|
|
</element> <!-- End Bullet -->
|
|
</element> <!-- End Friction -->
|
|
|
|
<element name="contact" required="0">
|
|
<description></description>
|
|
<element name="collide_without_contact" type="bool" default="0" required="0">
|
|
<description>Flag to disable contact force generation, while still allowing collision checks and contact visualization to occur.</description>
|
|
</element>
|
|
<element name="collide_without_contact_bitmask" type="unsigned int" default="1" required="0">
|
|
<description>Bitmask for collision filtering when collide_without_contact is on </description>
|
|
</element>
|
|
|
|
<element name="collide_bitmask" type="unsigned int" default="65535" required="0">
|
|
<description>Bitmask for collision filtering. This will override collide_without_contact</description>
|
|
</element>
|
|
|
|
<element name="category_bitmask" type="unsigned int" default="65535" required="0">
|
|
<description><![CDATA[Bitmask for category of collision filtering. Collision happens if ((category1 & collision2) | (category2 & collision1)) is not zero. If not specified, the category_bitmask should be interpreted as being the same as collide_bitmask.]]></description>
|
|
</element>
|
|
|
|
<element name="poissons_ratio" type="double" default="0.3" required="0">
|
|
<description>
|
|
Poisson's ratio is the unitless ratio between transverse and axial strain.
|
|
This value must lie between (-1, 0.5). Defaults to 0.3 for typical steel.
|
|
Note typical silicone elastomers have Poisson's ratio near 0.49 ~ 0.50.
|
|
|
|
For reference, approximate values for Material:(Young's Modulus, Poisson's Ratio)
|
|
for some of the typical materials are:
|
|
Plastic: (1e8 ~ 3e9 Pa, 0.35 ~ 0.41),
|
|
Wood: (4e9 ~ 1e10 Pa, 0.22 ~ 0.50),
|
|
Aluminum: (7e10 Pa, 0.32 ~ 0.35),
|
|
Steel: (2e11 Pa, 0.26 ~ 0.31).
|
|
</description>
|
|
</element>
|
|
<element name="elastic_modulus" type="double" default="-1" required="0">
|
|
<description>
|
|
Young's Modulus in SI derived unit Pascal.
|
|
Defaults to -1. If value is less or equal to zero,
|
|
contact using elastic modulus (with Poisson's Ratio) is disabled.
|
|
|
|
For reference, approximate values for Material:(Young's Modulus, Poisson's Ratio)
|
|
for some of the typical materials are:
|
|
Plastic: (1e8 ~ 3e9 Pa, 0.35 ~ 0.41),
|
|
Wood: (4e9 ~ 1e10 Pa, 0.22 ~ 0.50),
|
|
Aluminum: (7e10 Pa, 0.32 ~ 0.35),
|
|
Steel: (2e11 Pa, 0.26 ~ 0.31).
|
|
</description>
|
|
</element>
|
|
|
|
<element name="ode" required="0">
|
|
<description>ODE contact parameters</description>
|
|
<element name="soft_cfm" type="double" default="0" required="0">
|
|
<description>Soft constraint force mixing.</description>
|
|
</element>
|
|
<element name="soft_erp" type="double" default="0.2" required="0">
|
|
<description>Soft error reduction parameter</description>
|
|
</element>
|
|
<element name="kp" type="double" default="1000000000000.0" required="0">
|
|
<description>dynamically "stiffness"-equivalent coefficient for contact joints</description>
|
|
</element>
|
|
<element name="kd" type="double" default="1.0" required="0">
|
|
<description>dynamically "damping"-equivalent coefficient for contact joints</description>
|
|
</element>
|
|
<element name="max_vel" type="double" default="0.01" required="0">
|
|
<description>maximum contact correction velocity truncation term.</description>
|
|
</element>
|
|
<element name="min_depth" type="double" default="0" required="0">
|
|
<description>minimum allowable depth before contact correction impulse is applied</description>
|
|
</element>
|
|
</element> <!-- End ODE -->
|
|
<element name="bullet" required="0">
|
|
<description>Bullet contact parameters</description>
|
|
<element name="soft_cfm" type="double" default="0" required="0">
|
|
<description>Soft constraint force mixing.</description>
|
|
</element>
|
|
<element name="soft_erp" type="double" default="0.2" required="0">
|
|
<description>Soft error reduction parameter</description>
|
|
</element>
|
|
<element name="kp" type="double" default="1000000000000.0" required="0">
|
|
<description>dynamically "stiffness"-equivalent coefficient for contact joints</description>
|
|
</element>
|
|
<element name="kd" type="double" default="1.0" required="0">
|
|
<description>dynamically "damping"-equivalent coefficient for contact joints</description>
|
|
</element>
|
|
<element name="split_impulse" type="bool" default="1" required="1">
|
|
<description>Similar to ODE's max_vel implementation. See http://bulletphysics.org/mediawiki-1.5.8/index.php/BtContactSolverInfo#Split_Impulse for more information.</description>
|
|
</element>
|
|
<element name="split_impulse_penetration_threshold" type="double" default="-0.01" required="1">
|
|
<description>Similar to ODE's max_vel implementation. See http://bulletphysics.org/mediawiki-1.5.8/index.php/BtContactSolverInfo#Split_Impulse for more information.</description>
|
|
</element>
|
|
</element> <!-- End Bullet -->
|
|
</element> <!-- End Contact -->
|
|
|
|
<!-- for deformable bodies -->
|
|
<element name="soft_contact" required="0">
|
|
<element name="dart" required="0">
|
|
<description>soft contact pamameters based on paper:
|
|
http://www.cc.gatech.edu/graphics/projects/Sumit/homepage/papers/sigasia11/jain_softcontacts_siga11.pdf
|
|
</description>
|
|
<element name="bone_attachment" type="double" default="100.0" required="1">
|
|
<description>This is variable k_v in the soft contacts paper. Its unit is N/m.</description>
|
|
</element>
|
|
<element name="stiffness" type="double" default="100.0" required="1">
|
|
<description>This is variable k_e in the soft contacts paper. Its unit is N/m.</description>
|
|
</element>
|
|
<element name="damping" type="double" default="10.0" required="1">
|
|
<description>Viscous damping of point velocity in body frame. Its unit is N/m/s.</description>
|
|
</element>
|
|
<element name="flesh_mass_fraction" type="double" default="0.05" required="1">
|
|
<description>Fraction of mass to be distributed among deformable nodes.</description>
|
|
</element>
|
|
</element> <!-- dart -->
|
|
</element> <!-- soft_contact -->
|
|
|
|
</element> <!-- End Surface -->
|