MJX API#
MJX 的公共 API。
- class Model[source]#
场景的静态模型,在每个物理步长中保持不变。
- nq#
广义坐标的数量
- 类型:
int
- nv#
自由度数量
- 类型:
int
- nu#
执行器/控制量的数量
- 类型:
int
- na#
激活状态的数量
- 类型:
int
- nbody#
刚体数量
- 类型:
int
- njnt#
关节数量
- 类型:
int
- ngeom#
几何体数量
- 类型:
int
- nsite#
站点数量
- 类型:
int
- ncam#
相机数量
- 类型:
int
- nlight#
光源数量
- 类型:
int
- nmesh#
网格数量
- 类型:
int
- nmeshvert#
所有网格的顶点总数
- 类型:
int
- nmeshnormal#
所有网格的法线总数
- 类型:
int
- nmeshtexcoord#
所有网格的纹理坐标总数
- 类型:
int
- nmeshface#
所有网格的面总数
- 类型:
int
- nmeshgraph#
网格辅助数据中的整数数量
- 类型:
int
- nmeshpoly#
所有网格中的多边形总数
- 类型:
int
- nmeshpolyvert#
所有多边形中的顶点总数
- 类型:
int
- nmeshpolymap#
顶点映射中的多边形数量
- 类型:
int
- nhfield#
高度图数量
- 类型:
int
- nhfielddata#
高程数据大小
- 类型:
int
- ntex#
纹理数量
- 类型:
int
- ntexdata#
纹理数据大小
- 类型:
int
- nmat#
材质数量
- 类型:
int
- npair#
预定义几何体对的数量
- 类型:
int
- nexclude#
排除的几何体对数量
- 类型:
int
- neq#
等式约束数量
- 类型:
int
- ntendon#
肌腱数量
- 类型:
int
- nwrap#
所有肌腱路径中的包裹对象数量
- 类型:
int
- nsensor#
传感器数量
- 类型:
int
- nnumeric#
数字自定义字段的数量
- 类型:
int
- ntuple#
元组自定义字段的数量
- 类型:
int
- nkey#
关键帧数量
- 类型:
int
- nmocap#
运动捕捉(mocap)刚体数量
- 类型:
int
- nM#
稀疏惯性矩阵中的非零元素数量
- 类型:
int
- nB#
B 矩阵中的非零元素数量
- 类型:
int
- nC#
C 矩阵中的非零元素数量
- 类型:
int
- nD#
D 矩阵中的非零元素数量
- 类型:
int
- nJmom#
动量雅可比矩阵中的非零元素数量
- 类型:
int
- nJten#
稀疏肌腱雅可比矩阵中的非零元素数量
- 类型:
int
- ngravcomp#
具有非零重力补偿的刚体数量
- 类型:
int
- nuserdata#
用户数据中的元素数量
- 类型:
int
- nsensordata#
传感器数据向量中的元素数量
- 类型:
int
- npluginstate#
插件状态值的数量
- 类型:
int
- nhistory#
历史缓冲区元素数量
- 类型:
int
- opt#
物理选项
- stat#
模型统计信息
- qpos0#
默认姿态下的 qpos 值
- 类型:
jax.Array
- qpos_spring#
弹簧的参考姿态
- 类型:
jax.Array
- bind(obj: MjsBody | MjsFrame | MjsGeom | MjsJoint | MjsLight | MjsMaterial | MjsSite | MjsMesh | MjsSkin | MjsTexture | MjsText | MjsTuple | MjsCamera | MjsFlex | MjsHField | MjsKey | MjsNumeric | MjsPair | MjsExclude | MjsEquality | MjsTendon | MjsSensor | MjsActuator | MjsPlugin | Iterable[MjsBody | MjsFrame | MjsGeom | MjsJoint | MjsLight | MjsMaterial | MjsSite | MjsMesh | MjsSkin | MjsTexture | MjsText | MjsTuple | MjsCamera | MjsFlex | MjsHField | MjsKey | MjsNumeric | MjsPair | MjsExclude | MjsEquality | MjsTendon | MjsSensor | MjsActuator | MjsPlugin]) BindModel#
将 MuJoCo 规范绑定到 MJX 模型。
- class Data[source]#
每个步骤都会更新的动态状态。
- time#
仿真时间
- 类型:
jax.Array
- qpos#
位置
- 类型:
jax.Array
- qvel#
速度
- 类型:
jax.Array
- act#
执行器激活值
- 类型:
jax.Array
- history#
执行器历史缓冲区
- 类型:
jax.Array
- qacc_warmstart#
求解器的热启动值
- 类型:
jax.Array
- plugin_state#
插件状态值
- 类型:
jax.Array
- ctrl#
控制输入
- 类型:
jax.Array
- qfrc_applied#
施加的广义力
- 类型:
jax.Array
- xfrc_applied#
施加的笛卡尔力/扭矩
- 类型:
jax.Array
- eq_active#
启用/禁用等式约束
- 类型:
jax.Array
- mocap_pos#
运动捕捉刚体的位置
- 类型:
jax.Array
- mocap_quat#
运动捕捉刚体的朝向
- 类型:
jax.Array
- qacc#
加速度
- 类型:
jax.Array
- act_dot#
执行器激活值的时间导数
- 类型:
jax.Array
- userdata#
用户数据
- 类型:
jax.Array
- sensordata#
传感器数据输出
- 类型:
jax.Array
- xpos#
刚体坐标系的笛卡尔位置
- 类型:
jax.Array
- xquat#
刚体坐标系的笛卡尔朝向
- 类型:
jax.Array
- xmat#
刚体坐标系的旋转矩阵
- 类型:
jax.Array
- xipos#
刚体质心(com)的笛卡尔位置
- 类型:
jax.Array
- ximat#
刚体惯性的旋转矩阵
- 类型:
jax.Array
- xanchor#
关节锚点的笛卡尔位置
- 类型:
jax.Array
- xaxis#
笛卡尔关节轴
- 类型:
jax.Array
- ten_length#
肌腱长度
- 类型:
jax.Array
- geom_xpos#
几何体的笛卡尔位置
- 类型:
jax.Array
- geom_xmat#
几何体的旋转矩阵
- 类型:
jax.Array
- site_xpos#
站点的笛卡尔位置
- 类型:
jax.Array
- site_xmat#
站点的旋转矩阵
- 类型:
jax.Array
- cam_xpos#
相机位置
- 类型:
jax.Array
- cam_xmat#
相机旋转矩阵
- 类型:
jax.Array
- subtree_com#
每个子树的质心
- 类型:
jax.Array
- cvel#
基于质心的速度
- 类型:
jax.Array
- cdof#
基于质心的雅可比矩阵
- 类型:
jax.Array
- cdof_dot#
cdof 的时间导数
- 类型:
jax.Array
- qfrc_bias#
C(qpos,qvel)
- 类型:
jax.Array
- qfrc_gravcomp#
重力补偿项
- 类型:
jax.Array
- qfrc_fluid#
流体阻力和浮力
- 类型:
jax.Array
- qfrc_passive#
被动力
- 类型:
jax.Array
- qfrc_actuator#
执行器力
- 类型:
jax.Array
- actuator_force#
执行空间中的执行器力
- 类型:
jax.Array
- actuator_length#
执行器长度
- 类型:
jax.Array
- qfrc_smooth#
平滑动力学力
- 类型:
jax.Array
- qacc_smooth#
无约束情况下的加速度
- 类型:
jax.Array
- qfrc_constraint#
约束力
- 类型:
jax.Array
- qfrc_inverse#
逆动力学计算所需的净外力
- 类型:
jax.Array
- bind(model: Model, obj: MjsBody | MjsFrame | MjsGeom | MjsJoint | MjsLight | MjsMaterial | MjsSite | MjsMesh | MjsSkin | MjsTexture | MjsText | MjsTuple | MjsCamera | MjsFlex | MjsHField | MjsKey | MjsNumeric | MjsPair | MjsExclude | MjsEquality | MjsTendon | MjsSensor | MjsActuator | MjsPlugin | Iterable[MjsBody | MjsFrame | MjsGeom | MjsJoint | MjsLight | MjsMaterial | MjsSite | MjsMesh | MjsSkin | MjsTexture | MjsText | MjsTuple | MjsCamera | MjsFlex | MjsHField | MjsKey | MjsNumeric | MjsPair | MjsExclude | MjsEquality | MjsTendon | MjsSensor | MjsActuator | MjsPlugin]) BindData#
将 MuJoCo 规范绑定到 MJX Data。
- create_render_context(mjm: MjModel, nworld: int, devices: Sequence[str] | None = None, **kwargs)#
创建一个渲染上下文。
- 参数:
mjm – MuJoCo 模型
nworld – 需要渲染的世界数量。我们必须硬编码 nworld,因为 Warp 创建的大小为 nworld 的数组不会暴露给 JAX。因此,我们无法在渲染上下文中使用像 vmap 这样的 JAX 变换。
devices – 可选的设备名称列表(例如 ['cuda:0', 'cuda:1'])。如果提供,渲染工作负载将分片到这些设备上。默认情况下,devices 为 None,将使用 wp.get_device(None) 的默认设备。
**kwargs – 转发给渲染上下文构造函数。
- 返回:
与 JAX 兼容的渲染上下文对象。
- get_data(m: MjModel, d: Data, keepalive_refs: Dict[int, Any] | None = None) MjData | List[MjData]#
从设备获取 mjx.Data,生成 mujoco.MjData 或 List[MjData]。
- get_data_into(result: MjData | List[MjData], m: MjModel, d: Data, keepalive_refs: Dict[int, Any] | None = None)#
将 mjx.Data 从设备获取到现有的 mujoco.MjData 或列表中。
- get_state(m: Model, d: Data, spec: int | mjtState) Array#
从 mjx.Data 获取状态。这等同于
mujoco.mj_getState。- 参数:
m – 描述仿真的模型
d – 仿真的数据
spec – 指定要包含哪些状态组件的整数位掩码或 mjtState 枚举
- 返回:
状态值的平面数组
- make_data(m: Model | MjModel, device: Device | None = None, impl: str | Impl | None = None, _full_compat: bool = False, nconmax: int | None = None, naconmax: int | None = None, naccdmax: int | None = None, njmax: int | None = None, keepalive_refs: Dict[int, Any] | None = None) Data#
分配并初始化 Data。
- 参数:
m – 要使用的模型
device – 使用哪个设备 - 如果未指定,则选择默认设备
impl – 要使用的实现('jax', 'warp')
nconmax – 为 warp 分配的所有世界的最大接触点数量。由于世界的数量在 JAX 中是非预定义的,我们使用
nconmax参数来设定所有世界中接触点数量的上限。在 MuJoCo Warp 中,类似的字段被称为naconmax。naconmax – 为 warp 分配的所有世界的最大接触点数量。由于世界的数量在 JAX 中是非预定义的,我们使用
naconmax参数来设定所有世界中接触点数量的上限,而不是 MuJoCo Warp 中的nconmax参数。naccdmax – 为所有世界的 GJK 碰撞检测分配的最大接触点数量。由于世界的数量在 JAX 中是非预定义的,我们使用
naccdmax参数来设定所有世界中接触点数量的上限,而不是 MuJoCo Warp 中的nccdmax参数。njmax – 为 warp 分配的所有世界的最大约束数量
keepalive_refs – 可选字典,用于存储对基础 MuJoCo 对象的引用,防止它们被垃圾回收。当传递 types.Model 时,CPP 实现需要此项。
- 返回:
一个放置在设备上的已初始化 mjx.Data
- 引发异常:
ValueError – 如果模型的 impl 与 make_data 的 impl 不匹配
NotImplementedError – 如果尚未实现该 impl
DeprecationWarning – 如果使用了 nconmax
- put_data(m: MjModel, d: MjData, device: Device | None = None, impl: str | Impl | None = None, nconmax: int | None = None, naconmax: int | None = None, njmax: int | None = None, dummy_arg_for_batching: Array | None = None, keepalive_refs: Dict[int, Any] | None = None) Data#
将 mujoco.MjData 放入设备,生成 mjx.Data。
- 参数:
m – 要使用的模型
d – 要放入设备的数据
device – 使用哪个设备 - 如果未指定,则选择默认设备
impl – 要使用的实现('jax', 'warp')
nconmax – 为 warp 分配的最大接触点数量
naconmax – 为 warp 分配的所有世界的最大接触点数量。由于世界的数量在 JAX 中是非预定义的,我们使用
naconmax参数来设定所有世界中接触点数量的上限,而不是 MuJoCo Warp 中的nconmax参数。njmax – 为 warp 分配的最大约束数量
dummy_arg_for_batching – 用于 CPP 实现中批处理的虚拟参数
keepalive_refs – 可选字典,用于存储对基础 MuJoCo 对象的引用,防止它们被垃圾回收。
- 返回:
一个放置在设备上的 mjx.Data。DeprecationWarning: 如果使用了 nconmax
- put_model(m: MjModel, device: Device | None = None, impl: str | Impl | None = None, graph_mode: GraphMode | None = None, keepalive_refs: Dict[int, Any] | None = None) Model#
将 mujoco.MjModel 放入设备,生成 mjx.Model。
- 参数:
m – 要放入设备并使用的模型
device – 使用哪个设备 - 如果未指定,则选择默认设备
impl – 要使用的实现
graph_mode – CUDA 图捕获模式(仅限 Warp)。使用 warp._src.jax_experimental.ffi 中的 GraphMode 枚举。GraphMode.WARP 是默认模式。
keepalive_refs – 可选字典,用于存储对基础 MuJoCo 对象的引用,防止它们被垃圾回收。CPP 实现需要此项以保持模型存活。
- 返回:
一个放置在设备上的 mjx.Model
- 引发异常:
ValueError – 如果不支持该 impl
RuntimeError – 如果 impl 为 WARP 且未安装 warp-lang
- set_state(m: Model, d: Data, state: Array, spec: int | mjtState) Data[source]#
设置 mjx.Data 中的状态。这等同于
mujoco.mj_setState。- 参数:
m – 描述仿真的模型
d – 仿真的数据
state – 状态值的扁平数组
spec – 指定要包含哪些状态组件的整数位掩码或 mjtState 枚举
- 返回:
已将状态设置为所提供值的数据
- state_size(m: Model, spec: int | mjtState) int[source]#
返回给定规范(spec)对应的状态向量大小。
- 参数:
m – 描述仿真的模型
spec – 指定要包含哪些状态组件的整数位掩码或 mjtState 枚举
- 返回:
状态向量的大小
- ray(m: Model, d: Data, pnt: Array, vec: Array, geomgroup: Sequence[int] = (), flg_static: bool = True, bodyexclude: Sequence[int] | int = -1) Tuple[Array, Array][source]#
返回射线与几何体相交时的几何体 ID 和距离。
- 参数:
m – MJX 模型
d – MJX 数据
pnt – 射线原点 (3,)
vec – 射线方向 (3,)
geomgroup – 组包含/排除掩码,或留空以忽略
flg_static – 如果为 True,则允许射线与静态几何体相交
bodyexclude – 忽略指定物体 ID 或物体 ID 序列上的几何体
- 返回:
从射线原点到几何体表面的距离(无相交时为 -1.0)以及相交几何体的 ID(无相交时为 -1)
- get_depth(rc: RenderContextPytree, cam_id: int, depth_data: Array, depth_scale: float) Array[source]#
提取并归一化相机的深度数据。
- 参数:
rc – RenderContextPytree。
cam_id – 要提取的相机索引。
depth_data – 原始深度输出,形状为 (…, total_pixels),类型为 float32。
depth_scale – 归一化深度值的比例因子。
- 返回:
形状为 (…, H, W, 1) 的 Float32 深度数组,钳位在 [0, 1] 之间。
depth_data中的任何前导批次轴都会被保留。- 引发异常:
RuntimeError – 如果未安装 Warp。
- get_rgb(rc: RenderContextPytree, cam_id: int, rgb_data: Array) Array[source]#
将 uint32 ABGR 像素数据解包为 float32 RGB。
- 参数:
rc – RenderContextPytree。
cam_id – 要提取的相机索引。
rgb_data – 打包的渲染输出,形状为 (…, total_pixels),类型为 uint32。
- 返回:
形状为 (…, H, W, 3) 的 Float32 RGB 数组,值在 [0, 1] 之间。
rgb_data中的任何前导批次轴都会被保留。- 引发异常:
RuntimeError – 如果未安装 Warp。
- rne(m: Model, d: Data, flg_acc: bool = False) Data[source]#
使用递归牛顿-欧拉算法计算逆动力学。
flg_acc=False 会移除惯性项。
- apply_ft(m: Model, d: Data, force: Array, torque: Array, point: Array, body_id: Array) Array[source]#
应用笛卡尔坐标下的力和力矩。
- id2name(m: Model | MjModel, typ: mjtObj, i: int) str | None[source]#
获取具有指定 mjtObj 类型和 ID 的对象的名称。
有关更多信息,请参阅 mujoco.id2name。
- 参数:
m – mujoco.MjModel 或 mjx.Model
typ – mujoco.mjtObj 类型
i – ID
- 返回:
名称字符串,如果未找到则为 None
- is_sparse(m: MjModel | Model) bool[source]#
如果此模型应创建稀疏质量矩阵,则返回 True。
- 参数:
m – MuJoCo 或 MJX 模型
- 返回:
如果提供的模型应创建稀疏质量矩阵,则返回 True
现代 TPU 拥有专门用于快速操作稀疏矩阵的硬件,而 GPU 在矩阵能放入设备内存的前提下,处理稠密矩阵的速度通常更快。因此,MJX 中的默认行为(通过
JacobianType.AUTO)是:如果nv>= 60 或 MJX 检测到 TPU 作为默认后端,则使用稀疏矩阵,否则使用稠密矩阵。
- jac(m: Model, d: Data, point: Array, body_id: Array) Tuple[Array, Array][source]#
计算附着于物体的全局点的 (NV, 3) 雅可比矩阵对。
- name2id(m: Model | MjModel, typ: mjtObj, name: str) int[source]#
获取具有指定 mjtObj 类型和名称的对象的 ID。
有关更多信息,请参阅 mujoco.mj_name2id。
- 参数:
m – mujoco.MjModel 或 mjx.Model
typ – mujoco.mjtObj 类型
name – 对象的名称
- 返回:
ID,如果未找到则为 -1
- benchmark(m: MjModel, nstep: int = 1000, batch_size: int = 1024, unroll_steps: int = 1, solver: str = 'newton', iterations: int = 1, ls_iterations: int = 4) Tuple[float, float, int][source]#
对模型进行基准测试。
- class BiasType[source]#
执行器偏置类型。
- NONE#
无偏置
- AFFINE#
const + kp*长度 + kv*速度
- MUSCLE#
由 muscle_bias 计算的肌肉被动力
- class CamLightType[source]#
相机灯光类型。
- FIXED#
位置和旋转固定在物体中
- TRACK#
位置跟随物体,旋转固定在全局坐标系中
- TRACKCOM#
位置跟随子树质心,旋转固定在物体中
- TARGETBODY#
位置固定在物体中,旋转追踪目标物体
- TARGETBODYCOM#
位置固定在物体中,旋转追踪目标子树质心
- class ConstraintType[source]#
约束类型。
- EQUALITY#
等式约束
- LIMIT_JOINT#
关节限位
- LIMIT_TENDON#
腱限位
- CONTACT_FRICTIONLESS#
无摩擦接触
- CONTACT_PYRAMIDAL#
摩擦接触,棱锥摩擦锥
- class Contact[source]#
碰撞检测函数的结果。
- dist#
最近点之间的距离;负值:穿透
- 类型:
jax.Array
- pos#
接触点位置:几何体之间的中点 (3,)
- 类型:
jax.Array
- frame#
法线位于 [0-2] (9,)
- 类型:
jax.Array
- includemargin#
如果 dist < includemargin = margin-gap 则包含 (1,)
- 类型:
jax.Array
- friction#
切向 1, 2,自旋,滚动 1, 2 (5,)
- 类型:
jax.Array
- solref#
约束求解器参考,法线方向 (mjNREF,)
- 类型:
jax.Array
- solreffriction#
约束求解器参考,摩擦方向 (mjNREF,)
- 类型:
jax.Array
- solimp#
约束求解器阻抗 (mjNIMP,)
- 类型:
jax.Array
- dim#
接触空间维度:1, 3, 4 或 6
- 类型:
numpy.ndarray
- geom1#
几何体 1 的 ID;已弃用,请使用 geom[0]
- 类型:
jax.Array
- geom2#
几何体 2 的 ID;已弃用,请使用 geom[1]
- 类型:
jax.Array
- geom#
几何体 ID (2,)
- 类型:
jax.Array
- efc_address#
efc 中的地址;-1:未包含
- 类型:
numpy.ndarray
- class ConvexMesh[source]#
凸网格的几何属性。
- vert#
凸网格的顶点
- 类型:
jax.Array
- face#
凸网格的面
- 类型:
jax.Array
- face_normal#
面的法向量
- 类型:
jax.Array
- edge#
凸网格中所有边的边索引
- 类型:
jax.Array
- edge_face_normal#
edge中与边相邻的面法线索引- 类型:
jax.Array
- class DisableBit[source]#
禁用默认功能位标志。
- CONSTRAINT#
整个约束求解器
- EQUALITY#
等式约束
- FRICTIONLOSS#
关节和腱摩擦损耗约束
- LIMIT#
关节和腱限位约束
- CONTACT#
接触约束
- SPRING#
被动弹簧力
- DAMPER#
被动阻尼力
- GRAVITY#
重力
- CLAMPCTRL#
将控制限制在指定范围内
- WARMSTART#
热启动约束求解器
- ACTUATION#
应用驱动力
- REFSAFE#
积分器安全:确保 ref[0] >= 2*timestep
- SENSOR#
传感器
- class DynType[source]#
执行器动力学类型。
- NONE#
无内部动力学;ctrl 指定力
- INTEGRATOR#
积分器:da/dt = u
- FILTER#
线性滤波器:da/dt = (u-a) / tau
- FILTEREXACT#
线性滤波器:da/dt = (u-a) / tau,具有精确积分
- MUSCLE#
具有两个时间常数的逐段线性滤波器
- class EqType[source]#
等式约束类型。
- CONNECT#
在一个点上连接两个物体(球关节)
- WELD#
固定两个物体的相对位置和朝向
- JOINT#
用三次方程耦合两个标量关节的值
- TENDON#
用三次方程耦合两个腱的长度
- class GainType[source]#
执行器增益类型。
- FIXED#
固定增益
- AFFINE#
const + kp*长度 + kv*速度
- MUSCLE#
由 muscle_gain 计算的肌肉 FLV 曲线
- class GeomType[source]#
几何形状类型。
- PLANE#
平面
- HFIELD#
高度场
- SPHERE#
球体 (sphere)
- CAPSULE#
胶囊体
- ELLIPSOID#
椭球体 (ellipsoid)
- CYLINDER#
圆柱体 (cylinder)
- BOX#
长方体 (box)
- MESH#
mesh
- SDF#
有向距离场
- class JointType[source]#
自由度类型。
- FREE#
全局位置和朝向(四元数) (7,)
- BALL#
相对于父级的朝向(四元数) (4,)
- SLIDE#
沿物体固定轴的滑动距离 (1,)
- HINGE#
绕物体固定轴的旋转角度 (弧度) (1,)
- class ObjType[source]#
对象类型。
- UNKNOWN#
未知对象类型
- BODY#
body
- XBODY#
主体,用于访问常规框架而不是 i-frame
- GEOM#
geom
- SITE#
site
- CAMERA#
相机
- class SensorType[source]#
传感器类型。
- MAGNETOMETER#
磁力计
- CAMPROJECTION#
相机投影
- RANGEFINDER#
测距仪
- JOINTPOS#
关节位置
- TENDONPOS#
标量腱位置
- ACTUATORPOS#
执行器位置
- BALLQUAT#
球关节朝向
- FRAMEPOS#
框架位置
- FRAMEXAXIS#
框架 x 轴
- FRAMEYAXIS#
框架 y 轴
- FRAMEZAXIS#
框架 z 轴
- FRAMEQUAT#
框架朝向,表示为四元数
- SUBTREECOM#
子树质心
- CLOCK#
仿真时间
- VELOCIMETER#
3D 线速度,在局部坐标系中
- GYRO#
3D 角速度,在局部坐标系中
- JOINTVEL#
关节速度
- TENDONVEL#
标量腱速度
- ACTUATORVEL#
执行器速度
- BALLANGVEL#
球关节角速度
- FRAMELINVEL#
3D 线速度
- FRAMEANGVEL#
3D 角速度
- SUBTREELINVEL#
子树线速度
- SUBTREEANGMOM#
子树角动量
- TOUCH#
在传感器区域上求和的标量接触法向力
- CONTACT#
仿真过程中发生的接触
- ACCELEROMETER#
加速度计
- FORCE#
force
- TORQUE#
力矩
- ACTUATORFRC#
标量执行器力
- JOINTACTFRC#
在关节处测量的标量执行器力
- TENDONACTFRC#
在腱处测量的标量执行器力
- FRAMELINACC#
3D 线加速度
- FRAMEANGACC#
3D 角加速度
- class Statistic[source]#
模型统计信息(基于 qpos0)。
- meaninertia#
平均对角惯性
- 类型:
jax.Array
- meanmass#
平均刚体质量(未使用)
- 类型:
jax.Array
- meansize#
平均刚体尺寸(未使用)
- 类型:
jax.Array
- extent#
空间范围(未使用)
- 类型:
jax.Array
- center#
模型中心(未使用)
- 类型:
jax.Array