Files
RC_WheelLeg/01_doc/version_history.md

5.3 KiB
Raw Permalink Blame History

版本演进

本项目使用同一条 16dof 主线和里程碑 Tag 保存线性演进,不在源码目录中复制历史版本。

Tag 阶段 核心内容
v0.1.0 8DOF 中期检查 8DOF 串联足机械与大疆 A 板实机版本
v0.2.0 16DOF 机械 16DOF 串联轮足机械 CAD 与 STEP
v0.3.0 第一代软件闭环 早期训练、MJCF、MuJoCo、Sim2Sim、IK 与 Python Sim2Real
v0.3.1 实机记录 补充第一代 Sim2Real 实机视频
v0.4.0 新训练基线 第一份完整的新 MJCF、新 mjlab 框架和 Rough 策略工程
v0.5.0 随机化增强 扩大观测、延迟和动力学随机化,加入持续外力扰动
v0.6.0 比赛训练架构 分轴奖励、自适应指令课程、障碍释放课程和比赛站姿
v0.7.0 MuJoCo 工具 姿态优化、IK 扫描、动力学、MPC 和 GUI 调试工具
v0.8.0 后期 Sim2Sim ONNX 回放、IK/路线检查工具和比赛最终 Rough 策略
v0.8.1 导航打点工具 地图/航点编辑、路线迭代和抽样 PCD 补充包
v0.9.0 最终比赛部署 ROS 2/C++ 真机闭环、Odin、CAN、导航与屏幕 UI

v0.4.0 的模型变化

  • 机械 CAD 不变。
  • MJCF 更新整机质量和惯性参数,旧、新 wheelleg.xml 的 SHA-256 不同。
  • mjlab 上游基准从 00409797 更新到 40f8d93e
  • 保留轮腿分组执行器随机化所需的本地补丁。
  • 本阶段归档 model_rough.pt,不将生成日志、缓存和临时 XML 纳入版本库。

v0.5.0 的训练变化

  • MJCF、mjlab 基准和已有模型文件保持不变。
  • 投影重力噪声由 ±0.05 扩大到 ±0.08
  • 腿与轮动作的最大随机延迟由 2 步增加到 4 步。
  • 地面摩擦随机范围由 0.31.0 扩大到 0.151.25
  • 执行器刚度和阻尼缩放由 0.91.1 扩大到 0.51.5
  • 增加膝部和轮部质量的 0.71.3 随机缩放。
  • 增加作用于机身的连续随机外力和力矩扰动。

v0.6.0 的比赛训练架构

  • 保持 v0.4.0 引入的新 MJCF 和 mjlab 框架不变。
  • 将线速度奖励拆分为 x/y 两轴,并独立配置偏航角速度奖励。
  • 增加自适应 x/y/yaw 指令范围课程。
  • 增加障碍地形逐步释放与更严格的地形晋级逻辑。
  • 增加楼梯横向速度和偏航漂移约束。
  • 默认站姿调整为髋俯仰 0.550、膝关节 -1.125,初始机身高度为 0.42 m
  • 增加速度误差、轮速跟踪、动作和姿态等训练诊断指标。
  • 该 Tag 保存比赛训练代码架构,不把每次继续训练产生的 checkpoint 误记为新的软件版本。

训练阶段的详细关系见 training_evolution.md

v0.7.0 的独立 MuJoCo 工具

  • 比赛训练架构、MJCF、模型和依赖锁文件保持 v0.6.0 状态不变。
  • 增加解析姿态表、RL 友好姿态筛选和 MuJoCo 静态姿态优化。
  • 增加 IK/差速轮参数扫描,可导出 JSON 结果。
  • 增加 Robot、Controller、Dynamics、MPCController 和 GUI 调试链路。
  • 记录历史工具常量与新版 MJCF 质量、比赛默认站姿之间的参数边界,避免将分析结果直接当作已校准真机参数。

v0.8.0 的后期 Sim2Sim

  • 比赛训练任务、MJCF 和 v0.7.0 的 MuJoCo 工具保持不变。
  • 策略运行器增加 ONNX 加载,并允许在缺少 pynput 时关闭后台键盘监听继续运行。
  • MuJoCo 执行器重建同时兼容新旧 Spec 删除接口。
  • 增加 PT→ONNX 导出、IK 补偿扫描、纯 IK 绕桩和 ONNX 批量路线检查入口。
  • 归档比赛最终 Rough 策略 model_6800.onnx;其 SHA-256 为 3C994BDD3434AD15770A52AC0E8D229F502F00D6511CDD42C2E2C742301AEF13
  • Crawl 权重、运行日志、临时 XML 和大量重复路线实验不在本阶段归档。

v0.8.1 的导航打点工具

  • 补充 Pygame 地图/PCD/航点综合编辑器、避障区域编辑器和坐标变换工具。
  • 补充路线安全检查、候选航点优化、XML/航点镜像和批量 Sim2Sim 实验入口。
  • 按源文件时间保留 14 份比赛路线 JSON,不将开发期文件名误解释为正式版本号。
  • 补充 1hao.xml2hao.xmlA_C.xml,并为 1B_FF.json 补齐其引用的 B_C.xml
  • 将两份约 915 MiB 的原始 ASCII PCD 确定性抽样为各小于 10 MB 的预览点云;抽样参数、点数和哈希记录在工具 README。
  • 训练代码、MJCF、比赛策略和历史依赖锁保持 v0.8.0 状态不变。

v0.9.0 的最终比赛部署

  • 归档比赛得分 1050 所对应的 last_not_slalom_1050 ROS 2 工作区;1050 是成绩,不是策略编号。
  • 保留 53D→16D C++ 策略运行时、200 Hz CAN 硬件桥、命令仲裁、安全监控和统一启动包。
  • 保留 Rough model_6800、Wall model_84 的 ONNX 与比赛 TensorRT engineCrawl 使用 IK 后端。
  • 保留 Odin ROS 驱动及 Apache-2.0 许可证、五份比赛路线、抽样 PCD 和 Orin 触控屏 UI。
  • 排除嵌套 Git、缓存、日志、备份、候选模型、开发草稿和重复地图工具。
  • 原始备份缺少配置所引用的 Odin 1hao.bin,因此重定位模式仍需从比赛设备补回该外部资产;纯里程计模式不受此限制。
  • 自研 ROS 包仍保留原工程的 Proprietary 清单字段,公开到 GitHub 前必须由权利人统一选择开源许可证。