cb3fb47561
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) 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
183 lines
15 KiB
Markdown
183 lines
15 KiB
Markdown
# 更新日志
|
||
|
||
本项目的重要变更记录在此文件中,版本标签沿用仓库现有的 `V主版本.次版本[.修订版本]` 格式。
|
||
|
||
## [未发布]
|
||
|
||
## [0.9.4] - 2026-09-09
|
||
|
||
- 前端设计优化:升级蓝黑、电光青与少量紫色的 Cyber HUD 视觉,保留亮色主题;统一工作台、欢迎界面、共享控件、浮层和源码/调参窗口材质。
|
||
- 恢复自调参平台左侧会话与 Trial、中间指标与排行、右侧决策与审批的三栏布局;窄屏纵向排列,保留审批与 Monaco Diff 操作。
|
||
- 增加运行状态呼吸与交互微光,支持减少动态效果、强制色彩和无模糊能力回退;侧栏采用静态材质,避免大面积实时模糊影响仿真性能。
|
||
- 优化欢迎页与源代码入口、执行器控件密度和重复参数提示,将训练地图操作文案统一为“同步场景地图”。
|
||
- 补充双主题材质、状态动效、回退及三栏布局回归测试和设计交付说明;性能数据仅为无头 Chromium 短时特效开关对照,不代表真实 GPU 或重型模型基准。
|
||
|
||
## [0.9.3] - 2026-09-08
|
||
|
||
- 重构绿色主工作台:紧凑全局入口、可收起资源/上下文侧栏,统一状态、仿真/地图工具、草稿、摄像头与风险槽位;窄屏临时布局不覆盖桌面偏好。
|
||
- 逐模块整理地图、Body/Joint/Actuator、Python/ONNX、训练与录制的信息层级,保留单位、主动作、兼容限制及危险后果;控制台首次懒挂载后保留输入与任务状态。
|
||
- 独立调参改为指标/排行主区和会话/决策侧展,保留审批、Monaco 差异、参数护栏及停止入口;主工作台/调参共享深浅主题,换主题不丢图表缩放或编辑草稿。
|
||
- 统一 Tooltip/Popover/对话框边界、全屏 Portal 与顶层 Escape;修复 Dialog 焦点恢复、Monaco 模型释放顺序、摄像头实际渲染槽位,以及浅色主按钮对比色被共享 CSS 覆盖的问题。
|
||
- 补深浅主题五档布局、领域/调参/系统截图和交互回归,同步设计文档及旧 E2E 入口。训练/调参布局采用 mock;真实训练、Agent、外部真实策略/上传服务和长期性能不作为本次 UI 验收通过项。
|
||
|
||
## [0.9.2] - 2026-09-08
|
||
|
||
- 修复custom_boxes因起终点编辑使同步状态持续失效而无法训练:移除训练面板起终点坐标显示与编辑,训练/调参启动时自动重新编译已应用碰撞场景,并自动选择满足净空、最小距离和连通性约束的参考点。
|
||
|
||
## [0.9.1] - 2026-09-08
|
||
|
||
- Go2避障训练改为每个episode从同一连通自由区域随机采样起终点并随机化初始朝向,保证障碍/边界净空和最小目标距离;固定三seed评估及浏览器部署仍使用声明的参考起终点,兼顾泛化与可比性。
|
||
|
||
- 修正基础策略上传存储错误分类:文件打开/写入/关闭失败返回503并提示检查磁盘空间/权限;流读取超时或连接截断仍返回400,均保留临时清理与socket超时复位。
|
||
|
||
- 完成普通训练与自调参共用单文件.pt/.onnx上传入口:默认服务直接连接、Go2 legacy47模板确认、自动选择内容ID/文件SHA、取消及同文件重试;任务/连接epoch变化保留旧选择并隔离晚到响应,上传中禁止启动。补双面板真实HTTP浏览器验收与4环境×1iteration CPU ONNX-derived PPO/导出/统计恢复检查(仅链路验证)。
|
||
|
||
- 新增Go2 legacy47单文件.pt/受限MLP ONNX上传后端,无需管理员注册/邻接配置;认证有界二进制接收、CPU限额安全校验、持久化内容SHA来源,复用普通训练/自调参warm-start与rung自身resume。ONNX只继承确定性网络,明确模板假设、合成normalizer count及fresh训练状态;双UI文件选择待接入。
|
||
|
||
- 修复跨任务奖励preset混入Flat:以持久化来源session恢复权威taskId,读写与训练入口完整验证任务schema;跨任务或损坏来源在创建作业前拒绝,Flat菜单仅展示已确认Flat的preset。
|
||
- 修复导航设定拖回起点误触:超过5px后持续记为拖动,取消/Esc/清理/卸载清空整个手势,下一次正常点击不受影响。
|
||
|
||
- 新增显式multi_ring_raycast三层48射线/97维部署,旧缺省32射线/81维不变;task/ONNX严格模式、pitch/yaw角度及顺序白名单,浏览器观测、真实ORT shape、导航面板/PiP动态线数贯通。
|
||
- multi奖励仅按已验证标准底板顶面几何分类过滤地面,观测保留实际地板距离;缓存静态box/方向并优化解析slab,补真实CPU/WASM/GPU短smoke及48ray整帧基准。仍存在层间/侧后/坑盲区,未实现局部高程图。
|
||
- 修复训练CLI未导入仓库任务注册模块导致直接启动Flat/Rough/Obstacle失败;保留独立解释器三seed评估与调参导航速度。事务导入失败面板改为保留完整diagnostic detail,不再用“模型编译失败”摘要掩盖ORT shape/初始化错误。
|
||
|
||
- 新增已应用场景静态碰撞多实例→权威custom_boxes导出,保留世界坐标并诚实标记AABB/标准底板近似;前后端严格校验布局、摩擦、数量及起终点圆形安全区,贯通任务JSON/ONNX与最小坐标配置。
|
||
|
||
- 新增 Go2 避障目标贴地呼吸信标、一次性点击设定目标模式、实时目标坐标/距离和目标复位;保持81维观测与异步held-action,输入与地图操纵器互斥。
|
||
- 本地训练卡片新增可折叠Loss/Reward趋势,按迭代去重补全并有界保留500点;复用共享Canvas图表,综合指标独立缩放,曲线平滑但保留原值。
|
||
|
||
- 新增 Go2 前视32射线避障训练任务、自定义地形参数、配套碰撞地图与81维ONNX浏览器部署闭环,支持PiP和射线显示。
|
||
- 自定义地图与策略采用候选会话事务,真实ONNX初始化/graph校验或地图绑定失败时保留原场景、策略和物理状态;默认Flat兼容旧无metadata的47维导出。
|
||
- 对齐原Go2训练模型的关节armature、足端接触参数和自碰撞mask,补充真实WASM/CPU射线、动力学参数及浏览器回归测试。短训练仅验证链路,不代表避障收敛。
|
||
|
||
## [0.8.3] - 2026-09-04
|
||
|
||
### 新增
|
||
|
||
- 增加视口浮动地图工具栏(`MapViewportTools`),在视口上方提供变换模式切换、坐标空间切换和快捷对齐工具。
|
||
- 增加三维场景大纲树(`SceneOutliner`),直观查看场景中机器人、地图实例及层级结构。
|
||
- 增加视口快捷键挂载(`useMapEditorShortcuts`),支持快速切换操纵器模式、聚焦对象和撤销操作。
|
||
- 增加属性检查器面板(`MapObjectInspector` 与 `RobotInspector`),支持精确调节地图对象位姿与机器人关节/执行器。
|
||
- 增加右侧栏自适应 Tab 与多工具工作区容器(`RightSidebarTabs`、`WorkspaceToolsPanel`)。
|
||
- 增加拖拽式连续数值调节输入组件(`ScrubbableNumberInput`)与通用垂直双栏拆分面板(`VerticalSplitPane`)。
|
||
|
||
### 变更
|
||
|
||
- 重构并收敛模型控制侧栏(`ModelControlsSidebar`)与工程侧栏(`ProjectSidebar`),移除冗余的行内变换逻辑。
|
||
- 优化地图编辑面板(`MapEditorPanel`)与物理地图面板(`PhysicalMapPanel`),与统一检查器架构对齐。
|
||
- 清理已落地的历史设计草案与计划文档。
|
||
|
||
## [0.8.2] - 2026-09-03
|
||
|
||
### 新增
|
||
|
||
- 将自调参工作台重构为高内聚的组件群:Session 列表导航轨(`TuningSessionRail`)、控制工具栏(`TuningControlToolbar`)、Agent 决策时间线(`AgentDecisionTimeline`)、指标对比看板(`MetricsComparisonBoard`)、排行榜(`TuningLeaderboard`)、日志控制台(`TuningConsole`)与参数差异对比器(`RewardConfigDiffEditor`)。
|
||
- 建立自调参集中式状态管理(`tuningStore.ts`)与自适应轮询逻辑(`useTuningPolling.ts`)。
|
||
- 引入标量环形缓冲区(`ScalarRingBuffer.ts`),优化长周期 TensorBoard 曲线的高频更新与渲染性能。
|
||
- 服务端增加单步执行令牌(Step Token)调度,支持逐轮审批模式下的受控单步推进。
|
||
- 服务端增加参数约束 CAS 校验护栏与会话级别约束同步。
|
||
- 支持同会话内安全 Trial 的一键回滚与基准重设(Rollback)。
|
||
|
||
## [0.8.1] - 2026-09-03
|
||
|
||
### 新增
|
||
|
||
- 统一地图资产库与多实例堆叠系统(`MapAssetLibrary`、`MapStackComposer`),支持同源地图资产多次放置与独立位姿变换。
|
||
- 新增参数化地图实时预览图层(`ParametricMapPreviewLayer`),在视口中实时预览程序化地形与碰撞体变换。
|
||
- 新增程序地形贴合与落位计算(`sceneSurface.ts`),支持认证资产在程序化地形上自动重力落位。
|
||
- 引入地图场景草稿事务化编译(`mapSceneDraft`、`EditableMapDraftCommit`),保障物理、视觉与出生点数据同步更新。
|
||
- 增强地图对象拾取与选择机制(`compiledMapPick`),支持点击穿透、空白取消与实时变换操纵。
|
||
|
||
## [0.8.0] - 2026-09-02
|
||
|
||
### 新增
|
||
|
||
- 增加基于 DeepSeek Agent 的强化学习奖励函数自调参系统(`training_server/tuning/`),结合训练曲线与固定评估指标提出受限参数 patch。
|
||
- 支持全自动(Automatic)与逐轮审批(Approval)双调度模式,集成多阶段晋级(Successive-Halving)资源淘汰机制。
|
||
- 新增固定多场景评估逻辑(`evaluate.py`),通过固定 seed 和组合运动指令产出与奖励权重无关的客观综合评分。
|
||
- 新增 SQLite/WAL 存储管理,持久化保留调参会话、Trial 状态、参数护栏、审计记录与 TensorBoard 标量数据。
|
||
- 新增独立的自调参 Web 工作台(`web_platform/tuning.html`,`web_platform/src/tuning/`),包含实时曲线可视化组件(`ScalarChart.tsx`)。
|
||
- 训练服务支持将最佳配置保存为不可变预设并在普通训练中复用,支持导出最佳 `policy.onnx`。
|
||
- 本地训练面板(`LocalTrainingPanel.tsx`)与训练客户端集成自调参能力探测与快速跳转入口。
|
||
|
||
## [0.7.3] - 2026-09-01
|
||
|
||
### 新增
|
||
|
||
- 将默认 `Unitree-Go2-Flat` 训练所需的 PPO 环境、奖励/观测配置、ONNX 导出逻辑和 Go2 模型资产内置到 `training_server/rl/`。
|
||
|
||
### 变更
|
||
|
||
- 训练服务默认使用仓库内置训练器,不再要求单独克隆 `unitree_rl_mjlab`;仍可通过 `--trainer-root` 覆盖。
|
||
|
||
## [0.7.2] - 2026-09-01
|
||
|
||
### 变更
|
||
|
||
- 前端改为“应用壳 + 业务域 + 共享组件”的目录结构,并补充架构与依赖边界文档。
|
||
- 拆分工程侧栏、模型控制侧栏、执行器控制和通用侧栏容器,降低单文件职责和跨域耦合。
|
||
- 将地图、控制器、强化学习、本地训练和遥测面板及测试与各自业务域共置。
|
||
- 将遥测模块从仿真调度目录独立到 `telemetry/`,保留通过显式接口与 `SimulationSession` 集成。
|
||
|
||
## [0.7.1] - 2026-09-01
|
||
|
||
### 新增
|
||
|
||
- 增加浏览器内仿真遥测记录模块,可配置记录 Body、采样频率和样本上限。
|
||
- 记录位置、移动速度、机身侧倾/俯仰/偏航角、角速度、累计里程、接触与驱动指标。
|
||
- 增加实时数据与摘要面板,并支持导出稳定列结构的 CSV 和 Schema V1 JSON。
|
||
- 提供 `TelemetrySource`、`registerDataChannel` 及记录生命周期接口,便于扩展业务指标和其他仿真后端。
|
||
- 仿真重置使用数据分段,避免跨重置计算错误速度;达到样本上限时自动停止。
|
||
|
||
## [0.6.1] - 2026-08-28
|
||
|
||
### 新增
|
||
|
||
- 固定并强制使用 Node.js、npm、Prettier 和 Ruff 开发工具版本。
|
||
- 为核心导入、仿真数学、状态管理和训练客户端增加覆盖率门槛。
|
||
- Git 标签触发的自动构建、校验和与 GitHub Release 工作流。
|
||
- 本地训练服务随机 Bearer Token 鉴权、Host 校验和任务历史上限。
|
||
- 训练进程启动/取消竞态回归测试和 SIGTERM 受控退出。
|
||
|
||
### 变更
|
||
|
||
- Playwright CI 改用版本固定的 Chromium。
|
||
- TypeScript、TSX、配置和文档统一使用 Prettier 格式化。
|
||
- Python 训练服务统一使用 Ruff 检查和格式化。
|
||
|
||
## [0.6.0] - 2026-08-28
|
||
|
||
### 变更
|
||
|
||
- 将仓库重构为以 `web_platform/` 为核心的 Web 应用仓库。
|
||
- MuJoCo 运行时改为依赖官方 `@mujoco/mujoco` npm 包。
|
||
- 移除原生 C++、Python、MJX、Unity、桌面模拟器、CMake 和上游测试镜像。
|
||
- 将训练桥接服务和 Python 控制器示例提升到仓库根目录。
|
||
|
||
## [0.5.2] - 2026-08-28
|
||
|
||
### 变更
|
||
|
||
- 优化响应式工作区、可访问性、首屏加载、纹理兼容性和视口交互。
|
||
- 增加碰撞体、坐标系、关节轴、质心和惯量辅助可视化。
|
||
|
||
### 未发布 — Obstacle DeepSeek 自调参
|
||
|
||
- 新增Obstacle专属四标量schema与真实reward/导航command应用,保持Flat与护栏CAS语义;导出/浏览器执行配套目标速度。
|
||
- 增加固定3seed/1000步、首terminal前捕获的客观导航评价,固定权重和成功/跌倒硬门槛;custom保持权威地图并诚实标注;真实checkpoint/观测统计加载、逐seed进程隔离和失败关闭。
|
||
- 自调参界面支持任务选择、专属参数/评估展示、terrain/sensor/custom配置交接及最佳Obstacle策略事务导入;增加mock Agent、打分算例、CAS、argv配置与GPU评估验证。
|
||
|
||
### 未发布 — 已训练基础策略迁移与持续导航
|
||
|
||
- 普通训练与自调参增加已验证基础策略选择、checkpoint/SHA和兼容观测展示;管理员本地注册来源,内容寻址只读快照,拒绝客户端任意路径、symlink、unsafe反序列化及失效来源。
|
||
- 严格迁移47维actor到47/81/97:新增列零初始化,保留源归一化统计/count;新trial重置critic/optimizer/iteration,同trial晋级只resume自己的checkpoint,导出保留无路径来源metadata。
|
||
- 服务重启后的非终态session等待显式恢复,审计原状态并使旧pending proposal失效重提;保留来源、约束和Approval模式,防重复resume worker。
|
||
- 移除浏览器Obstacle交互导航20秒截止,保留训练/固定三seed评估协议及跌倒/越界安全停止;设点不自动启用策略,明确显示暂停/未启用/错误状态。
|
||
- 新增来源安全、SHA快照、trial续训/重启、双面板和真实WASM/ORT持续换目标回归;4env×1iteration仅证明初始化与优化,空旷地图实测不代表复杂障碍收敛。
|
||
|
||
### 未发布 — 基础策略目录刷新安全修复
|
||
|
||
- 修复普通训练在刷新服务目录后清掉失效来源、静默降级随机初始化的问题;保留已选内容ID,不按同别名自动替换新内容。
|
||
- 两种训练面板统一对目录缺项、验证失败及任务不兼容来源显示失效提示,禁用启动并在handler再次拦截;必须用户明确从头训练或选择有效来源。显式切换任务仍清空选择。
|
||
- 增加两面板A→B、not-ready、缺项及兼容性变更的真实组件刷新回归,验证失效时零启动请求及用户明确选择后的请求体。
|