Files
Mujoco_WASM/docs/lekiwi-mesh-compatibility.md
chenlin f3a8a38acd
web-platform-ci / Standalone decision service (no cloud credentials) (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
lekiwi-compatibility / cpu-compatibility (push) Has been cancelled
web-platform-ci / Standalone decision service (no cloud credentials) (pull_request) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (pull_request) Has been cancelled
web-platform-ci / Playwright E2E (pull_request) Has been cancelled
lekiwi-compatibility / cpu-compatibility (pull_request) Has been cancelled
feat: release v1.0.1 CADWorld 网站与 LeKiwi 智能抓放
集成同源 BYOK 会话隔离、精简模型设置、官方订阅入口和 HTTPS 发布运维;保留本地训练/调参与控制能力。同步 npm 版本及 CHANGELOG,记录公网真实 API 验收仍待用户凭据。
2026-09-24 09:57:41 +08:00

57 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LeKiwi A:完整网格导入与当前边界
适用资产:`build/lekiwi/lekiwi-v1.zip`,profile `lekiwi-v1`。
ZIP SHA-256:`a10ac577ea49cdf87f324f3f6e9a7a887a1e3c0254ae638059711fef9e385b04`。
不替换为 Link1–Link4 bundle,也不将其 SO-ARM100 命名的 CAD 宣称为已验证 SO101。
## 几何与导出
- 官方 MuJoCo/WASM 3.11.0 的二进制 STL 解码器拒绝超过 200,000 面的文件。现在针对选定 URDF/MJCF/include 图中的超限 STL 自动生成 OBJ:保留每个三角形、绕序及 float32 坐标,仅精确去重相同顶点,不减面。
- 三个轮分别保留 **314,244 面、157,080 顶点**。原始三个文件内容相同,共享一个内容寻址 OBJ(15,735,476 字节),但仍是三个独立的随轴视觉实例。
- 保留原始文件和来源哈希;派生文件名含转换器版本与 SHA-256。源内容变化使缓存失效,不覆盖用户同名文件。转换分批让出主线程,可取消;取消/失败不会替换活动场景。
- 支持工程内 `meshdir`、`assetdir`、`content_type`、`strippath` 与嵌套 include;不通过同名猜测、网络下载补齐资源。非法长度、坐标、路径、循环 include 和超预算输入明确报错。ASCII STL、厂商私有 STL 颜色、无限大小网格不在保证范围内。
- 沿用单文件 128 MiB、工程 512 MiB 的限额,另有限制转换工作内存的保守估算;这不是浏览器实际峰值内存承诺。
- 主工作台命令面板提供 **“导出完整仿真工程 ZIP”**,包含原始资源、派生网格及原目录内的 `compiled-scene.xml`(有重名则递增编号)。导入 ZIP 后选择该编译入口可直接加载。原来的“导出 MJCF 文件”仍只下载 XML,不是自包含包。
- 主控制台训练快照与移动操作训练 ZIP 同样携带派生 OBJ;不会修改已有训练作业/策略指纹。
## 视觉不等于碰撞
完整轮 CAD 对齐到既有理想轮轴,零附加质量、无接触;简化轮毂/滚子只作为碰撞诊断几何。保留原有轮惯性、被动滚子、整臂凸分解、自碰撞和夹爪接触配方(collision revision 4)。新增独立 visual revision 1;旧缺轮 cooked MJCF 需从原始 URDF 重新转换。
本改动没有实现或证明真实抓取—搬运—放置,更没有连接 LLM/Jev。该任务仍需通过批准计划中的后续独立验收。
## 已运行的检查
- 边界 200,000/200,001 面、坏头/长度/NaN、路径/include、重复引用、内容缓存、取消及导出单测。
- 真实 WASM 三轮面数、毫米缩放、轴心一致性、随轴旋转、零碰撞/质量;完整 ZIP 重导及同包 8 次加载释放。
- 底盘全向运动/站稳/障碍、夹爪两侧接触和阻挡、整臂碰撞/关节扫掠、108 个外部接触探测及 XML 重载。
- 两机器人 12 次交替切换、失效候选回滚、VFS/model/data 释放、拖动、训练包导出;主工作台两机器人真实训练与策略导入通过。**这些不是训练收敛证据。**
- A 的新训练快照在原生 MuJoCo 3.11.0 重放 12 步,WASM/Python 最大误差:qpos `5.68e-9`、观测 `4.66e-10`、控制 `5.10e-9`、奖励 `2.31e-11`。
复现命令(大资产需本地存在):
```bash
npm run typecheck
npm run lint
npm test
npx playwright test -c web_platform/playwright.lekiwi.config.ts lekiwi.meshes.spec.ts lekiwi.meshPerformance.spec.ts lekiwi.physics.spec.ts lekiwi.gripper.spec.ts lekiwi.armCollision.spec.ts lekiwi.fullCollision.spec.ts --output build/e2e/lekiwi-step4-meshes
npx playwright test -c web_platform/playwright.lekiwi.config.ts lekiwi.workspace.spec.ts lekiwi.training.spec.ts --output build/e2e/lekiwi-step4-workbench
npx playwright test -c web_platform/playwright.mobile.config.ts -g '两种机器人'
python3 -m zipfile -e build/mobile-validation/lekiwi-training.zip build/mobile-validation/lekiwi-complete-package
build/venvs/mobile/bin/python -m training_server.mobile_manipulator.validate_rollout --package build/mobile-validation/lekiwi-complete-package --rollout build/mobile-validation/lekiwi-rollout.json
```
## 性能、失败记录与未验证项
本机 Chromium headless 使用 **SwiftShader 软件 WebGL**,不能把其结果当成硬件 GPU 性能。一次 992×676 主视口、60 秒完整 CAD 测量:加载约 8.95 秒、平均 3.82 FPS、帧间隔 P95 333 ms、物理批次 P95 8.3 ms,60 秒墙钟只推进约 5.36 秒普通播放仿真。没有重新测量旧简化轮基准,不报告性能改善倍率。
完整 CAD 初次实测触发了外控 500 ms 看门狗。修复不减面、不放宽看门狗、不增加物理追赶:批量复制 WASM mesh 数组,避免逐元素创建 embind 视图;外控激活且软件绘制超过 500,000 三角形时,完整视口刷新最多约 **0.25 FPS**,优先为原有实时物理/消息时钟留出空闲。小型软件场景仍最多 5 FPS,硬件外控仍最多 30 FPS。完整网格始终保留;软件模式的低刷新率是明确限制。
修复后真实 LeRobot 60 秒测试:1,800 次动作、仿真推进约 57.73 秒、RTT P95 30.14 ms / 最大 282.76 ms、0 超时/丢请求,原安全门槛未放宽。外控 reset/崩溃/隐藏/冻结恢复测试通过。
首次跨模型第 8 次加载发生 WASM heap 扩容,原“第 8 次必须等于第 6 次”断言失败;扩展为 12 次,保持原 1,600 MiB 上限和末轮稳定断言,观测到约 1,272.2 MiB 高水位稳定。独立完整 ZIP 的 8 次重载高水位可接近 1.8 GiB;WASM heap 不会随模型释放缩小,不能把容量直接称为活跃内存或泄漏。大模型仍可能受浏览器/硬件内存限制,未承诺无限重复/任意穿透姿态。
单元测试最初有大数组深比较超时;改为字节比较。初版导出夹具缺少派生 OBJ 导致重导失败,现已走完整缓存/ZIP 资源路径。重导测试曾每轮追加一份 XML 快照,混淆工程增长与内存泄漏;现固定同一个导出包重载,另用单测验证快照不覆盖用户文件。
硬件 GPU FPS、更多浏览器、长期压力运行及完整抓放任务尚待后续验收。测试产物位于上述 `build/e2e/`、`build/mobile-validation/` 目录;它们是本机证据,不提交大型资产。