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
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
调研:UniLab 相比 mjlab 的其余能力缺口盘点
结论(TL;DR)
课程学习能力已补齐(见 companion discussion《mjlab 课程学习 MBA 设计 vs UniLab 现状》)。对 mjlab(
/home/user/ws/simulator/mjlab,v1.6.0+)做全量能力盘点后,mjlab 仍领先、且未被既有 roadmap(#1252 / #1389)完全覆盖的缺口,按建议优先级:各项详述
1. 视觉观测链路(最大缺口)
CameraSensor(RGB + depth + segmentation,经mjwarp.renderGPU 渲染,src/mjlab/sensor/camera_sensor.py);SpatialSoftmaxCNN图像观测 encoder(src/mjlab/rl/spatial_softmax.py);注册任务Mjlab-Lift-Cube-Yam-Rgb/-Depth/Mjlab-Multi-Cube-Seg-Yam(src/mjlab/tasks/manipulation/)。CameraCfg、motrix camera、visualization/render_many.py);全部 37 个注册任务无 camera 策略观测;SimBackend契约没有 camera 渲染 capability。SimBackend增加声明式 camera capability(fail-closed,符合 AGENTS.md 契约纪律),mujoco/mjwarp 先行 → obs term + CNN encoder + 一个视觉示范任务。这是打开 manipulation 上限的前置条件。2. 传感器语义
ContactSensor(per-pair force、air time、first-contact / first-air、history,src/mjlab/sensor/contact_sensor.py);RayCastSensor(grid / pinhole-camera / ring 图案,lidar 风格,src/mjlab/sensor/raycast_sensor.py);TerrainHeightSensor。create_hfield_scanner);接触只有 per-link net-force 阈值近似(task 级 gait/contact term);无 air-time 语义、无 raycast。注意 roadmap: 对照 mjlab 补齐 UniLab MBA 能力缺口(curriculum / DR / 通用 term 库),MicroDuck 作验收 example #1389 记录的"传感器面无缺口"指 MJCF builtin sensor 读取(gyro/velocimeter/framequat/subtreeangmom/contact-force),与本节是两层。BackendSensorView契约(足式 reward 直接受益);raycast 作为可选 capability 单独评估。3. DR 广度(尤其视觉 DR)
src/mjlab/envs/mdp/dr/):actuator gains / effort limits、body mass / com / 物理一致pseudo_inertia、geom friction/pos/quat/rgba/size/matid、joint damping/armature/friction/stiffness/limits/default/encoder_bias、light 全参、material、camera 内外参、site、tendon;分布支持 scale/add/abs × uniform/gaussian/log-uniform/categorical;底层机制是@requires_model_fields声明式字段展开 + per-world tile +RecomputeLevel分级重算(src/mjlab/sim/randomization.py)。DomainRandomizationCapabilities16 个 reset term + 5 个 interval term(unisim/dr/types.py),mujoco/mjwarp 全量、其余后端递减(fail-closed 是正确纪律);MBA: event/DR term 补齐(body impulse / push 角速度 / fail-closed 放开) #1399 已补齐 body impulse / push 角速度等事件 term。但视觉 DR(geom rgba、material、light、camera 参数)与 tendon/site/pseudo_inertia 字段不在契约内,未见落地证据。4. per-world mesh / material variants
VariantEntityCfg(src/mjlab/entity/variants.py)支持 per-world 网格/材质变体 + 拓扑校验,有专页文档——外观级泛化的利器。src/unilab/base/variants.py是构造期固定 variant 目录(ADR-0010),不支持 per-env 外观变体。5. 非理想执行器建模
src/mjlab/actuator/):IdealPd、DC motor、LearnedMlpActuator(学习型执行器网络)、XML passthrough、builtin group fusion 与 delay。6. Viewer / ops UX
src/mjlab/viewer/viser/);nightly benchmark 自动训练并发布吞吐回归(物理 SPS vs env SPS、manager 开销占比)到 GitHub Pages;uvx --from mjlab demo零安装演示。已收敛项(避免重复立项)
以下曾是缺口、现已关闭或进行中:CUDA graph capture(#1252 第 1 项,已 done);第三方 task 包 entry-point 注册(
src/unilab/base/registry.py:348unilab.tasksgroup,已落地);通用 curriculum 引擎(#1397);event/DR term 补齐(#1399);观测真实化 term(#1400);MicroDuck 验收(#1402);play variant 标准化(#1499,open)。UniLab 优势面(平衡视角,避免误读为全面落后)
SimBackend契约 + fail-closed 能力协商 + 自动生成的 support matrix(Registered/Configured/Tested 分级证据);后端子进程隔离 EOL 运行时(IsaacGym py3.8 / IsaacSim py3.11)。关联
#1289(MBA 全面对比);#1252(mjlab 性能/DX 借鉴 roadmap);#1389(MBA 能力补齐 roadmap,已关闭);#1499(play variant 标准化)。
All reactions