xml option
- option
- 总起例子
- timestep(一般会用到)
- gravity(一般会用到)
- wind
- magnetic
- density
- viscosity
- o_margin
- o_solref, o_solimp
- o_friction
- integrator(一般会用到)
- cone(一般会用到)
- jacobian(一般会用到)
- solver(一般会用到)
- iterations(一般会用到)
- tolerance(一般会用到)
- noslip_iterations
- noslip_tolerance
- ccd_iterations
- ccd_tolerance
- sdf_iterations
- sdf_initpoints
- actuatorgroupdisable
- flag
- option/flag
- constraint
- equality
- frictionloss
- limit
- contact
- passive
- gravity
- clampctrl
- warmstart
- filterparent
- actuation
- refsafe
- sensor
- midphase
- nativeccd
- eulerdamp
- autoreset
- override
- energy
- fwdinv
- invdiscrete
- multiccd
- island
option 是 MuJoCo MJCF 模型中的一个顶级元素,用于定义模拟的选项。这些选项不会影响模型的编译过程,而是直接复制到低级模型的 mjModel.opt 字段中。通过 option,用户可以设置模拟的时间步长、重力、风速、磁场、密度、粘度等物理参数,以及数值积分器、摩擦锥、雅可比矩阵、求解器等计算参数。
option
总起例子
<mujoco><optiontimestep="0.001"gravity="0 0 -9.81"wind="1 0 0"magnetic="0 -0.5 0"density="1.2"viscosity="0.00002"integrator="RK4"cone="elliptic"solver="Newton"iterations="200"tolerance="1e-6"/>
</mujoco>
timestep(一般会用到)
含义:模拟的时间步长,单位为秒。这是影响速度和精度的最重要参数之一。较小的值可以提高精度和稳定性。
默认值:0.002
<option timestep="0.001"/>
gravity(一般会用到)
含义:重力加速度向量,默认值为 [0, 0, -9.81],表示 Z 轴向上为重力方向。
<option gravity="0 0 -9.81"/>
wind
含义:介质的速度向量,默认值为 [0, 0, 0],表示没有风。
<option wind="1 0 0"/>
magnetic
含义:全局磁场,默认值为 [0, -0.5, 0]。
<option magnetic="0 -0.5 0"/>
density
含义:介质的密度,默认值为 0,表示没有密度。
<option density="1.2"/>
viscosity
含义:介质的粘度,默认值为 0,表示没有粘度。
<option viscosity="0.00002"/>
o_margin
含义:覆盖所有活动接触对的接触边距。
<option o_margin="0.01"/>
o_solref, o_solimp
含义:覆盖所有活动接触对的约束求解器参数。
<option o_solref="0.01 1" o_solimp="0.9 0.5"/>
o_friction
含义:覆盖所有活动接触对的摩擦参数。
<option o_friction="1 0.005 0.0001"/>
integrator(一般会用到)
含义:选择数值积分器,默认值为 Euler。
<option integrator="RK4"/>
cone(一般会用到)
含义:接触摩擦锥的类型,默认值为 pyramidal。
<option cone="elliptic"/>
jacobian(一般会用到)
含义:约束雅可比矩阵的类型,默认值为 auto。
<option jacobian="dense"/>
solver(一般会用到)
含义:选择约束求解器,默认值为 Newton。
<option solver="PGS"/>
iterations(一般会用到)
含义:约束求解器的最大迭代次数,默认值为 100。
<option iterations="200"/>
tolerance(一般会用到)
含义:迭代求解器的容差阈值,默认值为 1e-8。
<option tolerance="1e-6"/>
noslip_iterations
含义:Noslip 求解器的最大迭代次数,默认值为 0。
<option noslip_iterations="10"/>
noslip_tolerance
含义:Noslip 求解器的容差阈值,默认值为 1e-6。
<option noslip_tolerance="1e-5"/>
ccd_iterations
含义:凸碰撞算法的最大迭代次数,默认值为 50。
<option ccd_iterations="100"/>
ccd_tolerance
含义:凸碰撞算法的容差阈值,默认值为 1e-6。
<option ccd_tolerance="1e-5"/>
sdf_iterations
含义:SDF 碰撞的最大迭代次数,默认值为 10。
<option sdf_iterations="20"/>
sdf_initpoints
含义:SDF 碰撞的初始点数,默认值为 40。
<option sdf_initpoints="80"/>
actuatorgroupdisable
含义:禁用的执行器组列表。
<option actuatorgroupdisable="0 1 2"/>
flag
含义:启用或禁用模拟的不同部分。
<option><flag constraint="disable"/>
</option>
option/flag
flag 是 option 的一个子元素,用于启用或禁用模拟的不同部分。
constraint
含义:启用或禁用所有标准约束求解器的计算。
<flag constraint="disable"/>
equality
含义:启用或禁用所有等式约束的计算。
<flag equality="disable"/>
frictionloss
含义:启用或禁用所有摩擦损失约束的计算。
<flag frictionloss="disable"/>
limit
含义:启用或禁用所有关节和腱限约束的计算。
<flag limit="disable"/>
contact
含义:启用或禁用碰撞检测和接触约束的计算。
<flag contact="disable"/>
passive
含义:启用或禁用关节和腱的弹簧-阻尼器、流体动力学力等被动力的计算。
<flag passive="disable"/>
gravity
含义:启用或禁用重力。
<flag gravity="disable"/>
clampctrl
含义:启用或禁用控制输入的钳制。
<flag clampctrl="disable"/>
warmstart
含义:启用或禁用约束求解器的热启动。
<flag warmstart="disable"/>
filterparent
含义:启用或禁用父体和子体之间的接触对过滤。
<flag filterparent="disable"/>
actuation
含义:启用或禁用所有执行器力的计算。
<flag actuation="disable"/>
refsafe
含义:启用或禁用接触约束的参考安全机制。
<flag refsafe="disable"/>
sensor
含义:启用或禁用所有传感器的计算。
<flag sensor="disable"/>
midphase
含义:启用或禁用基于静态 AABB 边界体积层次的碰撞过滤。
<flag midphase="disable"/>
nativeccd
含义:启用或禁用原生凸碰撞检测。
<flag nativeccd="disable"/>
eulerdamp
含义:启用或禁用欧拉积分器中的关节阻尼隐式积分。
<flag eulerdamp="disable"/>
autoreset
含义:启用或禁用数值问题检测时的自动重置。
<flag autoreset="disable"/>
override
含义:启用或禁用接触覆盖机制。
<flag override="enable"/>
energy
含义:启用或禁用势能和动能的计算。
<flag energy="enable"/>
fwdinv
含义:启用或禁用前向和逆向动力学的比较。
<flag fwdinv="enable"/>
invdiscrete
含义:启用或禁用离散时间逆向动力学。
<flag invdiscrete="enable"/>
multiccd
含义:启用或禁用多接触碰撞检测。
<flag multiccd="enable"/>
island
含义:启用或禁用约束岛的发现。
<flag island="enable"/>