Parent roadmap: #1452 | 依赖:child 1(contract 标尺)| PR base: dev/issue-1452-microduck-rl-alignment
问题与证据
conf/ppo/task/microduck_velocity_flat/base.yaml:1-8 头注声明镜像的是上游旧版 velocity2,与上游当前 HEAD 已漂移:tracking_lin_vel 3.0 vs 2.0(上游还把 vz² 放进指数)、head_pose_tracking 0.5 vs 2.0;UniLab 多出 orientation(-3.0) / base_height(-50.0) / alive(+0.1) / flight_phase(-2.0) / lin_vel_z(-1.0);上游有 upright(2.0, std²=0.05) / variable_posture pose(1.0) / self_collisions(-1.0) / body_ang_vel(-0.05) 等 UniLab 没有的项。目标不同则训练曲线无可比性。
主要交付结果
velocity_flat 的 reward 栈与上游 microduck_rl HEAD 逐项一致(term 集合、权重、std/阈值参数、公式语义),sitstand / ground_pick 两个任务同步核对各自栈;base.yaml 头注的对齐基线声明更新为上游 HEAD + commit 锚点。
范围边界
只动 reward/obs/termination 的 task 层配置与必要的新 reward term 实现(落在 manager_terms.py / 既有 reward 模块模式内);缺的公式(如 variable_posture、self_collisions、sign(F)·log1p|F| 变换)按上游语义复刻并配单元测试。
curriculum 的 weight schedule 已对齐(Roadmap: microduck 任务与上游 microduck_rl 训练配方逐步对齐 #1452 已核实),本 issue 只复查不改。
obs 布局已对齐,不动。
Owner 与 contract 影响
Owner:task owner YAML + reward term 实现 + tests/envs/locomotion/microduck/test_microduck_rewards.py。
不改公共 reward manager contract。
规模与 review 计划
预计 4–8 个文件、约 300–700 手写 LOC(含新 term 测试),单个 PR。
Acceptance criteria 与 validation
child 1 的 contract 中 reward/MDP 全部条目转 match。
每个新 reward term 有公式级单元测试(含符号约定:cost≥0 配负权重,不自负)。
mjwarp smoke 下每个 Episode_Reward/<penalty> 非正;PR 最终 head 过 make test-all。
范围复核点
若上游某 term 依赖 UniLab 不具备的 sensor/manager 能力(如 ray sensor foot_height),记录差距并请 maintainer 决定复刻或豁免。
Parent roadmap: #1452 | 依赖:child 1(contract 标尺)| PR base:
dev/issue-1452-microduck-rl-alignment问题与证据
conf/ppo/task/microduck_velocity_flat/base.yaml:1-8头注声明镜像的是上游旧版 velocity2,与上游当前 HEAD 已漂移:tracking_lin_vel 3.0 vs 2.0(上游还把 vz² 放进指数)、head_pose_tracking 0.5 vs 2.0;UniLab 多出 orientation(-3.0) / base_height(-50.0) / alive(+0.1) / flight_phase(-2.0) / lin_vel_z(-1.0);上游有 upright(2.0, std²=0.05) / variable_posture pose(1.0) / self_collisions(-1.0) / body_ang_vel(-0.05) 等 UniLab 没有的项。目标不同则训练曲线无可比性。主要交付结果
velocity_flat 的 reward 栈与上游 microduck_rl HEAD 逐项一致(term 集合、权重、std/阈值参数、公式语义),sitstand / ground_pick 两个任务同步核对各自栈;
base.yaml头注的对齐基线声明更新为上游 HEAD + commit 锚点。范围边界
manager_terms.py/ 既有 reward 模块模式内);缺的公式(如 variable_posture、self_collisions、sign(F)·log1p|F| 变换)按上游语义复刻并配单元测试。Owner 与 contract 影响
tests/envs/locomotion/microduck/test_microduck_rewards.py。规模与 review 计划
预计 4–8 个文件、约 300–700 手写 LOC(含新 term 测试),单个 PR。
Acceptance criteria 与 validation
Episode_Reward/<penalty>非正;PR 最终 head 过make test-all。范围复核点