Skip to content

Feat/t800 walk flat - #1222

Open
lemon-star608 wants to merge 5 commits into
mainfrom
feat/t800-walk-flat
Open

Feat/t800 walk flat#1222
lemon-star608 wants to merge 5 commits into
mainfrom
feat/t800-walk-flat

Conversation

@lemon-star608

Copy link
Copy Markdown
Collaborator

Summary

本 PR 将 EngineAI T800 机器人接入 UniLab,并提供基于 MuJoCo 的 WalkFlat 训练链路。

主要改动:

  • 迁移 T800 MuJoCo 资产,包括机器人模型、视觉网格、纹理、简化碰撞体、位置执行器以及资产许可证。
  • 注册 T800WalkFlat 环境,提供 22 个策略关节到完整 25 执行器模型的映射;未参与策略控制的腰部和头部关节保持默认位置。
  • 新增 T800 PPO WalkFlat owner 配置,策略输入输出维度为:
    • Actor observation:77
    • Critic observation:80
    • Action:22
  • 新增 T800 FastSAC WalkFlat owner 配置,观测结构对齐现有 G1 SAC 训练链路,并关闭未适配的 symmetry augmentation。
  • 新增全步态周期横向脚距惩罚:
    • 在机器人航向坐标系中计算有符号横向脚距。
    • 前后步幅不会掩盖横向脚距过近。
    • 交叉步会受到惩罚。
    • FastSAC 配置中启用该奖励。
  • 更新 support matrix,记录 T800 PPO 和 SAC 的 MuJoCo 支持状态。

该改动使 T800 可以通过 UniLab 现有 PPO 和 FastSAC 入口直接启动 MuJoCo WalkFlat 训练。

Linked Work

  • Issue:待补充
  • Milestone:待补充

Validation

  • make check
  • uv run pytest -m "not slow"
  • T800 MuJoCo runtime smoke tests
  • Asset、环境维度、奖励和训练 owner 契约测试

Commands actually run:

make test-all
uv run pytest tests/envs/locomotion/t800 -m "not slow" -q
uv run pytest tests/envs/locomotion/t800 -m slow -q
uv run pytest tests/scripts/test_check_docs.py -q

验证结果:

  • 仓库非慢测:1773 passed
  • T800 非慢测:29 passed
  • T800 MuJoCo 慢测:2 passed
  • Ruff、mypy、pyright:通过
  • Benchmark smoke:通过
    • module mode:32/33,1 个可选 MLX 项跳过
    • script mode:33/34,1 个可选 MLX 项跳过

Impact

  • Backend impact:mujoco
  • Platform impact:Linux 已验证
  • Training effect expected:yes
  • 新增任务:T800WalkFlat
  • 新增算法配置:PPO、FastSAC
  • 不改变现有 G1 任务的奖励语义和训练配置

Artifacts

  • W&B:无
  • benchmark result:benchmark smoke 通过
  • video / screenshot:无
  • ONNX / checkpoint:无

Follow-ups

  • 本 PR 不新增 T800 Motrix owner。
  • T800 100 Hz 控制频率相关的 FastSAC 物理时间尺度换算留待后续单独讨论。
  • 训练超参数和横向脚距奖励参数仍可根据长时间训练结果继续调整。

Checklist

  • Added or updated tests where needed
  • Updated docs if behavior or workflow changed
  • Linked the driving issue
  • Noted follow-up work explicitly

@TATP-233

Copy link
Copy Markdown
Collaborator

参考 docs/sphinx/source/zh_CN/4-developer_guide/7-motion_assets.md:

  1. 上传 robots/t800/assets(26 个 OBJ)和 robots/t800/textures(15 个 PNG)到 unilabsim/unilab-robots。
  2. .gitignore 忽略这两个目录(留 .gitkeep),并从当前 PR 分支移除已提交的 OBJ/PNG;t800.xml、scene_flat.xml、LICENSE 留 git。
  3. T800 env init 冷路径调 resolver——注意现有 API 一次只拉一个目录,t800 有 assets/ + textures/ 两个,需要调两次
  4. pull_assets.py 注册 t800 条目;更新 7-motion_assets.md(中英)范例说明。
  5. force-commit 清除相关资产的提交历史

@TATP-233

Copy link
Copy Markdown
Collaborator

修改merge base 为 dev/issue-1042-manager-based-api

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants