feat(lekiwi): release V0.10.1 初步集成 LeKiwi,优化碰撞模型
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

集成通用机器人数值接口、本机控制桥、LeRobot 插件和统一键盘遥操作。采用离线 CoACD 全臂碰撞配方 revision 4、局部装配区切分与结构自接触,限制直接关节位姿写入并保留安全看门狗。同步版本号、变更记录、来源许可证和兼容性验证。
This commit is contained in:
2026-09-20 14:42:30 +08:00
parent da4d59c31a
commit 3ad29356c9
103 changed files with 23055 additions and 280 deletions
+19 -2
View File
@@ -13,6 +13,7 @@
- 统一地图资产库:工程地图、认证资产、内置地图及 9 类系统参数化地形共用点击/拖放、场景树、轻量预览、实例变换、放弃和一次编译事务
- 工程地图包:静态 MJCF/OBJ/STL/高度场碰撞层、GLB 视觉层和机器人出生点;同源实例拥有独立位姿,物理/视觉/出生点同步变换
- V3 地图创作层:认证资产可在程序地形上自动重力落位,共用右侧属性和视口操纵器,支持源内容编辑、空白取消选择及导出地图 ZIP
- 通用机器人数值接口、本机控制桥接与 LeKiwi / LeRobot 0.6.1 仿真插件(不接实体硬件)
- 浏览器内 Python 控制器(Pyodide)
- ONNX 强化学习策略推理(ONNX Runtime Web)
- 内置 Go2 PPO 任务的本机 mjlab 训练桥接服务,以及 DeepSeek 驱动的奖励函数自调参、固定评估和 TensorBoard 风格独立工作台
@@ -20,7 +21,7 @@
## 快速开始
环境要求:Node.js 24(版本见 `.nvmrc`)和 npm 11.17;仅使用训练桥接服务或执行 Python 检查时需要 Python 3.12。
环境要求:Node.js 24(版本见 `.nvmrc`)和 npm 11.17;仅使用本机桥接服务或执行 Python 检查时需要 Python 3.12。
```bash
nvm use
@@ -43,10 +44,12 @@ npm run check:format # Prettier 格式检查
npm test # Vitest 单元测试
npm run test:coverage # 核心模块覆盖率检查
npm run test:e2e # Playwright Chromium 浏览器测试
npm run test:control-bridge # 轻量机器人桥接测试,不依赖 LeRobot
npm run control-bridge # 本机数值桥,默认 8766
npm run test:training-server # Python 训练桥接服务测试
npm run check # 除 E2E 和 Ruff 外的完整检查
# 修改 training_server/ 时额外执行
# Python 服务/插件/示例检查(使用项目 .venv)
python3 -m pip install -r requirements-dev.txt
npm run lint:python
```
@@ -58,6 +61,11 @@ npm run lint:python
├── web_platform/ React、TypeScript、Three.js 前端与测试夹具
├── training_server/ 本机训练桥接服务及内置 Go2 PPO 训练代码/资产
├── controllers/ 可导入平台的 Python 控制器示例
├── contracts/ 跨语言机器人协议与 fixtures
├── robot_profiles/ 唯一模型参数/单位/来源清单
├── control_bridge/ 独立本机数值控制桥与通用 Python SDK
├── integrations/ 可选上游集成(LeRobot)
├── examples/lekiwi/ 资产准备、隔离环境安装及无硬件演示
├── package.json 根目录统一开发入口
└── LICENSE Apache License 2.0
```
@@ -70,6 +78,7 @@ npm run lint:python
- `web_platform/src/simulation/`:MuJoCo WASM 会话、仿真调度及执行器控制 UI
- `web_platform/src/viewer/`:Three.js 渲染、选择和物理交互
- `web_platform/src/map/`:地图加载、创作、校验及对应 UI
- `web_platform/src/robot/`:机器人契约、profile、实时运行时及外部控制客户端/面板
- `web_platform/src/controller/`:Pyodide 控制器运行时及控制面板
- `web_platform/src/rl/`:ONNX 策略运行时、任务绑定及策略面板
- `web_platform/src/training/`:本地训练服务客户端、类型及训练面板
@@ -80,10 +89,18 @@ npm run lint:python
详细使用说明见 [`web_platform/README.md`](web_platform/README.md),前端依赖边界见 [`web_platform/ARCHITECTURE.md`](web_platform/ARCHITECTURE.md),训练服务说明见 [`training_server/README.md`](training_server/README.md)。
## LeKiwi / LeRobot
按 [LeKiwi 示例](examples/lekiwi/README.md) 重建固定版本模型、安装 `build/venvs/lerobot/` CPU 环境,再从工作台文件导入、选择 profile、连接本机桥并明确授权。已有训练 `.venv` 不安装 LeRobot,也不修改上游代码。支持底盘、臂、夹爪与实测状态;没有相机、dataset、锁步或实际 RL 训练。
[通用接口/能力矩阵](docs/robot-interface.md) · [桥接协议与安全](control_bridge/README.md) · [LeRobot 插件](integrations/lerobot/README.md)。普通 CI 不安装重型上游依赖;`npm run test:e2e:lekiwi` 是独立的真实物理/60 秒兼容验收。
## 数据与安全边界
模型、资源、Python 控制器和 ONNX 策略默认只在当前浏览器会话中处理,不上传到服务器。训练桥接服务只监听本机回环地址,并仅执行服务端允许列表中的任务。启用自调参时,DeepSeek 只接收脱敏后的奖励参数、曲线摘要和评估数值;API key 仅存在训练服务环境中,不进入浏览器、URL、SQLite 或训练日志。
机器人控制桥与训练桥是两个服务(分别 8766 / 8765),不共享令牌或训练执行能力。控制令牌只保存在页面内存;外控超时、隐藏、暂停、重载均撤销授权,必须手动重新允许。
## 上游与许可证
本项目使用 Google DeepMind 的 MuJoCo WebAssembly npm 包,并保留 Apache License 2.0 许可证。MuJoCo 是 Google DeepMind 的开源项目;本仓库不是 Google 官方支持的产品。