MuJoCo Warp API#
MJWarp 的公共 API。
- class Model[source]#
模型定义和参数。
- nq#
广义坐标的数量
- 类型:
int
- nv#
自由度数量
- 类型:
int
- nu#
执行器/控制器的数量
- 类型:
int
- na#
激活状态的数量
- 类型:
int
- nbody#
刚体数量
- 类型:
int
- noct#
所有网格中八叉树单元的总数
- 类型:
int
- njnt#
关节数量
- 类型:
int
- ntree#
运动树的数量
- 类型:
int
- nM#
稀疏惯性矩阵中非零元素的数量
- 类型:
int
- nC#
稀疏刚体自由度矩阵中非零元素的数量
- 类型:
int
- ngeom#
几何体数量
- 类型:
int
- nsite#
位点数量
- 类型:
int
- ncam#
摄像机数量
- 类型:
int
- nlight#
光源数量
- 类型:
int
- nflex#
柔性体数量
- 类型:
int
- nflexvert#
所有柔性体中的顶点总数
- 类型:
int
- nflexedge#
所有柔性体中的边总数
- 类型:
int
- nflexelem#
所有柔性体中的单元总数
- 类型:
int
- nflexelemdata#
所有柔性体中单元顶点 ID 的总数
- 类型:
int
- nflexstiffness#
所有柔性体中刚度参数的总数
- 类型:
int
- nflexbending#
所有柔性体中弯曲参数的总数
- 类型:
int
- nflexelemedge#
所有柔性体中单元边 ID 的总数
- 类型:
int
- nflexshelldata#
所有柔性体中壳碎片顶点 ID 的总数
- 类型:
int
- nJfe#
稀疏柔性体边雅可比矩阵中非零元素的数量
- 类型:
int
- nmesh#
网格数量
- 类型:
int
- nmeshvert#
所有网格中的顶点总数
- 类型:
int
- nmeshnormal#
所有网格中的法线总数
- 类型:
int
- nmeshface#
所有网格中的面总数
- 类型:
int
- nmeshgraph#
网格辅助数据中的整数数量
- 类型:
int
- nmeshpoly#
所有网格中的多边形总数
- 类型:
int
- nmeshpolyvert#
所有多边形中的顶点总数
- 类型:
int
- nmeshpolymap#
顶点映射中的多边形数量
- 类型:
int
- nhfield#
高度图数量
- 类型:
int
- nhfielddata#
高程数据大小
- 类型:
int
- nmat#
材质数量
- 类型:
int
- npair#
预定义几何体对的数量
- 类型:
int
- nexclude#
排除的几何体对数量
- 类型:
int
- neq#
等式约束数量
- 类型:
int
- ntendon#
肌腱数量
- 类型:
int
- nJten#
稀疏肌腱雅可比矩阵中非零元素的数量
- 类型:
int
- nwrap#
所有肌腱路径中的包裹对象数量
- 类型:
int
- nsensor#
传感器数量
- 类型:
int
- nmocap#
动作捕捉刚体数量
- 类型:
int
- nplugin#
插件实例数量
- 类型:
int
- nJmom#
actuator_moment(执行器力矩)中非零元素的数量
- 类型:
int
- ngravcomp#
具有非零重力补偿的刚体数量
- 类型:
int
- nsensordata#
传感器数据向量中的元素数量
- 类型:
int
- opt#
物理选项
- stat#
模型统计信息
- qpos0#
默认姿态下的 qpos 值 (*, nq)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qpos_spring#
弹簧参考姿态 (*, nq)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- body_parentid#
刚体父级的 ID (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_rootid#
刚体上方根节点的 ID (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_weldid#
该刚体焊接到的刚体 ID (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_mocapid#
动作捕捉数据 ID;-1:无 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_jntnum#
该刚体的关节数量 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_jntadr#
关节起始地址;-1:无关节 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_dofnum#
运动自由度数量 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_dofadr#
自由度起始地址;-1:无自由度 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_treeid#
刚体树的 ID;-1:静态 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_geomnum#
几何体数量 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_geomadr#
几何体起始地址;-1:无几何体 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_pos#
相对于父刚体的位置偏移 (*, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- body_quat#
相对于父刚体的方向偏移 (*, nbody, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- body_ipos#
质心局部位置 (*, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- body_iquat#
惯性椭球局部方向 (*, nbody, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- body_mass#
质量 (*, nbody,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- body_subtreemass#
以该刚体为根的子树质量 (*, nbody,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- body_inertia#
ipos/iquat 帧中的对角惯性 (*, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- body_invweight0#
qpos0 中的平均逆惯性 (平移, 旋转) (*, nbody, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- body_gravcomp#
抗重力,以刚体重量为单位 (*, nbody)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- body_contype#
所有几何体接触类型的逻辑或 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_conaffinity#
所有几何体接触亲和力的逻辑或 (nbody,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- oct_child#
八叉树子节点 (noct, 8)
- 类型:
wp.array(dtype=vector(length=8, dtype=int32), ndim=1)
- oct_aabb#
八叉树轴对齐包围盒 (noct, 2, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- oct_coeff#
八叉树插值系数 (noct, 8)
- 类型:
wp.array(dtype=vector(length=8, dtype=float32), ndim=1)
- jnt_type#
关节类型 (JointType) (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_qposadr#
关节数据在 'qpos' 中的起始地址 (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_dofadr#
关节数据在 'qvel' 中的起始地址 (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_bodyid#
关节所属刚体的 ID (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_limited#
关节是否有范围限制 (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_actfrclimited#
关节是否有执行器力限制 (njnt,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- jnt_actgravcomp#
重力补偿力是否通过执行器应用 (njnt,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_solref#
约束求解器参考值:限制 (*, njnt, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- jnt_solimp#
约束求解器阻抗:限制 (*, njnt, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- jnt_pos#
局部锚点位置 (*, njnt, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- jnt_axis#
局部关节轴 (*, njnt, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- jnt_stiffness#
刚度系数 (*, njnt)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- jnt_stiffnesspoly#
高阶刚度系数 (*, njnt, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- jnt_range#
关节范围 (*, njnt, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- jnt_actfrcrange#
总执行器力范围 (*, njnt, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- jnt_margin#
极限检测的最小距离 (*, njnt)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- dof_bodyid#
自由度刚体 ID (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_jntid#
自由度关节 ID (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_parentid#
自由度父级 ID;-1:无 (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_treeid#
自由度树 ID (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_Madr#
M 对角线中的自由度地址 (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_solref#
约束求解器参考值:摩擦损耗 (*, nv, NREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- dof_solimp#
约束求解器阻抗:摩擦损耗 (*, nv, NIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- dof_frictionloss#
自由度摩擦损耗 (*, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- dof_armature#
自由度电枢惯量/质量 (*, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- dof_damping#
阻尼系数 (*, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- dof_dampingpoly#
高阶阻尼系数 (*, nv, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- dof_invweight0#
qpos0 中的对角逆惯性 (*, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tree_bodynum#
树中的刚体数量(包括根)(ntree,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tree_dofadr#
树的自由度起始地址 (ntree,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tree_dofnum#
树中的自由度数量 (ntree,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_type#
几何类型 (GeomType) (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_contype#
几何接触类型 (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_conaffinity#
几何接触亲和力 (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_condim#
接触维度 (1, 3, 4, 6) (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_bodyid#
几何所属刚体 ID (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_dataid#
几何网格/高度图 ID;-1:无 (*, ngeom)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- geom_matid#
渲染用的材质 ID (*, ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- geom_group#
几何组包含/排除掩码 (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_priority#
几何接触优先级 (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom_solmix#
几何对中 solref/imp 的混合系数 (*, ngeom,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- geom_solref#
约束求解器参考值:接触 (*, ngeom, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- geom_solimp#
约束求解器阻抗:接触 (*, ngeom, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- geom_size#
几何特定尺寸参数 (*, ngeom, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- geom_aabb#
包围盒 (中心,尺寸) (*, ngeom, 2, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=3)
- geom_rbound#
包围球半径 (*, ngeom,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- geom_pos#
相对于刚体的局部位置偏移 (*, ngeom, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- geom_quat#
相对于刚体的局部方向偏移 (*, ngeom, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- geom_friction#
摩擦系数 (滑动, 旋转, 滚动) (*, ngeom, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- geom_margin#
距离小于 margin 时检测接触 (*, ngeom,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- geom_gap#
额外接触检测缓冲区 (*, ngeom,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- geom_fluid#
流体交互参数 (ngeom, mjNFLUID)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- geom_rgba#
无材质时的 rgba (*, ngeom, 4)
- 类型:
wp.array(dtype=wp.vec4f, ndim=2)
- site_type#
渲染用的几何类型 (GeomType) (nsite,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- site_bodyid#
位点所属刚体 ID (nsite,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- site_size#
渲染用的几何尺寸 (nsite, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- site_pos#
相对于刚体的局部位置偏移 (*, nsite, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- site_quat#
相对于刚体的局部方向偏移 (*, nsite, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- cam_mode#
摄像机追踪模式 (CamLightType) (ncam,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- cam_bodyid#
摄像机所属刚体 ID (ncam,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- cam_targetbodyid#
目标刚体 ID;-1:无 (ncam,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- cam_pos#
相对于刚体帧的位置 (*, ncam, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- cam_quat#
相对于刚体帧的方向 (*, ncam, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- cam_poscom0#
qpos0 中相对于子质心的全局位置 (*, ncam, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- cam_pos0#
qpos0 中相对于刚体的全局位置 (*, ncam, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- cam_mat0#
qpos0 中的全局方向 (*, ncam, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- cam_projection#
投影类型 (ProjectionType) (ncam,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- cam_fovy#
y 轴视场 (正交投影则为长度,否则为度) (*, ncam)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- cam_resolution#
分辨率:像素 [宽度, 高度] (ncam, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- cam_sensorsize#
传感器尺寸:长度 [宽度, 高度] (ncam, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- cam_intrinsic#
[焦距;主点] (*, ncam, 4)
- 类型:
wp.array(dtype=wp.vec4f, ndim=2)
- light_mode#
光源追踪模式 (CamLightType) (nlight,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- light_bodyid#
光源所属刚体 ID (nlight,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- light_targetbodyid#
目标刚体 ID;-1:无 (nlight,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- light_type#
聚光灯、方向光等 (mjtLightType) (*, nlight)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- light_castshadow#
光源是否产生阴影 (*, nlight)
- 类型:
wp.array(dtype=wp.bool, ndim=2)
- light_active#
光源是否处于激活状态 (*, nlight)
- 类型:
wp.array(dtype=wp.bool, ndim=2)
- light_pos#
相对于刚体帧的位置 (*, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- light_dir#
相对于刚体帧的方向 (*, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- light_poscom0#
qpos0 中相对于子质心的全局位置 (*, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- light_pos0#
qpos0 中相对于刚体的全局位置 (*, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- light_dir0#
qpos0 中的全局方向 (*, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- flex_contype#
柔性体接触类型 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_conaffinity#
柔性体接触亲和力 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_condim#
接触维度 (1, 3, 4, 6) (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_priority#
几何接触优先级 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_solmix#
几何对中 solref/imp 的混合系数 (nflex,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_solref#
约束求解器参考值:接触 (nflex, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- flex_solimp#
约束求解器阻抗:接触 (nflex, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=1)
- flex_friction#
摩擦系数 (滑动, 旋转, 滚动) (nflex, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- flex_margin#
距离小于 margin 时检测接触 (nflex,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_gap#
距离小于 margin-gap 时加入求解器 (nflex,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_dim#
1:线,2:三角形,3:四面体 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_vertadr#
起始顶点地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_vertnum#
顶点数量 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_edgeadr#
起始边地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_edgenum#
边的数量 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_elemadr#
起始单元地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_elemnum#
单元数量 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_elemdataadr#
起始单元顶点 ID 地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_stiffnessadr#
刚度矩阵地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_elemedgeadr#
起始单元边 ID 地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_bendingadr#
起始弯曲数据地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_shellnum#
壳数量 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_shelldataadr#
起始壳数据地址 (nflex,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_vertbodyid#
顶点刚体 ID (nflexvert,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_edge#
边顶点 ID (每条边 2 个) (nflexedge, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- flex_edgeflap#
相邻顶点 ID (仅限 dim=2) (nflexedge, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- flex_elem#
单元顶点 ID (每个单元 dim+1 个) (nflexelemdata,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_elemedge#
单元边 ID (nflexelemedge,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_shell#
壳碎片顶点 ID (每个碎片 dim 个) (nflexshelldata,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_vert#
顶点局部位置 (nflexvert, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- flexedge_length0#
qpos0 中的边长度 (nflexedge,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flexedge_invweight0#
边的逆惯性 (nflexedge,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_radius#
原始单元周围的半径 (nflex,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_stiffness#
有限元刚度矩阵 (nflexstiffness,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_bending#
弯曲刚度 (nflexbending,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_damping#
瑞利阻尼系数 (nflex,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- flex_centered#
柔性体顶点以刚体原点为中心 (nflex,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- flexedge_J_rownnz#
雅可比矩阵行中的非零元素数量 (nflexedge,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flexedge_J_rowadr#
colind 数组中的行起始地址 (nflexedge,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flexedge_J_colind#
稀疏雅可比矩阵中的列索引 (nJfe,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_vertadr#
起始顶点地址 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_vertnum#
顶点数量 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_faceadr#
起始面地址 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_octadr#
每个网格的八叉树地址 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_normaladr#
起始法线地址 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_normalnum#
法线数量 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_graphadr#
图数据地址;-1:无图 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_vert#
所有网格的顶点位置 (nmeshvert, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- mesh_normal#
所有网格的法线 (nmeshnormal, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- mesh_face#
所有网格的面索引 (nface, 3)
- 类型:
wp.array(dtype=wp.vec3i, ndim=1)
- mesh_graph#
凸图数据 (nmeshgraph,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_quat#
应用于资产顶点的旋转 (nmesh, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=1)
- mesh_polynum#
每个网格的多边形数量 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polyadr#
每个网格的起始多边形地址 (nmesh,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polynormal#
所有多边形法线 (nmeshpoly, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- mesh_polyvertadr#
多边形顶点起始地址 (nmeshpoly,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polyvertnum#
每个多边形的顶点数量 (nmeshpoly,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polyvert#
所有多边形顶点 (nmeshpolyvert,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polymapadr#
每个顶点的起始多边形地址 (nmeshvert,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polymapnum#
每个顶点的多边形数量 (nmeshvert,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_polymap#
顶点到多边形的映射 (nmeshpolymap,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- hfield_size#
(x, y, z_top, z_bottom) (nhfield, 4)
- 类型:
wp.array(dtype=wp.vec4f, ndim=1)
- hfield_nrow#
网格中的行数 (nhfield,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- hfield_ncol#
网格中的列数 (nhfield,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- hfield_adr#
hfield_data 中的起始地址 (nhfield,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- hfield_data#
高程数据 (nhfielddata,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- mat_texid#
渲染用的纹理 ID (*, nmat, mjNTEXROLE)
- 类型:
wp.array(dtype=wp.int32, ndim=3)
- mat_texrepeat#
渲染用的纹理重复 (*, nmat, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- mat_rgba#
rgba (*, nmat, 4)
- 类型:
wp.array(dtype=wp.vec4f, ndim=2)
- pair_dim#
接触维度 (npair,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- pair_geom1#
geom1 的 ID (npair,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- pair_geom2#
geom2 的 ID (npair,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- pair_solref#
求解器参考值:接触法线 (*, npair, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- pair_solreffriction#
求解器参考值:接触摩擦 (*, npair, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- pair_solimp#
求解器阻抗:接触 (*, npair, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- pair_margin#
距离小于 margin 时检测接触 (*, npair,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- pair_gap#
额外接触检测缓冲区 (*, npair,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- pair_friction#
切线 1, 2, 旋转, 滚动 1, 2 (*, npair, 5)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- exclude_signature#
body1 << 16 + body2 (nexclude,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_type#
约束类型 (EqType) (neq,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_obj1id#
对象 1 的 ID (neq,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_obj2id#
对象 2 的 ID (neq,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_objtype#
两个对象的类型 (ObjType) (neq,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_active0#
初始启用/禁用约束状态 (neq,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- eq_solref#
约束求解器参考值 (*, neq, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- eq_solimp#
约束求解器阻抗 (*, neq, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- eq_data#
约束的数值数据 (*, neq, mjNEQDATA)
- 类型:
wp.array(dtype=vector(length=11, dtype=float32), ndim=2)
- tendon_adr#
肌腱路径中第一个对象的地址 (ntendon,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_num#
肌腱路径中的对象数量 (ntendon,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ten_J_rownnz#
每行肌腱中非零元素的数量 (ntendon,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ten_J_rowadr#
稀疏 ten_J 的行起始地址 (ntendon,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ten_J_colind#
稀疏 ten_J 中的列索引 (nJten,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_limited#
肌腱是否有长度限制 (ntendon,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_actfrclimited#
肌腱是否有执行器力限制 (ntendon,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- tendon_solref_lim#
约束求解器参考值:限制 (*, ntendon, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_solimp_lim#
约束求解器阻抗:限制 (*, ntendon, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- tendon_solref_fri#
约束求解器参考值:摩擦 (*, ntendon, mjNREF)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_solimp_fri#
约束求解器阻抗:摩擦 (*, ntendon, mjNIMP)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=2)
- tendon_range#
肌腱长度限制 (*, ntendon, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_actfrcrange#
总执行器力范围 (*, ntendon, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_margin#
极限检测的最小距离 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_stiffness#
刚度系数 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_stiffnesspoly#
高阶刚度系数 (*, ntendon, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_damping#
阻尼系数 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_dampingpoly#
高阶阻尼系数 (*, ntendon, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_armature#
与肌腱速度相关的惯性 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_frictionloss#
由于摩擦产生的损耗 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_lengthspring#
弹簧静止长度范围 (*, ntendon, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- tendon_length0#
qpos0 中的肌腱长度 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- tendon_invweight0#
qpos0 中的逆权重 (*, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- wrap_type#
包裹对象类型 (WrapType) (nwrap,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_objid#
对象 ID:几何体、位点、关节 (nwrap,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_prm#
除数、关节系数或位点 ID (nwrap,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- actuator_trntype#
传输类型 (TrnType) (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_dyntype#
动力学类型 (DynType) (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_gaintype#
增益类型 (GainType) (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_biastype#
偏置类型 (BiasType) (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_trnid#
传输 ID:关节、肌腱、位点 (nu, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- actuator_actadr#
第一个激活地址;-1:无状态 (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_actnum#
激活变量的数量 (nu,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- actuator_ctrllimited#
控制是否受限 (nu,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- actuator_forcelimited#
力是否受限 (nu,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- actuator_actlimited#
激活是否受限 (nu,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- actuator_dynprm#
动力学参数 (*, nu, mjNDYN)
- 类型:
wp.array(dtype=vector(length=10, dtype=float32), ndim=2)
- actuator_gainprm#
增益参数 (*, nu, mjNGAIN)
- 类型:
wp.array(dtype=vector(length=10, dtype=float32), ndim=2)
- actuator_biasprm#
偏置参数 (*, nu, mjNBIAS)
- 类型:
wp.array(dtype=vector(length=10, dtype=float32), ndim=2)
- actuator_actearly#
力之前的步激活 (nu,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- actuator_ctrlrange#
控制范围 (*, nu, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- actuator_forcerange#
力范围 (*, nu, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- actuator_actrange#
激活范围 (*, nu, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- actuator_gear#
标度长度和传递力 (*, nu, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- actuator_cranklength#
滑块-曲柄机构的曲柄长度 (*, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- actuator_acc0#
qpos0 中单位力产生的加速度 (*, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- actuator_lengthrange#
可行的执行器长度范围 (*, nu, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=2)
- sensor_type#
传感器类型 (SensorType) (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_datatype#
数字数据类型 (DataType) (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_objtype#
传感对象类型 (ObjType) (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_objid#
传感对象 ID (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_reftype#
参考坐标系类型 (ObjType) (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_refid#
参考坐标系 ID;-1:全局坐标系 (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_intprm#
传感器参数 (nsensor, mjNSENS)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- sensor_dim#
标量输出数量 (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_adr#
传感器数组中的地址 (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_cutoff#
实数和正数的截止值;0:忽略 (nsensor,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- plugin#
全局注册的插件槽位号 (nplugin,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- plugin_attr#
几何插件的配置属性 (nplugin, _NPLUGINATTR)
- 类型:
wp.array(dtype=vector(length=128, dtype=float32), ndim=1)
- M_rownnz#
qM 每一行中的非零元素个数 (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- M_rowadr#
qM 中每一行的索引 (nv,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- M_colind#
qM 中非零元素的列索引 (nM,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mapM2M#
从 M (旧版) 到 M (CSR) 的索引映射 (nC)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- flex_vertflexid#
每个柔性顶点的柔性 ID (nflexvert,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- callback#
自定义物理回调
- nbranch#
分支数量(从叶子到根的路径)
- 类型:
int
- nv_pad#
自由度数量 + 填充
- 类型:
int
- nacttrnbody#
具有刚体传递的执行器数量
- 类型:
int
- nsensorcollision#
几何距离传感器的唯一碰撞数量
- 类型:
int
- nsensortaxel#
所有触觉传感器中的触元(taxel)数量
- 类型:
int
- nsensorcontact#
接触传感器数量
- 类型:
int
- nrangefinder#
测距传感器数量
- 类型:
int
- nmaxcondim#
跨越几何体、对和柔性体的最大约束维度
- 类型:
int
- nmaxpyramid#
金字塔方向的最大数量
- 类型:
int
- nmaxpolygon#
每个多边形的最大顶点数
- 类型:
int
- nmaxmeshdeg#
每个顶点的最大多边形数
- 类型:
int
- is_sparse#
是否使用稀疏表示
- 类型:
bool
- has_fluid#
若在 put_model 时风、密度或粘度非零,则为 True
- 类型:
bool
- has_sdf_geom#
模型是否包含 SDF 几何体
- 类型:
bool
- block_dim#
块维度选项
- 类型:
mujoco_warp._src.types.BlockDim
- body_tree#
按树层级划分的刚体 ID 列表
- 类型:
tuple[wp.array(dtype=wp.int32, ndim=1), …]
- body_branches#
所有分支的扁平化刚体 ID
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_branch_start#
每个分支在 body_branches 中的起始索引 (nbranch + 1,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mocap_bodyid#
动作捕捉刚体的 ID (nmocap,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_fluid_ellipsoid#
刚体是否使用椭球流体 (nbody,)
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- jnt_limited_slide_hinge_adr#
受限/滑动/铰链关节地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- jnt_limited_ball_adr#
受限/球关节地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- body_isdofancestor#
预计算的掩码,指示哪些自由度影响每个刚体
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- dof_tri_row#
自由度下三角行(用于求解器)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- dof_tri_col#
自由度下三角列(用于求解器)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- nxn_geom_pair#
碰撞对几何体 ID [-2, ngeom-1]
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- nxn_geom_pair_filtered#
有效碰撞对几何体 ID [-1, ngeom - 1]
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- nxn_pairid#
- 接触对 ID,如果未预定义则为 -1,
如果跳过则为 -2
碰撞 ID,否则为 -1
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- nxn_pairid_filtered#
nxn_pairid 的活动子集
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- geom_pair_type_count#
每种潜在碰撞的最大数量统计
- 类型:
tuple[int, …]
- geom_plugin_index#
插件数组中的几何体索引 (ngeom,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_connect_adr#
类型为
CONNECT的 eq_* 地址- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_wld_adr#
类型为
WELD的 eq_* 地址- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_jnt_adr#
类型为
JOINT的 eq_* 地址- 类型:
wp.array(dtype=wp.int32, ndim=1)
- eq_ten_adr#
类型为
TENDON的 eq_* 地址- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_jnt_adr#
关节腱地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_site_pair_adr#
位点对腱地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_geom_adr#
几何体腱地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- tendon_limited_adr#
受限腱地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- max_ten_J_rownnz#
腱行中非零元素的最大数量
- 类型:
int
- ten_wrapadr_site#
位点的包裹对象起始地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ten_wrapnum_site#
每个腱的位点包裹对象数量
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_jnt_adr#
关节腱包裹对象地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_site_adr#
位点腱包裹对象地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_site_pair_adr#
位点包裹对的首地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_geom_adr#
几何体腱包裹对象地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- wrap_pulley_scale#
滑轮缩放比例 (nwrap,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- actuator_trntype_body_adr#
具有刚体传递的执行器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_pos_adr#
位置传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_limitpos_adr#
极限位置传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_vel_adr#
速度传感器地址(不含极限速度传感器)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_limitvel_adr#
极限速度传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_acc_adr#
加速度传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_rangefinder_adr#
测距传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- rangefinder_sensor_adr#
将传感器 ID 映射到测距传感器 ID(不含触摸传感器,不含极限力传感器)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_collision_start_adr#
传感器在碰撞中的第一项地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- collision_sensor_adr#
将传感器 ID 映射到碰撞 ID (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_touch_adr#
触摸传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_limitfrc_adr#
极限力传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_e_potential#
评估势能(energy_pos)
- 类型:
bool
- sensor_e_kinetic#
评估动能(energy_vel)
- 类型:
bool
- sensor_tendonactfrc_adr#
腱力传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_subtree_vel#
评估子树速度(subtree_vel)
- 类型:
bool
- sensor_contact_adr#
接触传感器地址 (nsensorcontact,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_adr_to_contact_adr#
将传感器地址映射到接触地址 (nsensor,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- sensor_rne_postconstraint#
评估约束后逆动力学(rne_postconstraint)
- 类型:
bool
- sensor_rangefinder_bodyid#
测距仪的刚体 ID (nrangefinder,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- taxel_vertadr#
触觉传感器顶点地址 (nsensortaxel,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- taxel_sensorid#
触觉传感器地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_tiles#
分块配置
- 类型:
tuple[mujoco_warp._src.types.TileSet, …]
- qLD_updates#
用于稀疏分解的索引三元组元组
- 类型:
tuple[wp.array(dtype=wp.vec3i, ndim=1), …]
- qLD_all_updates#
所有层级拼接的元组
- 类型:
wp.array(dtype=wp.vec3i, ndim=1)
- qLD_level_offsets#
每一层级的起始偏移量元组
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_fullm_i#
稀疏质量矩阵寻址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_fullm_j#
稀疏质量矩阵寻址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_mulm_rowadr#
稀疏矩阵乘法行指针
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_mulm_col#
稀疏矩阵乘法列索引
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- qM_mulm_madr#
稀疏矩阵乘法矩阵地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- class Data[source]#
每步更新的动态状态。
- solver_niter#
求解器迭代次数 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ne#
等式约束数量 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- nf#
摩擦约束数量 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- nl#
极限约束数量 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- nefc#
约束总数 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- nisland#
约束岛屿数量 (nworld,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- time#
仿真时间 (nworld,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- energy#
势能、动能 (nworld, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- qpos#
位置 (nworld, nq)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qvel#
速度 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- act#
执行器激活值 (nworld, na)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qacc_warmstart#
用于热启动的加速度 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- ctrl#
控制输入 (nworld, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_applied#
施加的广义力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- xfrc_applied#
施加的笛卡尔坐标系力/力矩 (nworld, nbody, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- eq_active#
启用/禁用约束 (nworld, neq)
- 类型:
wp.array(dtype=wp.bool, ndim=2)
- mocap_pos#
动作捕捉刚体位置 (nworld, nmocap, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- mocap_quat#
动作捕捉刚体方向 (nworld, nmocap, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- qacc#
加速度 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- act_dot#
执行器激活值的导数 (nworld, na)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- sensordata#
传感器数据数组 (nworld, nsensordata,)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- xpos#
刚体坐标系的笛卡尔位置 (nworld, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- xquat#
刚体坐标系的笛卡尔方向 (nworld, nbody, 4)
- 类型:
wp.array(dtype=wp.quatf, ndim=2)
- xmat#
刚体坐标系的笛卡尔方向矩阵 (nworld, nbody, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- xipos#
刚体质心的笛卡尔位置 (nworld, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- ximat#
刚体惯性的笛卡尔方向矩阵 (nworld, nbody, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- xanchor#
关节锚点的笛卡尔位置 (nworld, njnt, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- xaxis#
笛卡尔关节轴 (nworld, njnt, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- geom_xpos#
几何体笛卡尔位置 (nworld, ngeom, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- geom_xmat#
几何体笛卡尔方向矩阵 (nworld, ngeom, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- site_xpos#
位点笛卡尔位置 (nworld, nsite, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- site_xmat#
位点笛卡尔方向矩阵 (nworld, nsite, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- cam_xpos#
摄像机笛卡尔位置 (nworld, ncam, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- cam_xmat#
摄像机笛卡尔方向矩阵 (nworld, ncam, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=2)
- light_xpos#
光源笛卡尔位置 (nworld, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- light_xdir#
光源笛卡尔方向 (nworld, nlight, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- subtree_com#
每个子树的质心 (nworld, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- cdof#
基于质心的每个自由度的运动轴 (旋转:线性) (nworld, nv, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- cinert#
基于质心的刚体惯性和质量 (nworld, nbody, 10)
- 类型:
wp.array(dtype=vector(length=10, dtype=float32), ndim=2)
- flexvert_xpos#
笛卡尔柔性顶点位置 (nworld, nflexvert, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- flexedge_J#
边长雅可比矩阵 (nworld, nJfe)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- flexedge_length#
柔性体边长 (nworld, nflexedge, 1)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- ten_wrapadr#
腱路径的起始地址 (nworld, ntendon)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- ten_wrapnum#
路径中的包裹点数量 (nworld, ntendon)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- ten_J#
腱雅可比矩阵 (nworld, nJten)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- ten_length#
腱长 (nworld, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- wrap_obj#
geomid;-1:位点;-2:滑轮 (nworld, nwrap, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=2)
- wrap_xpos#
所有路径中的笛卡尔 3D 点 (nworld, nwrap, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- actuator_length#
执行器长度 (nworld, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- moment_rownnz#
执行器力矩行中的非零元素数量 (nworld, nu)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- moment_rowadr#
执行器力矩行起始地址 (nworld, nu)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- moment_colind#
稀疏执行器力矩的列索引 (nworld, nJmom)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- actuator_moment#
执行器力矩 (nworld, nJmom)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- crb#
基于质心的组合惯性和质量 (nworld, nbody, 10)
- 类型:
wp.array(dtype=vector(length=10, dtype=float32), ndim=2)
- qM#
总惯性;如果为稠密矩阵则为 (nworld, nv, nv),如果稀疏则为 (nworld, 1, nM)
- 类型:
wp.array(dtype=wp.float32, ndim=3)
- qLD#
M 的 L'*D*L 分解;如果为稠密矩阵则为 (nworld, nv, nv),如果稀疏则为 (nworld, 1, nC)
- 类型:
wp.array(dtype=wp.float32, ndim=3)
- qLDiagInv#
1/diag(D) (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- flexedge_velocity#
柔性体边速度 (nworld, nflexedge)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- ten_velocity#
腱速度 (nworld, ntendon)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- actuator_velocity#
执行器速度 (nworld, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- cvel#
基于质心的速度(旋转:线性)(nworld, nbody, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- cdof_dot#
cdof 的时间导数(旋转:线性)(nworld, nv, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- qfrc_bias#
C(qpos,qvel) (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_spring#
被动弹簧力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_damper#
被动阻尼力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_gravcomp#
被动重力补偿力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_fluid#
被动流体力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_passive#
总被动力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- subtree_linvel#
子树质心的线性速度 (nworld, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- subtree_angmom#
关于子树质心的角动量 (nworld, nbody, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=2)
- actuator_force#
执行空间中的执行器力 (nworld, nu)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_actuator#
执行器力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_smooth#
净无约束力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qacc_smooth#
无约束加速度 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_constraint#
约束力 (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- qfrc_inverse#
净外力;应等于:(nworld, nv) qfrc_applied + J.T @ xfrc_applied + qfrc_actuator
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- cacc#
基于质心的加速度 (nworld, nbody, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- cfrc_int#
与父级的基于质心的交互力 (nworld, nbody, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- cfrc_ext#
作用于刚体上的基于质心的外力 (nworld, nbody, 6)
- 类型:
wp.array(dtype=wp.spatial_vectorf, ndim=2)
- contact#
接触数据
- efc#
约束数据
- tree_island#
每个树的岛屿 ID(如果无约束则为 -1)(nworld, ntree)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- nworld#
世界数量
- 类型:
int
- naconmax#
最大接触数量(所有世界共享)
- 类型:
int
- naccdmax#
用于连续碰撞检测(CCD)的最大接触数量(所有世界)
- 类型:
int
- njmax#
每个世界的最大约束数量
- 类型:
int
- njmax_pad#
向上取整至 TILE_SIZE_JTDAJ 最近倍数的 njmax
- 类型:
int
- njmax_nnz#
约束雅可比矩阵中的非零元素数量
- 类型:
int
- nacon#
检测到的接触数量(所有世界)(1,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ncollision#
粗略阶段的碰撞计数 (1,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- refit_bvh(m: Model, d: Data, rc: RenderContext)[source]#
重拟合渲染上下文中的动态 BVH 结构。
- collision(m: Model, d: Data)[source]#
运行完整的碰撞检测流水线。
此函数编排粗略阶段和精确阶段的碰撞检测。它首先使用粗略阶段算法(基于
m.opt.broadphase,为 N-squared 或 Sweep-and-Prune)识别潜在的碰撞对。然后,对每个潜在对执行精确的碰撞检测,以计算详细的接触信息,如距离、位置和坐标系。结果用于填充
d.contact数组,总接触数存储在d.nacon中。如果d.nacon大于d.naconmax,则发生溢出,剩余接触将被跳过。如果发生这种情况,请增加io.make_data或io.put_data中的nconmax参数。如果通过
m.opt.disableflags禁用了碰撞检测,或者如果d.nacon为 0,则此函数除了将数组清零外,什么也不做。
- nxn_broadphase(m: Model, d: Data, ctx: CollisionContext)[source]#
使用暴力 N-squared 方法运行粗略碰撞检测。
此函数遍历所有可能几何体对的预过滤列表,并执行快速边界球体检查以识别潜在碰撞。
对于每个通过球体检查的对,它填充
d中的碰撞数组(d.collision_pair,d.collision_pairid等),这些数组随后由精确阶段使用。初始对列表在模型创建时过滤,以排除基于
contype/conaffinity、父子关系和显式<exclude>标签的对。
- sap_broadphase(m: Model, d: Data, ctx: CollisionContext)[source]#
使用扫描-修剪(SAP)算法运行粗略碰撞检测。
对于大量物体,此方法比 N-squared 方法更高效。它通过将所有几何体的边界球体投影到单一轴上并排序来工作。然后它沿该轴扫描,仅检查投影彼此接近的几何体之间的重叠。
对于扫描识别出的每个潜在碰撞对,执行更精确的边界球体检查。如果检查通过,该对将被添加到
d中的碰撞数组中,用于精确阶段。支持两种排序策略,由
m.opt.broadphase控制SAP_TILE:使用基于瓦片的排序。SAP_SEGMENTED:使用分段排序。
- primitive_narrowphase(m: Model, d: Data, ctx: CollisionContext, collision_table: list[tuple[GeomType, GeomType]])[source]#
在粗略阶段发现的原始几何体对上运行碰撞检测。
此函数处理粗略阶段识别出的涉及原始形状的碰撞对。它计算详细的接触信息,如距离、位置和坐标系,并填充
d.contact数组。原始几何体类型包括:
PLANE,SPHERE,CAPSULE,CYLINDER和BOX。此外,还有平面与凸包之间的碰撞。
为了提高性能,它动态构建并启动一个针对模型中特定原始碰撞类型的内核,避免对不存在的碰撞对进行不必要的检查。
- deriv_smooth_vel(m: Model, d: Data, out: wp.array(dtype=wp.float32, ndim=2))[source]#
平滑力关于速度的解析导数。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
out – qM - dt * qDeriv (平滑力关于速度的导数)。
- fwd_acceleration(m: Model, d: Data, factorize: bool = False)[source]#
累加所有非约束力,计算 qacc_smooth。
- 参数:
m – 包含运动学和动力学信息的模型。
d – 包含当前状态和输出数组的数据对象。
factorize – 惯性矩阵分解标志。
- fwd_position(m: Model, d: Data, factorize: bool = True)[source]#
依赖于位置的计算。
- 参数:
m – 包含运动学和动力学信息的模型。
d – 包含当前状态和输出数组的数据对象。
factorize – 惯性矩阵分解标志。
- create_render_context(mjm: MjModel, nworld: int = 1, cam_res: list[tuple[int, int]] | tuple[int, int] | None = None, render_rgb: list[bool] | bool | None = None, render_depth: list[bool] | bool | None = None, render_seg: list[bool] | bool | None = None, use_textures: bool = True, use_shadows: bool = False, enabled_geom_groups: list[int] = [0, 1, 2], cam_active: list[bool] | None = None, flex_render_smooth: bool = True, use_precomputed_rays: bool = True, render_skybox: bool = False) RenderContext[source]#
在设备上创建渲染上下文。
- 参数:
mjm – 包含主机端运动学和动力学信息的模型。
nworld – 世界数量。
cam_res – 渲染每个相机图像的宽度和高度。如果为 None,则使用 MuJoCo 模型值。
render_rgb – 是否渲染 RGB 图像。如果为 None,则使用 MuJoCo 模型值。
render_depth – 是否渲染深度图像。如果为 None,则使用 MuJoCo 模型值。
render_seg – 是否渲染分割图(每个像素的对象 ID/类型对)。如果为 None,则使用 MuJoCo 模型值。
use_textures – 是否使用纹理。
use_shadows – 是否使用阴影。
enabled_geom_groups – 要渲染的几何体组。
cam_active – 布尔值列表,指示在渲染中包含哪些相机。如果为 None,则包含所有相机。
flex_render_smooth – 是否平滑渲染柔性网格。
use_precomputed_rays – 使用预计算的光线而非在渲染期间计算。当对相机内参使用域随机化时,请将其设置为 False。
render_skybox – 是否使用 MuJoCo 天空盒纹理渲染未击中的光线。要求模型包含类型为
mjTEXTURE_SKYBOX的纹理。
- 返回:
包含设备上渲染字段和输出数组的渲染上下文。
- get_data_into(result: MjData, mjm: MjModel, d: Data, world_id: int = 0)[source]#
将设备上的数据获取到现有的 mujoco.MjData 中。
- 参数:
result – 包含当前状态和输出数组(主机)的数据对象。
mjm – 包含运动学和动力学信息的模型(主机)。
d – 包含当前状态和输出数组的数据对象(设备)。
world_id – 要从中获取数据的世界 ID。
- make_data(mjm: MjModel, nworld: int = 1, nconmax: int | None = None, nccdmax: int | None = None, njmax: int | None = None, njmax_nnz: int | None = None, naconmax: int | None = None, naccdmax: int | None = None) Data[source]#
在设备上创建数据对象。
- 参数:
mjm – 包含运动学和动力学信息的模型(主机)。
nworld – 世界数量。
nconmax – 每个世界分配的接触数。接触存在于大型异构数组中:一个世界可能拥有超过 nconmax 个接触。
nccdmax – 每个世界分配的 CCD 接触数。语义与 nconmax 相同。
njmax – 每个世界分配的约束数。约束数组按世界分批:没有任何世界可以拥有超过 njmax 个约束。
njmax_nnz – 约束雅可比矩阵中的非零元素数(稀疏)。默认为 njmax * nv。
naconmax – 为所有世界分配的接触总数。覆盖 nconmax。
naccdmax – 最大 CCD 接触数。默认为 naconmax。
- 返回:
包含当前状态和输出数组的数据对象(设备)。
- put_data(mjm: MjModel, mjd: MjData, nworld: int = 1, nconmax: int | None = None, nccdmax: int | None = None, njmax: int | None = None, njmax_nnz: int | None = None, naconmax: int | None = None, naccdmax: int | None = None) Data[source]#
将数据从主机移动到设备。
- 参数:
mjm – 包含运动学和动力学信息的模型(主机)。
mjd – 包含当前状态和输出数组的数据对象(主机)。
nworld – 世界数量。
nconmax – 每个世界分配的接触数。接触存在于大型异构数组中:一个世界可能拥有超过 nconmax 个接触。
nccdmax – 每个世界分配的 CCD 接触数。语义与 nconmax 相同。
njmax – 每个世界分配的约束数。约束数组按世界分批:没有任何世界可以拥有超过 njmax 个约束。
njmax_nnz – 约束雅可比矩阵中的非零元素数(稀疏)。默认为 njmax * nv。
naconmax – 为所有世界分配的接触总数。覆盖 nconmax。
naccdmax – 最大 CCD 接触数。默认为 naconmax。
- 返回:
包含当前状态和输出数组的数据对象(设备)。
- put_model(mjm: MjModel) Model[source]#
在设备上创建模型。
- 参数:
mjm – 包含运动学和动力学信息的模型(主机)。
- 返回:
包含运动学和动力学信息的模型(设备)。
- reset_data(m: Model, d: Data, reset: array | None = None)[source]#
清除数据,设置默认值;可按世界进行。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
reset – 每个世界的位掩码。若为 True 则重置。
- set_const(m: Model, d: Data)[source]#
重新计算依赖于 qpos0 的恒定模型字段。
此函数将更改从某些模型字段传播到派生字段,允许进行原本不安全的操作。在运行时修改模型参数后应调用此函数。
可以使用 set_const 安全修改的模型字段
字段 | 说明 ———————————|———————————————- qpos0, qpos_spring | body_mass, body_inertia, | 质量和惯性通常一起缩放, body_ipos, body_iquat | 因为惯性是 sum(m * r^2)。 body_pos, body_quat | 对于静态体不安全(会导致 BVH 失效)。 body_gravcomp | 如果从 0 更改为 >0 身体,则需要。 dof_armature | eq_data | 对于连接/焊接,如果未设置则计算偏移。 hfield_size | tendon_stiffness, tendon_damping | 仅在从/到零更改时。 actuator_gainprm, actuator_biasprm | 对于带有阻尼比的位置执行器。
对于选择性更新,请直接根据更改的内容使用子函数
修改字段 | 调用 —————-|—————— body_mass | set_const body_gravcomp | set_const_fixed body_inertia | set_const_0 qpos0 | set_const_0
- 计算
固定量(通过 set_const_fixed): - body_subtreemass:身体及其所有后代的质量 - ngravcomp:具有重力补偿的身体数量
依赖于 qpos0 的量(通过 set_const_0): - tendon_length0:肌腱静止长度 - dof_invweight0:自由度的逆惯性 - body_invweight0:身体的逆空间惯性 - tendon_invweight0:肌腱的逆权重 - cam_pos0, cam_poscom0, cam_mat0:相机参考 - light_pos0, light_poscom0, light_dir0:光照参考 - actuator_acc0:单位执行器力产生的加速度 - actuator_biasprm[2](阻尼比分辨率)
跳过:actuator_length0(mjwarp 中不存在)。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
- set_const_0(m: Model, d: Data)[source]#
计算依赖于 qpos0 的量。
- 计算
tendon_length0:肌腱静止长度
dof_invweight0:自由度的逆惯性
body_invweight0:身体的逆空间惯性
tendon_invweight0:肌腱的逆权重
cam_pos0, cam_poscom0, cam_mat0:相机参考
light_pos0, light_poscom0, light_dir0:光照参考
actuator_acc0:单位执行器力产生的加速度
actuator_biasprm[2](阻尼比分辨率):对于 gainprm[0] == -biasprm[1] 且 biasprm[2] > 0 的位置执行器,通过 biasprm[2] = -dampratio * 2 * sqrt(kp * reflected_mass) 将阻尼比转换为阻尼
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
- set_const_fixed(m: Model, d: Data)[source]#
计算固定量(不依赖于 qpos0)。
- 计算
body_subtreemass:身体及其所有后代的质量(依赖于 body_mass)
ngravcomp:具有重力补偿的身体数量(依赖于 body_gravcomp)
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
- set_length_range(m: Model, d: Data, index: int = -1)[source]#
根据关节/肌腱限制计算可行的执行器长度范围。
对于具有限制的关节和肌腱传动,直接从 jnt_range 或 tendon_range 复制并按齿轮比缩放。没有限制的执行器保持 (0, 0)。这涵盖了常见的机器人应用场景;通用传动的基于仿真的计算尚未实现。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 数据对象(未使用,保持与 MuJoCo C 的 API 兼容性)。
index – 要计算的执行器索引,或 -1 表示所有执行器。
- ray(m: Model, d: Data, pnt: wp.array(dtype=wp.vec3f, ndim=2), vec: wp.array(dtype=wp.vec3f, ndim=2), geomgroup: vec6f | None = None, flg_static: bool = True, bodyexclude: int = -1, rc: RenderContext | None = None) Tuple[array, array, array][source]#
返回光线与原始几何体相交的距离。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
pnt – 光线起点。
vec – 光线方向。
geomgroup – 组包含/排除掩码。
flg_static – 若为 True,则允许光线与静态几何体相交。
bodyexclude – 忽略指定身体 ID 上的几何体(-1 表示禁用)。
rc – 可选渲染上下文,包含用于 BVH 加速光线求交的 BVH 信息。
- 返回:
从光线起点到几何体表面的距离、相交几何体的 ID(若无则为 -1)以及相交点处的法线。
- rays(m: Model, d: Data, pnt: wp.array(dtype=wp.vec3f, ndim=2), vec: wp.array(dtype=wp.vec3f, ndim=2), geomgroup: vec6f, flg_static: bool, bodyexclude: wp.array(dtype=wp.int32, ndim=1), dist: wp.array(dtype=wp.float32, ndim=2), geomid: wp.array(dtype=wp.int32, ndim=2), normal: wp.array(dtype=wp.vec3f, ndim=2), rc: RenderContext | None = None)[source]#
用于多个世界和多条光线的光线求交。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
pnt – 光线起点,形状 (nworld, nray)。
vec – 光线方向,形状 (nworld, nray)。
geomgroup – 组包含/排除掩码。将所有元素设为 -1 以忽略。
flg_static – 若为 True,则允许光线与静态几何体相交。
bodyexclude – 每条光线的身体排除数组,形状 (nray,)。忽略指定身体 ID 上的几何体(-1 表示该光线禁用)。
dist – 从光线起点到几何体表面的距离输出数组,形状 (nworld, nray)。-1 表示无相交。
geomid – 相交几何体的 ID 输出数组,形状 (nworld, nray)。-1 表示无相交。
normal – 相交点处法线的输出数组,形状 (nworld, nray)。
rc – 可选渲染上下文,包含用于 BVH 加速光线求交的 BVH 信息。
- render(m: Model, d: Data, rc: RenderContext)[source]#
渲染当前帧。
输出存储在渲染上下文的缓冲区中。
- 参数:
m – 设备上的模型。
d – 设备上的数据。
rc – 设备上的渲染上下文。
- get_depth(rc: RenderContext, camera_index: int, depth_scale: float, depth_out: wp.array(dtype=wp.float32, ndim=3))[source]#
获取给定相机索引的渲染上下文缓冲区中的深度数据。
- 参数:
rc – 设备上的渲染上下文。
camera_index – 要获取深度数据的相机索引。
depth_scale – 应用于深度数据的缩放因子。
depth_out – 用于存储缩放和截断后的深度数据的输出数组,形状为 (nworld, height, width)。
- get_rgb(rc: RenderContext, camera_index: int, rgb_out: wp.array(dtype=wp.vec3f, ndim=3))[source]#
获取给定相机索引的渲染上下文缓冲区中的 RGB 数据。
- 参数:
rc – 设备上的渲染上下文。
camera_index – 要获取 RGB 数据的相机索引。
rgb_out – 用于存储 RGB 数据的输出数组,形状为 (nworld, height, width)。
- get_segmentation(rc: RenderContext, camera_index: int, seg_out: wp.array(dtype=wp.vec2i, ndim=3))[source]#
获取来自渲染上下文缓冲区的给定相机索引的分割数据。
每个像素存储 MuJoCo 风格的
(object_id, object_type)数据。背景像素为(-1, -1)。常规几何体击中为(geom_id, mjOBJ_GEOM)。柔性体击中为(flex_id, mjOBJ_FLEX)。- 参数:
rc – 设备上的渲染上下文。
camera_index – 要获取分割数据的相机索引。
seg_out – 用于存储分割数据的输出数组,形状为
(nworld, height, width),数据类型为wp.vec2i。
- com_pos(m: Model, d: Data)[source]#
计算子树质心位置。
将惯性和运动变换到以子树质心为中心的全局坐标系。沿运动学树累加质量加权位置,除以总质量,并在子树质心坐标系中计算复合惯性和运动自由度。
- kinematics(m: Model, d: Data)[source]#
计算所有身体、站点、几何体和柔性元素的正向运动学。
该函数基于当前的关节位置和任何附加的运动捕捉身体,更新所有身体的全局位置和朝向,以及几何体、站点和柔性元素的派生位置和朝向。
- rne(m: Model, d: Data, flg_acc: bool = False)[source]#
使用递归牛顿-欧拉算法计算逆动力学。
计算当前状态的偏置力(
qfrc_bias)和内力(cfrc_int),包括重力影响以及可选的关节加速度。- 参数:
m – 包含运动学和动力学信息的模型。
d – 包含当前状态和输出数组的数据对象。
flg_acc – 若为 True,则在计算中包含关节加速度。
- rne_postconstraint(m: Model, d: Data)[source]#
在应用约束后计算递归牛顿-欧拉算法。
计算
cacc、cfrc_ext和cfrc_int,包括施加力、等式约束和接触的影响。
- solve_m(m: Model, d: Data, x: wp.array(dtype=wp.float32, ndim=2), y: wp.array(dtype=wp.float32, ndim=2))[source]#
计算回代:x = qLD * y。
- 参数:
m – 包含惯性和分解信息的模型。
d – 包含分解结果的数据对象。
x – 解的输出数组。
y – 输入右侧数组。
- contact_force(m: Model, d: Data, contact_ids: wp.array(dtype=wp.int32, ndim=1), to_world_frame: bool, force: wp.array(dtype=wp.spatial_vectorf, ndim=1))[source]#
计算 Data 中接触点的力。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
contact_ids – 每个接触点的 ID。
to_world_frame – 若为 True,则将接触力映射到世界坐标系。
force – 接触力。
- get_state(m: Model, d: Data, state: wp.array(dtype=wp.float32, ndim=2), sig: int, active: array | None = None)[source]#
将 Data 中由 sig 指定的连接状态分量复制到 state 中。
整数 sig 的位对应 State 的元素字段。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出信息的数据对象(设备)。
state – 状态分量的连接。
sig – 指定状态分量的位标志。
active – 用于获取状态的每个世界的位掩码。
- jac(m: Model, d: Data, jacp: array | None, jacr: array | None, point: wp.array(dtype=wp.vec3f, ndim=1), body: wp.array(dtype=wp.int32, ndim=1))[source]#
计算身体上某点的平移和旋转雅可比矩阵。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态的数据对象(设备)。
jacp – 输出平移雅可比矩阵(可选)。
jacr – 输出旋转雅可比矩阵(可选)。
point – 全局坐标中的 3D 点。
body – 每个世界的身体 ID。
- mul_m(m: Model, d: Data, res: wp.array(dtype=wp.float32, ndim=2), vec: wp.array(dtype=wp.float32, ndim=2), skip: array | None = None, M: array | None = None)[source]#
将向量与惯性矩阵相乘;可选择按世界进行跳过。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
res – 结果:qM @ vec。
vec – 需与 qM 相乘的输入向量。
skip – 用于跳过计算输出的按世界位掩码。
M – 输入矩阵:M @ vec。
- set_state(m: Model, d: Data, state: wp.array(dtype=wp.float32, ndim=2), sig: int, active: array | None = None)[source]#
将由 sig 指定的级联状态组件从 state 复制到 Data 中。
整数 sig 的位对应 State 的元素字段。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出信息的数据对象(设备)。
state – 状态分量的连接。
sig – 指定状态分量的位标志。
active – 用于设置状态的按世界位掩码。
- xfrc_accumulate(m: Model, d: Data, qfrc: wp.array(dtype=wp.float32, ndim=2))[source]#
通过雅可比矩阵将施加在每个物体上的力映射到广义力 (dof) 空间并进行累加。
- 参数:
m – 包含运动学和动力学信息的模型(设备)。
d – 包含当前状态和输出数组的数据对象(设备)。
qfrc – 映射到 dof 空间的施加力总量。
- class BiasType[source]#
执行器偏置类型。
- NONE#
无偏置
- AFFINE#
常数 + kp*长度 + kv*速度
- MUSCLE#
由 muscle_bias 计算的肌肉被动力
- USER#
通过 act_bias_callback 实现的自定义偏置
- DCMOTOR#
直流电机反电动势偏置
- class BroadphaseFilter[source]#
指定在粗略阶段(broadphase)期间运行哪些碰撞函数的位掩码。
- PLANE#
包围球与平面的碰撞
- SPHERE#
包围球之间的碰撞
- AABB#
轴对齐包围盒之间的碰撞
- OBB#
有向包围盒之间的碰撞
- class BroadphaseType[source]#
粗略阶段算法类型。
- NXN#
检查所有对的粗略阶段
- SAP_TILE#
使用平铺排序的扫描裁剪(Sweep and prune)粗略阶段
- SAP_SEGMENTED#
使用分段排序的扫描裁剪粗略阶段
- class Callback[source]#
用于自定义物理行为的回调。
- passive#
自定义被动力,写入
Data.qfrc_passive- 类型:
可调用对象 | None
- control#
自定义控制律,写入
Data.ctrl- 类型:
可调用对象 | None
- act_dyn#
自定义执行器动力学,写入
Data.act_dot- 类型:
可调用对象 | None
- act_gain#
自定义执行器增益,写入
Data.actuator_force- 类型:
可调用对象 | None
- act_bias#
自定义执行器偏置,写入
Data.actuator_force- 类型:
可调用对象 | None
- sensor#
自定义传感器,写入
Data.sensordata- 类型:
可调用对象 | None
- contactfilter#
自定义接触过滤,写入
Data.contact- 类型:
可调用对象 | None
- class Constraint[source]#
约束数据。
- type#
约束类型 (ConstraintType) (nworld, njmax)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- id#
特定类型的对象 ID (nworld, njmax)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- J_rownnz#
J 行中的非零元素数量 (nworld, 0) 稠密 (nworld, njmax) 稀疏
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- J_rowadr#
colind 数组中的行起始地址 (nworld, 0) 稠密 (nworld, njmax) 稀疏
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- J_colind#
J 中的列索引 (nworld, 0, 0) 稠密 (nworld, 1, njmax * nv) 稀疏
- 类型:
wp.array(dtype=wp.int32, ndim=3)
- J#
约束雅可比矩阵 (nworld, njmax_pad, nv_pad) 稠密 (nworld, 1, njmax * nv) 稀疏
- 类型:
wp.array(dtype=wp.float32, ndim=3)
- pos#
约束位置(等式,接触)(nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- margin#
包含余量(接触)(nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- D#
约束质量 (nworld, njmax_pad)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- vel#
约束空间中的速度:J*qvel (nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- aref#
参考伪加速度 (nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- frictionloss#
摩擦损耗(摩擦)(nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- force#
约束空间中的约束力 (nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- state#
约束状态 (nworld, njmax_pad)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- Ma#
M*qacc (nworld, nv)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- Jqvel#
J*qvel (nworld, njmax)
- 类型:
wp.array(dtype=wp.float32, ndim=2)
- class Contact[source]#
接触数据。
- dist#
最近点之间的距离;负值表示穿透 (naconmax,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- pos#
接触点位置:几何体之间的中点 (naconmax, 3)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- frame#
法线在 [0-2] 中,从 geom[0] 指向 geom[1] (naconmax, 3, 3)
- 类型:
wp.array(dtype=wp.mat33f, ndim=1)
- includemargin#
如果 dist < includemargin=margin 则包含 (naconmax,)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- friction#
切线 1, 2,自旋,滚动 1, 2 (naconmax, 5)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=1)
- solref#
约束求解器参考,法线方向 (naconmax, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- solreffriction#
约束求解器参考,摩擦方向 (naconmax, 2)
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- solimp#
约束求解器阻抗 (naconmax, 5)
- 类型:
wp.array(dtype=vector(length=5, dtype=float32), ndim=1)
- dim#
接触空间维度:1, 3, 4 或 6 (naconmax,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geom#
几何体 ID;柔性体为 -1 (naconmax, 2)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- efc_address#
efc 中的地址;-1:未包含 (naconmax, nmaxpyramid)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- worldid#
世界 ID (naconmax,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- type#
ContactType (naconmax,)
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- geomcollisionid#
为几何体生成的第 i 个接触 (naconmax,),当为几何体对生成多个接触时有助于唯一标识接触
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- class DisableBit[source]#
禁用默认特征位标志。
- CONSTRAINT#
整个约束求解器
- EQUALITY#
等式约束
- FRICTIONLOSS#
关节和腱摩擦损耗约束
- LIMIT#
关节和腱极限约束
- CONTACT#
接触约束
- SPRING#
被动弹簧力
- DAMPER#
被动阻尼力
- GRAVITY#
重力
- CLAMPCTRL#
将控制限制在指定范围内
- WARMSTART#
热启动约束求解器
- FILTERPARENT#
禁用父物体和子物体之间的碰撞
- ACTUATION#
应用驱动力
- REFSAFE#
积分器安全性:使 ref[0]>=2*时间步长
- SENSOR#
传感器
- EULERDAMP#
欧拉积分的隐式阻尼
- NATIVECCD#
原生凸碰撞检测(在 MJWarp 中忽略)
- ISLAND#
约束岛
- class DynType[source]#
执行器动力学类型。
- NONE#
无内部动力学;ctrl 指定力
- INTEGRATOR#
积分器:da/dt = u
- FILTER#
线性滤波器:da/dt = (u-a) / tau
- FILTEREXACT#
线性滤波器:da/dt = (u-a) / tau,带有精确积分
- MUSCLE#
具有两个时间常数的逐段线性滤波器
- USER#
通过 act_dyn_callback 实现的自定义动力学
- DCMOTOR#
直流电机动力学
- class GainType[source]#
执行器增益类型。
- FIXED#
固定增益
- AFFINE#
常数 + kp*长度 + kv*速度
- MUSCLE#
由 muscle_gain 计算的肌肉 FLV 曲线
- USER#
通过 act_gain_callback 实现的自定义增益
- DCMOTOR#
直流电机增益
- class GeomType[source]#
几何体类型。
- PLANE#
平面
- HFIELD#
高度场
- SPHERE#
球体 (sphere)
- CAPSULE#
胶囊体
- ELLIPSOID#
椭球体 (ellipsoid)
- CYLINDER#
圆柱体 (cylinder)
- BOX#
长方体 (box)
- MESH#
mesh
- SDF#
有向距离场 (SDF)
- FLEX#
柔性体 (Flex)
- class JointType[source]#
自由度类型。
- FREE#
全局位置和方位(四元数)(7,)
- BALL#
相对于父物体的方位(四元数)(4,)
- SLIDE#
沿物体固定轴的滑动距离 (1,)
- HINGE#
绕物体固定轴的旋转角度 (弧度) (1,)
- class ObjType[source]#
对象类型。
- UNKNOWN#
未知对象类型
- BODY#
body
- XBODY#
物体,用于访问常规坐标系而非 i 坐标系
- GEOM#
geom
- FLEX#
柔性体 (Flex)
- SITE#
site
- CAMERA#
camera
- class Option[source]#
物理选项。
- timestep#
仿真时间步长
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- tolerance#
主求解器容差
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- ls_tolerance#
共轭梯度法/牛顿法线性搜索容差
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- ccd_tolerance#
凸碰撞检测容差
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- gravity#
重力加速度
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- wind#
风(用于升力、阻力和粘度)
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- magnetic#
全局磁通量
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- density#
介质密度
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- viscosity#
介质粘度
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- integrator#
积分模式 (IntegratorType)
- 类型:
int
- cone#
摩擦锥类型 (ConeType)
- 类型:
int
- solver#
求解器算法 (SolverType)
- 类型:
int
- iterations#
主求解器迭代次数
- 类型:
int
- ls_iterations#
共轭梯度法/牛顿法线性搜索最大迭代次数
- 类型:
int
- ccd_iterations#
凸碰撞检测迭代次数
- 类型:
int
- disableflags#
用于禁用标准特征的位标志
- 类型:
int
- enableflags#
用于启用可选特征的位标志
- 类型:
int
- sdf_initpoints#
梯度下降的起始点数量
- 类型:
int
- sdf_iterations#
梯度下降的最大迭代次数
- 类型:
int
- impratio_invsqrt#
摩擦与法向接触阻抗之比(存储为逆平方根)
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- ls_parallel#
并行评估引擎求解器步长
- 类型:
bool
- ls_parallel_min_step#
求解器线性搜索的最小步长
- 类型:
浮点数 (float)
- broadphase#
粗略阶段类型 (BroadphaseType)
- broadphase_filter#
粗略阶段过滤器位标志 (BroadphaseFilter)
- graph_conditional#
使用 CUDA 图条件判断的标志
- 类型:
bool
- run_collision_detection#
如果为 False,则跳过碰撞检测并允许用户在物理步骤中填充接触(与 DisableBit.CONTACT 明确清零每一步的接触不同)
- 类型:
bool
- contact_sensor_maxmatch#
接触传感器匹配标准考虑的最大接触数,超过此值后匹配的接触将被忽略
- 类型:
int
- class RenderContext[source]#
渲染上下文。
- nrender#
活动渲染相机的数量
- 类型:
int
- cam_res#
活动渲染相机的分辨率
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- cam_id_map#
相机 ID 映射
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- use_textures#
是否使用纹理
- 类型:
bool
- use_shadows#
是否使用阴影
- 类型:
bool
- use_precomputed_rays#
是否使用预计算光线
- 类型:
bool
- bvh_ngeom#
BVH 中的几何体数量
- 类型:
int
- enabled_geom_ids#
启用的几何体 ID
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_registry#
网格 BVH ID 到 Warp 网格的映射
- 类型:
字典 (dict)
- mesh_bvh_id#
网格 BVH ID
- 类型:
wp.array(dtype=wp.uint64, ndim=1)
- mesh_bounds_size#
网格边界大小
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- mesh_texcoord#
网格纹理坐标
- 类型:
wp.array(dtype=wp.vec2f, ndim=1)
- mesh_texcoord_offsets#
网格纹理坐标偏移
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- mesh_facetexcoord#
网格面纹理坐标
- 类型:
wp.array(dtype=wp.vec3i, ndim=1)
- textures#
纹理
- 类型:
wp.array(dtype=wp.Texture2D, ndim=1)
- textures_registry#
纹理注册表
- 类型:
列表 [warp._src.texture.Texture2D]
- hfield_registry#
高度场 BVH ID 到 Warp 网格的映射
- 类型:
字典 (dict)
- hfield_bvh_id#
高度场 BVH ID
- 类型:
wp.array(dtype=wp.uint64, ndim=1)
- hfield_bounds_size#
高度场边界半范围
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- flex_mesh_registry#
按柔性体的网格 BVH 注册表(防止垃圾回收)
- 类型:
字典 (dict)
- flex_rgba#
柔性体 RGBA
- 类型:
wp.array(dtype=wp.vec4f, ndim=1)
- flex_bvh_id#
按柔性体的 BVH ID
- 类型:
wp.array(dtype=wp.uint64, ndim=1)
- flex_group_root#
按柔性体的组根 (nworld x n_flex_bvh)
- 类型:
wp.array(dtype=wp.int32, ndim=2)
- flex_render_smooth#
是否平滑渲染柔性体网格
- 类型:
bool
- flex_dim#
每个柔性体的维度 (1D/2D/3D)
- bvh#
场景 BVH
- 类型:
warp._src.types.Bvh
- bvh_id#
场景 BVH ID
- 类型:
warp._src.types.uint64
- lower#
下界
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- upper#
上界
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- group#
组
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- group_root#
组根
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- ray#
光线
- 类型:
wp.array(dtype=wp.vec3f, ndim=1)
- rgb_data#
RGB 数据
- 类型:
wp.array(dtype=wp.uint32, ndim=1)
- rgb_adr#
RGB 地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- depth_data#
深度数据
- 类型:
wp.array(dtype=wp.float32, ndim=1)
- depth_adr#
深度地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- render_rgb#
按相机的 RGB 渲染标志
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- render_depth#
按相机的深度渲染标志
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- seg_data#
分割数据(每像素对象 ID/类型对)
- 类型:
wp.array(dtype=wp.vec2i, ndim=1)
- seg_adr#
分割地址
- 类型:
wp.array(dtype=wp.int32, ndim=1)
- render_seg#
按相机的分割渲染标志
- 类型:
wp.array(dtype=wp.bool, ndim=1)
- znear#
近平面距离
- 类型:
浮点数 (float)
- total_rays#
总光线数量
- 类型:
int
- render_skybox#
是否使用 MuJoCo 天空盒纹理对未击中的光线进行着色
- 类型:
bool
- skybox_tex_id#
天空盒纹理索引 (MuJoCo tex_type == SKYBOX),无则为 -1
- 类型:
int
- skybox_face_width#
单个天空盒立方体面的像素宽度(若无天空盒则为 0)
- 类型:
int
- class State[source]#
状态组件元素,作为整数位标志。
包含这些标志的几种便捷组合。
- TIME#
时间
- QPOS#
位置
- QVEL#
速度
- ACT#
执行器激活
- WARMSTART#
用于热启动的加速度
- CTRL#
控制
- QFRC_APPLIED#
施加的广义力
- XFRC_APPLIED#
施加的笛卡尔力/转矩
- EQ_ACTIVE#
启用/禁用约束
- MOCAP_POS#
动捕物体的位置
- MOCAP_QUAT#
动捕物体的方位
- NSTATE#
状态元素数量
- PHYSICS#
QPOS | QVEL | ACT
- FULLPHYSICS#
TIME | PHYSICS | PLUGIN
- USER#
CTRL | QFRC_APPLIED | XFRC_APPLIED | EQ_ACTIVE | MOCAP_POS | MOCAP_QUAT | USERDATA
- INTEGRATION#
FULLPHYSICS | USER | WARMSTART